[PATCH 1/3] x86/tsc: Use div64_ul instead of do_div()

From: Jules Irenge
Date: Sun Apr 28 2024 - 13:31:28 EST


do_div() truncates a u64 divisor to 32 bit.
This can lead to non-zero being truncated to zero for division.

Fix coccinelle warning
WARNING: do_div() does a 64-by-32 division, please consider using div64_ul instead

Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx>
---
arch/x86/kernel/tsc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 5a69a49acc96..2da37f33dd17 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -484,7 +484,7 @@ static unsigned long pit_calibrate_tsc(u32 latch, unsigned long ms, int loopmin)

/* Calculate the PIT value */
delta = t2 - t1;
- do_div(delta, ms);
+ div64_ul(delta, ms);
return delta;
}

--
2.43.2