Commit dad98c5b authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Dave Kleikamp
Browse files

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 7833570d ("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: 119e448b ("jfs: add dtpage integrity check to prevent index/pointer overflows")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarDave Kleikamp <dave.kleikamp@oracle.com>
parent 679330e4
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -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;
		}