Re: [PATCH 30/30] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
From: Geert Uytterhoeven
Date: Mon Feb 14 2022 - 05:07:49 EST
Hi Anshuman,
On Mon, Feb 14, 2022 at 7:54 AM Anshuman Khandual
<anshuman.khandual@xxxxxxx> wrote:
> All platforms now define their own vm_get_page_prot() and also there is no
> generic version left to fallback on. Hence drop ARCH_HAS_GET_PAGE_PROT.
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: linux-mm@xxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
Thanks for your patch!
> - select ARCH_HAS_VM_GET_PAGE_PROT
So before, all architectures selected ARCH_HAS_VM_GET_PAGE_PROT...
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,7 +81,6 @@ static void unmap_region(struct mm_struct *mm,
> struct vm_area_struct *vma, struct vm_area_struct *prev,
> unsigned long start, unsigned long end);
>
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
... hence the block below was not included.
> /* description of effects of mapping type and prot in current implementation.
> * this is due to the limited x86 page protection hardware. The expected
> * behavior is in parens:
> @@ -102,8 +101,6 @@ static void unmap_region(struct mm_struct *mm,
> * w: (no) no
> * x: (yes) yes
> */
> -#endif /* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
So shouldn't the whole block be removed instead?
Do I need more coffee??
> static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
> {
> return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds