Re: [PATCH v4 1/2] ptrace: save the type of syscall-stop in ptrace_message

From: Oleg Nesterov
Date: Thu Nov 29 2018 - 10:03:44 EST


On 11/28, Andy Lutomirski wrote:
>
> I don't like any of this at all. Can we please choose a sensible API
> design and let the API drive the implementation instead of vice versa?

I too do not understand your concerns...

> ISTM the correct solution is to add some new state to task_struct for
> this.

Sure we can do this. I have argued with the previous version not because
the new member blows the task_struct. Although I think it is better to avoid
this if possible.

But this doesn't affect the API.

Yes, this version uses ->ptrace_message but I think this is _good_ exactly
because it is already visible to userspace, so if debugger only needs to
distinguish syscall entry/exit it can simply use PTRACE_GETEVENTMSG without
PTRACE_GET_SYSCALL_INFO.

> If we're concerned about making task_struct bigger, I have a
> half-finished patch to factor all the ptrace tracee state into a
> separate struct.

I even sent the patch(es) which does this several years ago ;)

Oleg.