Skip to contentSkip to conversation

x86/hyper-v: Fix a merge error

PATCH New [email protected] 2 participants 2 messages Jul 20, 2018

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86/hyper-v: Fix a merge error

From: "K. Y. Srinivasan" <[email protected]>

When the mapping betwween the Linux notion of CPU ID to the hypervisor's notion of CPU ID is not initialized, we should fall back on the non-enligghtened path for IPI. A merge error introduced this bug; fix it.

Fixes 1268ed0c474a ("Merge branch 'x86/urgent' into x86/hyperv")
---
 arch/x86/hyperv/hv_apic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/hyperv/hv_apic.c +1 -1
index 0c3c9f8fee77..5b0f613428c2 100644
@@ -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
Signature · 1 line
2.17.1
#1 lore raw

[tip:x86/hyperv] x86/hyper-v: Fix wrong merge conflict resolution

x86/hyper-v: Fix wrong merge conflict resolution
Commit-ID:  be0e16ce7c3bf9855f1ef5ae46cf889e1784ddea
Gitweb:     https://git.kernel.org/tip/be0e16ce7c3bf9855f1ef5ae46cf889e1784ddea
Author:     K. Y. Srinivasan <[email protected]>
AuthorDate: Fri, 20 Jul 2018 03:50:09 +0000
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Fri, 20 Jul 2018 06:56:23 +0200

x86/hyper-v: Fix wrong merge conflict resolution

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.

---
 arch/x86/hyperv/hv_apic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/hyperv/hv_apic.c +1 -1
index 0c3c9f8fee77..5b0f613428c2 100644
@@ -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