Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] mm/mm_init: compute hash mask with unsigned arithmetic
@ 2026-08-09 12:31 Longlong Xia
  2026-08-09 14:03 ` Mike Rapoport
  0 siblings, 1 reply; 5+ messages in thread
From: Longlong Xia @ 2026-08-09 12:31 UTC (permalink / raw)
  To: rppt; +Cc: akpm, linux-mm, linux-kernel, Longlong Xia

From: Longlong Xia <xialonglong@kylinos.cn>

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 <xialonglong@kylinos.cn>
---
 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



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-08-10  3:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-09 12:31 [PATCH 1/1] mm/mm_init: compute hash mask with unsigned arithmetic Longlong Xia
2026-08-09 14:03 ` Mike Rapoport
2026-08-09 14:25   ` Longlong Xia
2026-08-10  1:14     ` Andrew Morton
2026-08-10  3:21       ` Matthew Wilcox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox