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
2 changed files with 10 additions and 0 deletions
|
@ -1199,6 +1199,11 @@ static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data,
|
|||
int i;
|
||||
u32 reg;
|
||||
|
||||
if (len != 8192) {
|
||||
ERROR(rt2x00dev, "Invalid firmware file length (len=%zu)\n", len);
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
/*
|
||||
* Wait for stable hardware.
|
||||
*/
|
||||
|
|
|
@ -1085,6 +1085,11 @@ static int rt73usb_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data,
|
|||
int status;
|
||||
u32 reg;
|
||||
|
||||
if (len != 2048) {
|
||||
ERROR(rt2x00dev, "Invalid firmware file length (len=%zu)\n", len);
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
/*
|
||||
* Wait for stable hardware.
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue