linux/arch/arm
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
..
boot [PATCH] type fix in arm/boot/compressed/misc.c 2005-10-29 10:35:08 -07:00
common [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks 2005-10-28 09:52:56 -07:00
configs [ARM] 2918/1: [update] Base port of Comdial MP1000 platfrom 2005-10-28 16:19:37 +01:00
kernel [ARM] 3061/1: cleanup the XIP link address mess 2005-10-29 21:44:56 +01:00
lib [ARM] 2930/1: optimized sha1 implementation for ARM 2005-10-28 15:26:40 +01:00
mach-aaec2000 [ARM] 3042/1: AAED-2000 - LCD panel informations 2005-10-28 16:51:44 +01:00
mach-clps711x [ARM] 2918/1: [update] Base port of Comdial MP1000 platfrom 2005-10-28 16:19:37 +01:00
mach-clps7500 [ARM] 2994/1: Replace map_desc.physical with map_desc.pfn: CLPS7500 2005-10-28 15:19:05 +01:00
mach-ebsa110 [ARM] 2997/1: Replace map_desc.physical with map_desc.pfn: EBSA110 2005-10-28 15:19:08 +01:00
mach-epxa10db [ARM] 2996/1: Replace map_desc.physical with map_desc.pfn: EPXA10DB 2005-10-28 15:19:07 +01:00
mach-footbridge [ARM] 2998/1: Replace map_desc.physical with map_desc.pfn: Footbridge 2005-10-28 15:19:08 +01:00
mach-h720x [ARM] 2999/1: Replace map_desc.physical with map_desc.pfn: H720x 2005-10-28 15:19:09 +01:00
mach-imx [ARM] 3000/1: Replace map_desc.physical with map_desc.pfn: iMX 2005-10-28 15:19:10 +01:00
mach-integrator [ARM] 3001/1: Replace map_desc.physical with map_desc.pfn: Integrator 2005-10-28 15:19:10 +01:00
mach-iop3xx [ARM] 2983/1: Replace map_desc.physical with map_desc.pfn: IOP3xx 2005-10-28 15:18:57 +01:00
mach-ixp4xx [ARM] 2985/1: Replace map_desc.physical with map_desc.pfn: IXP4xx 2005-10-28 15:18:59 +01:00
mach-ixp2000 [ARM] 2984/1: Replace map_desc.physical with map_desc.pfn: IXP2000 2005-10-28 15:18:58 +01:00
mach-l7200 [ARM] 2980/1: Fix L7200 core.c compile 2005-10-14 12:49:15 +01:00
mach-lh7a40x [ARM] 2986/1: Replace map_desc.physical with map_desc.pfn: LH7A40x 2005-10-28 15:18:59 +01:00
mach-omap1 [ARM] 2987/1: Replace map_desc.physical with map_desc.pfn: OMAP 2005-10-28 15:19:00 +01:00
mach-pxa Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
mach-rpc [ARM] 2989/1: Replace map_desc.physical with map_desc.pfn: RiscPC 2005-10-28 15:19:02 +01:00
mach-s3c2410 [ARM] 3047/1: SMDK2440 - add framebuffer platform data 2005-10-28 15:31:47 +01:00
mach-sa1100 [ARM] Add support for SA1100 Jornada flash device support 2005-10-29 16:09:59 +01:00
mach-shark [ARM] 2991/1: Replace map_desc.physical with map_desc.pfn: Shark 2005-10-28 15:19:03 +01:00
mach-versatile [ARM] 2995/1: Replace map_desc.physical with map_desc.pfn: Versatile 2005-10-28 15:19:06 +01:00
mm [PATCH] mm: arches skip ptlock 2005-10-29 21:40:40 -07:00
nwfpe [ARM] 2978/1: nwfpe - clean up sparse errors 2005-10-12 19:58:10 +01:00
oprofile [PATCH] mm: kill check_user_page_readable 2005-10-29 21:40:41 -07:00
plat-omap [ARM] 2987/1: Replace map_desc.physical with map_desc.pfn: OMAP 2005-10-28 15:19:00 +01:00
tools [ARM] Update mach-types 2005-10-10 09:48:10 +01:00
vfp kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
Kconfig [ARM] 3041/1: AAEC-2000 - CLCD controller platform glue 2005-10-28 16:51:44 +01:00
Kconfig.debug [ARM] Fix typo in arch/arm/Kconfig.debug 2005-09-09 15:57:17 +01:00
Makefile [ARM] 3061/1: cleanup the XIP link address mess 2005-10-29 21:44:56 +01:00