| Subject | Re: [PATCH RFC 0/5] uprobes: kill xol vma | From | Peter Zijlstra <> | Date | Mon, 28 Nov 2011 20:57:57 +0100 |
| |
On Mon, 2011-11-28 at 20:06 +0100, Oleg Nesterov wrote: > > On top of this series, not for inclusion yet, just to explain what > I mean. May be someone can test it ;) > > This series kills xol_vma. Instead we use the per_cpu-like xol slots. > > This is much more simple and efficient. And this of course solves > many problems we currently have with xol_vma. > > For example, we simply can not trust it. We do not know what actually > we are going to execute in UTASK_SSTEP mode. An application can unmap > this area and then do mmap(PROT_EXEC|PROT_WRITE, MAP_FIXED) to fool > uprobes. > > The only disadvantage is that this adds a bit more arch-dependant > code. > > The main question, can this work? I know very little in this area. > And I am not sure if this can be ported to other architectures.
I very much like this approach! I think the provided implementation might have some issues, but yeah, using fixmaps and a __switch_to_xtra hook to provide per task slots seems very nice indeed!
|