[ARM] 3030/2: fix permission check in the obscur cmpxchg syscall
authorNicolas Pitre <nico@cam.org>
Sat, 25 Mar 2006 22:44:05 +0000 (22:44 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 25 Mar 2006 22:44:05 +0000 (22:44 +0000)
commit2ce9804fbd9d4da75fb5bb53331b46b614a7d5c3
tree8b5770e7f6910d518227d68db34f1f322f4d69c7
parent0003cedfc577be9d679c16531f8720739e9637ed
[ARM] 3030/2: fix permission check in the obscur cmpxchg syscall

Patch from Nicolas Pitre

Quoting RMK:

|pte_write() just says that the page _may_ be writable. It doesn't say
|that the MMU is programmed to allow writes. If pte_dirty() doesn't
|return true, that means that the page is _not_ writable from userspace.
|If you write to it from kernel mode (without using put_user) you'll
|bypass the MMU read-only protection and may end up writing to a page
|owned by two separate processes.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/traps.c