From: Arnd Bergmann Date: Mon, 16 Mar 2026 14:42:51 +0000 (+0100) Subject: jfs: avoid -Wtautological-constant-out-of-range-compare warning again X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dad98c5b2a05ef744af4c884c97066a3c8cdad61;p=thirdparty%2Fkernel%2Flinux.git jfs: avoid -Wtautological-constant-out-of-range-compare warning again The comparison of an __s8 value against DTPAGEMAXSLOT is still trivially true, causing a harmless (default disabled) warning with clang: fs/jfs/jfs_dtree.c:4419:25: error: result of comparison of constant 128 with expression of type 's8' (aka 'signed char') is always false [-Werror,-Wtautological-constant-out-of-range-compare] 4419 | p->header.freelist >= DTPAGEMAXSLOT)) { | ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ I previously worked around two of these in commit 7833570dae83 ("jfs: avoid -Wtautological-constant-out-of-range-compare warning"), but now a new one has come up, so address the same way by dropping the redundant range check. Fixes: 119e448bb50a ("jfs: add dtpage integrity check to prevent index/pointer overflows") Signed-off-by: Arnd Bergmann Signed-off-by: Dave Kleikamp --- diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c index 7669e268fe35a..ac0f79fafaca0 100644 --- a/fs/jfs/jfs_dtree.c +++ b/fs/jfs/jfs_dtree.c @@ -4412,11 +4412,8 @@ bool check_dtpage(dtpage_t *p) } } else { int fsi; - /* When there are free slots, freelist must be a valid slot index in - * 1~DTROOTMAXSLOT-1(since slot[0] is occupied by the header). - */ - if (unlikely(p->header.freelist < 1 || - p->header.freelist >= DTPAGEMAXSLOT)) { + + if (unlikely(p->header.freelist < 1)) { jfs_err("Bad freelist:%d in dtpage\n", p->header.freelist); return false; }