Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9c08b0a authored by Vitaly Osipov's avatar Vitaly Osipov Committed by Greg Kroah-Hartman
Browse files

staging: lustre: return -EFAULT instead of bytes remaining



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

Signed-off-by: default avatarVitaly Osipov <vitaly.osipov@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 751a624a
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -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;