aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2013-04-16 18:40:09 -0400
committerJiri Kosina <jkosina@suse.cz>2013-04-30 04:09:31 -0400
commit2353f2bea307390e015493118e425152b8a5a431 (patch)
treebeb7fd2471690bbd8b0d0982c3b1f40f6784adba /include
parenta5f04b9df1113e0c16271afe5e43028f0d763f13 (diff)
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')
-rw-r--r--include/linux/hid.h1
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 */
512 struct dentry *debug_rdesc; 512 struct dentry *debug_rdesc;
513 struct dentry *debug_events; 513 struct dentry *debug_events;
514 struct list_head debug_list; 514 struct list_head debug_list;
515 struct mutex debug_list_lock;
515 wait_queue_head_t debug_wait; 516 wait_queue_head_t debug_wait;
516}; 517};
517 518