diff options
author | Jiri Kosina <jkosina@suse.cz> | 2013-04-17 02:40:09 +0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2013-04-30 12:09:31 +0400 |
commit | 2353f2bea307390e015493118e425152b8a5a431 (patch) | |
tree | beb7fd2471690bbd8b0d0982c3b1f40f6784adba /include/linux/hid.h | |
parent | a5f04b9df1113e0c16271afe5e43028f0d763f13 (diff) | |
download | linux-2353f2bea307390e015493118e425152b8a5a431.tar.xz |
HID: protect hid_debug_list
Accesses to hid_device->hid_debug_list are not serialized properly, which
could result in SMP concurrency issues when HID debugfs events are accessesed
by multiple userspace processess.
Serialize all the list operations by a mutex.
Spotted by Al Viro.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/linux/hid.h')
-rw-r--r-- | include/linux/hid.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/hid.h b/include/linux/hid.h index e14b465b1146..06579c72d195 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@ -512,6 +512,7 @@ struct hid_device { /* device report descriptor */ struct dentry *debug_rdesc; struct dentry *debug_events; struct list_head debug_list; + struct mutex debug_list_lock; wait_queue_head_t debug_wait; }; |