6cb4b04079
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> |
||
---|---|---|
.. | ||
hid-core.c | ||
hid-pidff.c | ||
hid-quirks.c | ||
hiddev.c | ||
Kconfig | ||
Makefile | ||
usbhid.h | ||
usbkbd.c | ||
usbmouse.c |