linux/include
Hugh Dickins c34d1b4d16 [PATCH] mm: kill check_user_page_readable
check_user_page_readable is a problematic variant of follow_page.  It's used
only by oprofile's i386 and arm backtrace code, at interrupt time, to
establish whether a userspace stackframe is currently readable.

This is problematic, because we want to push the page_table_lock down inside
follow_page, and later split it; whereas oprofile is doing a spin_trylock on
it (in the i386 case, forgotten in the arm case), and needs that to pin
perhaps two pages spanned by the stackframe (which might be covered by
different locks when we split).

I think oprofile is going about this in the wrong way: it doesn't need to know
the area is readable (neither i386 nor arm uses read protection of user
pages), it doesn't need to pin the memory, it should simply
__copy_from_user_inatomic, and see if that succeeds or not.  Sorry, but I've
not got around to devising the sparse __user annotations for this.

Then we can eliminate check_user_page_readable, and return to a single
follow_page without the __follow_page variants.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:41 -07:00
..
acpi
asm-alpha [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
asm-arm [PATCH] mm: tlb_finish_mmu forget rss 2005-10-29 21:40:37 -07:00
asm-arm26 [PATCH] mm: tlb_finish_mmu forget rss 2005-10-29 21:40:37 -07:00
asm-cris [PATCH] gfp_t: dma-mapping (cris) 2005-10-28 08:16:48 -07:00
asm-frv [PATCH] gfp_t: dma-mapping (frv) 2005-10-28 08:16:48 -07:00
asm-generic [PATCH] mm: ptd_alloc inline and out 2005-10-29 21:40:40 -07:00
asm-h8300 [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-i386 [PATCH] mm: pte_offset_map_lock loops 2005-10-29 21:40:40 -07:00
asm-ia64 [PATCH] mm: tlb_finish_mmu forget rss 2005-10-29 21:40:37 -07:00
asm-m32r [PATCH] gfp_t: dma-mapping (simple cases) 2005-10-28 08:16:49 -07:00
asm-m68k [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-m68knommu [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-mips BCM1480 HT support 2005-10-29 19:32:49 +01:00
asm-parisc [PATCH] mm: flush_tlb_range outside ptlock 2005-10-29 21:40:40 -07:00
asm-powerpc [PATCH] ppc32: Fix timekeeping 2005-10-12 08:24:47 -07:00
asm-ppc [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
asm-ppc64 [PATCH] mm: page fault handlers tidyup 2005-10-29 21:40:37 -07:00
asm-s390 [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
asm-sh [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
asm-sh64 [PATCH] gfp_t: dma-mapping (simple cases) 2005-10-28 08:16:49 -07:00
asm-sparc [PATCH] gfp_t: dma-mapping (simple cases) 2005-10-28 08:16:49 -07:00
asm-sparc64 [PATCH] mm: tlb_finish_mmu forget rss 2005-10-29 21:40:37 -07:00
asm-um [PATCH] mm: pte_offset_map_lock loops 2005-10-29 21:40:40 -07:00
asm-v850 [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-x86_64 [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
asm-xtensa [PATCH] gfp_t: dma-mapping (xtensa) 2005-10-28 08:16:49 -07:00
linux [PATCH] mm: kill check_user_page_readable 2005-10-29 21:40:41 -07:00
math-emu
media [PATCH] i2c: ID redefinition cleanups 2005-10-28 14:02:13 -07:00
mtd
net Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-10-29 11:25:16 -07:00
pcmcia [PATCH] yenta: auto-tune EnE bridges for CardBus cards 2005-09-26 13:09:20 +02:00
rdma [IB] Fix MAD layer DMA mappings to avoid touching data buffer once mapped 2005-10-25 10:51:39 -07:00
rxrpc [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
scsi Merge branch 'master' 2005-10-28 12:31:34 -04:00
sound [PATCH] gfp_t: sound 2005-10-28 08:16:50 -07:00
video [PATCH] drivers/video: Replace custom macro with isdigit() 2005-09-13 08:22:33 -07:00