return -EFAULT instead of the value returned by copy_from_user() Signed-off-by: Vitaly Osipov <vitaly.osipov@xxxxxxxxx> --- .../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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel