Messages in this thread Patch in this message | | | From | John Blackwood <> | Subject | [PATCH] ARM64: Clear out any singlestep state on a ptrace detach operation | Date | Thu, 3 Dec 2015 14:05:31 -0600 |
| |
Hello Will,
I have a patch for a ptrace(2) issue that we encountered on arm64 kernels. If a debugger singlesteps a ptraced task, and then does a ptrace(2) PTRACE_DETACH command, the task will not resume successfully. It seems that clearing out the singlestep state, as something like a ptrace(2) PTRACE_CONT does, gets this working.
Thank you for your time and considerations.
----- -----
arm64: Clear out any singlestep state on a ptrace detach operation.
Make sure to clear out any ptrace singlestep state when a ptrace(2) PTRACE_DETACH call is made on arm64 systems.
Otherwise, the previously ptraced task will die off with a SIGTRAP signal if the debugger just previously singlestepped the ptraced task.
Signed-off-by: John Blackwood <john.blackwood@ccur.com>
Index: b/arch/arm64/kernel/ptrace.c =================================================================== --- a/arch/arm64/kernel/ptrace.c +++ b/arch/arm64/kernel/ptrace.c @@ -58,6 +58,7 @@ */ void ptrace_disable(struct task_struct *child) { + user_disable_single_step(child); } #ifdef CONFIG_HAVE_HW_BREAKPOINT
| |