From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com ([217.140.101.70]:34263 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754645AbcARMYu (ORCPT ); Mon, 18 Jan 2016 07:24:50 -0500 Date: Mon, 18 Jan 2016 12:24:48 +0000 From: Will Deacon To: stable@vger.kernel.org, sasha.levin@oracle.com, gregkh@linuxfoundation.org Cc: linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH] arm64: fix off-by-one in compat syscall table for syscalls over 382 Message-ID: <20160118122447.GE3693@arm.com> References: <1450804573-322-1-git-send-email-will.deacon@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1450804573-322-1-git-send-email-will.deacon@arm.com> Sender: stable-owner@vger.kernel.org List-ID: Greg, Sasha, Is there anything else I need to do to get this queued in the 3.17.y and 3.18.y stable trees? There's no corresponding upstream commit since the issue was fixed by accident in 3.19+ as a result of something else. Will On Tue, Dec 22, 2015 at 05:16:12PM +0000, Will Deacon wrote: > [fix targetting -stable only, no upstream commit required] > > In the bad old days, our compat syscall table was a linear array > defined in assembly code using a series of .quad directives generated > from a preprocessed header file. > > When I added compat support for memfd_create and getrandom in commit > a97a42c47608 ("arm64: compat: wire up memfd_create and getrandom > syscalls for aarch32"), I forgot to pad the gap where seccomp was due > to go, and so the new syscalls actually ended up being off-by-one in the > table for v3.17 and v3.18 (in 3.19 seccomp was added and in v4.0 we > moved the table construction into C). > > This patch is intended for -stable trees based on v3.17 or v3.18. > > Cc: # 3.17 and 3.18 only > Fixes: a97a42c47608 ("arm64: compat: wire up memfd_create and getrandom syscalls for aarch32") > Reported-by: Edmund Grimley-Evans > Signed-off-by: Will Deacon > --- > arch/arm64/include/asm/unistd32.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h > index 9dfdac4a74a1..fbe1ab059bbb 100644 > --- a/arch/arm64/include/asm/unistd32.h > +++ b/arch/arm64/include/asm/unistd32.h > @@ -788,6 +788,7 @@ __SYSCALL(__NR_sched_getattr, sys_sched_getattr) > #define __NR_renameat2 382 > __SYSCALL(__NR_renameat2, sys_renameat2) > /* 383 for seccomp */ > +__SYSCALL(383, sys_ni_syscall) > #define __NR_getrandom 384 > __SYSCALL(__NR_getrandom, sys_getrandom) > #define __NR_memfd_create 385 > -- > 2.1.4 >