Subject: linux-next: build failure after merge of the ext4 tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Jul 2025 08:22:30 +1000

Hi all,

After merging the ext4 tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from <command-line>:
fs/ext4/inode.c: In function 'ext4_set_inode_mapping_order':
include/linux/compiler_types.h:568:45: error: call to '__compiletime_assert_652' declared with attribute error: min(({ __auto_type __UNIQUE_ID_x_647 = (((0 ? 4 : 6) * 2 - 1)); __auto_type __UNIQUE_ID_y_648 = (((16 + __pte_index_size)-16)); do { __attribute__((__noreturn__)) extern void __compiletime_assert_649(void) __attribute__((__error__("min""(""((0 ? 4 : 6) * 2 - 1)"", ""((16 + __pte_index_size)-16)"") signedness error"))); if (!(!(!(((((typeof(__UNIQUE_ID_x_647))(-1)) < ( typeof(__UNIQUE_ID_x_647))1) ? (2 + (__builtin_constant_p((long long)(__UNIQUE_ID_x_647) >= 0) && ((long long)(__UNIQUE_ID_x_647) >= 0))) : (1 + 2 * (sizeof(__UNIQUE_ID_x_647) < 4))) & ((((typeof(__UNIQUE_ID_y_648))(-1)) < ( typeof(__UNIQUE_ID_y_648))1) ? (2 + (__builtin_constant_p((long long)(__UNIQUE_ID_y_648) >= 0) && ((long long)(__UNIQUE_ID_y_648) >= 0))) : (1 + 2 * (sizeof(__UNIQUE_ID_y_648) < 4))))))) __compiletime_assert_649(); } while (0); ((__UNIQUE_ID_x_647) < (__UNIQUE_ID_y_648) ? (__UNIQUE_ID_x_647) : (__UNIQUE_ID_y_648)); }), (11 + (inode)->i_blkbits - 16)) signedness error
  568 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                             ^
include/linux/compiler_types.h:549:25: note: in definition of macro '__compiletime_assert'
  549 |                         prefix ## suffix();                             \
      |                         ^~~~~~
include/linux/compiler_types.h:568:9: note: in expansion of macro '_compiletime_assert'
  568 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |         ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/minmax.h:93:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   93 |         BUILD_BUG_ON_MSG(!__types_ok(ux, uy),           \
      |         ^~~~~~~~~~~~~~~~
include/linux/minmax.h:98:9: note: in expansion of macro '__careful_cmp_once'
   98 |         __careful_cmp_once(op, x, y, __UNIQUE_ID(x_), __UNIQUE_ID(y_))
      |         ^~~~~~~~~~~~~~~~~~
include/linux/minmax.h:105:25: note: in expansion of macro '__careful_cmp'
  105 | #define min(x, y)       __careful_cmp(min, x, y)
      |                         ^~~~~~~~~~~~~
fs/ext4/inode.c:5204:17: note: in expansion of macro 'min'
 5204 |                 min(MAX_PAGECACHE_ORDER, (11 + (i)->i_blkbits - PAGE_SHIFT))
      |                 ^~~
fs/ext4/inode.c:5211:39: note: in expansion of macro 'EXT4_MAX_PAGECACHE_ORDER'
 5211 |                                       EXT4_MAX_PAGECACHE_ORDER(inode));
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

  e14bef2a00b5 ("ext4: limit the maximum folio order")

I have used the ext4 tree from next-20250714 for today.

-- 
Cheers,
Stephen Rothwell