On Fri, 8 Dec 2017, Andy Lutomirski wrote:
> Can we take a step back here?  I think there are four vaguely sane
> ways to make the LDT work:
> 
> 1. The way it is right now -- in vmalloc space.  The only real
> downside is that it requires exposing that part of vmalloc space in
> the user tables, which is a bit gross.
> 
> 2. In some fixmap-like space, which is what my patch does, albeit
> buggily.  This requires a PGD that we treat as per-mm, not per-cpu,
> but that's not so bad.
> 
> 3. In one of the user PGDs but above TASK_SIZE_MAX.  This is
> functionally almost identical to #2, except that there's more concern
> about exploits that write past TASK_SIZE_MAX.
> 
> 4. In an actual vma.  I don't see the benefit of doing this at all --
> it's just like #2 except way more error prone.  Hell, you have to make
> sure that you can't munmap or mremap it, which isn't a consideration
> at all with the other choices.

Why? You can unmap vdso or uprobe or whatever VMAs and you will simply
die. You get what you asked for.

Thanks,

        tglx


Reply via email to