[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1425107567.4645.108.camel@kernel.crashing.org>
Date: Sat, 28 Feb 2015 18:12:47 +1100
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
linux-mm@...ck.org
Subject: Generic page fault (Was: libsigsegv ....)
On Sun, 2015-02-01 at 17:09 -0800, Linus Torvalds wrote:
>
> Of course, what I *really* want would be to make a new
> "generic_mm_fault()" helper that would do all the normal stuff:
>
> - find_vma()
> - check permissions and ranges
> - call 'handle_mm_fault()'
> - do the proper error, retry and minor/major fault handling
>
> and then most architectures could just call that.
So I spent a bit of time today while the kids were playing quietly (it
does happen !), and came up with this (very) draft pair of patches
for x86 and powerpc. It's by no mean a finished product as you can see,
but it shows how "messy" things get. Basically a bit more messy than I
originally thought but it's not *too* bad either.
Let me know what you think of the approach. It's boot tested on x86_64
in qemu and .
Next I think I'll tackle ARM, test a bit more, clean a few things up and
submit, but by all means, please provide feedback on the approach before
that :)
I'm attaching the patches for now (there are two and I don't feel like
posting two emails on that subject. The final stuff will be broken down
in smaller bits).
Cheers,
Ben.
View attachment "0001-Move-bulk-of-x86-__do_page_fault-to-a-generic_page_f.patch" of type "text/x-patch" (20798 bytes)
View attachment "0002-powerpc-Use-generic_page_fault.patch" of type "text/x-patch" (19877 bytes)
Powered by blists - more mailing lists