Messages in this thread | | | Date | Mon, 3 Jun 2019 18:22:52 +0100 | From | Catalin Marinas <> | Subject | Re: [PATCH v4 2/4] x86: simplify _TIF_SYSCALL_EMU handling |
| |
On Thu, May 23, 2019 at 10:06:16AM +0100, Sudeep Holla wrote: > The usage of emulated/_TIF_SYSCALL_EMU flags in syscall_trace_enter > seems to be bit overcomplicated than required. Let's simplify it. > > Cc: Andy Lutomirski <luto@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Borislav Petkov <bp@alien8.de> > Acked-by: Oleg Nesterov <oleg@redhat.com> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > arch/x86/entry/common.c | 17 ++++++----------- > 1 file changed, 6 insertions(+), 11 deletions(-) > > diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c > index a986b3c8294c..0a61705d62ec 100644 > --- a/arch/x86/entry/common.c > +++ b/arch/x86/entry/common.c > @@ -72,23 +72,18 @@ static long syscall_trace_enter(struct pt_regs *regs) > > struct thread_info *ti = current_thread_info(); > unsigned long ret = 0; > - bool emulated = false; > u32 work; > > if (IS_ENABLED(CONFIG_DEBUG_ENTRY)) > BUG_ON(regs != task_pt_regs(current)); > > - work = READ_ONCE(ti->flags) & _TIF_WORK_SYSCALL_ENTRY; > + work = READ_ONCE(ti->flags); > > - if (unlikely(work & _TIF_SYSCALL_EMU)) > - emulated = true; > - > - if ((emulated || (work & _TIF_SYSCALL_TRACE)) && > - tracehook_report_syscall_entry(regs)) > - return -1L; > - > - if (emulated) > - return -1L; > + if (work & (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_EMU)) { > + ret = tracehook_report_syscall_entry(regs); > + if (ret || (work & _TIF_SYSCALL_EMU)) > + return -1L; > + }
Andy (or the other x86 folk), could I please get an ack on this patch? I plan to queue this series through the arm64 tree (though if you want to merge it separately, it looks like an independent clean-up with no dependencies on the other patches).
Thanks.
-- Catalin
| |