x86/kprobes: Update kcb status flag after singlestepping
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Tue, 2 Aug 2022 06:04:16 +0000 (15:04 +0900)
committerIngo Molnar <mingo@kernel.org>
Tue, 2 Aug 2022 10:35:04 +0000 (12:35 +0200)
commitdec8784c9088b131a1523f582c2194cfc8107dc0
treebc17e45a99172dc9dbd541538d41b7f0924a8288
parent28f6c37a2910f565b4f5960df52b2eccae28c891
x86/kprobes: Update kcb status flag after singlestepping

Fix kprobes to update kcb (kprobes control block) status flag to
KPROBE_HIT_SSDONE even if the kp->post_handler is not set.

This bug may cause a kernel panic if another INT3 user runs right
after kprobes because kprobe_int3_handler() misunderstands the
INT3 is kprobe's single stepping INT3.

Fixes: 6256e668b7af ("x86/kprobes: Use int3 instead of debug trap for single-step")
Reported-by: Daniel Müller <deso@posteo.net>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Daniel Müller <deso@posteo.net>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20220727210136.jjgc3lpqeq42yr3m@muellerd-fedora-PC2BDTX9
Link: https://lore.kernel.org/r/165942025658.342061.12452378391879093249.stgit@devnote2
arch/x86/kernel/kprobes/core.c