[PATCH] uml: pte_mkread fix
authorJeff Dike <jdike@addtoit.com>
Thu, 1 Mar 2007 04:13:33 +0000 (20:13 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 1 Mar 2007 22:53:38 +0000 (14:53 -0800)
Fix the fact that pte_mkread set _PAGE_RW instead of _PAGE_USER (the logic is
copied from i386 in most place, so it is really as bad as you're thinking).

Thus currently page tables are more permissive than they should.

Such a change may trigger other latent bugs, so be careful with this.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-um/pgtable.h

index e57ff136ee510e884ea4474a7e2f21bde36b2390..1b1090a91a58f2954bfe5455edcc561e253cc83f 100644 (file)
@@ -270,7 +270,7 @@ static inline pte_t pte_wrprotect(pte_t pte)
 
 static inline pte_t pte_mkread(pte_t pte)
 { 
-       pte_set_bits(pte, _PAGE_RW);
+       pte_set_bits(pte, _PAGE_USER);
        return(pte_mknewprot(pte)); 
 }