From: Jiri Kosina Date: Fri, 20 May 2011 08:50:13 +0000 (+0200) Subject: HID: hiddev: fix race between hiddev_disconnect and hiddev_release X-Git-Tag: v3.0-rc1~345^2^3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6cb4b040795c555c7ab4b1ba29b0dba2b5a42beb;p=pandora-kernel.git 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 --- Reading git-diff-tree failed