From: Randy Dunlap Use the add_taint() interface for setting tainted bit flags instead of doing it manually. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton --- arch/i386/kernel/smpboot.c | 2 +- arch/x86_64/kernel/mce.c | 2 +- kernel/module.c | 11 ++++++----- mm/page_alloc.c | 3 ++- 4 files changed, 10 insertions(+), 8 deletions(-) diff -puN arch/i386/kernel/smpboot.c~use-add_taint-for-setting-tainted-bit-flags arch/i386/kernel/smpboot.c --- devel/arch/i386/kernel/smpboot.c~use-add_taint-for-setting-tainted-bit-flags 2005-09-11 12:41:29.000000000 -0700 +++ devel-akpm/arch/i386/kernel/smpboot.c 2005-09-11 12:41:29.000000000 -0700 @@ -202,7 +202,7 @@ static void __devinit smp_store_cpu_info goto valid_k7; /* If we get here, it's not a certified SMP capable AMD system. */ - tainted |= TAINT_UNSAFE_SMP; + add_taint(TAINT_UNSAFE_SMP); } valid_k7: diff -puN arch/x86_64/kernel/mce.c~use-add_taint-for-setting-tainted-bit-flags arch/x86_64/kernel/mce.c --- devel/arch/x86_64/kernel/mce.c~use-add_taint-for-setting-tainted-bit-flags 2005-09-11 12:41:29.000000000 -0700 +++ devel-akpm/arch/x86_64/kernel/mce.c 2005-09-11 12:41:29.000000000 -0700 @@ -217,7 +217,7 @@ void do_machine_check(struct pt_regs * r panicm_found = 1; } - tainted |= TAINT_MACHINE_CHECK; + add_taint(TAINT_MACHINE_CHECK); } /* Never do anything final in the polling timer */ diff -puN kernel/module.c~use-add_taint-for-setting-tainted-bit-flags kernel/module.c --- devel/kernel/module.c~use-add_taint-for-setting-tainted-bit-flags 2005-09-11 12:41:29.000000000 -0700 +++ devel-akpm/kernel/module.c 2005-09-11 12:41:29.000000000 -0700 @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -498,7 +499,7 @@ static inline int try_force(unsigned int { int ret = (flags & O_TRUNC); if (ret) - tainted |= TAINT_FORCED_MODULE; + add_taint(TAINT_FORCED_MODULE); return ret; } #else @@ -897,7 +898,7 @@ static int check_version(Elf_Shdr *sechd if (!(tainted & TAINT_FORCED_MODULE)) { printk("%s: no version for \"%s\" found: kernel tainted.\n", mod->name, symname); - tainted |= TAINT_FORCED_MODULE; + add_taint(TAINT_FORCED_MODULE); } return 1; } @@ -1352,7 +1353,7 @@ static void set_license(struct module *m if (!mod->license_gplok && !(tainted & TAINT_PROPRIETARY_MODULE)) { printk(KERN_WARNING "%s: module license '%s' taints kernel.\n", mod->name, license); - tainted |= TAINT_PROPRIETARY_MODULE; + add_taint(TAINT_PROPRIETARY_MODULE); } } @@ -1610,7 +1611,7 @@ static struct module *load_module(void _ modmagic = get_modinfo(sechdrs, infoindex, "vermagic"); /* This is allowed: modprobe --force will invalidate it. */ if (!modmagic) { - tainted |= TAINT_FORCED_MODULE; + add_taint(TAINT_FORCED_MODULE); printk(KERN_WARNING "%s: no version magic, tainting kernel.\n", mod->name); } else if (!same_magic(modmagic, vermagic)) { @@ -1739,7 +1740,7 @@ static struct module *load_module(void _ (mod->num_gpl_syms && !gplcrcindex)) { printk(KERN_WARNING "%s: No versions for exported symbols." " Tainting kernel.\n", mod->name); - tainted |= TAINT_FORCED_MODULE; + add_taint(TAINT_FORCED_MODULE); } #endif diff -puN mm/page_alloc.c~use-add_taint-for-setting-tainted-bit-flags mm/page_alloc.c --- devel/mm/page_alloc.c~use-add_taint-for-setting-tainted-bit-flags 2005-09-11 12:41:29.000000000 -0700 +++ devel-akpm/mm/page_alloc.c 2005-09-11 12:41:29.000000000 -0700 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -144,7 +145,7 @@ static void bad_page(const char *functio set_page_count(page, 0); reset_page_mapcount(page); page->mapping = NULL; - tainted |= TAINT_BAD_PAGE; + add_taint(TAINT_BAD_PAGE); } #ifndef CONFIG_HUGETLB_PAGE _