Messages in this thread Patch in this message | | | Date | Mon, 24 Jun 2013 15:57:28 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: BUG: tick device NULL pointer during system initialization and shutdown |
| |
On Tue, 18 Jun 2013, Prarit Bhargava wrote:
> Similar panics reported during bringup here: > > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-May/166205.html > http://lkml.org/lkml/2013/5/8/342 > > I've seen this a few times on 3.10 based kernels. > > [ 175.842027] Disabling non-boot CPUs ... > [ 475.827017] BUG: unable to handle kernel NULL pointer dereference at > 0000000000000048
That looks like a stale bit in tick_broadcast_force_mask.
Does the patch below fix it?
Thanks,
tglx ---
diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c index 20d6fba..e01ca90 100644 --- a/kernel/time/tick-broadcast.c +++ b/kernel/time/tick-broadcast.c @@ -183,6 +183,8 @@ static void tick_do_broadcast(struct cpumask *mask) int cpu = smp_processor_id(); struct tick_device *td; + cpumask_and(mask, mask, cpu_online_mask); + /* * Check, if the current cpu is in the mask */ @@ -212,7 +214,6 @@ static void tick_do_periodic_broadcast(void) { raw_spin_lock(&tick_broadcast_lock); - cpumask_and(tmpmask, cpu_online_mask, tick_broadcast_mask); tick_do_broadcast(tmpmask); raw_spin_unlock(&tick_broadcast_lock);
| |