Re: [PATCH V5 6/7] mm/mmap: Drop arch_filter_pgprot()

From: Anshuman Khandual
Date: Tue Apr 12 2022 - 23:52:31 EST




On 4/12/22 17:59, Christophe Leroy wrote:
>
>
> Le 12/04/2022 à 06:38, Anshuman Khandual a écrit :
>> There are no platforms left which subscribe ARCH_HAS_FILTER_PGPROT. Hence
>> drop generic arch_filter_pgprot() and also config ARCH_HAS_FILTER_PGPROT.
>>
>> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>> Cc: linux-mm@xxxxxxxxx
>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
>> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
>> ---
>> mm/Kconfig | 3 ---
>> mm/mmap.c | 9 +--------
>> 2 files changed, 1 insertion(+), 11 deletions(-)
>>
>> diff --git a/mm/Kconfig b/mm/Kconfig
>> index b1f7624276f8..3f7b6d7b69df 100644
>> --- a/mm/Kconfig
>> +++ b/mm/Kconfig
>> @@ -762,9 +762,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>> register alias named "current_stack_pointer", this config can be
>> selected.
>>
>> -config ARCH_HAS_FILTER_PGPROT
>> - bool
>> -
>> config ARCH_HAS_VM_GET_PAGE_PROT
>> bool
>>
>> diff --git a/mm/mmap.c b/mm/mmap.c
>> index 87cb2eaf7e1a..edf2a5e38f4d 100644
>> --- a/mm/mmap.c
>> +++ b/mm/mmap.c
>> @@ -107,20 +107,13 @@ pgprot_t protection_map[16] __ro_after_init = {
>> };
>>
>> #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
>> -#ifndef CONFIG_ARCH_HAS_FILTER_PGPROT
>> -static inline pgprot_t arch_filter_pgprot(pgprot_t prot)
>> -{
>> - return prot;
>> -}
>> -#endif
>> -
>> pgprot_t vm_get_page_prot(unsigned long vm_flags)
>> {
>> pgprot_t ret = __pgprot(pgprot_val(protection_map[vm_flags &
>> (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]) |
>> pgprot_val(arch_vm_get_page_prot(vm_flags)));
>>
>> - return arch_filter_pgprot(ret);
>> + return ret;
>
> You can drop 'ret' and directly do:
>
> return __pgprot(pgprot_val(protection_map[vm_flags &
> (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]) |
> pgprot_val(arch_vm_get_page_prot(vm_flags)));

Sure, will do.

>
>
>> }
>> EXPORT_SYMBOL(vm_get_page_prot);
>> #endif /* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */