Commit 06bca232 authored by Al Viro's avatar Al Viro Committed by Tim Gardner

amdkfd: don't open-code memdup_user()

BugLink: http://bugs.launchpad.net/bugs/1546572Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
(cherry picked from commit 8f1d57c1)
Signed-off-by: default avatarAlberto Milone <alberto.milone@canonical.com>
Signed-off-by: default avatarTim Gardner <tim.gardner@canonical.com>
parent 8090b04a
...@@ -559,19 +559,10 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep, ...@@ -559,19 +559,10 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep,
/* this is the actual buffer to work with */ /* this is the actual buffer to work with */
args_buff = kmalloc(args->buf_size_in_bytes - args_buff = memdup_user(args_buff,
sizeof(*args), GFP_KERNEL);
if (args_buff == NULL)
return -ENOMEM;
status = copy_from_user(args_buff, cmd_from_user,
args->buf_size_in_bytes - sizeof(*args)); args->buf_size_in_bytes - sizeof(*args));
if (IS_ERR(args_buff))
if (status != 0) { return PTR_ERR(args_buff);
pr_debug("Failed to copy address watch user data\n");
kfree(args_buff);
return -EINVAL;
}
aw_info.process = p; aw_info.process = p;
...@@ -677,22 +668,12 @@ static int kfd_ioctl_dbg_wave_control(struct file *filep, ...@@ -677,22 +668,12 @@ static int kfd_ioctl_dbg_wave_control(struct file *filep,
if (cmd_from_user == NULL) if (cmd_from_user == NULL)
return -EINVAL; return -EINVAL;
/* this is the actual buffer to work with */ /* copy the entire buffer from user */
args_buff = kmalloc(args->buf_size_in_bytes - sizeof(*args), args_buff = memdup_user(cmd_from_user,
GFP_KERNEL);
if (args_buff == NULL)
return -ENOMEM;
/* Now copy the entire buffer from user */
status = copy_from_user(args_buff, cmd_from_user,
args->buf_size_in_bytes - sizeof(*args)); args->buf_size_in_bytes - sizeof(*args));
if (status != 0) { if (IS_ERR(args_buff))
pr_debug("Failed to copy wave control user data\n"); return PTR_ERR(args_buff);
kfree(args_buff);
return -EINVAL;
}
/* move ptr to the start of the "pay-load" area */ /* move ptr to the start of the "pay-load" area */
wac_info.process = p; wac_info.process = p;
......
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