Re: [PATCH v4 0/2] Syscall User Redirection

From: Gabriel Krisman Bertazi
Date: Tue Aug 04 2020 - 10:27:24 EST


Pavel Machek <pavel@xxxxxx> writes:

> Hi!
>
>> This is v4 of Syscall User Redirection. The implementation itself is
>> not modified from v3, it only applies the latest round of reviews to the
>> selftests.
>>
>> __NR_syscalls is not really exported in header files other than
>> asm-generic for every architecture, so it felt safer to optionally
>> expose it with a fallback to a high value.
>>
>> Also, I didn't expose tests for PR_GET as that is not currently
>> implemented. If possible, I'd have it supported by a future patchset,
>> since it is not immediately necessary to support this feature.
>>
>> Finally, one question: Which tree would this go through?
>
> Should it come with Documentation?

Hi,

Thanks for the review.

I will prepare it for the next iteration.

> How does it interact with ptrace, seccomp and similar?

That is a very good question.

Regarding seccomp, this must take precedence, since the use case is
emulation (it can be invoked with a different ABI) such that seccomp
filtering by syscall number doesn't make sense in the first place. In
addition, either the syscall is dispatched back to userspace, in which
case there is no resource for seccomp to protect, or the syscall will be
executed, and seccomp will execute next.

Regarding ptrace, I experimented with before and after, and while the
same ABI argument applies, I felt it was easier to debug if I let ptrace
happen for syscalls that are dispatched back to userspace. In addition,
doing it after ptrace makes the code in syscall_exit_work slightly
simpler, since it doesn't require special handling for this feature.

For PTRACE_SYSEMU in particular, either placing this before or after is
a bit odd. I don't think there is a right answer for this one, but I
don't see anyone wanting to use these features at the same time. I
think as long as it is documented behavior, it should be fine either
way.

--
Gabriel Krisman Bertazi