This patch doesn't apply to the .37 stable tree. If someone wants it applied there, please email the backport to [email protected]
thanks, greg k-h > commit: 8c6a98b22b750c9eb52653ba643faa17db8d3881 > From: Andy Whitcroft <[email protected]> > Date: Mon, 24 Jan 2011 09:31:38 -0800 > Subject: [PATCH] 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: Andy Whitcroft <[email protected]> > Cc: [email protected] > Signed-off-by: Dmitry Torokhov <[email protected]> > --- > drivers/char/sysrq.c | 2 +- > include/linux/sysrq.h | 3 +++ > kernel/sysctl.c | 3 ++- > 3 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c > index c556ed9..8e0dd25 100644 > --- a/drivers/char/sysrq.c > +++ b/drivers/char/sysrq.c > @@ -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) > diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h > index 387fa7d..7faf933 100644 > --- a/include/linux/sysrq.h > +++ b/include/linux/sysrq.h > @@ -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 > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > index c33a1ed..3afce4d 100644 > --- a/kernel/sysctl.c > +++ b/kernel/sysctl.c > @@ -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, > > _______________________________________________ > stable mailing list > [email protected] > http://linux.kernel.org/mailman/listinfo/stable _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
