[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cc6ecb91-3c3a-4ca8-9123-f030f8eee31d@infradead.org>
Date: Tue, 14 Nov 2023 14:00:42 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: Jiri Slaby <jirislaby@...nel.org>,
Tomas Mudrunka <tomas.mudrunka@...il.com>
Cc: corbet@....net, gregkh@...uxfoundation.org,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-serial@...r.kernel.org
Subject: Re: [PATCH v6] /proc/sysrq-trigger: accept multiple keys at once
On 11/14/23 10:04, Jiri Slaby wrote:
> On 14. 11. 23, 16:12, Tomas Mudrunka wrote:
>> Just for convenience.
>> This way we can do:
>> `echo _reisub > /proc/sysrq-trigger`
>> Instead of:
>> `for i in r e i s u b; do echo "$i" > /proc/sysrq-trigger; done;`
>>
>> This can be very useful when trying to execute sysrq combo remotely
>> or from userspace. When sending keys in multiple separate writes,
>> userspace can be killed before whole combo is completed.
>> Therefore putting all keys in single write is more robust approach.
>>
>> Signed-off-by: Tomas Mudrunka <tomas.mudrunka@...il.com>
>> ---
>> V5 -> V6: Documentation now has notice about undefined behavior
>> V4 -> V5: Added this list of changes
>> V3 -> V4: Bulk is now bool instead of char (and fixed typo)
>> V2 -> V3: Fixed code styling (and introduced typo)
>> V1 -> V2: Bulk mode only activated by underscore now, added docs
>>
>> Documentation/admin-guide/sysrq.rst | 11 ++++++++++-
>> drivers/tty/sysrq.c | 17 ++++++++++++++---
>> 2 files changed, 24 insertions(+), 4 deletions(-)
>>
>> diff --git a/Documentation/admin-guide/sysrq.rst b/Documentation/admin-guide/sysrq.rst
>> index 51906e473..e7a82cba7 100644
>> --- a/Documentation/admin-guide/sysrq.rst
>> +++ b/Documentation/admin-guide/sysrq.rst
>> @@ -75,10 +75,19 @@ On other
>> submit a patch to be included in this section.
>> On all
>> - Write a character to /proc/sysrq-trigger. e.g.::
>> + Write single character to /proc/sysrq-trigger.
>
> a single
>
>> + Only first character is interpreted, rest of string is ignored.
>
> the first; the rest of the string
>
>> + However it is not reccomended to write any extra characters
>
> However, <- comma
> recommended
>
>> + as the behavior is undefined and might change in the future versions.
>> + e.g.::
>
> Even the original was lowercase. But it should be "E.g.::", right -- Greg/Jon?
>
or Randy?
Yes, you are correct.
All of your recommendations look good.
Thanks.
>> echo t > /proc/sysrq-trigger
>> + Alternatively write multiple keys combo prepended by underscore.
>
> Alternatively, <- comma
> s/keys/characters/
> an underscore
>
>> + All characters are interpreted this way. e.g.::
>
> This way, all characters are interpreted. (IMO this has a different meaning, but natives would have to tell us.)
>
>> +
>> + echo _reisub > /proc/sysrq-trigger
>> +
>> The :kbd:`<command key>` is case sensitive.
>> What are the 'command' keys?
>> diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
>> index 6b4a28bcf..ad07bc812 100644
>> --- a/drivers/tty/sysrq.c
>> +++ b/drivers/tty/sysrq.c
>> @@ -1150,16 +1150,27 @@ EXPORT_SYMBOL(unregister_sysrq_key);
>> #ifdef CONFIG_PROC_FS
>> /*
>> * writing 'C' to /proc/sysrq-trigger is like sysrq-C
>> + * If first character in write is underscore, all characters are interpreted.
>
> If the first character written is
>
> thanks,
--
~Randy
Powered by blists - more mailing lists