aboutsummaryrefslogtreecommitdiffstats
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
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>
-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]);