mirror of https://gitee.com/openkylin/linux.git
rt2x00: Restrict firmware file lengths
Add extra security to the drivers for firmware loading, check the firmware file length before uploading it to the hardware. Incorrect lengths might indicate a firmware upgrade (which is not yet supported by the driver) or otherwise incorrect firmware. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
6ba265e9cc
commit
9752a7bd7f
|
@ -1199,6 +1199,11 @@ static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data,
|
||||||
int i;
|
int i;
|
||||||
u32 reg;
|
u32 reg;
|
||||||
|
|
||||||
|
if (len != 8192) {
|
||||||
|
ERROR(rt2x00dev, "Invalid firmware file length (len=%zu)\n", len);
|
||||||
|
return -ENOENT;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Wait for stable hardware.
|
* Wait for stable hardware.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1085,6 +1085,11 @@ static int rt73usb_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data,
|
||||||
int status;
|
int status;
|
||||||
u32 reg;
|
u32 reg;
|
||||||
|
|
||||||
|
if (len != 2048) {
|
||||||
|
ERROR(rt2x00dev, "Invalid firmware file length (len=%zu)\n", len);
|
||||||
|
return -ENOENT;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Wait for stable hardware.
|
* Wait for stable hardware.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue