Commit cfaa1181 authored by Markus Elfring's avatar Markus Elfring Committed by Steve French

CIFS: Use memdup_user() rather than duplicating its implementation

Reuse existing functionality from memdup_user() instead of keeping
duplicate source code.

Generated by: scripts/coccinelle/api/memdup_user.cocci

Fixes: f5b05d62 ("cifs: add IOCTL for QUERY_INFO passthrough to userspace")
Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent acd4680e
...@@ -1402,15 +1402,10 @@ smb2_ioctl_query_info(const unsigned int xid, ...@@ -1402,15 +1402,10 @@ smb2_ioctl_query_info(const unsigned int xid,
if (smb3_encryption_required(tcon)) if (smb3_encryption_required(tcon))
flags |= CIFS_TRANSFORM_REQ; flags |= CIFS_TRANSFORM_REQ;
buffer = kmalloc(qi.output_buffer_length, GFP_KERNEL); buffer = memdup_user(arg + sizeof(struct smb_query_info),
if (buffer == NULL) qi.output_buffer_length);
return -ENOMEM; if (IS_ERR(buffer))
return PTR_ERR(buffer);
if (copy_from_user(buffer, arg + sizeof(struct smb_query_info),
qi.output_buffer_length)) {
rc = -EFAULT;
goto iqinf_exit;
}
/* Open */ /* Open */
memset(&open_iov, 0, sizeof(open_iov)); memset(&open_iov, 0, sizeof(open_iov));
......
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