From: Longlong Xia alloc_large_system_hash() allows up to 2^31 buckets, so log2qty can reach 31. At that limit, the current expression relies on signed integer wrapping to produce the unsigned hash mask. Use an unsigned literal so the mask is computed with unsigned arithmetic. Supported compiler settings already produce the same result, so this is a source-level cleanup with no functional change. Assisted-by: Codex:gpt-5.6-sol Signed-off-by: Longlong Xia --- mm/mm_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index 498d62c4ece3..1883fe923ffb 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -2469,7 +2469,7 @@ void *__init alloc_large_system_hash(const char *tablename, if (_hash_shift) *_hash_shift = log2qty; if (_hash_mask) - *_hash_mask = (1 << log2qty) - 1; + *_hash_mask = (1U << log2qty) - 1; return table; } -- 2.43.0