Re: [PATCH v2] tools: Add new "test" taint to kernel-chktaint

From: David Gow
Date: Thu Sep 01 2022 - 19:53:27 EST


On Fri, Sep 2, 2022 at 2:57 AM Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On 8/23/22 22:41, David Gow wrote:
> > On Wed, Aug 24, 2022 at 12:19 PM Joe Fradley <joefradley@xxxxxxxxxx> wrote:
> >>
> >> Commit c272612cb4a2 ("kunit: Taint the kernel when KUnit tests are run")
> >> added a new taint flag for when in-kernel tests run. This commit adds
> >> recognition of this new flag in kernel-chktaint.
> >>
>
> What happens without this change? It isn't clear what this change is
> fixing.
>

Without this patch, running ./tools/debugging/kernel-chktaint against
a kernel tainted due to loading/running an in-kernel test (KUnit,
kselftest, etc) will not describe the reason for the taint:

Kernel is "tainted" for the following reasons:
For a more detailed explanation of the various taint flags see
Documentation/admin-guide/tainted-kernels.rst in the Linux kernel sources
or https://kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
Raw taint value as int/string: 262144/'G '

With this change (which should've been introduced along with the new
taint flag), the 'N' taint is printed correctly, along with an
explanation:

Kernel is "tainted" for the following reasons:
* an in-kernel test (such as a KUnit test) has been run (#18)
For a more detailed explanation of the various taint flags see
Documentation/admin-guide/tainted-kernels.rst in the Linux kernel sources
or https://kernel.org/doc/html/latest/admin-guide/tainted-kernels.html
Raw taint value as int/string: 262144/'G N'

> >> Reviewed-by: David Gow <davidgow@xxxxxxxxxx>
> >> Signed-off-by: Joe Fradley <joefradley@xxxxxxxxxx>
> >> ---
> >> Changes in v2:
> >> - based off of kselftest/kunit branch
> >> - Added David's Reviewed-by tag
> >>
> >
> > This still looks good to me.
> >
> > Unless anyone objects, I guess we'll take this through the KUnit
> > branch (which, after all, is where the taint was originally added).
> > I've added it to the list for 6.1, but it technically could be
> > considered a fix for 6.0 as well.
> >
>
> I can definitely take this for Linux 6.0 with additional information
> on the problems seen without this change.
>

Yeah, basically the output from kernel-chktaint is incomplete (and, in
the case of the taint string, I'd argue wrong).

Not a disaster if this doesn't land for 6.0, but given 6.0 c an
generate the new taint flag, it makes sense to decode it correctly if
possible.

Cheers,
-- David