From: Russell King - ARM Linux <linux@armlinux.org.uk> To: Rafael David Tinoco <rafael.tinoco@linaro.org> Cc: Vladimir Murzin <vladimir.murzin@arm.com>, Vincent Whitchurch <vincent.whitchurch@axis.com>, Nick Desaulniers <ndesaulniers@google.com>, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Masahiro Yamada <yamada.masahiro@socionext.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Thomas Gleixner <tglx@linutronix.de>, Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH] arm: always update thread_info->syscall Date: Mon, 26 Nov 2018 23:33:03 +0000 [thread overview] Message-ID: <20181126233303.GZ30658@n2100.armlinux.org.uk> (raw) In-Reply-To: <20181126225335.10477-1-rafael.tinoco@linaro.org> On Mon, Nov 26, 2018 at 08:53:35PM -0200, Rafael David Tinoco wrote: > Right now, only way for task->thread_info->syscall to be updated is if > if _TIF_SYSCALL_WORK is set in current's task thread_info->flags > (similar to what has_syscall_work() checks for arm64). > > This means that "->syscall" will only be updated if we are tracing the > syscalls through ptrace, for example. This is NOT the same behavior as > arm64, when pt_regs->syscallno is updated in the beginning of svc0 > handler for *every* syscall entry. So when was it decided that the syscall number will always be required (we need it to know how far back this has to be backported). > This patch fixes the issue since this behavior is needed for > /proc/<pid>/syscall 1st argument to be correctly updated. > > Link: https://bugs.linaro.org/show_bug.cgi?id=3783 > Cc: <stable@vger.kernel.org> # v4.4 v4.9 v4.14 v4.19 > Signed-off-by: Rafael David Tinoco <rafael.tinoco@linaro.org> > --- > arch/arm/kernel/asm-offsets.c | 1 + > arch/arm/kernel/entry-common.S | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c > index 3968d6c22455..bfe68a98e1c6 100644 > --- a/arch/arm/kernel/asm-offsets.c > +++ b/arch/arm/kernel/asm-offsets.c > @@ -64,6 +64,7 @@ int main(void) > DEFINE(TI_USED_CP, offsetof(struct thread_info, used_cp)); > DEFINE(TI_TP_VALUE, offsetof(struct thread_info, tp_value)); > DEFINE(TI_FPSTATE, offsetof(struct thread_info, fpstate)); > + DEFINE(TI_SYSCALL, offsetof(struct thread_info, syscall)); > #ifdef CONFIG_VFP > DEFINE(TI_VFPSTATE, offsetof(struct thread_info, vfpstate)); > #ifdef CONFIG_SMP > diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S > index 0465d65d23de..557e2add4e83 100644 > --- a/arch/arm/kernel/entry-common.S > +++ b/arch/arm/kernel/entry-common.S > @@ -257,6 +257,8 @@ local_restart: > tst r10, #_TIF_SYSCALL_WORK @ are we tracing syscalls? > bne __sys_trace > > + str r7, [tsk, #TI_SYSCALL] @ update thread_info->syscall "scno" is the systemcall number, not "r7". > + > invoke_syscall tbl, scno, r10, __ret_fast_syscall > > add r1, sp, #S_OFF > -- > 2.20.0.rc1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up
WARNING: multiple messages have this Message-ID (diff)
From: linux@armlinux.org.uk (Russell King - ARM Linux) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] arm: always update thread_info->syscall Date: Mon, 26 Nov 2018 23:33:03 +0000 [thread overview] Message-ID: <20181126233303.GZ30658@n2100.armlinux.org.uk> (raw) In-Reply-To: <20181126225335.10477-1-rafael.tinoco@linaro.org> On Mon, Nov 26, 2018 at 08:53:35PM -0200, Rafael David Tinoco wrote: > Right now, only way for task->thread_info->syscall to be updated is if > if _TIF_SYSCALL_WORK is set in current's task thread_info->flags > (similar to what has_syscall_work() checks for arm64). > > This means that "->syscall" will only be updated if we are tracing the > syscalls through ptrace, for example. This is NOT the same behavior as > arm64, when pt_regs->syscallno is updated in the beginning of svc0 > handler for *every* syscall entry. So when was it decided that the syscall number will always be required (we need it to know how far back this has to be backported). > This patch fixes the issue since this behavior is needed for > /proc/<pid>/syscall 1st argument to be correctly updated. > > Link: https://bugs.linaro.org/show_bug.cgi?id=3783 > Cc: <stable@vger.kernel.org> # v4.4 v4.9 v4.14 v4.19 > Signed-off-by: Rafael David Tinoco <rafael.tinoco@linaro.org> > --- > arch/arm/kernel/asm-offsets.c | 1 + > arch/arm/kernel/entry-common.S | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c > index 3968d6c22455..bfe68a98e1c6 100644 > --- a/arch/arm/kernel/asm-offsets.c > +++ b/arch/arm/kernel/asm-offsets.c > @@ -64,6 +64,7 @@ int main(void) > DEFINE(TI_USED_CP, offsetof(struct thread_info, used_cp)); > DEFINE(TI_TP_VALUE, offsetof(struct thread_info, tp_value)); > DEFINE(TI_FPSTATE, offsetof(struct thread_info, fpstate)); > + DEFINE(TI_SYSCALL, offsetof(struct thread_info, syscall)); > #ifdef CONFIG_VFP > DEFINE(TI_VFPSTATE, offsetof(struct thread_info, vfpstate)); > #ifdef CONFIG_SMP > diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S > index 0465d65d23de..557e2add4e83 100644 > --- a/arch/arm/kernel/entry-common.S > +++ b/arch/arm/kernel/entry-common.S > @@ -257,6 +257,8 @@ local_restart: > tst r10, #_TIF_SYSCALL_WORK @ are we tracing syscalls? > bne __sys_trace > > + str r7, [tsk, #TI_SYSCALL] @ update thread_info->syscall "scno" is the systemcall number, not "r7". > + > invoke_syscall tbl, scno, r10, __ret_fast_syscall > > add r1, sp, #S_OFF > -- > 2.20.0.rc1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up
next prev parent reply other threads:[~2018-11-26 23:33 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-11-26 22:53 [PATCH] arm: always update thread_info->syscall Rafael David Tinoco 2018-11-26 22:53 ` Rafael David Tinoco 2018-11-26 23:33 ` Russell King - ARM Linux [this message] 2018-11-26 23:33 ` Russell King - ARM Linux 2018-11-26 23:41 ` Russell King - ARM Linux 2018-11-26 23:41 ` Russell King - ARM Linux 2018-11-26 23:44 ` Russell King - ARM Linux 2018-11-26 23:44 ` Russell King - ARM Linux 2018-11-27 10:30 ` Rafael David Tinoco 2018-11-27 10:30 ` Rafael David Tinoco 2018-11-27 10:56 ` Russell King - ARM Linux 2018-11-27 10:56 ` Russell King - ARM Linux 2018-11-27 15:35 ` Russell King - ARM Linux 2018-11-27 15:35 ` Russell King - ARM Linux 2018-11-27 15:48 ` David Laight 2018-11-27 15:48 ` David Laight 2018-11-27 15:48 ` David Laight 2018-11-27 20:52 ` Rafael David Tinoco 2018-11-27 20:52 ` Rafael David Tinoco [not found] ` <20181127104345.4CAC820873@mail.kernel.org> 2018-11-27 10:54 ` Rafael David Tinoco
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20181126233303.GZ30658@n2100.armlinux.org.uk \ --to=linux@armlinux.org.uk \ --cc=T.E.Baldwin99@members.leeds.ac.uk \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mathieu.desnoyers@efficios.com \ --cc=ndesaulniers@google.com \ --cc=rafael.tinoco@linaro.org \ --cc=stable@vger.kernel.org \ --cc=tglx@linutronix.de \ --cc=vincent.whitchurch@axis.com \ --cc=vladimir.murzin@arm.com \ --cc=yamada.masahiro@socionext.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.