]> Git Repo - linux.git/commitdiff
[PATCH] Fix the spurious unlock_cpu_hotplug false warnings
authorGautham R Shenoy <[email protected]>
Mon, 6 Nov 2006 07:52:04 +0000 (23:52 -0800)
committerLinus Torvalds <[email protected]>
Mon, 6 Nov 2006 09:46:22 +0000 (01:46 -0800)
Cpu-hotplug locking has a minor race case caused because of setting the
variable "recursive" to NULL *after* releasing the cpu_bitmask_lock in the
function unlock_cpu_hotplug,instead of doing so before releasing the
cpu_bitmask_lock.

This was the cause of most of the recent false spurious lock_cpu_unlock
warnings.

This should fix the problem reported by Martin Lorenz reported in
http://lkml.org/lkml/2006/10/29/127.

Thanks to Srinivasa DS for pointing it out.

Signed-off-by: Gautham R Shenoy <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
kernel/cpu.c

index 663c920b2234c3c197e6fc76c276fdc1c791cdde..272254f20d9744b4844cde0c6da1dc13210283c4 100644 (file)
@@ -58,8 +58,8 @@ void unlock_cpu_hotplug(void)
                recursive_depth--;
                return;
        }
-       mutex_unlock(&cpu_bitmask_lock);
        recursive = NULL;
+       mutex_unlock(&cpu_bitmask_lock);
 }
 EXPORT_SYMBOL_GPL(unlock_cpu_hotplug);
 
This page took 0.049505 seconds and 4 git commands to generate.