mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
firewire: add minor number range check to fw_device_init()
fw_device_init() didn't check whether the allocated minor number isn't too large. Fail if it goes overflows MINORBITS. Signed-off-by: Tejun Heo <[email protected]> Suggested-by: Stefan Richter <[email protected]> Acked-by: Stefan Richter <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
69ee266b4c
commit
3bec60d511
1 changed files with 4 additions and 0 deletions
|
|
@ -1020,6 +1020,10 @@ static void fw_device_init(struct work_struct *work)
|
|||
ret = idr_pre_get(&fw_device_idr, GFP_KERNEL) ?
|
||||
idr_get_new(&fw_device_idr, device, &minor) :
|
||||
-ENOMEM;
|
||||
if (minor >= 1 << MINORBITS) {
|
||||
idr_remove(&fw_device_idr, minor);
|
||||
minor = -ENOSPC;
|
||||
}
|
||||
up_write(&fw_device_rwsem);
|
||||
|
||||
if (ret < 0)
|
||||
|
|
|
|||
Loading…
Reference in a new issue