Signed-off-by: Daniel Walker <dwalker@xxxxxxxxxx> --- fs/nfsd/fault_inject.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/fs/nfsd/fault_inject.c b/fs/nfsd/fault_inject.c index d620e7f..41165f0 100644 --- a/fs/nfsd/fault_inject.c +++ b/fs/nfsd/fault_inject.c @@ -125,20 +125,24 @@ static ssize_t fault_inject_write(struct file *file, const char __user *buf, size_t size = min(sizeof(write_buf) - 1, len); struct net *net = current->nsproxy->net_ns; struct sockaddr_storage sa; + int ret = -EFAULT; u64 val; if (copy_from_user(write_buf, buf, size)) - return -EFAULT; + return ret; write_buf[size] = '\0'; size = rpc_pton(net, write_buf, size, (struct sockaddr *)&sa, sizeof(sa)); if (size > 0) nfsd_inject_set_client(file_inode(file)->i_private, &sa, size); else { - val = simple_strtoll(write_buf, NULL, 0); - nfsd_inject_set(file_inode(file)->i_private, val); + ret = kstrtoll(write_buf, 0, &val); + if (ret == 0) { + nfsd_inject_set(file_inode(file)->i_private, val); + ret = len; + } } - return len; /* on success, claim we got the whole input */ + return ret; /* on success, claim we got the whole input */ } static const struct file_operations fops_nfsd = { -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html