diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2008-07-05 01:02:01 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-05 13:13:44 -0700 |
commit | 5d7e0d2bd98ef4f5a16ac9da1987ae655368dd6a (patch) | |
tree | a910f821c544bba353324c63e2783852a1b95b11 /init/calibrate.c | |
parent | ca31e146d5c2fe51498e619eb3a64782d02e310a (diff) | |
download | op-kernel-dev-5d7e0d2bd98ef4f5a16ac9da1987ae655368dd6a.zip op-kernel-dev-5d7e0d2bd98ef4f5a16ac9da1987ae655368dd6a.tar.gz |
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>
Diffstat (limited to 'init/calibrate.c')
0 files changed, 0 insertions, 0 deletions