From eb277bec9eccaaeccc5c468cedb5a8a8f4433230 Mon Sep 17 00:00:00 2001 From: Vincent Donnefort Date: Thu, 23 Jan 2025 15:10:04 +0000 Subject: [PATCH] ANDROID: KVM: arm64: Fix div type in hyp_trace clock do_div is only for 32-bits integers. Use the div64_u64() variant instead. Bug: 357781595 Bug: 273748186 Change-Id: I7718373f0eb1373e90c1dd7b685ba3be89f93cc1 Signed-off-by: Vincent Donnefort --- arch/arm64/kvm/hyp_trace.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/arch/arm64/kvm/hyp_trace.c b/arch/arm64/kvm/hyp_trace.c index 136eaad7eb52..327f525ab9e0 100644 --- a/arch/arm64/kvm/hyp_trace.c +++ b/arch/arm64/kvm/hyp_trace.c @@ -122,15 +122,7 @@ static void __hyp_clock_work(struct work_struct *work) err / NSEC_PER_USEC); } - if (delta_boot > U32_MAX) { - do_div(delta_boot, NSEC_PER_SEC); - rate = delta_cycles; - } else { - rate = delta_cycles * NSEC_PER_SEC; - } - - do_div(rate, delta_boot); - + rate = div64_u64(delta_cycles * NSEC_PER_SEC, delta_boot); clocks_calc_mult_shift(&hyp_clock->mult, &hyp_clock->shift, rate, NSEC_PER_SEC, CLOCK_MAX_CONVERSION_S);