kernel-ark/mm
Andrew Morton 1aaf18ff9d [PATCH] check_user_page_readable() deadlock fix
Fix bug identifued by Richard Purdie <rpurdie@rpsys.net>.

oprofile calls check_user_page_readable() from interrupt context, so we
deadlock over various VFS locks.

But check_user_page_readable() doesn't imply either a read or a write of the
page's contents.  Change __follow_page() so that check_user_page_readable()
can tell __follow_page() that we're not accessing the page's contents, and use
that info to avoid the troublesome lock-takings.

Also, make follow_page() inline for the single callsite in memory.c to save a
bit of stack space.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:53 -07:00
..
bootmem.c
fadvise.c
filemap_xip.c [PATCH] execute-in-place fixes 2005-07-15 09:54:50 -07:00
filemap.c
filemap.h
fremap.c
highmem.c
hugetlb.c
internal.h
Kconfig
madvise.c
Makefile
memory.c [PATCH] check_user_page_readable() deadlock fix 2005-07-27 16:25:53 -07:00
mempolicy.c [PATCH] Undo mempolicy shared policy rbtree microoptimization 2005-07-27 16:25:52 -07:00
mempool.c [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
mincore.c
mlock.c
mmap.c
mprotect.c
mremap.c
msync.c
nommu.c
oom_kill.c [PATCH] mm: quieten OOM killer noise 2005-07-07 18:23:36 -07:00
page_alloc.c [PATCH] remove completly bogus comment inside __alloc_pages() try_to_free_pages handling 2005-07-07 18:23:35 -07:00
page_io.c
page-writeback.c [PATCH] rename wakeup_bdflush to wakeup_pdflush 2005-06-28 21:20:31 -07:00
pdflush.c [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
prio_tree.c
readahead.c
rmap.c
shmem.c
slab.c [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
sparse.c
swap_state.c
swap.c
swapfile.c
thrash.c
tiny-shmem.c
truncate.c
vmalloc.c
vmscan.c [PATCH] rename wakeup_bdflush to wakeup_pdflush 2005-06-28 21:20:31 -07:00