diff options
author | Max Filippov | 2022-03-16 02:04:17 -0700 |
---|---|---|
committer | Max Filippov | 2022-03-16 02:14:20 -0700 |
commit | f406f2d03e07afc199dd8cf501f361dde6be8a69 (patch) | |
tree | 689508261002a8d69b29d1919d4974fb75617864 /arch/xtensa | |
parent | 89b184f980f012421fb22c939b50b3dfd7fe16b3 (diff) |
xtensa: fix stop_machine_cpuslocked call in patch_text
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: 64711f9a47d4 ("xtensa: implement jump_label support")
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa')
-rw-r--r-- | arch/xtensa/kernel/jump_label.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/xtensa/kernel/jump_label.c b/arch/xtensa/kernel/jump_label.c index 61cf6497a646..0dde21e0d3de 100644 --- a/arch/xtensa/kernel/jump_label.c +++ b/arch/xtensa/kernel/jump_label.c @@ -61,7 +61,7 @@ static void patch_text(unsigned long addr, const void *data, size_t sz) .data = data, }; stop_machine_cpuslocked(patch_text_stop_machine, - &patch, NULL); + &patch, cpu_online_mask); } else { unsigned long flags; |