staging: lustre: return -EFAULT instead of bytes remaining

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

Signed-off-by: Vitaly Osipov <vitaly.osipov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Vitaly Osipov 2014-05-04 14:14:26 +10:00 committed by Greg Kroah-Hartman
parent 751a624adb
commit a9c08b0ac1
1 changed files with 4 additions and 7 deletions

View File

@ -45,14 +45,12 @@ int libcfs_ioctl_getdata(char *buf, char *end, void *arg)
struct libcfs_ioctl_hdr *hdr;
struct libcfs_ioctl_data *data;
int orig_len;
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");
@ -71,9 +69,8 @@ int libcfs_ioctl_getdata(char *buf, char *end, void *arg)
}
orig_len = hdr->ioc_len;
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 (orig_len != data->ioc_len)
return -EINVAL;