lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ