Drop the wholly unnecessary set_vma_sealed() and vma_is_sealed() helpers
which are used only once, and place VMA_ITERATOR() declarations in the
correct place.
No functional change intended.
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
---
mm/mseal.c | 9 +--------
mm/vma.h | 16 ++--------------
2 files changed, 3 insertions(+), 22 deletions(-)
diff --git a/mm/mseal.c b/mm/mseal.c
index 1308e88ab184..adbcc65e9660 100644
--- a/mm/mseal.c
+++ b/mm/mseal.c
@@ -15,11 +15,6 @@
#include <linux/sched.h>
#include "internal.h"
-static inline void set_vma_sealed(struct vm_area_struct *vma)
-{
- vm_flags_set(vma, VM_SEALED);
-}
-
static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma,
struct vm_area_struct **prev, unsigned long start,
unsigned long end, vm_flags_t newflags)
@@ -36,7 +31,7 @@ static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma,
goto out;
}
- set_vma_sealed(vma);
+ vm_flags_set(vma, VM_SEALED);
out:
*prev = vma;
return ret;
@@ -53,7 +48,6 @@ static int check_mm_seal(unsigned long start, unsigned long end)
{
struct vm_area_struct *vma;
unsigned long nstart = start;
-
VMA_ITERATOR(vmi, current->mm, start);
/* going through each vma to check. */
@@ -78,7 +72,6 @@ static int apply_mm_seal(unsigned long start, unsigned long end)
{
unsigned long nstart;
struct vm_area_struct *vma, *prev;
-
VMA_ITERATOR(vmi, current->mm, start);
vma = vma_iter_load(&vmi);
diff --git a/mm/vma.h b/mm/vma.h
index 6515045ba342..d17f560cf53d 100644
--- a/mm/vma.h
+++ b/mm/vma.h
@@ -560,31 +560,19 @@ struct vm_area_struct *vma_iter_next_rewind(struct vma_iterator *vmi,
}
#ifdef CONFIG_64BIT
-
-static inline bool vma_is_sealed(struct vm_area_struct *vma)
-{
- return (vma->vm_flags & VM_SEALED);
-}
-
-/*
- * check if a vma is sealed for modification.
- * return true, if modification is allowed.
- */
+/* Check if a vma is sealed for modification. */
static inline bool can_modify_vma(struct vm_area_struct *vma)
{
- if (unlikely(vma_is_sealed(vma)))
+ if (unlikely(vma->vm_flags & VM_SEALED))
return false;
return true;
}
-
#else
-
static inline bool can_modify_vma(struct vm_area_struct *vma)
{
return true;
}
-
#endif
#if defined(CONFIG_STACK_GROWSUP)
--
2.50.1
* Lorenzo Stoakes <lorenzo.stoakes@oracle.com> [250714 09:08]: > Drop the wholly unnecessary set_vma_sealed() and vma_is_sealed() helpers > which are used only once, and place VMA_ITERATOR() declarations in the > correct place. > > No functional change intended. > > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com> > --- > mm/mseal.c | 9 +-------- > mm/vma.h | 16 ++-------------- > 2 files changed, 3 insertions(+), 22 deletions(-) > > diff --git a/mm/mseal.c b/mm/mseal.c > index 1308e88ab184..adbcc65e9660 100644 > --- a/mm/mseal.c > +++ b/mm/mseal.c > @@ -15,11 +15,6 @@ > #include <linux/sched.h> > #include "internal.h" > > -static inline void set_vma_sealed(struct vm_area_struct *vma) > -{ > - vm_flags_set(vma, VM_SEALED); > -} > - > static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > struct vm_area_struct **prev, unsigned long start, > unsigned long end, vm_flags_t newflags) > @@ -36,7 +31,7 @@ static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > goto out; > } > > - set_vma_sealed(vma); > + vm_flags_set(vma, VM_SEALED); > out: > *prev = vma; > return ret; > @@ -53,7 +48,6 @@ static int check_mm_seal(unsigned long start, unsigned long end) > { > struct vm_area_struct *vma; > unsigned long nstart = start; > - > VMA_ITERATOR(vmi, current->mm, start); > > /* going through each vma to check. */ > @@ -78,7 +72,6 @@ static int apply_mm_seal(unsigned long start, unsigned long end) > { > unsigned long nstart; > struct vm_area_struct *vma, *prev; > - > VMA_ITERATOR(vmi, current->mm, start); > > vma = vma_iter_load(&vmi); > diff --git a/mm/vma.h b/mm/vma.h > index 6515045ba342..d17f560cf53d 100644 > --- a/mm/vma.h > +++ b/mm/vma.h > @@ -560,31 +560,19 @@ struct vm_area_struct *vma_iter_next_rewind(struct vma_iterator *vmi, > } > > #ifdef CONFIG_64BIT > - > -static inline bool vma_is_sealed(struct vm_area_struct *vma) > -{ > - return (vma->vm_flags & VM_SEALED); > -} > - > -/* > - * check if a vma is sealed for modification. > - * return true, if modification is allowed. > - */ > +/* Check if a vma is sealed for modification. */ > static inline bool can_modify_vma(struct vm_area_struct *vma) > { > - if (unlikely(vma_is_sealed(vma))) > + if (unlikely(vma->vm_flags & VM_SEALED)) > return false; > > return true; > } > - > #else > - > static inline bool can_modify_vma(struct vm_area_struct *vma) > { > return true; > } > - > #endif > > #if defined(CONFIG_STACK_GROWSUP) > -- > 2.50.1
On Mon, Jul 14, 2025 at 02:00:38PM +0100, Lorenzo Stoakes wrote: > Drop the wholly unnecessary set_vma_sealed() and vma_is_sealed() helpers > which are used only once, and place VMA_ITERATOR() declarations in the > correct place. > > No functional change intended. > > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> > --- > mm/mseal.c | 9 +-------- > mm/vma.h | 16 ++-------------- > 2 files changed, 3 insertions(+), 22 deletions(-) > > diff --git a/mm/mseal.c b/mm/mseal.c > index 1308e88ab184..adbcc65e9660 100644 > --- a/mm/mseal.c > +++ b/mm/mseal.c > @@ -15,11 +15,6 @@ > #include <linux/sched.h> > #include "internal.h" > > -static inline void set_vma_sealed(struct vm_area_struct *vma) > -{ > - vm_flags_set(vma, VM_SEALED); > -} > - > static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > struct vm_area_struct **prev, unsigned long start, > unsigned long end, vm_flags_t newflags) > @@ -36,7 +31,7 @@ static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > goto out; > } > > - set_vma_sealed(vma); > + vm_flags_set(vma, VM_SEALED); > out: > *prev = vma; > return ret; > @@ -53,7 +48,6 @@ static int check_mm_seal(unsigned long start, unsigned long end) > { > struct vm_area_struct *vma; > unsigned long nstart = start; > - > VMA_ITERATOR(vmi, current->mm, start); > > /* going through each vma to check. */ > @@ -78,7 +72,6 @@ static int apply_mm_seal(unsigned long start, unsigned long end) > { > unsigned long nstart; > struct vm_area_struct *vma, *prev; > - > VMA_ITERATOR(vmi, current->mm, start); > > vma = vma_iter_load(&vmi); > diff --git a/mm/vma.h b/mm/vma.h > index 6515045ba342..d17f560cf53d 100644 > --- a/mm/vma.h > +++ b/mm/vma.h > @@ -560,31 +560,19 @@ struct vm_area_struct *vma_iter_next_rewind(struct vma_iterator *vmi, > } > > #ifdef CONFIG_64BIT > - > -static inline bool vma_is_sealed(struct vm_area_struct *vma) > -{ > - return (vma->vm_flags & VM_SEALED); > -} I actually don't hate this helper... > - > -/* > - * check if a vma is sealed for modification. > - * return true, if modification is allowed. > - */ > +/* Check if a vma is sealed for modification. */ > static inline bool can_modify_vma(struct vm_area_struct *vma) As you're in the area, vma_can_modify() maybe? In any case, LGTM. Reviewed-by: Pedro Falcato <pfalcato@suse.de> -- Pedro
On 14.07.25 15:00, Lorenzo Stoakes wrote: > Drop the wholly unnecessary set_vma_sealed() and vma_is_sealed() helpers > which are used only once, and place VMA_ITERATOR() declarations in the > correct place. > > No functional change intended. > > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> > --- Acked-by: David Hildenbrand <david@redhat.com> -- Cheers, David / dhildenb
© 2016 - 2025 Red Hat, Inc.