lkml.org 
[lkml]   [2011]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[PATCH RFC 0/5] uprobes: kill xol vma
    Hello.

    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.

    Please comment.

    Oleg.

    arch/x86/include/asm/fixmap.h | 9 +
    arch/x86/include/asm/thread_info.h | 4
    arch/x86/kernel/process.c | 6
    arch/x86/kernel/uprobes.c | 26 +++-
    include/linux/mm_types.h | 1
    include/linux/uprobes.h | 27 ----
    kernel/fork.c | 2
    kernel/uprobes.c | 239 +++----------------------------------
    8 files changed, 71 insertions(+), 243 deletions(-)



    \
     
     \ /
      Last update: 2011-11-28 20:15    [W:6.196 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site