diff mbox series

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

Message ID 20220412043848.80464-7-anshuman.khandual@arm.com
State New
Headers show
Series mm/mmap: Drop arch_vm_get_page_prot() and arch_filter_pgprot() | expand

Commit Message

Anshuman Khandual April 12, 2022, 4:38 a.m. UTC
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@linux-foundation.org>
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 mm/Kconfig | 3 ---
 mm/mmap.c  | 9 +--------
 2 files changed, 1 insertion(+), 11 deletions(-)

Comments

Christophe Leroy April 12, 2022, 12:29 p.m. UTC | #1
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@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> ---
>   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)));


>   }
>   EXPORT_SYMBOL(vm_get_page_prot);
>   #endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
Anshuman Khandual April 13, 2022, 3:52 a.m. UTC | #2
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@linux-foundation.org>
>> Cc: linux-mm@kvack.org
>> Cc: linux-kernel@vger.kernel.org
>> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
>> ---
>>   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 */
diff mbox series

Patch

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;
 }
 EXPORT_SYMBOL(vm_get_page_prot);
 #endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */