1
linux/fs/proc
Andrew Morton 5d7e0d2bd9 Fix pagemap_read() use of struct mm_walk
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: Andrew Morton <akpm@linux-foundation.org>
[ Personally, I'd just remove the functionality entirely  - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-05 13:13:44 -07:00
..
array.c capabilities: remain source compatible with 32-bit raw legacy capability support. 2008-05-31 16:36:16 -07:00
base.c proc: calculate the correct /proc/<pid> link count 2008-06-06 11:29:13 -07:00
generic.c netns: assign PDE->data before gluing entry into /proc tree 2008-05-02 04:12:41 -07:00
inode-alloc.txt
inode.c proc: proc_get_inode() should get module only once 2008-05-24 09:56:11 -07:00
internal.h proc: remove proc_root from drivers 2008-04-29 08:06:18 -07:00
kcore.c aout: remove unnecessary inclusions of {asm, linux}/a.out.h 2008-02-08 09:22:30 -08:00
kmsg.c
Makefile
mmu.c
nommu.c proc: switch to proc_create() 2008-04-29 08:06:17 -07:00
proc_devtree.c
proc_misc.c pagemap: return EINVAL, not EIO, for unaligned reads of kpagecount or kpageflags 2008-06-06 11:29:13 -07:00
proc_net.c netns: assign PDE->data before gluing entry into /proc tree 2008-05-02 04:12:41 -07:00
proc_sysctl.c sysctl: add the ->permissions callback on the ctl_table_root 2008-04-29 08:06:23 -07:00
proc_tty.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
root.c proc: introduce proc_create_data to setup de->data 2008-04-29 08:06:20 -07:00
task_mmu.c Fix pagemap_read() use of struct mm_walk 2008-07-05 13:13:44 -07:00
task_nommu.c task_nommu: fix compile failing bug because of spilt file.h 2008-05-04 17:08:48 -07:00
vmcore.c aout: remove unnecessary inclusions of {asm, linux}/a.out.h 2008-02-08 09:22:30 -08:00