Skip to content

Commit

Permalink
Input: sysrq - ensure sysrq_enabled and __sysrq_enabled are consistent
Browse files Browse the repository at this point in the history
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: Andy Whitcroft <[email protected]>
Cc: [email protected]
Signed-off-by: Dmitry Torokhov <[email protected]>
  • Loading branch information
Andy Whitcroft authored and dtor committed Jan 24, 2011
1 parent cb1b145 commit 8c6a98b
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/char/sysrq.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
#include <asm/irq_regs.h>

/* 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 sysrq_on(void)
Expand Down
3 changes: 3 additions & 0 deletions include/linux/sysrq.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
#include <linux/errno.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 */
/* 0x0001 is reserved for enable everything */
#define SYSRQ_ENABLE_LOG 0x0002
Expand Down
3 changes: 2 additions & 1 deletion kernel/sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,8 @@ static int proc_taint(struct ctl_table *table, int write,
#endif

#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,
void __user *buffer, size_t *lenp,
Expand Down

0 comments on commit 8c6a98b

Please sign in to comment.