return -EFAULT instead of the value returned by copy_from_user()

Signed-off-by: Vitaly Osipov <vitaly.osi...@gmail.com>
---
 .../lustre/lustre/libcfs/linux/linux-module.c      |   11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/lustre/lustre/libcfs/linux/linux-module.c 
b/drivers/staging/lustre/lustre/libcfs/linux/linux-module.c
index e6eae06..9777d1c 100644
--- a/drivers/staging/lustre/lustre/libcfs/linux/linux-module.c
+++ b/drivers/staging/lustre/lustre/libcfs/linux/linux-module.c
@@ -44,14 +44,12 @@ int libcfs_ioctl_getdata(char *buf, char *end, void *arg)
 {
        struct libcfs_ioctl_hdr   *hdr;
        struct libcfs_ioctl_data  *data;
-       int err;
 
        hdr = (struct libcfs_ioctl_hdr *)buf;
        data = (struct libcfs_ioctl_data *)buf;
 
-       err = copy_from_user(buf, (void *)arg, sizeof(*hdr));
-       if (err)
-               return err;
+       if (copy_from_user(buf, (void *)arg, sizeof(*hdr)))
+               return -EFAULT;
 
        if (hdr->ioc_version != LIBCFS_IOCTL_VERSION) {
                CERROR("PORTALS: version mismatch kernel vs application\n");
@@ -69,9 +67,8 @@ int libcfs_ioctl_getdata(char *buf, char *end, void *arg)
                return -EINVAL;
        }
 
-       err = copy_from_user(buf, (void *)arg, hdr->ioc_len);
-       if (err)
-               return err;
+       if (copy_from_user(buf, (void *)arg, hdr->ioc_len))
+               return -EFAULT;
 
        if (libcfs_ioctl_is_invalid(data)) {
                CERROR("PORTALS: ioctl not correctly formatted\n");
-- 
1.7.9.5

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to