Package: release.debian.org
User: release.debian....@packages.debian.org
Usertags: pu
Tags: bookworm
Severity: normal

[ Reason ]
libseccomp 2.5.4 only knows about syscall up to Linux 6.4.
The proposed changes add the syscalls up to Linux 6.7.

[ Impact ]
Syscalls for Linux 6.5 to 6.7 can't be allowed.

Software built with support for newer kernels (often the case in containers)
expect newer syscalls to work or return ENOSYS.
If that syscall is not supported by libseccomp and a default filter action of
returning EPERM is used, such software will break.
Therefore you often need to be able to allow a syscall even when the running
kernel doesn't support it.

[ Tests ]
* autopkgtest passes on amd64
* Verified adding a filter for the fchmodat2() syscall works (new in 6.6)
* Verified that systemd and Docker run

[ Risks ]
The changes only extend the syscall csv table and add new syscall defines.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
Cherry-pick upstream commit to support new syscalls.
diff -Nru libseccomp-2.5.4/debian/changelog libseccomp-2.5.4/debian/changelog
--- libseccomp-2.5.4/debian/changelog   2022-04-21 22:23:12.000000000 +0200
+++ libseccomp-2.5.4/debian/changelog   2024-05-25 20:36:52.000000000 +0200
@@ -1,3 +1,9 @@
+libseccomp (2.5.4-1+deb12u1) bookworm; urgency=medium
+
+  * Add support for syscalls up to Linux 6.7. (Closes: #1071822)
+
+ -- Felix Geyer <fge...@debian.org>  Sat, 25 May 2024 20:36:52 +0200
+
 libseccomp (2.5.4-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru libseccomp-2.5.4/debian/patches/series 
libseccomp-2.5.4/debian/patches/series
--- libseccomp-2.5.4/debian/patches/series      1970-01-01 01:00:00.000000000 
+0100
+++ libseccomp-2.5.4/debian/patches/series      2024-05-25 20:08:25.000000000 
+0200
@@ -0,0 +1 @@
+update_the_syscall_table_for_Linux_v6.7-rc3.patch
diff -Nru 
libseccomp-2.5.4/debian/patches/update_the_syscall_table_for_Linux_v6.7-rc3.patch
 
libseccomp-2.5.4/debian/patches/update_the_syscall_table_for_Linux_v6.7-rc3.patch
--- 
libseccomp-2.5.4/debian/patches/update_the_syscall_table_for_Linux_v6.7-rc3.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
libseccomp-2.5.4/debian/patches/update_the_syscall_table_for_Linux_v6.7-rc3.patch
   2024-05-25 20:06:55.000000000 +0200
@@ -0,0 +1,129 @@
+From 53267af3fb56eed93a50b8ef92f41825c97a7813 Mon Sep 17 00:00:00 2001
+From: Paul Moore <p...@paul-moore.com>
+Date: Fri, 5 May 2023 14:03:38 -0400
+Subject: [PATCH] all: update the syscall table for Linux v6.7-rc3
+
+Signed-off-by: Paul Moore <p...@paul-moore.com>
+Signed-off-by: Tom Hromatka <tom.hroma...@oracle.com>
+---
+ include/seccomp-syscalls.h | 17 +++++++++++++++++
+ src/syscalls.csv           | 12 +++++++++---
+ 2 files changed, 26 insertions(+), 3 deletions(-)
+
+diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h
+index ee467183..611c78db 100644
+--- a/include/seccomp-syscalls.h
++++ b/include/seccomp-syscalls.h
+@@ -276,6 +276,7 @@
+ #define __PNR_renameat                                -10242
+ #define __PNR_riscv_flush_icache              -10243
+ #define __PNR_memfd_secret                    -10244
++#define __PNR_map_shadow_stack                        -10245
+ 
+ /*
+  * libseccomp syscall definitions
+@@ -401,6 +402,8 @@
+ #define __SNR_cacheflush              __PNR_cacheflush
+ #endif
+ 
++#define __SNR_cachestat                       __NR_cachestat
++
+ #define __SNR_capget                  __NR_capget
+ 
+ #define __SNR_capset                  __NR_capset
+@@ -595,6 +598,8 @@
+ 
+ #define __SNR_fchmodat                        __NR_fchmodat
+ 
++#define __SNR_fchmodat2                       __NR_fchmodat2
++
+ #ifdef __NR_fchown
+ #define __SNR_fchown                  __NR_fchown
+ #else
+@@ -717,14 +722,20 @@
+ 
+ #define __SNR_futex                   __NR_futex
+ 
++#define __SNR_futex_requeue           __NR_futex_requeue
++
+ #ifdef __NR_futex_time64
+ #define __SNR_futex_time64            __NR_futex_time64
+ #else
+ #define __SNR_futex_time64            __PNR_futex_time64
+ #endif
+ 
++#define __SNR_futex_wait              __NR_futex_wait
++
+ #define __SNR_futex_waitv             __NR_futex_waitv
+ 
++#define __SNR_futex_wake              __NR_futex_wake
++
+ #ifdef __NR_futimesat
+ #define __SNR_futimesat                       __NR_futimesat
+ #else
+@@ -1075,6 +1086,12 @@
+ 
+ #define __SNR_madvise                 __NR_madvise
+ 
++#ifdef __NR_map_shadow_stack
++#define __SNR_map_shadow_stack                __NR_map_shadow_stack
++#else
++#define __SNR_map_shadow_stack                __PNR_map_shadow_stack
++#endif
++
+ #ifdef __NR_mbind
+ #define __SNR_mbind                   __NR_mbind
+ #else
+diff --git a/src/syscalls.csv b/src/syscalls.csv
+index ea13a0eb..b0da8e6e 100644
+--- a/src/syscalls.csv
++++ b/src/syscalls.csv
+@@ -1,4 +1,4 @@
+-#syscall (v5.17.0 
2022-04-05),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x
++#syscall (v6.7.0-rc3 
2023-11-30),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x
+ accept,PNR,43,43,285,202,168,42,42,35,35,330,330,202,PNR,PNR
+ accept4,364,288,288,366,242,334,293,297,320,320,344,344,242,364,364
+ access,33,21,21,33,PNR,33,20,20,33,33,33,33,PNR,33,33
+@@ -17,7 +17,8 @@ break,17,PNR,PNR,PNR,PNR,17,PNR,PNR,PNR,PNR,17,17,PNR,PNR,PNR
+ breakpoint,PNR,PNR,PNR,983041,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+ brk,45,12,12,45,214,45,12,12,45,45,45,45,214,45,45
+ cachectl,PNR,PNR,PNR,PNR,PNR,148,198,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR
+-cacheflush,PNR,PNR,PNR,983042,PNR,147,197,197,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++cacheflush,PNR,PNR,PNR,983042,PNR,147,197,197,356,356,PNR,PNR,PNR,PNR,PNR
++cachestat,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451
+ capget,184,125,125,184,90,204,123,123,106,106,183,183,90,184,184
+ capset,185,126,126,185,91,205,124,124,107,107,184,184,91,185,185
+ chdir,12,80,80,12,49,12,78,78,12,12,12,12,49,12,12
+@@ -71,6 +72,7 @@ 
fanotify_mark,339,301,301,368,263,337,296,301,323,323,324,324,263,333,333
+ fchdir,133,81,81,133,50,133,79,79,133,133,133,133,50,133,133
+ fchmod,94,91,91,94,52,94,89,89,94,94,94,94,52,94,94
+ fchmodat,306,268,268,333,53,299,258,262,286,286,297,297,53,299,299
++fchmodat2,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452
+ fchown,95,93,93,95,55,95,91,91,95,95,95,95,55,95,207
+ fchown32,207,PNR,PNR,207,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,207,PNR
+ fchownat,298,260,260,325,54,291,250,254,278,278,289,289,54,291,291
+@@ -98,8 +100,11 @@ 
ftime,35,PNR,PNR,PNR,PNR,35,PNR,PNR,PNR,PNR,35,35,PNR,PNR,PNR
+ ftruncate,93,77,77,93,46,93,75,75,93,93,93,93,46,93,93
+ ftruncate64,194,PNR,PNR,194,PNR,212,PNR,PNR,200,200,194,PNR,PNR,194,PNR
+ futex,240,202,202,240,98,238,194,194,210,210,221,221,98,238,238
++futex_requeue,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456
+ futex_time64,422,PNR,PNR,422,PNR,422,PNR,422,422,PNR,422,PNR,PNR,422,PNR
++futex_wait,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455
+ futex_waitv,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449
++futex_wake,454,454,454,454,454,454,454,454,454,454,454,454,454,454,454
+ futimesat,299,261,261,326,PNR,292,251,255,279,279,290,290,PNR,292,292
+ getcpu,318,309,309,345,168,312,271,275,296,296,302,302,168,311,311
+ getcwd,183,79,79,183,17,203,77,77,110,110,182,182,17,183,183
+@@ -189,10 +194,11 @@ 
lsetxattr,227,189,189,227,6,225,181,181,239,239,210,210,6,225,225
+ lstat,107,6,6,107,PNR,107,6,6,84,84,107,107,PNR,107,107
+ lstat64,196,PNR,PNR,196,PNR,214,PNR,PNR,198,198,196,PNR,PNR,196,PNR
+ madvise,219,28,28,220,233,218,27,27,119,119,205,205,233,219,219
++map_shadow_stack,453,453,PNR,453,453,453,453,453,453,453,453,453,453,453,453
+ mbind,274,237,237,319,235,268,227,231,260,260,259,259,235,268,268
+ membarrier,375,324,324,389,283,358,318,322,343,343,365,365,283,356,356
+ memfd_create,356,319,319,385,279,354,314,318,340,340,360,360,279,350,350
+-memfd_secret,447,447,447,PNR,447,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR
++memfd_secret,447,447,447,PNR,447,PNR,PNR,PNR,PNR,PNR,PNR,PNR,447,447,447
+ migrate_pages,294,256,256,400,238,287,246,250,272,272,258,258,238,287,287
+ mincore,218,27,27,219,232,217,26,26,72,72,206,206,232,218,218
+ mkdir,39,83,83,39,PNR,39,81,81,39,39,39,39,PNR,39,39

Reply via email to