Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92896bd9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Don't 'printk()' while holding xtime lock for writing



The printk() can deadlock because it can wake up klogd(), and
task enqueueing will try to read the time in order to set a hrtimer.

Reported-by: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
Debugged-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d2532dd2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -191,8 +191,12 @@ static void change_clocksource(void)

	tick_clock_notify();

	/*
	 * We're holding xtime lock and waking up klogd would deadlock
	 * us on enqueue.  So no printing!
	printk(KERN_INFO "Time: %s clocksource has been installed.\n",
	       clock->name);
	 */
}
#else
static inline void change_clocksource(void) { }