openwrt/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch
Felix Fietkau 0439280c2f kernel: support gcc-optimized inlining on all architectures
Optimized inlining was disabled by default when gcc 4 was still
relatively new. By now, all gcc versions handle this well and there
seems to be no real reason to keep it x86-only.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(backported from 1e8882585c)
(rebased patches)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-12-18 17:22:04 +01:00

41 lines
1.3 KiB
Diff

From: John Crispin <john@phrozen.org>
Subject: serial: do not accept sysrq characters via serial port
many embedded boards have a disconnected TTL level serial which can
generate some garbage that can lead to spurious false sysrq detects.
[john@phrozen.org: sent upstream 22.12.2016]
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
include/linux/serial_core.h | 2 +-
lib/Kconfig.debug | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -456,7 +456,7 @@ extern void uart_handle_cts_change(struc
extern void uart_insert_char(struct uart_port *port, unsigned int status,
unsigned int overrun, unsigned int ch, unsigned int flag);
-#ifdef SUPPORT_SYSRQ
+#if defined(SUPPORT_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ_SERIAL)
static inline int
uart_handle_sysrq_char(struct uart_port *port, unsigned int ch)
{
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -410,6 +410,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE
This may be set to 1 or 0 to enable or disable them all, or
to a bitmask as described in Documentation/sysrq.txt.
+config MAGIC_SYSRQ_SERIAL
+ bool "Enable magic SysRq key over serial"
+ depends on MAGIC_SYSRQ
+ default y
+
config DEBUG_KERNEL
bool "Kernel debugging"
help