Re: [PATCH RFC 0/5] uprobes: kill xol vma

From: Peter Zijlstra
Date: Mon Nov 28 2011 - 14:58:25 EST


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!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/