x86/smpboot: Init apic mapping before usage
[cascardo/linux.git] / kernel / module.c
index 529efae..f57dd63 100644 (file)
@@ -1149,6 +1149,8 @@ static size_t module_flags_taint(struct module *mod, char *buf)
                buf[l++] = 'C';
        if (mod->taints & (1 << TAINT_UNSIGNED_MODULE))
                buf[l++] = 'E';
+       if (mod->taints & (1 << TAINT_LIVEPATCH))
+               buf[l++] = 'K';
        /*
         * TAINT_FORCED_RMMOD: could be added.
         * TAINT_CPU_OUT_OF_SPEC, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
@@ -2792,14 +2794,17 @@ static int copy_chunked_from_user(void *dst, const void __user *usrc, unsigned l
 }
 
 #ifdef CONFIG_LIVEPATCH
-static int find_livepatch_modinfo(struct module *mod, struct load_info *info)
+static int check_modinfo_livepatch(struct module *mod, struct load_info *info)
 {
-       mod->klp = get_modinfo(info, "livepatch") ? true : false;
+       if (get_modinfo(info, "livepatch")) {
+               mod->klp = true;
+               add_taint_module(mod, TAINT_LIVEPATCH, LOCKDEP_STILL_OK);
+       }
 
        return 0;
 }
 #else /* !CONFIG_LIVEPATCH */
-static int find_livepatch_modinfo(struct module *mod, struct load_info *info)
+static int check_modinfo_livepatch(struct module *mod, struct load_info *info)
 {
        if (get_modinfo(info, "livepatch")) {
                pr_err("%s: module is marked as livepatch module, but livepatch support is disabled",
@@ -2969,7 +2974,7 @@ static int check_modinfo(struct module *mod, struct load_info *info, int flags)
                        "is unknown, you have been warned.\n", mod->name);
        }
 
-       err = find_livepatch_modinfo(mod, info);
+       err = check_modinfo_livepatch(mod, info);
        if (err)
                return err;