ARM: Fix build error for SMP=n builds
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 3 Aug 2011 23:01:00 +0000 (00:01 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 4 Aug 2011 07:24:29 +0000 (08:24 +0100)
Unfortunately, the module fixups cause the kernel to fail to build
when SMP is not enabled.  Fix this by removing the reference to
fixup_smp on non-SMP fixup kernels, but ensuring that if we do have
the SMP fixup section, we refuse to load the module.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/module.c

index 05b377616fd54825c3d7c1316548a11c9c6f60d4..cc2020c2c70977a4e95eaadad130c688514682e9 100644 (file)
@@ -323,7 +323,11 @@ int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs,
 #endif
        s = find_mod_section(hdr, sechdrs, ".alt.smp.init");
        if (s && !is_smp())
+#ifdef CONFIG_SMP_ON_UP
                fixup_smp((void *)s->sh_addr, s->sh_size);
+#else
+               return -EINVAL;
+#endif
        return 0;
 }