summaryrefslogtreecommitdiffstats
path: root/kernel/timer.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-12-10 15:35:10 +0100
committerThomas Gleixner <tglx@linutronix.de>2009-12-11 10:28:08 +0100
commitbb6eddf7676e1c1f3e637aa93c5224488d99036f (patch)
tree3256cb7ea6954f28b0bb3ccee2db570e3d0ff762 /kernel/timer.c
parente9c0748b687aa70179a9e6d8ffc24b2874fe350b (diff)
clockevents: Prevent clockevent_devices list corruption on cpu hotplug
Xiaotian Feng triggered a list corruption in the clock events list on CPU hotplug and debugged the root cause. If a CPU registers more than one per cpu clock event device, then only the active clock event device is removed on CPU_DEAD. The unused devices are kept in the clock events device list. On CPU up the clock event devices are registered again, which means that we list_add an already enqueued list_head. That results in list corruption. Resolve this by removing all devices which are associated to the dead CPU on CPU_DEAD. Reported-by: Xiaotian Feng <dfeng@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Xiaotian Feng <dfeng@redhat.com> Cc: stable@kernel.org
Diffstat (limited to 'kernel/timer.c')
0 files changed, 0 insertions, 0 deletions