From f3787e99034ed633a5ff85c19447d311941d48b6 Mon Sep 17 00:00:00 2001 From: Justinien Bouron Date: Sun, 10 Mar 2019 04:48:09 -0700 Subject: [PATCH] Fix division by 0 in get_cpu_ticks. --- minix/kernel/arch/i386/arch_clock.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/minix/kernel/arch/i386/arch_clock.c b/minix/kernel/arch/i386/arch_clock.c index 8573e42f7..54959324c 100644 --- a/minix/kernel/arch/i386/arch_clock.c +++ b/minix/kernel/arch/i386/arch_clock.c @@ -434,7 +434,11 @@ get_cpu_ticks(unsigned int cpu, uint64_t ticks[CPUSTATES]) { int i; - /* TODO: make this inter-CPU safe! */ - for (i = 0; i < CPUSTATES; i++) - ticks[i] = tsc_per_state[cpu][i] / tsc_per_tick[cpu]; + for (i = 0; i < CPUSTATES; i++) { + /* Avoid divide by 0. */ + if (tsc_per_tick[cpu]) + ticks[i] = tsc_per_state[cpu][i] / tsc_per_tick[cpu]; + else + ticks[i] = 0; + } }