Messages in this thread | | | Date | Tue, 02 Sep 2014 16:58:38 +0900 | From | AKASHI Takahiro <> | Subject | Re: [PATCH v6 2/6] arm64: ptrace: allow tracer to skip a system call |
| |
On 09/01/2014 08:37 PM, Will Deacon wrote: > On Wed, Aug 27, 2014 at 06:55:46AM +0100, AKASHI Takahiro wrote: >> On 08/27/2014 02:51 AM, Will Deacon wrote: >>> On Fri, Aug 22, 2014 at 01:35:17AM +0100, AKASHI Takahiro wrote: >>>> Oops, you're absolutely right. I didn't think of this case. >>>> syscall_trace_enter() should not return a syscallno directly, but always >>>> return -1 if syscallno < 0. (except when secure_computing() returns with -1) >>>> This also implies that tracehook_report_syscall() should also have a return value. >>>> >>>> Will, is this fine with you? >>> >>> Well, the first thing that jumps out at me is why this is being done >>> completely differently for arm64 and arm. I thought adding the new ptrace >>> requests would reconcile the differences? >> >> I'm not sure what portion of my code you mentioned as "completely different", but >> >> 1) >> setting x0 to -ENOSYS is necessary because, otherwise, user-issued syscall(-1) will >> return a bogus value when audit tracing is on. >> >> Please note that, on arm, >> not traced traced >> ------ ------ >> syscall(-1) aborted OOPs(BUG_ON) >> syscall(-3000) aborted aborted >> syscall(1000) ENOSYS ENOSYS >> >> So, anyhow, its a bit difficult and meaningless to mimic these invalid cases. > > I'm not suggesting we make ourselves bug-compatible with ARM. Instead, I'd > rather see a series of patches getting the ARM code working correctly, > before we go off doing something different for arm64.
I see.
>> 2) >> branching a new label, syscall_trace_return_skip (see entry.S), after syscall_trace_enter() >> is necessary in order to avoid OOPS in audit_syscall_enter() as we discussed. >> >> Did I make it clear? > > Sure. So let's fix ARM, then look at the arm64 port after that. I really > want to avoid divergence in this area.
Okey, I will start with fixing the issue on arm.
-Takahiro AKASHI
> Will >
| |