testsuite: Fix build with gcc < 15

Variable declaration inside a switch case works with gcc 15, but fails
pretty much everywhere else with a message like below:

	../testsuite/init_module.c: In function ‘syscall’:
	../testsuite/init_module.c:343:3: error: a label can only be part of a statement and a declaration is not a statement
	  343 |   const char *args;
	      |   ^~~~~

Add an empty statement to fix it.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/390
1 file changed
tree: 3370a24ec7ffd3f5c9e70ad48e89c090673bef9c
  1. .github/
  2. libkmod/
  3. man/
  4. scripts/
  5. shared/
  6. shell-completion/
  7. testsuite/
  8. tools/
  9. .clang-format
  10. .codespellignore
  11. .editorconfig
  12. .gitignore
  13. .mailmap
  14. build-dev.ini
  15. CODING-STYLE
  16. CONTRIBUTING.md
  17. COPYING
  18. DCO.txt
  19. meson.build
  20. meson_options.txt
  21. NEWS
  22. README.md
README.md

kmod - Linux kernel module handling

OVERVIEW

kmod is a set of tools to handle common tasks with Linux kernel modules like insert, remove, list, check properties, resolve dependencies and aliases.

These tools are designed on top of libkmod, a library that is shipped with kmod. See libkmod/README for more details on this library and how to use it. The aim is to be compatible with tools, configurations and indexes from module-init-tools project.

Links

Compilation and installation

In order to compile the source code you need:

  • C11 compiler, supporting a range of GNU extensions - GCC 8+, Clang 6+
  • POSIX.1-2008 C runtime library - Bionic, GNU C library, musl

Optional dependencies, required with the default build configuration:

  • ZLIB library
  • LZMA library
  • ZSTD library
  • OPENSSL library (signature handling in modinfo)

Typical configuration and installation

meson setup builddir/
meson compile -C builddir/
sudo meson install -C builddir/

For end-user and distributions builds, it's recommended to use:

meson setup --buildtype release builddir/

Hacking

When working on kmod, use the included build-dev.ini file, as:

meson setup --native-file build-dev.ini builddir/

The testsuite can be executed with:

meson test -C builddir

It builds test kernel modules, so kernel headers need to be pre-installed. By default it tries to use the kernel header for the currently running kernel. KDIR=any environment variable can be used to tell it to use any installed kernel header or KDIR=/path/to/specific/headers when a specific one is needed. Example:

KDIR=any meson test -C builddir

Make sure to read our contributing guide and the other READMEs: libkmod and testsuite.

Compatibility with module-init-tools

kmod replaced module-init-tools, which was EOL'ed in 2011. All the tools were rewritten on top of libkmod and they can be used as drop in replacements. Along the years there were a few behavior changes and new features implemented, following feedback from Linux kernel community and distros.