lkml.org 
[lkml]   [2013]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: goldfish driver: Missing get_user_pages in goldfish_pipe_read_write()
On Thu, Jun 27, 2013 at 01:35:32PM -0400, Mathieu Desnoyers wrote:
> The following code snippet:
>
> drivers/platform/goldfish/goldfish_pipe.c:
> goldfish_pipe_read_write()
>
> /* Ensure that the corresponding page is properly mapped */
> /* FIXME: this isn't safe or sufficient - use get_user_pages */
> if (is_write) {
> char c;
> /* Ensure that the page is mapped and readable */
> if (__get_user(c, (char __user *)address)) {
> if (!ret)
> ret = -EFAULT;
> break;
> }
> } else {
> /* Ensure that the page is mapped and writable */
> if (__put_user(0, (char __user *)address)) {
> if (!ret)
> ret = -EFAULT;
> break;
> }
> }
>
> Seems to lack the kind of validation required to make it fail properly
> if the memory range is not fully populated.

This is an emulated platform only, so it's probably not a big deal,
right?

> I see that this feature has been merged in Linux kernel 3.9, but the
> FIXME is still there in 3.10-rc7. Any plans on fixing this ?

It would be good to get fixed, but probably way down on the priority
list.

thanks,

greg k-h


\
 
 \ /
  Last update: 2013-06-27 20:21    [W:0.044 / U:0.688 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site