lkml.org 
[lkml]   [2014]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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
>


\
 
 \ /
  Last update: 2014-09-02 10:21    [W:0.150 / U:0.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site