diff options
author | Takashi Iwai <tiwai@suse.de> | 2021-02-15 09:06:39 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2021-02-15 09:07:01 +0100 |
commit | de1528ee7cb7c161444dadbc971d050bebb5cbe7 (patch) | |
tree | a1f53cd279966802de097c0f0f6625b49e6903f1 /arch/x86/hyperv/mmu.c | |
parent | 0d3070f5e6551d8a759619e85736e49a3bf40398 (diff) | |
parent | 15447b64789d9ade71eb374d5ae1f37d0bbce0bd (diff) |
Merge branch 'for-next' into for-linus
Unification of 5.12-devel branches.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'arch/x86/hyperv/mmu.c')
-rw-r--r-- | arch/x86/hyperv/mmu.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/x86/hyperv/mmu.c b/arch/x86/hyperv/mmu.c index 5208ba49c89a..2c87350c1fb0 100644 --- a/arch/x86/hyperv/mmu.c +++ b/arch/x86/hyperv/mmu.c @@ -66,11 +66,17 @@ static void hyperv_flush_tlb_others(const struct cpumask *cpus, if (!hv_hypercall_pg) goto do_native; - if (cpumask_empty(cpus)) - return; - local_irq_save(flags); + /* + * Only check the mask _after_ interrupt has been disabled to avoid the + * mask changing under our feet. + */ + if (cpumask_empty(cpus)) { + local_irq_restore(flags); + return; + } + flush_pcpu = (struct hv_tlb_flush **) this_cpu_ptr(hyperv_pcpu_input_arg); |