[PATCH v2] mm: mm_init: use div64_ul() instead of do_div()

From: Giorgi Tchankvetadze via B4 Relay

Date: Tue Jun 02 2026 - 07:46:44 EST


From: Giorgi Tchankvetadze <giorgitchankvetadze1997@xxxxxxxxx>

Fixes Coccinelle/coccicheck warning reported by do_div.cocci.

Compared to do_div(), div64_ul() does not implicitly cast the divisor and
does not unnecessarily calculate the remainder.

There are no functional changes. The benefit is purely a semantic cleanup
that better communicates the intent of the division and resolves the
static analysis warning.

Signed-off-by: Giorgi Tchankvetadze <giorgitchankvetadze1997@xxxxxxxxx>
---
v2:
- Add changelog text explaining that the change is a semantic cleanup
with no functional impact, as requested by Mike Rapoport.
---
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 f9f8e1af921cda91d812cffdad2f1a0698cfd6ac..4e0909a721d227b097653ed6aaa019960a7c3383 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -2412,7 +2412,7 @@ void *__init alloc_large_system_hash(const char *tablename,
/* limit allocation size to 1/16 total memory by default */
if (max == 0) {
max = ((unsigned long long)nr_all_pages << PAGE_SHIFT) >> 4;
- do_div(max, bucketsize);
+ max = div64_ul(max, bucketsize);
}
max = min(max, 0x80000000ULL);


---
base-commit: 6f3ed7fec72fc8979b2a8c7219c0a9fcfc8d07b5
change-id: 20260602-mm-div64-cleanup-50ad2020f2da

Best regards,
--
Giorgi Tchankvetadze <giorgitchankvetadze1997@xxxxxxxxx>