aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-01-06 11:41:48 +0100
committerIngo Molnar <mingo@kernel.org>2016-01-06 11:41:48 +0100
commit3104fb3dd45bb47ff1382d1c079c251710ddcae3 (patch)
tree0c562ad5b3a960b3299edd5abdbe12b9f0a50a6b /drivers/tty
parentMerge tag 'trace-v4.4-rc4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace (diff)
parentsysrq: Fix warning in sysrq generated crash. (diff)
downloadlinux-dev-3104fb3dd45bb47ff1382d1c079c251710ddcae3.tar.xz
linux-dev-3104fb3dd45bb47ff1382d1c079c251710ddcae3.zip
Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU changes from Paul E. McKenney: - Adding transitivity uniformly to rcu_node structure ->lock acquisitions. (This is implemented by the first two commits on top of v4.4-rc2 due to the pervasive nature of this change.) - Documentation updates, including RCU requirements. - Expedited grace-period changes. - Miscellaneous fixes. - Linked-list fixes, courtesy of KTSAN. - Torture-test updates. - Late-breaking fix to sysrq-generated crash. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/sysrq.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
index 5381a728d23e..e5139402e7f8 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
@@ -133,6 +133,12 @@ static void sysrq_handle_crash(int key)
{
char *killer = NULL;
+ /* we need to release the RCU read lock here,
+ * otherwise we get an annoying
+ * 'BUG: sleeping function called from invalid context'
+ * complaint from the kernel before the panic.
+ */
+ rcu_read_unlock();
panic_on_oops = 1; /* force panic */
wmb();
*killer = 1;