csky: patch_text: Fixup last cpu should be master
authorGuo Ren <guoren@linux.alibaba.com>
Wed, 6 Apr 2022 14:28:43 +0000 (22:28 +0800)
committerGuo Ren <guoren@linux.alibaba.com>
Thu, 7 Apr 2022 07:35:57 +0000 (15:35 +0800)
commit8c4d16471e2babe9bdfe41d6ef724526629696cb
treed3b2a759422a280006149742b8eedf861cfa3f9e
parentd17ecf443d8fdccf2e1674b1ac9d73bc9c9429c7
csky: patch_text: Fixup last cpu should be master

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.

Fixes: 33e53ae1ce41 ("csky: Add kprobes supported")
Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: <stable@vger.kernel.org>
arch/csky/kernel/probes/kprobes.c