Messages in this thread | | | Date | Wed, 18 Nov 2015 14:57:17 +0000 (UTC) | From | Mathieu Desnoyers <> | Subject | Re: Compat syscall instrumentation and return from execve issue |
| |
----- On Nov 11, 2015, at 8:08 PM, Andy Lutomirski luto@amacapital.net wrote:
> On Mon, Nov 9, 2015 at 6:31 PM, Steven Rostedt <rostedt@goodmis.org> wrote: >> On Mon, 9 Nov 2015 17:51:25 -0800 >> Andy Lutomirski <luto@amacapital.net> wrote: >> >> >>> do_syscall_32_irqs_on would call syscall_return_slowpath(regs, >>> AUDIT_ARCH_I386). do_syscall_64 (which doesn't exist yet) would call >>> syscall_return_slowpath(regs, AUDIT_ARCH_X86_64). >>> >> >> OK, so you are saying that a execve that switches the current state >> into ia32 will return from the do_syscall_64 regardless? Then we would >> have to add tracepoints that would be for both ia32 and x86_64. But >> that would solve the current issue at hand. >> > > Indeed. Unlike fork/clone, execve is only magical insofar as it does > magical things to task_struct and it enters in the 64-bit native case > through a nasty asm path. The former has no effect on the entry code > (except most likely blocking opportunistic sysret because we're a bit > silly and it might break ABI to change that), and the latter barely > matters for this purpose. In any event, I'm planning on getting rid > of the asm stub for 4.5 if I can get the code written and tested in > time.
I guess there are no plans to do this kind of change to other architectures in the near future ? If so, we might want to investigate the thread status flag approach for other architectures, and use the AUDIT_ARCH_* approach for x86.
Thoughts ?
Thanks,
Mathieu
> > --Andy > > > > > -- > Andy Lutomirski > AMA Capital Management, LLC
-- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com
| |