summaryrefslogtreecommitdiff
path: root/drivers/esoc
diff options
context:
space:
mode:
authorArun KS <arunks@codeaurora.org>2017-02-07 18:41:25 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-29 17:25:35 -0700
commit2e139766cacb8e7deb048d36798e144916e23931 (patch)
treefe5998737b5f3cef8b97c490fbd2959234839bf2 /drivers/esoc
parent664cdd33f956accabebd29edba6c220b1580744d (diff)
esoc: Fix user space corruption due to wrong data type
ESOC IOCTL was designed to transfer data of type unsigned int, but was pushing data of unsigned long type. Hence causing data corruption in user space. Fix this by changing put user to use unsigned int. Change-Id: Ia233eedd76f1ca1ec3036889d6764e568ee975dd Signed-off-by: Arun KS <arunks@codeaurora.org>
Diffstat (limited to 'drivers/esoc')
-rw-r--r--drivers/esoc/esoc_dev.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/esoc/esoc_dev.c b/drivers/esoc/esoc_dev.c
index 26b8d0fe512b..ffb2237da5fa 100644
--- a/drivers/esoc/esoc_dev.c
+++ b/drivers/esoc/esoc_dev.c
@@ -214,7 +214,7 @@ static long esoc_dev_ioctl(struct file *file, unsigned int cmd,
esoc_clink->name);
return -EIO;
}
- put_user(req, (unsigned long __user *)uarg);
+ put_user(req, (unsigned int __user *)uarg);
}
return err;
@@ -227,7 +227,7 @@ static long esoc_dev_ioctl(struct file *file, unsigned int cmd,
err = clink_ops->get_status(&status, esoc_clink);
if (err)
return err;
- put_user(status, (unsigned long __user *)uarg);
+ put_user(status, (unsigned int __user *)uarg);
break;
case ESOC_WAIT_FOR_CRASH:
err = wait_event_interruptible(esoc_udev->evt_wait,
@@ -241,7 +241,7 @@ static long esoc_dev_ioctl(struct file *file, unsigned int cmd,
esoc_clink->name);
return -EIO;
}
- put_user(evt, (unsigned long __user *)uarg);
+ put_user(evt, (unsigned int __user *)uarg);
}
return err;
break;