lkml.org 
[lkml]   [2008]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: nommu: handling anonymous mmap clearing in userspace rather than kernel
On Thu, Apr 3, 2008 at 7:06 AM, Bernd Schmidt <bernds_cb1@t-online.de> wrote:
> Mike Frysinger wrote:
> > i also expected MAP_UNINITIALIZE to be unacceptable to LKML. and
> > afaik, there doesnt seem to be a way to distinguish in the kernel
> > whether the call is coming from userspace or kernel space, so the
> > memset() call will still be called for the kernel. ideally the code
> > would read:
> > if (!kernel && !(flags & MAP_UNINITIALIZE))
> > memset(base, 0, len);
> >
>
> Have you examined all callers in the kernel whether they can take
> uninitialized memory?

if they cant, they're broken, and need to get fixed. i see these
crashes then as a good thing :).

> (Your code doesn't match your description btw, so I'm
> only guessing what you actually want to achieve.)

doesnt it ? the memset should only be called for userspace when it
hasnt given the uninitialize flag. if it's kernel space, we want to
skip it. if the uninitialize flag is given, we want to skip it.

> Really, if MAP_UNINITIALIZE is unacceptable, then that's too bad and we'll
> carry it as a local patch, but all the other proposed mechanisms are
> non-solutions because they break an established interface.

i'm just airing out the different solutions so people get a better
idea of what's going on. i dont think the userspace <-> kernelspace
breakage is important, as the ABI is maintained at the important
layer: user application <-> C library.
-mike


\
 
 \ /
  Last update: 2008-04-03 16:49    [W:0.056 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site