usb: usbtest: avoid integer overflow in alloc_sglist()
authorXi Wang <xi.wang@gmail.com>
Mon, 9 Apr 2012 19:48:45 +0000 (15:48 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Apr 2012 22:54:57 +0000 (15:54 -0700)
commit8bde9a62ee74afa89f593c563e926d163b1f6ada
tree32b9daa28afaf5b93329ed4a8509602d2b5f6b2a
parente65cdfae71cecec0fcd43a3f9ac8b5e4ae52db08
usb: usbtest: avoid integer overflow in alloc_sglist()

A large `nents' from userspace could overflow the allocation size,
leading to memory corruption.

| alloc_sglist()
| usbtest_ioctl()

Use kmalloc_array() to avoid the overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/usbtest.c