提交 14544d76 编写于 作者: A Al Viro

vme_user: don't use __copy_..._user()

Saving access_ok() is not worth the trouble; yes, the callers of ->read()
and ->write() will have done the right checks, but it's much too long
(and varied) call chains to rely upon.
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 3d46d710
...@@ -134,7 +134,7 @@ static ssize_t resource_to_user(int minor, char __user *buf, size_t count, ...@@ -134,7 +134,7 @@ static ssize_t resource_to_user(int minor, char __user *buf, size_t count,
if (copied < 0) if (copied < 0)
return (int)copied; return (int)copied;
if (__copy_to_user(buf, image[minor].kern_buf, (unsigned long)copied)) if (copy_to_user(buf, image[minor].kern_buf, (unsigned long)copied))
return -EFAULT; return -EFAULT;
return copied; return copied;
...@@ -146,7 +146,7 @@ static ssize_t resource_from_user(unsigned int minor, const char __user *buf, ...@@ -146,7 +146,7 @@ static ssize_t resource_from_user(unsigned int minor, const char __user *buf,
if (count > image[minor].size_buf) if (count > image[minor].size_buf)
count = image[minor].size_buf; count = image[minor].size_buf;
if (__copy_from_user(image[minor].kern_buf, buf, (unsigned long)count)) if (copy_from_user(image[minor].kern_buf, buf, (unsigned long)count))
return -EFAULT; return -EFAULT;
return vme_master_write(image[minor].resource, image[minor].kern_buf, return vme_master_write(image[minor].resource, image[minor].kern_buf,
...@@ -159,7 +159,7 @@ static ssize_t buffer_to_user(unsigned int minor, char __user *buf, ...@@ -159,7 +159,7 @@ static ssize_t buffer_to_user(unsigned int minor, char __user *buf,
void *image_ptr; void *image_ptr;
image_ptr = image[minor].kern_buf + *ppos; image_ptr = image[minor].kern_buf + *ppos;
if (__copy_to_user(buf, image_ptr, (unsigned long)count)) if (copy_to_user(buf, image_ptr, (unsigned long)count))
return -EFAULT; return -EFAULT;
return count; return count;
...@@ -171,7 +171,7 @@ static ssize_t buffer_from_user(unsigned int minor, const char __user *buf, ...@@ -171,7 +171,7 @@ static ssize_t buffer_from_user(unsigned int minor, const char __user *buf,
void *image_ptr; void *image_ptr;
image_ptr = image[minor].kern_buf + *ppos; image_ptr = image[minor].kern_buf + *ppos;
if (__copy_from_user(image_ptr, buf, (unsigned long)count)) if (copy_from_user(image_ptr, buf, (unsigned long)count))
return -EFAULT; return -EFAULT;
return count; return count;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册