Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Disable SLUB_TINY for build testing

... and don't error out so hard on missing module descriptions.

Before commit 6c6c1fc09de3 ("modpost: require a MODULE_DESCRIPTION()")
we used to warn about missing module descriptions, but only when
building with extra warnigns (ie 'W=1').

After that commit the warning became an unconditional hard error.

And it turns out not all modules have been converted despite the claims
to the contrary. As reported by Damian Tometzki, the slub KUnit test
didn't have a module description, and apparently nobody ever really
noticed.

The reason nobody noticed seems to be that the slub KUnit tests get
disabled by SLUB_TINY, which also ends up disabling a lot of other code,
both in tests and in slub itself. And so anybody doing full build tests
didn't actually see this failre.

So let's disable SLUB_TINY for build-only tests, since it clearly ends
up limiting build coverage. Also turn the missing module descriptions
error back into a warning, but let's keep it around for non-'W=1'
builds.

Reported-by: Damian Tometzki <damian@riscv-rocks.de>
Link: https://lore.kernel.org/all/01070196099fd059-e8463438-7b1b-4ec8-816d-173874be9966-000000@eu-central-1.amazonses.com/
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Fixes: 6c6c1fc09de3 ("modpost: require a MODULE_DESCRIPTION()")
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

+2 -2
+1 -1
mm/Kconfig
··· 201 201 202 202 config SLUB_TINY 203 203 bool "Configure for minimal memory footprint" 204 - depends on EXPERT 204 + depends on EXPERT && !COMPILE_TEST 205 205 select SLAB_MERGE_DEFAULT 206 206 help 207 207 Configures the slab allocator in a way to achieve minimal memory
+1 -1
scripts/mod/modpost.c
··· 1603 1603 } 1604 1604 1605 1605 if (!get_modinfo(&info, "description")) 1606 - error("missing MODULE_DESCRIPTION() in %s\n", modname); 1606 + warn("missing MODULE_DESCRIPTION() in %s\n", modname); 1607 1607 } 1608 1608 1609 1609 for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {