]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit
USB: gadgetfs: fix checks of wTotalLength in config descriptors
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 9 Dec 2016 20:24:24 +0000 (15:24 -0500)
committerLuis Henriques <luis.henriques@canonical.com>
Fri, 20 Jan 2017 11:26:21 +0000 (11:26 +0000)
commit4829ad3964977943df75b1f371c818a734cbe90c
treeba2d48574fb81d0ca610ae948d8488288c0a2115
parent7584cb2d378ea7d6df827d937490999fa962edb0
USB: gadgetfs: fix checks of wTotalLength in config descriptors

BugLink: http://bugs.launchpad.net/bugs/1655969
commit 1c069b057dcf64fada952eaa868d35f02bb0cfc2 upstream.

Andrey Konovalov's fuzz testing of gadgetfs showed that we should
improve the driver's checks for valid configuration descriptors passed
in by the user.  In particular, the driver needs to verify that the
wTotalLength value in the descriptor is not too short (smaller
than USB_DT_CONFIG_SIZE).  And the check for whether wTotalLength is
too large has to be changed, because the driver assumes there is
always enough room remaining in the buffer to hold a device descriptor
(at least USB_DT_DEVICE_SIZE bytes).

This patch adds the additional check and fixes the existing check.  It
may do a little more than strictly necessary, but one extra check
won't hurt.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
drivers/usb/gadget/legacy/inode.c