Messages in this thread Patch in this message | | | Date | Tue, 25 Nov 2014 13:56:26 +0000 | From | Will Deacon <> | Subject | Re: [PATCH v8 2/6] arm64: ptrace: allow tracer to skip a system call |
| |
On Thu, Nov 20, 2014 at 05:52:34AM +0000, AKASHI Takahiro wrote: > On 11/20/2014 02:13 PM, AKASHI Takahiro wrote: > > On 11/20/2014 04:06 AM, Will Deacon wrote: > >> Ok, but now userspace sees -ENOSYS for a skipped system call in that case, > >> whereas it would usually see whatever the trace put in x0, right? > > > > Yes. > > If you don't really like this behavior, how about this patch instead of my [2/6] patch? > > > > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > > index 726b910..1ef57d0 100644 > > --- a/arch/arm64/kernel/entry.S > > +++ b/arch/arm64/kernel/entry.S > > @@ -668,8 +668,15 @@ ENDPROC(el0_svc) > > * switches, and waiting for our parent to respond. > > */ > > __sys_trace: > > + cmp w8, #-1 // default errno for invalid > > I needed to correct the code here: > w8 should be w26, thinking of compat syscalls. > > > + b.ne 1f // system call > > + mov x0, #-ENOSYS > > + str x0, [sp, #S_X0] > > +1: > > and this part might better be generalized like the following: > > __sys_trace: > cmp w26, w25 // cannot use x26 and x25 here > b.hs 1f // scno > sc_nr || scno < 0 > b 2f > 1: > mov x0, #-ENOSYS > str x0, [sp, #S_X0] > 2: > > If you will be comfortable, I will submit a new patch soon.
Yes, please send a new series including this change.
Will
| |