]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
x86/hyper-v: Fix wrong merge conflict resolution
authorK. Y. Srinivasan <kys@microsoft.com>
Fri, 20 Jul 2018 03:50:09 +0000 (03:50 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 20 Jul 2018 04:56:23 +0000 (06:56 +0200)
When the mapping betwween the Linux notion of CPU ID to the hypervisor's
notion of CPU ID is not initialized, IPI must fall back to the
non-enlightened path.

The recent merge of upstream changes into the hyperv branch resolved a
merge conflict wronly by returning success in that case, which results in
the IPI not being sent at all. Fix it up.

Fixes: 8f63e9230dec ("Merge branch 'x86/urgent' into x86/hyperv")
Reported-by: Michael Kelley <mikelley@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: gregkh@linuxfoundation.org
Cc: devel@linuxdriverproject.org
Cc: olaf@aepfle.de
Cc: apw@canonical.com
Cc: jasowang@redhat.com
Cc: hpa@zytor.com
Cc: sthemmin@microsoft.com
Cc: Michael.H.Kelley@microsoft.com
Cc: vkuznets@redhat.com
Link: https://lkml.kernel.org/r/20180720035009.3995-1-kys@linuxonhyperv.com
arch/x86/hyperv/hv_apic.c

index 0c3c9f8fee77bbeaf2db91072b32b3c70d9205ee..5b0f613428c252291379e9bbb7cc664c929ce07f 100644 (file)
@@ -168,7 +168,7 @@ static bool __send_ipi_mask(const struct cpumask *mask, int vector)
        for_each_cpu(cur_cpu, mask) {
                vcpu = hv_cpu_number_to_vp_number(cur_cpu);
                if (vcpu == VP_INVAL)
-                       return true;
+                       return false;
 
                /*
                 * This particular version of the IPI hypercall can