[PATCH V4 0/4] arch: patch_text: Fixup last cpu should be master

guoren@kernel.org posted 4 patches 4 years, 2 months ago
arch/arm64/kernel/patching.c      | 4 ++--
arch/csky/kernel/probes/kprobes.c | 2 +-
arch/riscv/kernel/patch.c         | 2 +-
arch/xtensa/kernel/jump_label.c   | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
[PATCH V4 0/4] arch: patch_text: Fixup last cpu should be master
Posted by guoren@kernel.org 4 years, 2 months ago
From: Guo Ren <guoren@linux.alibaba.com>

These patch_text implementations are using stop_machine_cpuslocked
infrastructure with atomic cpu_count. The original idea: When the
master CPU patch_text, the others should wait for it. But current
implementation is using the first CPU as master, which couldn't
guarantee the remaining CPUs are waiting. This patch changes the
last CPU as the master to solve the potential risk.

Changes in v4:
 - Add "Fixes:" for stable fixup
 - Add cover letter for the patch series

Changes in v3:
 - Separate the patch for different arch.

Changes in v2:
 - Fixup num_online_cpus() - 1 is not last cpu

Guo Ren (4):
  arm64: patch_text: Fixup last cpu should be master
  riscv: patch_text: Fixup last cpu should be master
  xtensa: patch_text: Fixup last cpu should be master
  csky: patch_text: Fixup last cpu should be master

 arch/arm64/kernel/patching.c      | 4 ++--
 arch/csky/kernel/probes/kprobes.c | 2 +-
 arch/riscv/kernel/patch.c         | 2 +-
 arch/xtensa/kernel/jump_label.c   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

-- 
2.25.1
Re: [PATCH V4 0/4] arch: patch_text: Fixup last cpu should be master
Posted by Will Deacon 4 years, 2 months ago
On Thu, 7 Apr 2022 15:33:19 +0800, guoren@kernel.org wrote:
> From: Guo Ren <guoren@linux.alibaba.com>
> 
> These patch_text implementations are using stop_machine_cpuslocked
> infrastructure with atomic cpu_count. The original idea: When the
> master CPU patch_text, the others should wait for it. But current
> implementation is using the first CPU as master, which couldn't
> guarantee the remaining CPUs are waiting. This patch changes the
> last CPU as the master to solve the potential risk.
> 
> [...]

Applied first patch only to arm64 (for-next/fixes), thanks!

[1/4] arm64: patch_text: Fixup last cpu should be master
      https://git.kernel.org/arm64/c/31a099dbd91e

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev