* [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls
@ 2016-04-27 1:56 Dmitry V. Levin
2016-04-27 2:45 ` Mike Frysinger
2016-04-27 19:23 ` Helge Deller
0 siblings, 2 replies; 4+ messages in thread
From: Dmitry V. Levin @ 2016-04-27 1:56 UTC (permalink / raw)
To: James E.J. Bottomley, Helge Deller
Cc: Mike Frysinger, linux-parisc, linux-kernel
Do not load one entry beyond the end of the syscall table when the
syscall number of a traced process equals to __NR_Linux_syscalls.
Similar bug with regular processes was fixed by commit 3bb457af4fa8
("[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls").
This bug was found by strace test suite.
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
arch/parisc/kernel/syscall.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
index c976ebf..57b4836 100644
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -344,7 +344,7 @@ tracesys_next:
#endif
cmpib,COND(=),n -1,%r20,tracesys_exit /* seccomp may have returned -1 */
- comiclr,>>= __NR_Linux_syscalls, %r20, %r0
+ comiclr,>> __NR_Linux_syscalls, %r20, %r0
b,n .Ltracesys_nosys
LDREGX %r20(%r19), %r19
--
ldv
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls
2016-04-27 1:56 [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls Dmitry V. Levin
@ 2016-04-27 2:45 ` Mike Frysinger
2016-04-27 3:28 ` Dmitry V. Levin
2016-04-27 19:23 ` Helge Deller
1 sibling, 1 reply; 4+ messages in thread
From: Mike Frysinger @ 2016-04-27 2:45 UTC (permalink / raw)
To: Dmitry V. Levin
Cc: James E.J. Bottomley, Helge Deller, linux-parisc, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1143 bytes --]
On 27 Apr 2016 04:56, Dmitry V. Levin wrote:
> Do not load one entry beyond the end of the syscall table when the
> syscall number of a traced process equals to __NR_Linux_syscalls.
> Similar bug with regular processes was fixed by commit 3bb457af4fa8
> ("[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls").
>
> This bug was found by strace test suite.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
> ---
> arch/parisc/kernel/syscall.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
> index c976ebf..57b4836 100644
> --- a/arch/parisc/kernel/syscall.S
> +++ b/arch/parisc/kernel/syscall.S
> @@ -344,7 +344,7 @@ tracesys_next:
> #endif
>
> cmpib,COND(=),n -1,%r20,tracesys_exit /* seccomp may have returned -1 */
> - comiclr,>>= __NR_Linux_syscalls, %r20, %r0
> + comiclr,>> __NR_Linux_syscalls, %r20, %r0
> b,n .Ltracesys_nosys
>
> LDREGX %r20(%r19), %r19
i've deployd your fix to hake, so feel free to give the tests another
run to try and crash the box :).
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls
2016-04-27 2:45 ` Mike Frysinger
@ 2016-04-27 3:28 ` Dmitry V. Levin
0 siblings, 0 replies; 4+ messages in thread
From: Dmitry V. Levin @ 2016-04-27 3:28 UTC (permalink / raw)
To: Mike Frysinger
Cc: James E.J. Bottomley, Helge Deller, linux-parisc, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1319 bytes --]
On Tue, Apr 26, 2016 at 10:45:11PM -0400, Mike Frysinger wrote:
> On 27 Apr 2016 04:56, Dmitry V. Levin wrote:
> > Do not load one entry beyond the end of the syscall table when the
> > syscall number of a traced process equals to __NR_Linux_syscalls.
> > Similar bug with regular processes was fixed by commit 3bb457af4fa8
> > ("[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls").
> >
> > This bug was found by strace test suite.
> >
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
> > ---
> > arch/parisc/kernel/syscall.S | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
> > index c976ebf..57b4836 100644
> > --- a/arch/parisc/kernel/syscall.S
> > +++ b/arch/parisc/kernel/syscall.S
> > @@ -344,7 +344,7 @@ tracesys_next:
> > #endif
> >
> > cmpib,COND(=),n -1,%r20,tracesys_exit /* seccomp may have returned -1 */
> > - comiclr,>>= __NR_Linux_syscalls, %r20, %r0
> > + comiclr,>> __NR_Linux_syscalls, %r20, %r0
> > b,n .Ltracesys_nosys
> >
> > LDREGX %r20(%r19), %r19
>
> i've deployd your fix to hake, so feel free to give the tests another
> run to try and crash the box :).
With this fix the box no longer crashes.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls
2016-04-27 1:56 [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls Dmitry V. Levin
2016-04-27 2:45 ` Mike Frysinger
@ 2016-04-27 19:23 ` Helge Deller
1 sibling, 0 replies; 4+ messages in thread
From: Helge Deller @ 2016-04-27 19:23 UTC (permalink / raw)
To: Dmitry V. Levin, James E.J. Bottomley
Cc: Mike Frysinger, linux-parisc, linux-kernel
On 27.04.2016 03:56, Dmitry V. Levin wrote:
> Do not load one entry beyond the end of the syscall table when the
> syscall number of a traced process equals to __NR_Linux_syscalls.
> Similar bug with regular processes was fixed by commit 3bb457af4fa8
> ("[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls").
>
> This bug was found by strace test suite.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Acked-by: Helge Deller <deller@gmx.de>
Thanks!
Helge
> ---
> arch/parisc/kernel/syscall.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
> index c976ebf..57b4836 100644
> --- a/arch/parisc/kernel/syscall.S
> +++ b/arch/parisc/kernel/syscall.S
> @@ -344,7 +344,7 @@ tracesys_next:
> #endif
>
> cmpib,COND(=),n -1,%r20,tracesys_exit /* seccomp may have returned -1 */
> - comiclr,>>= __NR_Linux_syscalls, %r20, %r0
> + comiclr,>> __NR_Linux_syscalls, %r20, %r0
> b,n .Ltracesys_nosys
>
> LDREGX %r20(%r19), %r19
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-04-27 19:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-27 1:56 [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls Dmitry V. Levin
2016-04-27 2:45 ` Mike Frysinger
2016-04-27 3:28 ` Dmitry V. Levin
2016-04-27 19:23 ` Helge Deller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).