drivers/hid/uhid.c: check write() bitness using in_compat_syscall

uhid changes the format expected in write() depending on bitness.  It
should check the syscall bitness directly.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: David Herrmann <dh.herrmann@googlemail.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Andy Lutomirski 2016-03-22 14:25:24 -07:00 committed by Linus Torvalds
parent f4056b5284
commit 7365abbade

View File

@ -384,7 +384,7 @@ struct uhid_create_req_compat {
static int uhid_event_from_user(const char __user *buffer, size_t len, static int uhid_event_from_user(const char __user *buffer, size_t len,
struct uhid_event *event) struct uhid_event *event)
{ {
if (is_compat_task()) { if (in_compat_syscall()) {
u32 type; u32 type;
if (get_user(type, buffer)) if (get_user(type, buffer))