mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
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>
This commit is contained in:
committed by
Luis Chamberlain
parent
6fb0538d01
commit
99bd995655
@@ -145,6 +145,27 @@ static inline bool set_livepatch_module(struct module *mod)
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MODULE_UNLOAD_TAINT_TRACKING
|
||||
struct mod_unload_taint {
|
||||
struct list_head list;
|
||||
char name[MODULE_NAME_LEN];
|
||||
unsigned long taints;
|
||||
u64 count;
|
||||
};
|
||||
|
||||
int try_add_tainted_module(struct module *mod);
|
||||
void print_unloaded_tainted_modules(void);
|
||||
#else /* !CONFIG_MODULE_UNLOAD_TAINT_TRACKING */
|
||||
static inline int try_add_tainted_module(struct module *mod)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void print_unloaded_tainted_modules(void)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_MODULE_UNLOAD_TAINT_TRACKING */
|
||||
|
||||
#ifdef CONFIG_MODULE_DECOMPRESS
|
||||
int module_decompress(struct load_info *info, const void *buf, size_t size);
|
||||
void module_decompress_cleanup(struct load_info *info);
|
||||
|
Reference in New Issue
Block a user