Greg Kroah-Hartman
2fae9e5a7b
usb: misc: legousbtower: Fix NULL pointer deference
...
This patch fixes a NULL pointer dereference caused by a race codition in
the probe function of the legousbtower driver. It re-structures the
probe function to only register the interface after successfully reading
the board's firmware ID.
The probe function does not deregister the usb interface after an error
receiving the devices firmware ID. The device file registered
(/dev/usb/legousbtower%d) may be read/written globally before the probe
function returns. When tower_delete is called in the probe function
(after an r/w has been initiated), core dev structures are deleted while
the file operation functions are still running. If the 0 address is
mappable on the machine, this vulnerability can be used to create a
Local Priviege Escalation exploit via a write-what-where condition by
remapping dev->interrupt_out_buffer in tower_write. A forged USB device
and local program execution would be required for LPE. The USB device
would have to delay the control message in tower_probe and accept
the control urb in tower_open whilst guest code initiated a write to the
device file as tower_delete is called from the error in tower_probe.
This bug has existed since 2003. Patch tested by emulated device.
Reported-by: James Patrick-Evans <james@jmp-e.com >
Tested-by: James Patrick-Evans <james@jmp-e.com >
Signed-off-by: James Patrick-Evans <james@jmp-e.com >
Cc: stable <stable@vger.kernel.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-09-21 18:31:18 +02:00
Julia Lawall
36ae6776e4
ezusb: constify local structures
...
For structure types defined in the same file or local header files, find
top-level static structure declarations that have the following
properties:
1. Never reassigned.
2. Address never taken
3. Not passed to a top-level macro call
4. No pointer or array-typed field passed to a function or stored in a
variable.
Declare structures having all of these properties as const.
Done using Coccinelle.
Based on a suggestion by Joe Perches <joe@perches.com >.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-09-13 17:24:24 +02:00
Wolfram Sang
0c2bc5c2cb
usb: misc: yurex: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
c9220ba512
usb: misc: uss720: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
bcf0848dcb
usb: misc: usbsevseg: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
a1841732e0
usb: misc: usblcd: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
58e61402c7
usb: misc: trancevibrator: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
5c47fd6166
usb: misc: lvstest: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
49d8ffab82
usb: misc: legousbtower: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
6714ffae75
usb: misc: ldusb: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
3cfb4842fb
usb: misc: iowarrior: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
081e303e49
usb: misc: idmouse: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
524fd35357
usb: misc: ftdi-elan: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
29a99df17b
usb: misc: cytherm: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:38 +02:00
Wolfram Sang
e83c06e99d
usb: misc: cypress_cy7c63: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:37 +02:00
Wolfram Sang
d7f040e92f
usb: misc: appledisplay: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:37 +02:00
Wolfram Sang
a02b55c8db
usb: misc: adutux: don't print on ENOMEM
...
All kmalloc-based functions print enough information on failures.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-30 19:17:37 +02:00
Greg Kroah-Hartman
1aaaa9acae
Merge 4.8-rc3 into usb-next
...
We want the USB fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-21 21:33:17 -04:00
Wolfram Sang
0450ba4069
usb: misc: yurex: don't print error when allocating urb fails
...
kmalloc will print enough information in case of failure.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-15 15:54:27 +02:00
Wolfram Sang
39acc8a843
usb: misc: uss720: don't print error when allocating urb fails
...
kmalloc will print enough information in case of failure.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-15 15:54:27 +02:00
Wolfram Sang
843ac1975d
usb: misc: sisusbvga: sisusb: don't print error when allocating urb fails
...
kmalloc will print enough information in case of failure.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-15 15:54:27 +02:00
Wolfram Sang
da4e20ffce
usb: misc: lvstest: don't print error when allocating urb fails
...
kmalloc will print enough information in case of failure.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-15 15:54:27 +02:00
Wolfram Sang
a131f41f5b
usb: misc: legousbtower: don't print error when allocating urb fails
...
kmalloc will print enough information in case of failure.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-15 15:54:26 +02:00
Wolfram Sang
2d40390337
usb: misc: ldusb: don't print error when allocating urb fails
...
kmalloc will print enough information in case of failure.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-15 15:54:26 +02:00
Wolfram Sang
5656bbb772
usb: misc: iowarrior: don't print error when allocating urb fails
...
kmalloc will print enough information in case of failure.
Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2016-08-15 15:54:26 +02:00