The patch titled Subject: minmax.h: use BUILD_BUG_ON_MSG() for the lo < hi test in clamp() has been added to the -mm mm-nonmm-unstable branch. Its filename is minmaxh-use-build_bug_on_msg-for-the-lo-hi-test-in-clamp.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/minmaxh-use-build_bug_on_msg-for-the-lo-hi-test-in-clamp.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: David Laight <David.Laight@xxxxxxxxxx> Subject: minmax.h: use BUILD_BUG_ON_MSG() for the lo < hi test in clamp() Date: Mon, 18 Nov 2024 19:13:31 +0000 Use BUILD_BUG_ON_MSG(statically_true(ulo > uhi), ...) for the sanity check of the bounds in clamp(). Gives better error coverage and one less expansion of the arguments. Link: https://lkml.kernel.org/r/34d53778977747f19cce2abb287bb3e6@xxxxxxxxxxxxxxxx Signed-off-by: David Laight <david.laight@xxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Jason A. Donenfeld <Jason@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> Cc: Mateusz Guzik <mjguzik@xxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Cc: Pedro Falcato <pedro.falcato@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/minmax.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/include/linux/minmax.h~minmaxh-use-build_bug_on_msg-for-the-lo-hi-test-in-clamp +++ a/include/linux/minmax.h @@ -106,8 +106,7 @@ __auto_type uval = (val); \ __auto_type ulo = (lo); \ __auto_type uhi = (hi); \ - static_assert(__builtin_choose_expr(__is_constexpr((lo) > (hi)), \ - (lo) <= (hi), true), \ + BUILD_BUG_ON_MSG(statically_true(ulo > uhi), \ "clamp() low limit " #lo " greater than high limit " #hi); \ BUILD_BUG_ON_MSG(!__types_ok3(uval, ulo, uhi), \ "clamp("#val", "#lo", "#hi") signedness error"); \ _ Patches currently in -mm which might be from David.Laight@xxxxxxxxxx are minmaxh-add-whitespace-around-operators-and-after-commas.patch minmaxh-update-some-comments.patch minmaxh-reduce-the-define-expansion-of-min-max-and-clamp.patch minmaxh-use-build_bug_on_msg-for-the-lo-hi-test-in-clamp.patch minmaxh-move-all-the-clamp-definitions-after-the-min-max-ones.patch minmaxh-simplify-the-variants-of-clamp.patch minmaxh-remove-some-defines-that-are-only-expanded-once.patch