tmp_suning_uos_patched/drivers/hid/usbhid
Jiri Kosina 6cb4b04079 HID: hiddev: fix race between hiddev_disconnect and hiddev_release
When hiddev_disconnect() runs with chardev open, it will proceed with
usbhid_close(). When userspace in parallel runs the hiddev_release(),
it sees !hiddev->exists (as it has been already set so by
hiddev_disconnect()) and kfrees hiddev while hiddev_disconnect() hasn't
finished yet.

Serialize the access to hiddev->exists and hiddev->open by existancelock.

Reported-by: mike-@cinci.rr.com
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-05-20 10:50:13 +02:00
..
hid-core.c HID: Add Support for Setting and Getting Feature Reports from hidraw 2011-02-11 15:05:49 +01:00
hid-pidff.c HID: Add and use hid_<level>: dev_<level> equivalents 2010-12-10 15:10:38 +01:00
hid-quirks.c HID: Add support for CH Pro Throttle 2011-04-06 07:12:32 -07:00
hiddev.c HID: hiddev: fix race between hiddev_disconnect and hiddev_release 2011-05-20 10:50:13 +02:00
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile HID: usbhid: Clean up makefile (-y instead of -objs) 2010-11-18 10:43:18 +01:00
usbhid.h HID: usbhid: base runtime PM on modern API 2010-12-22 19:06:53 +01:00
usbkbd.c HID: Add and use hid_<level>: dev_<level> equivalents 2010-12-10 15:10:38 +01:00
usbmouse.c USB: rename usb_buffer_alloc() and usb_buffer_free() users 2010-05-20 13:21:38 -07:00