On Mon, Mar 11, 2019 at 08:04:39PM -0700, Andy Lutomirski wrote: > On Mon, Mar 11, 2019 at 6:35 PM Haibo Xu (Arm Technology China) > <haibo...@arm.com> wrote: > >
[...] > > For the PTRACE_SYSEMU_SINGLESTEP request, ptrace only need to report(send > > SIGTRAP) at the entry of a system call, no need to report at the exit of a > > system call.That's why the old logic-{step = ((flags & (_TIF_SINGLESTEP | > > _TIF_SYSCALL_EMU)) == _TIF_SINGLESTEP)} here try to filter out the special > > case(PTRACE_SYSEMU_SINGLESTEP). > > > > Another way to make sure the logic is fine, you can run some tests with > > respect to both logic, and to check whether they have the same behavior. > > tools/testing/selftests/x86/ptrace_syscall.c has a test intended to > exercise this. Can one of you either confirm that it does exercise it > and that it still passes or can you improve the test? > I did run the tests which didn't flag anything. I haven't looked at the details of test implementation, but seem to miss this case. I will see what can be improved(if it's possible). Also I think single_step_syscall is the one I need to look for this particular one. Both single_step_syscall ptrace_syscall reported no errors. -- Regards, Sudeep