L4android mlock on vectors page causes unresolvable page fault
adam at os.inf.tu-dresden.de
Mon Apr 8 21:57:08 CEST 2013
On Mon Apr 08, 2013 at 15:35:53 +0200, Matthias Petschick wrote:
> On 04/08/2013 01:50 AM, Matthias Petschick wrote:
> > I can't test it right now but without looking too deep, I predict that
> > it will work because mlockall calls
> > do_mlock_pages(0, TASK_SIZE, 1);
> > and TASK_SIZE is 0xbfc00000 for arch/l4, hence the vectors page should
> > not be touched by it. Will nevertheless give it a shot tomorrow in case
> > I missed something.
> Yes, works as predicted.
> In case of lvm, the problem can of course be averted by either
> blacklisting the vectors page or configuring it to use mlockall. I can't
> say if the way mlock ungracefully handles attempts to lock the vectors
> page has any further, not directly obvious implications though.
In your version the fix could be to use CONFIG_VECTORS_BASE instead of
0xffff0000 for install_special_mapping in process.c. Recent versions do
not have this code anymore so it's just a guess.
Adam adam at os.inf.tu-dresden.de
More information about the l4-hackers