[openssh-commits] [openssh] 04/04: Make seccomp-bpf sandbox work on Linux/X32

git+noreply at mindrot.org git+noreply at mindrot.org
Tue Mar 14 18:28:36 AEDT 2017


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit f86586b03fe6cd8f595289bde200a94bc2c191af
Author: Damien Miller <djm at mindrot.org>
Date:   Tue Mar 14 18:26:29 2017 +1100

    Make seccomp-bpf sandbox work on Linux/X32
    
    Allow clock_gettime syscall with X32 bit masked off. Apparently
    this is required for at least some kernel versions. bz#2142
    Patch mostly by Colin Watson. ok dtucker@
---
 sandbox-seccomp-filter.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c
index 14006b9..3a1aedc 100644
--- a/sandbox-seccomp-filter.c
+++ b/sandbox-seccomp-filter.c
@@ -228,7 +228,15 @@ static const struct sock_filter preauth_insns[] = {
 	SC_ALLOW_ARG(__NR_ioctl, 1, Z90STAT_STATUS_MASK),
 	SC_ALLOW_ARG(__NR_ioctl, 1, ICARSAMODEXPO),
 	SC_ALLOW_ARG(__NR_ioctl, 1, ICARSACRT),
-#endif /* defined(__NR_ioctl) && defined(__s390__) */
+#endif
+#if defined(__x86_64__) && defined(__ILP32__) && defined(__X32_SYSCALL_BIT)
+	/*
+	 * On Linux x32, the clock_gettime VDSO falls back to the
+	 * x86-64 syscall under some circumstances, e.g.
+	 * https://bugs.debian.org/849923
+	 */
+	SC_ALLOW(__NR_clock_gettime & ~__X32_SYSCALL_BIT);
+#endif
 
 	/* Default deny */
 	BPF_STMT(BPF_RET+BPF_K, SECCOMP_FILTER_FAIL),

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list