lkml.org 
[lkml]   [2012]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/3] uprobes: Change valid_vma() to demand VM_MAYEXEC rather than VM_EXEC
    * Oleg Nesterov <oleg@redhat.com> [2012-09-16 19:52:46]:

    > uprobe_register() or uprobe_mmap() requires VM_READ | VM_EXEC, this
    > is not right. An apllication can do mprotect(PROT_EXEC) later and
    > execute this code.
    >
    > Change valid_vma(is_register => true) to check VM_MAYEXEC instead.
    > No need to check VM_MAYREAD, it is always set.
    >
    > Signed-off-by: Oleg Nesterov <oleg@redhat.com>

    Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>

    > ---
    > kernel/events/uprobes.c | 4 ++--
    > 1 files changed, 2 insertions(+), 2 deletions(-)
    >
    > diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
    > index fa1579a..b9b50dd 100644
    > --- a/kernel/events/uprobes.c
    > +++ b/kernel/events/uprobes.c
    > @@ -106,8 +106,8 @@ static bool valid_vma(struct vm_area_struct *vma, bool is_register)
    > if (!is_register)
    > return true;
    >
    > - if ((vma->vm_flags & (VM_HUGETLB|VM_READ|VM_WRITE|VM_EXEC|VM_SHARED))
    > - == (VM_READ|VM_EXEC))
    > + if ((vma->vm_flags & (VM_HUGETLB | VM_WRITE | VM_MAYEXEC | VM_SHARED))
    > + == VM_MAYEXEC)
    > return true;
    >
    > return false;
    > --
    > 1.5.5.1
    >



    \
     
     \ /
      Last update: 2012-09-25 12:41    [W:0.025 / U:122.912 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site