arm64: fix off-by-one in compat syscall table for syscalls over 382
Subsystems (2)
PATCH 1/1 arm64: fix off-by-one in compat syscall table for syscalls over 382
[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.
--- arch/arm64/include/asm/unistd32.h | 1 + 1 file changed, 1 insertion(+)
arch/arm64/include/asm/unistd32.h +1 -0
@@ -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
Signature · 1 line
2.1.4
PATCH 1/1 arm64: fix off-by-one in compat syscall table for syscalls over 382
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
Quoted 38 lines · Will Deacon
[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_createand getrandom in commita97a42c47608("arm64: compat: wire upmemfd_createand 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 <[email protected]> # 3.17 and 3.18 onlyFixes a97a42c47608 ("arm64: compat: wire up memfd_create and getrandom syscalls for aarch32")Reported-by Edmund Grimley-Evans <[email protected]>Signed-off-by Will Deacon <[email protected]>--- arch/arm64/include/asm/unistd32.h | 1 + 1 file changed, 1 insertion(+)arch/arm64/include/asm/unistd32.h +1
-0@@ -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 385Signature · 1 line
2.1.4
Greg KH
maintainerPATCH 1/1 arm64: fix off-by-one in compat syscall table for syscalls over 382
Quoted 5 lines · Will Deacon
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.
I'm not releasing any 3.17.y or 3.18.y kernels, so there's nothing I can do here, sorry.
greg k-h