Messages in this thread Patch in this message | | | Subject | [PATCH] Fix oops on !GENERIC_TIME systems when accessing current_clocksource | From | john stultz <> | Date | Wed, 24 Feb 2010 12:37:11 -0800 |
| |
Aaro Koskinen reported an issue in bug #15366, where on non-GENERIC_TIME systems, accessing /sys/devices/system/clocksource/clocksource0/current_clocksource would oops the system.
It seems the timekeeper/clocksource rework missed initializing the curr_clocksource value in the !GENERIC_TIME.
The following patch makes sure it gets initialized, and avoids the issue.
Thanks to Aaro for reporting and diagnosing the issue as well as testing the fix!
Bug Details: http://bugzilla.kernel.org/show_bug.cgi?id=15366
Too late for 2.6.33, but this likely should go into 2.6.33-stable and 2.6.32-stable.
thanks -john
Signed-off-by: John Stultz <johnstul@us.ibm.com>
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index e85c234..c436ee5 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -568,6 +568,10 @@ static inline void clocksource_select(void) { } */ static int __init clocksource_done_booting(void) { + mutex_lock(&clocksource_mutex); + curr_clocksource = clocksource_default_clock(); + mutex_unlock(&clocksource_mutex); + finished_booting = 1; /*
| |