Re: [RFC PATCH v5 2/4] mseal: add mseal syscall
From: Matthew Wilcox
Date: Tue Jan 09 2024 - 15:37:05 EST
On Tue, Jan 09, 2024 at 03:45:40PM +0000, jeffxu@xxxxxxxxxxxx wrote:
> +extern bool can_modify_mm(struct mm_struct *mm, unsigned long start,
> + unsigned long end);
> +extern bool can_modify_mm_madv(struct mm_struct *mm, unsigned long start,
> + unsigned long end, int behavior);
unnecessary use of extern.
> +static inline unsigned long get_mmap_seals(unsigned long prot,
> + unsigned long flags)
needs more than one tab indent so it doesn't look like part of the body.
> +{
> + unsigned long vm_seals;
> +
> + if (prot & PROT_SEAL)
> + vm_seals = VM_SEALED | VM_SEALABLE;
> + else
> + vm_seals = (flags & MAP_SEALABLE) ? VM_SEALABLE:0;
need spaces around the :
> +++ b/include/uapi/asm-generic/mman-common.h
> @@ -17,6 +17,11 @@
> #define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
> #define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */
>
> +/*
> + * The PROT_SEAL defines memory sealing in the prot argument of mmap().
> + */
> +#define PROT_SEAL _BITUL(26) /* 0x04000000 */
why not follow the existing style?
> +static inline void set_vma_sealed(struct vm_area_struct *vma)
> +{
> + vma->__vm_flags |= VM_SEALED;
> +}
uhh ... vm_flags_set() ?