Re: [PATCH v2] twist: allow converting pr_devel()/pr_debug() into snprintf()

From: Linus Torvalds
Date: Thu May 28 2020 - 22:25:09 EST


On Thu, May 28, 2020 at 7:14 PM Tetsuo Handa
<penguin-kernel@xxxxxxxxxxxxxxxxxxx> wrote:
>
> You said
>
> Some kind of "not even root" flag, which might be per-process and not
> possible to clear once set (so that your _normal_ system binaries
> could still do the root-only stuff, but then you could start a fuzzing
> process with that flag set, knowing that the fuzzing process - and
> it's children - are not able to do things).

Yes, that was in a long ago discussion.

And I still think it's actually possibly the right idea for several of
these flags.

Some flags do end up having to be practically system-wide, because
they end up being used in contexts other than the test environment (ie
anything that ends up doing workqueues or networking or VM or whatever
- it's a "global context").

At the same time, some of the flags might well be "in the test
environment" if they act on behavior that is all synchronous. Then
other testers can use them on production machines for testing, even
when the kernel might be used for other things at the same time.

But the point is, NONE OF THIS IS CONFIG OPTIONS.

And absolutely none of this should be named "twist". If you can't make
a config have a sane name that talks about what it does, then it
shouldn't exist at all.

An option like "disable-sysrq-k" is a fine option. It might make
sense. In fact, it would fit well with boot options that we already
have, like "sysrq_always_enabled".

An option called "twist-disablke-sysrq-k" is just odd and nonsensical.

And making that a build-time option is the worst of all worlds.

Linus