Commit 30a30fcc authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Chuck Lever

nfsd: Propagate some error code returned by memdup_user()

Propagate the error code returned by memdup_user() instead of a hard coded
-EFAULT.
Suggested-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent d44899b8
...@@ -808,7 +808,7 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg, ...@@ -808,7 +808,7 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg,
return -EFAULT; return -EFAULT;
name.data = memdup_user(&ci->cc_name.cn_id, namelen); name.data = memdup_user(&ci->cc_name.cn_id, namelen);
if (IS_ERR(name.data)) if (IS_ERR(name.data))
return -EFAULT; return PTR_ERR(name.data);
name.len = namelen; name.len = namelen;
get_user(princhashlen, &ci->cc_princhash.cp_len); get_user(princhashlen, &ci->cc_princhash.cp_len);
if (princhashlen > 0) { if (princhashlen > 0) {
...@@ -817,7 +817,7 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg, ...@@ -817,7 +817,7 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg,
princhashlen); princhashlen);
if (IS_ERR(princhash.data)) { if (IS_ERR(princhash.data)) {
kfree(name.data); kfree(name.data);
return -EFAULT; return PTR_ERR(princhash.data);
} }
princhash.len = princhashlen; princhash.len = princhashlen;
} else } else
...@@ -830,7 +830,7 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg, ...@@ -830,7 +830,7 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg,
return -EFAULT; return -EFAULT;
name.data = memdup_user(&cnm->cn_id, namelen); name.data = memdup_user(&cnm->cn_id, namelen);
if (IS_ERR(name.data)) if (IS_ERR(name.data))
return -EFAULT; return PTR_ERR(name.data);
name.len = namelen; name.len = namelen;
} }
if (name.len > 5 && memcmp(name.data, "hash:", 5) == 0) { if (name.len > 5 && memcmp(name.data, "hash:", 5) == 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment