Re: converting unicore32 to gate_vma as done for arm (was Re:??[PATCH] mm: cache largest vma)

From: Al Viro
Date: Mon Nov 11 2013 - 02:25:48 EST


On Tue, Nov 05, 2013 at 10:49:15AM +0800, ????????? wrote:
> The patch is ok for unicore32. Thanks Al.
>
> While testing this patch, a bug is found in arch/unicore32/include/asm/pgtable.h:
>
> @@ -96,7 +96,7 @@ extern pgprot_t pgprot_kernel;
> | PTE_EXEC)
> #define PAGE_READONLY __pgprot(pgprot_val(pgprot_user | PTE_READ)
> #define PAGE_READONLY_EXEC __pgprot(pgprot_val(pgprot_user | PTE_READ \
> - | PTE_EXEC)
> + | PTE_EXEC))
>
> In fact, all similar macros are wrong. I'll post an bug-fix patch for this obvious error.

BTW, another missing thing is an analog of commit 9b61a4 (ARM: prevent
VM_GROWSDOWN mmaps extending below FIRST_USER_ADDRESS); I'm not sure why
does unicore32 have FIRST_USER_ADDRESS set to PAGE_SIZE (some no-MMU
arm variants really need that, what with the vectors page living at
address 0 on those), but since you have it set that way, you'd probably
better not allow a mapping to grow down there...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/