Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753226AbcD0CCL (ORCPT ); Tue, 26 Apr 2016 22:02:11 -0400 Received: from vmicros1.altlinux.org ([194.107.17.57]:58808 "EHLO micros1.altlinux.org" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753092AbcD0CCI (ORCPT ); Tue, 26 Apr 2016 22:02:08 -0400 X-Greylist: delayed 353 seconds by postgrey-1.27 at vger.kernel.org; Tue, 26 Apr 2016 22:02:08 EDT Date: Wed, 27 Apr 2016 04:56:11 +0300 From: "Dmitry V. Levin" To: "James E.J. Bottomley" , Helge Deller Cc: Mike Frysinger , linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] parisc: fix a bug when syscall number of tracee is __NR_Linux_syscalls Message-ID: <20160427015611.GA23316@altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 913 Lines: 28 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 --- 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