Re: [PATCH 3/3] mm: update architecture and driver code to use vm_flags_t

Jarkko Sakkinen
2025-06-24T20:45:00Z

On Wed, Jun 18, 2025 at 08:42:54PM +0100, Lorenzo Stoakes wrote:
> --- a/arch/x86/kernel/cpu/sgx/encl.c
> +++ b/arch/x86/kernel/cpu/sgx/encl.c
> @@ -279,7 +279,7 @@ static struct sgx_encl_page *__sgx_encl_load_page(struct sgx_encl *encl,
>
> static struct sgx_encl_page *sgx_encl_load_page_in_vma(struct sgx_encl *encl,
> unsigned long addr,
> - unsigned long vm_flags)
> + vm_flags_t vm_flags)
> {
> unsigned long vm_prot_bits = vm_flags & VM_ACCESS_FLAGS;
> struct sgx_encl_page *entry;
> @@ -520,9 +520,9 @@ static void sgx_vma_open(struct vm_area_struct *vma)
> * Return: 0 on success, -EACCES otherwise
> */
> int sgx_encl_may_map(struct sgx_encl *encl, unsigned long start,
> - unsigned long end, unsigned long vm_flags)
> + unsigned long end, vm_flags_t vm_flags)
> {
> - unsigned long vm_prot_bits = vm_flags & VM_ACCESS_FLAGS;
> + vm_flags_t vm_prot_bits = vm_flags & VM_ACCESS_FLAGS;
> struct sgx_encl_page *page;
> unsigned long count = 0;
> int ret = 0;
> @@ -605,7 +605,7 @@ static int sgx_encl_debug_write(struct sgx_encl *encl, struct sgx_encl_page *pag
> */
> static struct sgx_encl_page *sgx_encl_reserve_page(struct sgx_encl *encl,
> unsigned long addr,
> - unsigned long vm_flags)
> + vm_flags_t vm_flags)
> {
> struct sgx_encl_page *entry;
>
> diff --git a/arch/x86/kernel/cpu/sgx/encl.h b/arch/x86/kernel/cpu/sgx/encl.h
> index f94ff14c9486..8ff47f6652b9 100644
> --- a/arch/x86/kernel/cpu/sgx/encl.h
> +++ b/arch/x86/kernel/cpu/sgx/encl.h
> @@ -101,7 +101,7 @@ static inline int sgx_encl_find(struct mm_struct *mm, unsigned long addr,
> }
>
> int sgx_encl_may_map(struct sgx_encl *encl, unsigned long start,
> - unsigned long end, unsigned long vm_flags);
> + unsigned long end, vm_flags_t vm_flags);
>
> bool current_is_ksgxd(void);
> void sgx_encl_release(struct kref *ref);

Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

BR, Jarkko