Re: boot panic regression introduced in 3.5-rc7

From: John Stultz
Date: Mon Jul 30 2012 - 17:01:21 EST


On 07/29/2012 08:51 PM, CAI Qian wrote:
The bisecting pointed out this patch caused one of dell servers boot panic.

5baefd6d84163443215f4a99f6a20f054ef11236
hrtimer: Update hrtimer base offsets each hrtimer_interrupt

[ 2.971092] WARNING: at kernel/time/clockevents.c:209 clockevents_program_event+0x10a/0x120()
[ 2.971092] Hardware name: PowerEdge M605
[ 2.971092] Modules linked in:
Looking at the dmesg:

[ 0.000000] Extended CMOS year: 8200


I'm working with Prarit to try to debug the issue on the affected machine. He noticed part of the problem is that the offs_real was set to 0x7FFFFFFFFFFFFFFF, which is the same as KTIME_MAX.

I suspect from the dmesg above we're getting bad data from the CMOS clock, and that's then causing an overflow converting to a ktime_t (64bits of nanoseconds can only hold ~584 years).

I've still not quite narrowed down why this hasn't bit you earlier, since the same wall_to_monotonic -> ktime conversion was done in retrigger_next_event before the change. Maybe something called settimeofday(), fixing crazy time value before you switched to highres mode?

Once I sort out this last question, I'll try to see where we can add some sanity checking for this sort of thing.

thanks
-john

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/