Re: [PATCH] tty: only print sysrq help for handlers that areenabled

From: shawn
Date: Tue Dec 24 2013 - 00:06:19 EST


> On Tue, Dec 03, 2013 at 07:55:25AM -0800, Shawn Landden wrote:
>> Also print out a notice when sysrq is in selective mode.
>>
>> Signed-off-by: Shawn Landden <shawn@xxxxxxxxxxxxxxx>
>> ---
>> drivers/tty/sysrq.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
>> index ce396ec..4eee0e4 100644
>> --- a/drivers/tty/sysrq.c
>> +++ b/drivers/tty/sysrq.c
>> @@ -548,9 +548,14 @@ void __handle_sysrq(int key, bool check_mask)
>> ;
>> if (j != i)
>> continue;
>> - printk("%s ", sysrq_key_table[i]->help_msg);
>> + /* only print if handler is enabled */
>> + if (sysrq_enabled & 1 ||
>> + sysrq_enabled & sysrq_key_table[i]->enable_mask)
>> + printk("%s ", sysrq_key_table[i]->help_msg);
>> }
>> }
>> + if (!(sysrq_enabled & 1))
>> + printk("(some options are disabled)");
>> printk("\n");
>> console_loglevel = orig_log_level;
>> }
>
> What exactly is this fixing? What is broken here that this change
> resolves? Where is it applicable? I need a lot more context here
> please.

Without this patch you get something like
re[b]oot [r]aw [s]ync [h]elp ....
even if none of these sysrq triggers are available because of the setting
mask of
kernel.sysrq
With this patch then if (e.g.)
kernel.sysrq = 16
then you will only see
[s]ync
i.e. those commands you have privilege to issue via sysrq keypresses.
Contact me if you need more,
Shawn
>
> thanks,
>
> greg k-h
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/