Re: [PATCH v4 2/4] module: panic: Taint the kernel when selftest modules load

From: David Gow
Date: Fri Jul 01 2022 - 22:49:18 EST


On Sat, Jul 2, 2022 at 6:30 AM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote:
>
> On Fri, Jul 01, 2022 at 04:47:42PM +0800, David Gow wrote:
> > Taint the kernel with TAINT_TEST whenever a test module loads, by adding
> > a new "TEST" module property, and setting it for all modules in the
> > tools/testing directory. This property can also be set manually, for
> > tests which live outside the tools/testing directory with:
> > MODULE_INFO(test, "Y");
> >
> > Signed-off-by: David Gow <davidgow@xxxxxxxxxx>
> > ---
> >
> > This patch is new in v4 of this series.
> >
> > ---
> > kernel/module/main.c | 8 ++++++++
> > scripts/mod/modpost.c | 3 +++
> > 2 files changed, 11 insertions(+)
> >
> > diff --git a/kernel/module/main.c b/kernel/module/main.c
> > index fed58d30725d..f2ca0a3ee5e6 100644
> > --- a/kernel/module/main.c
> > +++ b/kernel/module/main.c
> > @@ -1988,6 +1988,14 @@ static int check_modinfo(struct module *mod, struct load_info *info, int flags)
> > /* Set up license info based on the info section */
> > set_license(mod, get_modinfo(info, "license"));
> >
> > + if (!get_modinfo(info, "test")) {
> > + if (!test_taint(TAINT_TEST))
> > + pr_warn("%s: loading test module taints kernel.\n",
> > + mod->name);
>
> That seems pretty chatty, maybe just pr_warn_once() and make indicate
> which is the first one? For kernel builds where their goal is to just
> loop testing this will grow the kernel log without not much need.

Fair enough: while the other taints (intree, staging) do warn on every
module load, it is less likely people will be loading lots of them
(and then possibly looking at the log for test results). I'll change
this in v5.

-- David

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature