Re: [stable] [00/29] 2.6.32.6 stable review

From: Andrew Morton
Date: Sun Jan 24 2010 - 02:24:27 EST


On Fri, 22 Jan 2010 16:11:45 -0800 Greg KH <gregkh@xxxxxxx> wrote:

> This is the start of the stable review cycle for the 2.6.32.6 release.
> There are 29 patches in this series, all will be posted as a response to
> this one. If anyone has any issues with these being applied, please let
> us know. If anyone is a maintainer of the proper subsystem, and wants
> to add a Signed-off-by: line to the patch, please respond with it.
>
> Responses should be made by Monday, January 24, 00:00:00 UTC.
> Anything received after that time might be too late.

2.6.32.6 will still contain the regression described in (for example)

http://bugzilla.kernel.org/show_bug.cgi?id=15117
http://bugzilla.kernel.org/show_bug.cgi?id=15005

It's fixed with the below revert which has been in -mm (and only in
-mm) for ten days.

I don't what's going on - perhaps we're waiting for Thomas, and he's
otherwise engaged. There's a fix in the lkml thread "Re: [RFC PATCH
0/4] clockevents: fix clockevent_devices list corruption after cpu
hotplug" to which Thomas replied

I just applied your patch, but kept the cpuweight check. This
is the least intrusive solution for now. The logic needs an
overhaul, but thats neither rc4 nor stable material"

but no such patch is present in linux-next.



From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

Revert

: commit bb6eddf7676e1c1f3e637aa93c5224488d99036f
: Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
: AuthorDate: Thu Dec 10 15:35:10 2009 +0100
: Commit: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
: CommitDate: Fri Dec 11 10:28:08 2009 +0100
:
: clockevents: Prevent clockevent_devices list corruption on cpu hotplug

due to the regression reported in
http://bugzilla.kernel.org/show_bug.cgi?id=15005

Cc: Xiaotian Feng <dfeng@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: "Rafael J. Wysocki" <rjw@xxxxxxx>
Reported-by: Martin Bammer <mrb74@xxxxxx>
Cc: <stable@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

kernel/time/clockevents.c | 18 +++---------------
1 file changed, 3 insertions(+), 15 deletions(-)

diff -puN kernel/time/clockevents.c~revert-clockevents-prevent-clockevent_devices-list-corruption-on-cpu-hotplug kernel/time/clockevents.c
--- a/kernel/time/clockevents.c~revert-clockevents-prevent-clockevent_devices-list-corruption-on-cpu-hotplug
+++ a/kernel/time/clockevents.c
@@ -238,9 +238,8 @@ void clockevents_exchange_device(struct
*/
void clockevents_notify(unsigned long reason, void *arg)
{
- struct clock_event_device *dev, *tmp;
+ struct list_head *node, *tmp;
unsigned long flags;
- int cpu;

raw_spin_lock_irqsave(&clockevents_lock, flags);
clockevents_do_notify(reason, arg);
@@ -251,19 +250,8 @@ void clockevents_notify(unsigned long re
* Unregister the clock event devices which were
* released from the users in the notify chain.
*/
- list_for_each_entry_safe(dev, tmp, &clockevents_released, list)
- list_del(&dev->list);
- /*
- * Now check whether the CPU has left unused per cpu devices
- */
- cpu = *((int *)arg);
- list_for_each_entry_safe(dev, tmp, &clockevent_devices, list) {
- if (cpumask_test_cpu(cpu, dev->cpumask) &&
- cpumask_weight(dev->cpumask) == 1) {
- BUG_ON(dev->mode != CLOCK_EVT_MODE_UNUSED);
- list_del(&dev->list);
- }
- }
+ list_for_each_safe(node, tmp, &clockevents_released)
+ list_del(node);
break;
default:
break;
_

--
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/