mm/mseal.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
Use the type-checked min()/max() macros instead of MIN()/MAX(), which
are supposed to be used "for obvious constants only".
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
mm/mseal.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/mm/mseal.c b/mm/mseal.c
index e2093ae3d25c..9781647483d1 100644
--- a/mm/mseal.c
+++ b/mm/mseal.c
@@ -8,6 +8,7 @@
*/
#include <linux/mempolicy.h>
+#include <linux/minmax.h>
#include <linux/mman.h>
#include <linux/mm.h>
#include <linux/mm_inline.h>
@@ -65,8 +66,8 @@ static int mseal_apply(struct mm_struct *mm,
prev = vma;
for_each_vma_range(vmi, vma, end) {
- const unsigned long curr_start = MAX(vma->vm_start, start);
- const unsigned long curr_end = MIN(vma->vm_end, end);
+ const unsigned long curr_start = max(vma->vm_start, start);
+ const unsigned long curr_end = min(vma->vm_end, end);
if (!vma_test(vma, VMA_SEALED_BIT)) {
vma_flags_t vma_flags = vma->flags;
On Sun, 3 May 2026 13:59:16 +0200 Thorsten Blum <thorsten.blum@linux.dev> wrote: > Use the type-checked min()/max() macros instead of MIN()/MAX(), which > are supposed to be used "for obvious constants only". > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Reviewed-by: SeongJae Park <sj@kernel.org> Thanks, SJ [...]
On 5/3/26 13:59, Thorsten Blum wrote: > Use the type-checked min()/max() macros instead of MIN()/MAX(), which > are supposed to be used "for obvious constants only". > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> > --- Acked-by: David Hildenbrand (Arm) <david@kernel.org> -- Cheers, David
On Sun, May 03, 2026 at 01:59:16PM +0200, Thorsten Blum wrote:
> Use the type-checked min()/max() macros instead of MIN()/MAX(), which
> are supposed to be used "for obvious constants only".
>
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Oops my bad :)
LGTM, so:
Reviewed-by: Lorenzo Stoakes <ljs@kernel.org>
> ---
> mm/mseal.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/mm/mseal.c b/mm/mseal.c
> index e2093ae3d25c..9781647483d1 100644
> --- a/mm/mseal.c
> +++ b/mm/mseal.c
> @@ -8,6 +8,7 @@
> */
>
> #include <linux/mempolicy.h>
> +#include <linux/minmax.h>
> #include <linux/mman.h>
> #include <linux/mm.h>
> #include <linux/mm_inline.h>
> @@ -65,8 +66,8 @@ static int mseal_apply(struct mm_struct *mm,
> prev = vma;
>
> for_each_vma_range(vmi, vma, end) {
> - const unsigned long curr_start = MAX(vma->vm_start, start);
> - const unsigned long curr_end = MIN(vma->vm_end, end);
> + const unsigned long curr_start = max(vma->vm_start, start);
> + const unsigned long curr_end = min(vma->vm_end, end);
>
> if (!vma_test(vma, VMA_SEALED_BIT)) {
> vma_flags_t vma_flags = vma->flags;
On Sun, May 03, 2026 at 01:59:16PM +0200, Thorsten Blum wrote: > Use the type-checked min()/max() macros instead of MIN()/MAX(), which > are supposed to be used "for obvious constants only". Gotta love these macros... FYI this isn't the only wrong usage in the kernel. > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Reviewed-by: Pedro Falcato <pfalcato@suse.de> -- Pedro
On Sun, 3 May 2026 21:58:57 +0100 Pedro Falcato <pfalcato@suse.de> wrote: > On Sun, May 03, 2026 at 01:59:16PM +0200, Thorsten Blum wrote: > > Use the type-checked min()/max() macros instead of MIN()/MAX(), which > > are supposed to be used "for obvious constants only". > > Gotta love these macros... FYI this isn't the only wrong usage in the kernel. I failed to persuade Linus to include a test for __builtin_constant_p((a)|(b)) :-) -- David > > > > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> > > Reviewed-by: Pedro Falcato <pfalcato@suse.de> >
© 2016 - 2026 Red Hat, Inc.