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: <2031d74a-41df-d556-d5de-37f4b63ee30f@collabora.com>
Date:   Fri, 2 Oct 2020 17:06:54 +0200
From:   Andrzej Pietrasiewicz <andrzej.p@...labora.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     linux-kernel@...r.kernel.org,
        Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
        Maxime Ripard <mripard@...nel.org>,
        Thomas Zimmermann <tzimmermann@...e.de>,
        David Airlie <airlied@...ux.ie>,
        Daniel Vetter <daniel@...ll.ch>, Jiri Slaby <jslaby@...e.com>,
        Dmitry Torokhov <dmitry.torokhov@...il.com>,
        linux-input@...r.kernel.org, dri-devel@...ts.freedesktop.org,
        kernel@...labora.com
Subject: Re: [PATCH v3 2/2] tty/sysrq: Add configurable handler to execute a
 compound action

Hi,

W dniu 02.10.2020 o 16:02, Greg Kroah-Hartman pisze:
> On Fri, Oct 02, 2020 at 03:42:52PM +0200, Andrzej Pietrasiewicz wrote:
>> Hi,
>>
>> W dniu 02.10.2020 o 14:54, Greg Kroah-Hartman pisze:
>>> On Tue, Aug 18, 2020 at 01:28:25PM +0200, Andrzej Pietrasiewicz wrote:
>>>> Userland might want to execute e.g. 'w' (show blocked tasks), followed
>>>> by 's' (sync), followed by 1000 ms delay and then followed by 'c' (crash)
>>>> upon a single magic SysRq. Or one might want to execute the famous "Raising
>>>> Elephants Is So Utterly Boring" action. This patch adds a configurable
>>>> handler, triggered with 'C', for this exact purpose. The user specifies the
>>>> composition of the compound action using syntax similar to getopt, where
>>>> each letter corresponds to an individual action and a colon followed by a
>>>> number corresponds to a delay of that many milliseconds, e.g.:
>>>>
>>>> ws:1000c
>>>>
>>>> or
>>>>
>>>> r:100eis:1000ub
>>>
>>> A macro language for sysrq commands, who would have thought...
>>>
>>> Anyway, _why_ would userland want to do something so crazy as this?
>>> What is the use-case here?
>>>
>>
>> A use-case is Chromebooks which do want to execute 'w', 's',
>> wait 1000ms and then 'c' under one key combination. Having that supported
>> upstream brings us one little step closer to those machines running
>> upstream kernel.
> 
> Who is causing that to "execute"?  Some daemon/program?

No, as far as I know they patch the kernel to change the behavior
of Sysrq-x combination, so the "execution" is triggered by the user.

> 
>> Another argument for such a "macro language" is when a machine's system
>> keeps degrading over time, possibly degrading (relatively) fast.
>> "Raising Elephants Is So Utterly Boring" consists of 6 actions, each
>> of which requires pressing several keys. The user might be unable
>> to complete all the 6 steps, while a "macro" requires user's involvement
>> for carrying out just one step.
> 
> So you want to "preload" some commands ahead of time, for when you get
> in trouble
It can be said this way, yes.

> 
> These should just be debugging / last resort types of things, how
> regular are they being used in your systems?
> 

The "REISUB" itself is a kind of a last resort thing.

It is true that it's not a very frequent situation, but does its being rare
preclude having such a function in the kernel?

While preparing this patch I wanted it to be flexible, but perhaps it is
too flexible for some reason? If the permissions of the module_param's
sysfs entry were changed to 0444 would it be better? Then the compound
action would still be configurable but only at boot time rather than at
boot time _and_ runtime.

Regards,

Andrzej

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ