module: Introduce module unload taint tracking
authorAaron Tomlin <atomlin@redhat.com>
Mon, 2 May 2022 20:52:52 +0000 (21:52 +0100)
committerLuis Chamberlain <mcgrof@kernel.org>
Thu, 12 May 2022 17:29:41 +0000 (10:29 -0700)
commit99bd9956551b27cb6f5b445abaced7e13b9976cd
treecba54839c4a7c86927516142556a5335b5375400
parent6fb0538d0121ffab770a505b183968d93466ad59
module: Introduce module unload taint tracking

Currently, only the initial module that tainted the kernel is
recorded e.g. when an out-of-tree module is loaded.

The purpose of this patch is to allow the kernel to maintain a record of
each unloaded module that taints the kernel. So, in addition to
displaying a list of linked modules (see print_modules()) e.g. in the
event of a detected bad page, unloaded modules that carried a taint/or
taints are displayed too. A tainted module unload count is maintained.

The number of tracked modules is not fixed. This feature is disabled by
default.

Signed-off-by: Aaron Tomlin <atomlin@redhat.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
init/Kconfig
kernel/module/Makefile
kernel/module/internal.h
kernel/module/main.c
kernel/module/tracking.c [new file with mode: 0644]