• Andrew Morton's avatar
    Fix pagemap_read() use of struct mm_walk · 5d7e0d2b
    Andrew Morton authored
    Fix some issues in pagemap_read noted by Alexey:
    
    - initialize pagemap_walk.mm to "mm" , so the code starts working as
      advertised
    
    - initialize ->private to "&pm" so it wouldn't immediately oops in
      pagemap_pte_hole()
    
    - unstatic struct pagemap_walk, so two threads won't fsckup each other
      (including those started by root, including flipping ->mm when you don't
      have permissions)
    
    - pagemap_read() contains two calls to ptrace_may_attach(), second one
      looks unneeded.
    
    - avoid possible kmalloc(0) and integer wraparound.
    
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Matt Mackall <mpm@selenic.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    [ Personally, I'd just remove the functionality entirely  - Linus ]
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5d7e0d2b
task_mmu.c 18.9 KB