• Oleg Nesterov's avatar
    uprobes: Refuse to insert a probe into MAP_SHARED vma · 13f59c5e
    Oleg Nesterov authored
    valid_vma() rejects the VM_SHARED vmas, but this still allows to insert
    a probe into the MAP_SHARED but not VM_MAYWRITE vma.
    
    Currently this is fine, such a mapping doesn't really differ from the
    private read-only mmap except mprotect(PROT_WRITE) won't work. However,
    get_user_pages(FOLL_WRITE | FOLL_FORCE) doesn't allow to COW in this
    case, and it would be safer to follow the same conventions as mm even
    if currently this happens to work.
    
    After the recent cda540ac "mm: get_user_pages(write,force) refuse
    to COW in shared areas" only uprobes can insert an anon page into the
    shared file-backed area, lets stop this and change valid_vma() to check
    VM_MAYSHARE instead.
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    13f59c5e
uprobes.c 47.3 KB