Re: Re: [PATCH RESEND] arm64: add alignment fault hanling

From: EunTaik Lee
Date: Mon Feb 15 2016 - 06:49:03 EST




> How do you end up with Device nGnRnE in user space? I thought we should
> have got some guard page.
I guess it is a device file that is mmaped in the user space and later remapped in the kernel
using pgprot_noncached().
I can't find the code that inserts a guard page in between vma's can you please help me find that code?

> do_strncpy_from_user() relies on unsafe_get_user() not being able to
> read 8 bytes. The problem now is that it doesn't get a page fault but an
> alignment one is isn't handled.
Yes.

> Why addr >= TASK_SIZE? addr here should be the fault address, not pc.
You're right. I should have used user_mode(regs).

> The simplest would be to use do_bad_area() here without any additional
> function.
Yes, I should've probably used do_bad_area(). I just wanted to do the minimal stuff.