x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread
authorVlastimil Babka <vbabka@suse.cz>
Tue, 14 Aug 2018 21:38:57 +0000 (23:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Aug 2018 16:13:01 +0000 (18:13 +0200)
commit d0055f351e647f33f3b0329bff022213bf8aa085 upstream.

The function has an inline "return false;" definition with CONFIG_SMP=n
but the "real" definition is also visible leading to "redefinition of
‘apic_id_is_primary_thread’" compiler error.

Guard it with #ifdef CONFIG_SMP

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Fixes: 6a4d2657e048 ("x86/smp: Provide topology_is_primary_thread()")
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/apic/apic.c

index 348fb89..2e64178 100644 (file)
@@ -2094,6 +2094,7 @@ static int cpuid_to_apicid[] = {
        [0 ... NR_CPUS - 1] = -1,
 };
 
+#ifdef CONFIG_SMP
 /**
  * apic_id_is_primary_thread - Check whether APIC ID belongs to a primary thread
  * @id:        APIC ID to check
@@ -2108,6 +2109,7 @@ bool apic_id_is_primary_thread(unsigned int apicid)
        mask = (1U << (fls(smp_num_siblings) - 1)) - 1;
        return !(apicid & mask);
 }
+#endif
 
 /*
  * Should use this API to allocate logical CPU IDs to keep nr_logical_cpuids