xtensa: fix stop_machine_cpuslocked call in patch_text

commit f406f2d03e07afc199dd8cf501f361dde6be8a69 upstream.

patch_text must invoke patch_text_stop_machine on all online CPUs, but
it calls stop_machine_cpuslocked with NULL cpumask. As a result only one
CPU runs patch_text_stop_machine potentially leaving stale icache
entries on other CPUs. Fix that by calling stop_machine_cpuslocked with
cpu_online_mask as the last argument.

Cc: stable@vger.kernel.org
Fixes: 64711f9a47 ("xtensa: implement jump_label support")
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Max Filippov
2022-03-16 02:04:17 -07:00
committed by Greg Kroah-Hartman
parent 20f974dce5
commit dac518bbce

View File

@@ -61,7 +61,7 @@ static void patch_text(unsigned long addr, const void *data, size_t sz)
.data = data, .data = data,
}; };
stop_machine_cpuslocked(patch_text_stop_machine, stop_machine_cpuslocked(patch_text_stop_machine,
&patch, NULL); &patch, cpu_online_mask);
} else { } else {
unsigned long flags; unsigned long flags;