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
..
2011-05-20 10:50:13 +02:00
2011-01-10 08:15:37 -08:00
2010-12-10 15:10:38 +01:00
2011-03-12 20:37:30 -08:00
2011-03-12 21:47:18 +01:00
2010-12-10 15:10:38 +01:00
2011-01-13 09:58:38 -08:00
2010-12-10 15:10:38 +01:00
2009-07-23 01:28:01 +02:00
2011-04-07 11:14:49 -07:00
2010-12-10 15:10:38 +01:00
2011-03-31 11:26:23 -03:00
2011-02-01 11:01:06 +01:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2009-07-23 01:28:01 +02:00
2010-12-10 15:10:38 +01:00
2011-02-15 10:29:57 +01:00
2011-04-07 09:42:13 -07:00
2011-05-18 17:07:34 +02:00
2009-07-23 01:28:01 +02:00
2011-02-17 15:12:45 +01:00
2010-12-10 15:10:38 +01:00
2011-02-13 15:04:51 +01:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2011-03-17 00:43:23 +01:00
2010-09-22 13:25:39 +02:00
2011-04-01 15:51:10 +02:00
2011-04-07 11:14:49 -07:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2011-01-13 09:58:38 -08:00
2011-03-17 14:31:46 +01:00
2011-03-14 13:10:13 +01:00
2011-03-21 16:12:23 +01:00
2010-12-10 15:10:38 +01:00
2011-05-18 17:06:49 +02:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2011-02-03 16:37:28 +01:00
2011-01-20 11:27:54 +01:00
2011-02-03 16:37:27 +01:00
2011-02-03 16:37:27 +01:00
2011-02-03 16:37:28 +01:00
2011-03-31 11:26:23 -03:00
2011-05-18 16:34:06 +02:00
2011-05-18 16:34:06 +02:00
2011-02-03 16:37:28 +01:00
2011-02-03 16:37:27 +01:00
2011-03-24 12:47:46 +01:00
2011-01-08 01:18:35 +01:00
2011-02-03 16:37:28 +01:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2011-02-21 13:48:50 +01:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:19:18 +01:00
2010-11-25 15:59:02 +01:00
2009-09-29 13:58:20 +02:00
2010-08-23 15:08:42 +02:00
2010-12-10 15:10:38 +01:00
2010-10-01 15:34:05 +02:00
2010-12-10 15:10:38 +01:00
2010-12-10 15:10:38 +01:00
2011-05-18 13:23:31 +02:00
2011-03-22 10:34:23 +01:00
2011-03-17 14:31:46 +01:00