diff options
author | Sam James <sam@gentoo.org> | 2022-12-31 12:51:36 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-12-31 12:52:10 +0000 |
commit | 0a43a1114f05d985cef96402cab1451580a6339b (patch) | |
tree | 3f2f2d3319e6fc9205ffdc4d6df47db20142a62c /sys-apps | |
parent | dev-python/rope: Remove old (diff) | |
download | gentoo-0a43a1114f05d985cef96402cab1451580a6339b.tar.gz gentoo-0a43a1114f05d985cef96402cab1451580a6339b.tar.bz2 gentoo-0a43a1114f05d985cef96402cab1451580a6339b.zip |
sys-apps/file: allow faccessat2 syscall in seccomp for sandbox-2.30
Closes: https://bugs.gentoo.org/889046
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/file/file-5.43-r2.ebuild (renamed from sys-apps/file/file-5.43-r1.ebuild) | 4 | ||||
-rw-r--r-- | sys-apps/file/file-5.44-r1.ebuild (renamed from sys-apps/file/file-5.44.ebuild) | 5 | ||||
-rw-r--r-- | sys-apps/file/file-9999.ebuild | 6 | ||||
-rw-r--r-- | sys-apps/file/files/file-5.43-portage-sandbox.patch | 28 | ||||
-rw-r--r-- | sys-apps/file/files/file-5.43-seccomp-fstatat64-musl.patch | 22 | ||||
-rw-r--r-- | sys-apps/file/files/file-5.44-seccomp-utimes.patch | 18 |
6 files changed, 76 insertions, 7 deletions
diff --git a/sys-apps/file/file-5.43-r1.ebuild b/sys-apps/file/file-5.43-r2.ebuild index 10bf50a18e4f..610753073aa6 100644 --- a/sys-apps/file/file-5.43-r1.ebuild +++ b/sys-apps/file/file-5.43-r2.ebuild @@ -49,8 +49,8 @@ BDEPEND+=" )" PATCHES=( - "${FILESDIR}/file-5.39-portage-sandbox.patch" #713710 #728978 - "${FILESDIR}/file-5.40-seccomp-fstatat64-musl.patch" #789336, not upstream yet + "${FILESDIR}/file-5.43-portage-sandbox.patch" #713710 #728978 + "${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet "${FILESDIR}/${P}-configure-clang16.patch" ) diff --git a/sys-apps/file/file-5.44.ebuild b/sys-apps/file/file-5.44-r1.ebuild index 99d5b362b9c5..c29778951f51 100644 --- a/sys-apps/file/file-5.44.ebuild +++ b/sys-apps/file/file-5.44-r1.ebuild @@ -52,9 +52,10 @@ BDEPEND+=" )" PATCHES=( - "${FILESDIR}/file-5.39-portage-sandbox.patch" #713710 #728978 - "${FILESDIR}/file-5.40-seccomp-fstatat64-musl.patch" #789336, not upstream yet + "${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet + "${FILESDIR}/file-5.43-portage-sandbox.patch" #889046 "${FILESDIR}/file-5.44-limits-solaris.patch" # applied upstream + "${FILESDIR}/file-5.44-seccomp-utimes.patch" # upstream ) src_prepare() { diff --git a/sys-apps/file/file-9999.ebuild b/sys-apps/file/file-9999.ebuild index 81f60050024c..c83ce4f71f81 100644 --- a/sys-apps/file/file-9999.ebuild +++ b/sys-apps/file/file-9999.ebuild @@ -18,7 +18,7 @@ else SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz" SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )" fi @@ -52,8 +52,8 @@ BDEPEND+=" )" PATCHES=( - "${FILESDIR}/file-5.39-portage-sandbox.patch" #713710 #728978 - "${FILESDIR}/file-5.40-seccomp-fstatat64-musl.patch" #789336, not upstream yet + "${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet + "${FILESDIR}/file-5.43-portage-sandbox.patch" #889046 ) src_prepare() { diff --git a/sys-apps/file/files/file-5.43-portage-sandbox.patch b/sys-apps/file/files/file-5.43-portage-sandbox.patch new file mode 100644 index 000000000000..f9e715cc366f --- /dev/null +++ b/sys-apps/file/files/file-5.43-portage-sandbox.patch @@ -0,0 +1,28 @@ +Allow syscalls for Gentoo's portage sandbox + +- Add getcwd (bug #728978) +- Add faccessat2 (bug #889046) + +Bug: https://bugs.gentoo.org/728978 +Bug: https://bugs.gentoo.org/889046 +--- a/src/seccomp.c ++++ b/src/seccomp.c +@@ -174,6 +174,9 @@ enable_sandbox_full(void) + ALLOW_RULE(exit_group); + #ifdef __NR_faccessat + ALLOW_RULE(faccessat); ++#endif ++#ifdef __NR_faccessat2 ++ ALLOW_RULE(faccessat2); + #endif + ALLOW_RULE(fcntl); + ALLOW_RULE(fcntl64); +@@ -237,6 +240,8 @@ enable_sandbox_full(void) + ALLOW_RULE(write); + ALLOW_RULE(writev); + ++ // needed by Gentoo's portage sandbox ++ ALLOW_RULE(getcwd); + + #if 0 + // needed by valgrind diff --git a/sys-apps/file/files/file-5.43-seccomp-fstatat64-musl.patch b/sys-apps/file/files/file-5.43-seccomp-fstatat64-musl.patch new file mode 100644 index 000000000000..a039882ac8d7 --- /dev/null +++ b/sys-apps/file/files/file-5.43-seccomp-fstatat64-musl.patch @@ -0,0 +1,22 @@ +From 8c13923a8e17a02be0989649b2edc20124816729 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Tue, 15 Jun 2021 16:08:22 -0400 +Subject: [PATCH] seccomp: undef fstatat64 to avoid build failure on musl + +sys/stat.h in musl does this: + + #define fstatat64 fstatat + +Counteract this with an #undef. + +Bug: https://bugs.gentoo.org/789336 +--- a/src/seccomp.c ++++ b/src/seccomp.c +@@ -182,6 +182,7 @@ enable_sandbox_full(void) + #endif + ALLOW_RULE(fstat64); + #ifdef __NR_fstatat64 ++#undef fstatat64 + ALLOW_RULE(fstatat64); + #endif + ALLOW_RULE(futex); diff --git a/sys-apps/file/files/file-5.44-seccomp-utimes.patch b/sys-apps/file/files/file-5.44-seccomp-utimes.patch new file mode 100644 index 000000000000..49f1c2e4b739 --- /dev/null +++ b/sys-apps/file/files/file-5.44-seccomp-utimes.patch @@ -0,0 +1,18 @@ +https://github.com/file/file/commit/1590a653b520123d47070a47436abfba42d4c943 + +From 1590a653b520123d47070a47436abfba42d4c943 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas <christos@zoulas.com> +Date: Mon, 26 Dec 2022 18:57:29 +0000 +Subject: [PATCH] PR/408: SpraxDev: Add utimes to the allow list for -p + +--- a/src/seccomp.c ++++ b/src/seccomp.c +@@ -233,6 +233,7 @@ enable_sandbox_full(void) + ALLOW_RULE(umask); // Used in file_pipe2file() + ALLOW_RULE(getpid); // Used by glibc in file_pipe2file() + ALLOW_RULE(unlink); ++ ALLOW_RULE(utimes); + ALLOW_RULE(write); + ALLOW_RULE(writev); + + |