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 <[email protected]>
Signed-off-by: Jeff Dike <[email protected]>
--
include/asm-um/pgtable.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6.18-mm/include/asm-um/pgtable.h
===================================================================
--- linux-2.6.18-mm.orig/include/asm-um/pgtable.h 2006-10-03 12:53:16.000000000 -0400
+++ linux-2.6.18-mm/include/asm-um/pgtable.h 2006-10-09 12:25:44.000000000 -0400
@@ -270,7 +270,7 @@ static inline pte_t pte_wrprotect(pte_t
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));
}
--
Work email - jdike at linux dot intel dot com