On Mon, Oct 16, 2023 at 02:38:20PM +0000, jef...@chromium.org wrote:
> +#ifdef CONFIG_MSEAL
> +     /*
> +      * bit masks for seal.
> +      * need this since vm_flags is full.
> +      */
> +     unsigned long vm_seals;         /* seal flags, see mm.h. */

"unsigned long" and yet:

> diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
> index c0cb22cd607d..f574c7dbee76 100644
> --- a/include/linux/syscalls.h
> +++ b/include/linux/syscalls.h
> @@ -802,6 +802,8 @@ asmlinkage long sys_process_mrelease(int pidfd, unsigned 
> int flags);
>  asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size,
>                       unsigned long prot, unsigned long pgoff,
>                       unsigned long flags);
> +asmlinkage long sys_mseal(unsigned long start, size_t len, unsigned int 
> types,
> +                       unsigned int flags);

"unsigned int"?

Why the mis-match?

> --- a/include/uapi/linux/mman.h
> +++ b/include/uapi/linux/mman.h
> @@ -55,4 +55,10 @@ struct cachestat {
>       __u64 nr_recently_evicted;
>  };
>  
> +#define MM_SEAL_MSEAL                0x1
> +#define MM_SEAL_MPROTECT     0x2
> +#define MM_SEAL_MUNMAP               0x4
> +#define MM_SEAL_MMAP         0x8
> +#define MM_SEAL_MREMAP               0x10

I think we can use the BIT() macro in uapi .h files now, it is _BITUL().
Might want to use it here too to make it obvious what is happening.

thanks,

greg k-h

Reply via email to