Commit 8c6a98b2 authored by Andy Whitcroft's avatar Andy Whitcroft Committed by Dmitry Torokhov

Input: sysrq - ensure sysrq_enabled and __sysrq_enabled are consistent

Currently sysrq_enabled and __sysrq_enabled are initialised separately
and inconsistently, leading to sysrq being actually enabled by reported
as not enabled in sysfs.  The first change to the sysfs configurable
synchronises these two:

    static int __read_mostly sysrq_enabled = 1;
    static int __sysrq_enabled;

Add a common define to carry the default for these preventing them becoming
out of sync again.  Default this to 1 to mirror previous behaviour.
Signed-off-by: default avatarAndy Whitcroft <apw@canonical.com>
Cc: stable@kernel.org
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent cb1b1459
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
#include <asm/irq_regs.h> #include <asm/irq_regs.h>
/* Whether we react on sysrq keys or just ignore them */ /* Whether we react on sysrq keys or just ignore them */
static int __read_mostly sysrq_enabled = 1; static int __read_mostly sysrq_enabled = SYSRQ_DEFAULT_ENABLE;
static bool __read_mostly sysrq_always_enabled; static bool __read_mostly sysrq_always_enabled;
static bool sysrq_on(void) static bool sysrq_on(void)
......
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/types.h> #include <linux/types.h>
/* Enable/disable SYSRQ support by default (0==no, 1==yes). */
#define SYSRQ_DEFAULT_ENABLE 1
/* Possible values of bitmask for enabling sysrq functions */ /* Possible values of bitmask for enabling sysrq functions */
/* 0x0001 is reserved for enable everything */ /* 0x0001 is reserved for enable everything */
#define SYSRQ_ENABLE_LOG 0x0002 #define SYSRQ_ENABLE_LOG 0x0002
......
...@@ -169,7 +169,8 @@ static int proc_taint(struct ctl_table *table, int write, ...@@ -169,7 +169,8 @@ static int proc_taint(struct ctl_table *table, int write,
#endif #endif
#ifdef CONFIG_MAGIC_SYSRQ #ifdef CONFIG_MAGIC_SYSRQ
static int __sysrq_enabled; /* Note: sysrq code ises it's own private copy */ /* Note: sysrq code uses it's own private copy */
static int __sysrq_enabled = SYSRQ_DEFAULT_ENABLE;
static int sysrq_sysctl_handler(ctl_table *table, int write, static int sysrq_sysctl_handler(ctl_table *table, int write,
void __user *buffer, size_t *lenp, void __user *buffer, size_t *lenp,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment