diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2017-08-26 09:04:18 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-08-28 10:24:06 +0200 |
commit | 092c3def24bb68a00ff58c76ed67b9ff448387ce (patch) | |
tree | e7b7a081dc2fafcebd3ece90a5047b0e16806b70 | |
parent | staging: lustre: obdclass: return -EFAULT if copy_to_user() fails (diff) | |
download | linux-dev-092c3def24bb68a00ff58c76ed67b9ff448387ce.tar.xz linux-dev-092c3def24bb68a00ff58c76ed67b9ff448387ce.zip |
staging: lustre: obdclass: return -EFAULT if copy_from_user() fails
The copy_from_user() function returns the number of bytes which we
weren't able to copy. We don't want to return that to the user but
instead we want to return -EFAULT.
Fixes: d7e09d0397e8 ("staging: add Lustre file system client support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/lustre/lustre/obdclass/class_obd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/lustre/lustre/obdclass/class_obd.c b/drivers/staging/lustre/lustre/obdclass/class_obd.c index 8ad3adb2ceb1..545358923271 100644 --- a/drivers/staging/lustre/lustre/obdclass/class_obd.c +++ b/drivers/staging/lustre/lustre/obdclass/class_obd.c @@ -180,7 +180,8 @@ int class_handle_ioctl(unsigned int cmd, unsigned long arg) err = -ENOMEM; goto out; } - err = copy_from_user(lcfg, data->ioc_pbuf1, data->ioc_plen1); + if (copy_from_user(lcfg, data->ioc_pbuf1, data->ioc_plen1)) + err = -EFAULT; if (!err) err = lustre_cfg_sanity_check(lcfg, data->ioc_plen1); if (!err) |