aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorVinicius Costa Gomes <vinicius.gomes@openbossa.org>2012-07-14 18:59:25 -0300
committerPawit Pornkitprasan <p.pawit@gmail.com>2012-12-05 23:04:14 +0700
commitfbaa57f0da854887458651a7dfd13cfad0ef5d30 (patch)
tree6b39c06f421823439666221c27694d9baf828c81 /drivers/hid
parent39167aef40e77895d4899fe93020c8cf8b557369 (diff)
downloadkernel_samsung_aries-fbaa57f0da854887458651a7dfd13cfad0ef5d30.zip
kernel_samsung_aries-fbaa57f0da854887458651a7dfd13cfad0ef5d30.tar.gz
kernel_samsung_aries-fbaa57f0da854887458651a7dfd13cfad0ef5d30.tar.bz2
HID: uhid: Fix sending events with invalid data
This was detected because events with invalid types were arriving to userspace. The code before this patch would only work for the first event in the queue (when uhid->tail is 0). Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org> Reviewed-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/uhid.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c
index 119b7e6..714cd8c 100644
--- a/drivers/hid/uhid.c
+++ b/drivers/hid/uhid.c
@@ -465,7 +465,7 @@ try_again:
goto try_again;
} else {
len = min(count, sizeof(**uhid->outq));
- if (copy_to_user(buffer, &uhid->outq[uhid->tail], len)) {
+ if (copy_to_user(buffer, uhid->outq[uhid->tail], len)) {
ret = -EFAULT;
} else {
kfree(uhid->outq[uhid->tail]);