linux-stable/drivers/hid
dan.carpenter@oracle.com 9539c5cd71 HID: hiddev: Fix race in in hiddev_disconnect()
commit 5c02c447ea upstream.

Syzbot reports that "hiddev" is used after it's free in hiddev_disconnect().
The hiddev_disconnect() function sets "hiddev->exist = 0;" so
hiddev_release() can free it as soon as we drop the "existancelock"
lock.  This patch moves the mutex_unlock(&hiddev->existancelock) until
after we have finished using it.

Reported-by: syzbot+784ccb935f9900cc7c9e@syzkaller.appspotmail.com
Fixes: 7f77897ef2 ("HID: hiddev: fix potential use-after-free")
Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-03-11 18:02:50 +01:00
..
i2c-hid HID: i2c-hid: add Trekstor Primebook C11B to descriptor override 2019-11-06 12:43:32 +01:00
intel-ish-hid HID: intel-ish-hid: fixes incorrect error handling 2019-12-05 15:37:26 +01:00
usbhid HID: hiddev: Fix race in in hiddev_disconnect() 2020-03-11 18:02:50 +01:00
hid-a4tech.c HID: input: fix a4tech horizontal wheel custom usage 2019-08-29 08:26:40 +02:00
hid-accutouch.c HID: Accutouch: Add driver for ELO Accutouch 2216 USB Touchscreens 2017-03-21 15:03:55 +01:00
hid-alps.c Merge branches 'for-4.8/upstream-fixes', 'for-4.9/alps', 'for-4.9/hid-input', 'for-4.9/intel-ish', 'for-4.9/kye-uclogic-waltop-fixes', 'for-4.9/logitech', 'for-4.9/sony', 'for-4.9/upstream' and 'for-4.9/wacom' into for-linus 2016-10-07 09:59:48 +02:00
hid-apple.c HID: apple: Fix stuck function keys when using FN 2019-10-07 18:55:10 +02:00
hid-appleir.c
hid-asus.c HID: asus: Add T100CHI bluetooth keyboard dock touchpad support 2017-08-08 10:05:23 +02:00
hid-aureal.c
hid-axff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-belkin.c
hid-betopff.c
hid-cherry.c
hid-chicony.c HID: move Asus keyboard support from hid-chicony to hid-asus 2017-06-08 13:47:52 +02:00
hid-cmedia.c HID: Support for CMedia CM6533 HID audio jack controls 2016-03-02 10:31:36 +01:00
hid-core.c HID: core: fix off-by-one memset in hid_report_raw_event() 2020-03-11 18:02:49 +01:00
hid-corsair.c HID: corsair: Add driver Scimitar Pro RGB gaming mouse 1b1c:1b3e support to hid-corsair 2017-03-21 14:46:15 +01:00
hid-cp2112.c HID: cp2112: prevent sleeping function called from invalid context 2019-09-10 10:32:17 +01:00
hid-cypress.c HID: hid-cypress: validate length of report 2017-01-06 16:06:43 +01:00
hid-debug.c HID: debug: fix race condition with between rdesc_show() and device removal 2019-05-08 07:20:47 +02:00
hid-dr.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-elecom.c HID: hid-elecom: extend to fix descriptor for HUGE trackball 2017-10-11 15:46:22 +02:00
hid-elo.c HID: elo: clear BTN_LEFT mapping 2018-03-19 08:42:47 +01:00
hid-emsff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-ezkey.c
hid-gaff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-gembird.c
hid-generic.c
hid-gfrm.c
hid-gt683r.c
hid-gyration.c
hid-holtek-kbd.c HID: holtek: test for sanity of intfdata 2019-08-25 10:50:06 +02:00
hid-holtek-mouse.c
hid-holtekff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-hyperv.c HID: hyperv: Use in-place iterator API in the channel callback 2019-11-06 12:43:06 +01:00
hid-icade.c
hid-ids.h HID: ite: Add USB id match for Acer SW5-012 keyboard dock 2020-02-05 14:18:05 +00:00
hid-input.c HID: hid-input: clear unmapped usages 2020-01-14 20:05:44 +01:00
hid-ite.c HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock 2020-03-11 18:02:49 +01:00
hid-kensington.c
hid-keytouch.c
hid-kye.c scripts/spelling.txt: add "comsume(r)" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
hid-lcpower.c
hid-led.c HID: hid-led: fix issue with transfer buffer not being dma capable 2016-10-10 10:47:03 +02:00
hid-lenovo.c HID: lenovo: Add checks to fix of_led_classdev_register 2019-02-12 19:46:09 +01:00
hid-lg.c HID: logitech: Fix general protection fault caused by Logitech driver 2019-10-05 12:47:33 +02:00
hid-lg.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hid-lg2ff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-lg3ff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-lg4ff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-lg4ff.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hid-lgff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-logitech-dj.c HID: logitech-dj: allow devices to request full pairing information 2017-04-06 14:36:36 +02:00
hid-logitech-hidpp.c HID: logitech-hidpp: Silence intermittent get_battery_capacity errors 2020-01-04 13:59:45 +01:00
hid-magicmouse.c Revert "HID: magicmouse: Set multi-touch keybits for Magic Mouse" 2017-06-20 10:38:17 +02:00
hid-mf.c HID: hid-mf: add force feedback support for Mayflash DolphinBar and GameCube 2017-01-11 22:12:44 +01:00
hid-microsoft.c HID: multitouch: enable Surface 3 Type Cover Pro to report multitouch data 2017-01-20 15:17:19 +01:00
hid-monterey.c
hid-multitouch.c HID: multitouch: Add pointstick support for Cirque Touchpad 2018-12-13 09:18:48 +01:00
hid-nti.c HID: Add quirk driver for NTI USB-SUN adapter 2017-03-06 13:16:33 +01:00
hid-ntrig.c HID: hid-ntrig: add error handling for sysfs_create_group 2018-10-03 17:00:52 -07:00
hid-ortek.c HID: ortek: add one more buggy device 2017-07-24 17:38:21 +02:00
hid-penmount.c HID: penmount: report only one button for PenMount 6000 USB touchscreen controller 2016-03-10 17:17:26 +01:00
hid-petalynx.c
hid-picolcd.h
hid-picolcd_backlight.c
hid-picolcd_cir.c media: rc: rename RC_TYPE_* to RC_PROTO_* and RC_BIT_* to RC_PROTO_BIT_* 2017-08-20 10:02:48 -04:00
hid-picolcd_core.c
hid-picolcd_debugfs.c HID: picoLCD: Spelling s/REPORT_WRTIE_MEMORY/REPORT_WRITE_MEMORY/ 2017-03-24 15:45:04 +01:00
hid-picolcd_fb.c
hid-picolcd_lcd.c
hid-picolcd_leds.c
hid-pl.c
hid-plantronics.c HID: hid-plantronics: Re-resend Update to map button for PTT products 2018-08-03 07:50:33 +02:00
hid-primax.c
hid-prodikeys.c HID: prodikeys: Fix general protection fault during probe 2019-10-05 12:47:32 +02:00
hid-retrode.c HID: Add driver for Retrode2 joypad adapter 2017-06-22 14:44:11 +02:00
hid-rmi.c HID: Fix hid_report_len usage 2018-04-24 09:36:28 +02:00
hid-roccat-arvo.c
hid-roccat-arvo.h
hid-roccat-common.c
hid-roccat-common.h
hid-roccat-isku.c
hid-roccat-isku.h
hid-roccat-kone.c
hid-roccat-kone.h
hid-roccat-koneplus.c
hid-roccat-koneplus.h
hid-roccat-konepure.c
hid-roccat-kovaplus.c HID: roccat: prevent an out of bounds read in kovaplus_profile_activated() 2018-04-26 11:02:10 +02:00
hid-roccat-kovaplus.h
hid-roccat-lua.c
hid-roccat-lua.h
hid-roccat-pyra.c
hid-roccat-pyra.h
hid-roccat-ryos.c
hid-roccat-savu.c
hid-roccat-savu.h
hid-roccat.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
hid-saitek.c HID: hid-saitek: Add device ID for RAT 7 Contagion 2018-10-10 08:54:23 +02:00
hid-samsung.c
hid-sensor-custom.c iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-12-17 09:28:49 +01:00
hid-sensor-hub.c iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-12-17 09:28:49 +01:00
hid-sjoy.c
hid-sony.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-speedlink.c
hid-steelseries.c
hid-sunplus.c
hid-tivo.c
hid-tmff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-topseed.c
hid-twinhan.c
hid-uclogic.c HID: uclogic: add support for Ugee Tablet EX07S 2017-04-06 14:50:11 +02:00
hid-udraw-ps3.c HID: udraw-ps3: accel_limits is local to the driver 2016-11-15 14:23:17 +01:00
hid-waltop.c HID: Remove broken links to tablet descriptions 2016-09-19 14:32:21 +02:00
hid-wiimote-core.c
hid-wiimote-debug.c
hid-wiimote-modules.c HID: wiimote: Fix wiimote mp scale linearization 2016-03-18 17:31:38 +01:00
hid-wiimote.h
hid-xinmo.c HID: xinmo: fix for out of range for THT 2P arcade controller. 2017-03-24 15:43:03 +01:00
hid-zpff.c HID: Fix assumption that devices have inputs 2019-11-06 12:43:33 +01:00
hid-zydacron.c
hidraw.c HID: hidraw, uhid: Always report EPOLLOUT 2020-01-17 19:45:40 +01:00
Kconfig HID: lenovo: Add support for IBM/Lenovo Scrollpoint mice 2018-06-21 04:02:48 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
uhid.c HID: hidraw, uhid: Always report EPOLLOUT 2020-01-17 19:45:40 +01:00
wacom.h HID: wacom: generic: Treat serial number and related fields as unsigned 2019-11-12 19:18:04 +01:00
wacom_sys.c HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report 2019-09-21 07:15:26 +02:00
wacom_wac.c HID: wacom: generic: Treat serial number and related fields as unsigned 2019-11-12 19:18:04 +01:00
wacom_wac.h HID: wacom: generic: only switch the mode on devices with LEDs 2019-07-31 07:28:41 +02:00