Source code

Revision control

Copy as Markdown

Other Tools

commit 142d1560cb5d65b66a4c0c6f427fa2f04150245f
Author: Jed Davis <jld@mozilla.com>
Date: Wed Apr 17 13:52:26 2024 -0700
Bug 1889045 - Update Linux sandbox syscall defs to v6.8
diff --git a/sandbox/linux/system_headers/arm64_linux_syscalls.h b/sandbox/linux/system_headers/arm64_linux_syscalls.h
--- a/sandbox/linux/system_headers/arm64_linux_syscalls.h
+++ b/sandbox/linux/system_headers/arm64_linux_syscalls.h
@@ -1,21 +1,32 @@
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+/* Constructed by running:
+ * | gcc -D__BITS_PER_LONG=64 -D__ARCH_WANT_STAT64 -D__ARCH_WANT_SET_GET_RLIMIT -D__ARCH_WANT_SYS_CLONE3 -D__ARCH_WANT_RENAMEAT -E -dD -
+ * | grep __NR | grep -vE '__NR_arch_specific_syscall|__NR_syscalls' | sort -n -k 3 | sed -e 's/__NR3264/__NR/g'
+ * | awk '{ if ($2 != $3) { print "#if !defined(" $2 ")\n#define " $2 " " $3 "\n#endif\n"; } }
+ * */
+
#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_
#define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_
#include <asm-generic/unistd.h>
#if !defined(__NR_io_setup)
#define __NR_io_setup 0
#endif
+#if !defined(__NR_newfstatat)
+#define __NR_newfstatat __NR_fstatat
+#endif
+
#if !defined(__NR_io_destroy)
#define __NR_io_destroy 1
#endif
#if !defined(__NR_io_submit)
#define __NR_io_submit 2
#endif
@@ -318,18 +329,18 @@
#if !defined(__NR_tee)
#define __NR_tee 77
#endif
#if !defined(__NR_readlinkat)
#define __NR_readlinkat 78
#endif
-#if !defined(__NR_newfstatat)
-#define __NR_newfstatat 79
+#if !defined(__NR_fstatat)
+#define __NR_fstatat 79
#endif
#if !defined(__NR_fstat)
#define __NR_fstat 80
#endif
#if !defined(__NR_sync)
#define __NR_sync 81
@@ -1210,9 +1221,65 @@
#if !defined(__NR_landlock_add_rule)
#define __NR_landlock_add_rule 445
#endif
#if !defined(__NR_landlock_restrict_self)
#define __NR_landlock_restrict_self 446
#endif
+#if !defined(__NR_process_mrelease)
+#define __NR_process_mrelease 448
+#endif
+
+#if !defined(__NR_futex_waitv)
+#define __NR_futex_waitv 449
+#endif
+
+#if !defined(__NR_set_mempolicy_home_node)
+#define __NR_set_mempolicy_home_node 450
+#endif
+
+#if !defined(__NR_cachestat)
+#define __NR_cachestat 451
+#endif
+
+#if !defined(__NR_fchmodat2)
+#define __NR_fchmodat2 452
+#endif
+
+#if !defined(__NR_map_shadow_stack)
+#define __NR_map_shadow_stack 453
+#endif
+
+#if !defined(__NR_futex_wake)
+#define __NR_futex_wake 454
+#endif
+
+#if !defined(__NR_futex_wait)
+#define __NR_futex_wait 455
+#endif
+
+#if !defined(__NR_futex_requeue)
+#define __NR_futex_requeue 456
+#endif
+
+#if !defined(__NR_statmount)
+#define __NR_statmount 457
+#endif
+
+#if !defined(__NR_listmount)
+#define __NR_listmount 458
+#endif
+
+#if !defined(__NR_lsm_get_self_attr)
+#define __NR_lsm_get_self_attr 459
+#endif
+
+#if !defined(__NR_lsm_set_self_attr)
+#define __NR_lsm_set_self_attr 460
+#endif
+
+#if !defined(__NR_lsm_list_modules)
+#define __NR_lsm_list_modules 461
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_
diff --git a/sandbox/linux/system_headers/arm_linux_syscalls.h b/sandbox/linux/system_headers/arm_linux_syscalls.h
--- a/sandbox/linux/system_headers/arm_linux_syscalls.h
+++ b/sandbox/linux/system_headers/arm_linux_syscalls.h
@@ -1,13 +1,18 @@
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Generated from the Linux kernel's calls.S.
+/* Constructed by running:
+ * | grep -vE '^#|^$'
+ * | awk '{ if ($2 != "oabi") { print "#if !defined(__NR_" $3 ")\n#define __NR_" $3 " (__NR_SYSCALL_BASE+" $1 ")\n#endif\n"; } }'
+ * */
+
#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM_LINUX_SYSCALLS_H_
#define SANDBOX_LINUX_SYSTEM_HEADERS_ARM_LINUX_SYSCALLS_H_
#if !defined(__arm__) || !defined(__ARM_EABI__)
#error "Including header on wrong architecture"
#endif
#if !defined(__NR_SYSCALL_BASE)
@@ -1200,20 +1205,16 @@
#if !defined(__NR_splice)
#define __NR_splice (__NR_SYSCALL_BASE+340)
#endif
#if !defined(__NR_arm_sync_file_range)
#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE+341)
#endif
-#if !defined(__NR_sync_file_range2)
-#define __NR_sync_file_range2 (__NR_SYSCALL_BASE+341)
-#endif
-
#if !defined(__NR_tee)
#define __NR_tee (__NR_SYSCALL_BASE+342)
#endif
#if !defined(__NR_vmsplice)
#define __NR_vmsplice (__NR_SYSCALL_BASE+343)
#endif
@@ -1612,16 +1613,72 @@
#if !defined(__NR_landlock_add_rule)
#define __NR_landlock_add_rule (__NR_SYSCALL_BASE + 445)
#endif
#if !defined(__NR_landlock_restrict_self)
#define __NR_landlock_restrict_self (__NR_SYSCALL_BASE + 446)
#endif
+#if !defined(__NR_process_mrelease)
+#define __NR_process_mrelease (__NR_SYSCALL_BASE+448)
+#endif
+
+#if !defined(__NR_futex_waitv)
+#define __NR_futex_waitv (__NR_SYSCALL_BASE+449)
+#endif
+
+#if !defined(__NR_set_mempolicy_home_node)
+#define __NR_set_mempolicy_home_node (__NR_SYSCALL_BASE+450)
+#endif
+
+#if !defined(__NR_cachestat)
+#define __NR_cachestat (__NR_SYSCALL_BASE+451)
+#endif
+
+#if !defined(__NR_fchmodat2)
+#define __NR_fchmodat2 (__NR_SYSCALL_BASE+452)
+#endif
+
+#if !defined(__NR_map_shadow_stack)
+#define __NR_map_shadow_stack (__NR_SYSCALL_BASE+453)
+#endif
+
+#if !defined(__NR_futex_wake)
+#define __NR_futex_wake (__NR_SYSCALL_BASE+454)
+#endif
+
+#if !defined(__NR_futex_wait)
+#define __NR_futex_wait (__NR_SYSCALL_BASE+455)
+#endif
+
+#if !defined(__NR_futex_requeue)
+#define __NR_futex_requeue (__NR_SYSCALL_BASE+456)
+#endif
+
+#if !defined(__NR_statmount)
+#define __NR_statmount (__NR_SYSCALL_BASE+457)
+#endif
+
+#if !defined(__NR_listmount)
+#define __NR_listmount (__NR_SYSCALL_BASE+458)
+#endif
+
+#if !defined(__NR_lsm_get_self_attr)
+#define __NR_lsm_get_self_attr (__NR_SYSCALL_BASE+459)
+#endif
+
+#if !defined(__NR_lsm_set_self_attr)
+#define __NR_lsm_set_self_attr (__NR_SYSCALL_BASE+460)
+#endif
+
+#if !defined(__NR_lsm_list_modules)
+#define __NR_lsm_list_modules (__NR_SYSCALL_BASE+461)
+#endif
+
// ARM private syscalls.
#if !defined(__ARM_NR_BASE)
#define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
#endif
#if !defined(__ARM_NR_breakpoint)
#define __ARM_NR_breakpoint (__ARM_NR_BASE+1)
#endif
diff --git a/sandbox/linux/system_headers/x86_32_linux_syscalls.h b/sandbox/linux/system_headers/x86_32_linux_syscalls.h
--- a/sandbox/linux/system_headers/x86_32_linux_syscalls.h
+++ b/sandbox/linux/system_headers/x86_32_linux_syscalls.h
@@ -1,13 +1,18 @@
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Generated from the Linux kernel's syscall_32.tbl.
+/* Constructed by running:
+ * | grep -vE '^#|^$'
+ * | awk '{ if ($2 == "i386") { print "#if !defined(__NR_" $3 ")\n#define __NR_" $3 " " $1 "\n#endif\n"; } }'
+ * */
+
#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
#define SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
#if !defined(__i386__)
#error "Including header on wrong architecture"
#endif
#if !defined(__NR_restart_syscall)
@@ -1745,10 +1750,69 @@
#if !defined(__NR_landlock_add_rule)
#define __NR_landlock_add_rule 445
#endif
#if !defined(__NR_landlock_restrict_self)
#define __NR_landlock_restrict_self 446
#endif
+#if !defined(__NR_memfd_secret)
+#define __NR_memfd_secret 447
+#endif
+
+#if !defined(__NR_process_mrelease)
+#define __NR_process_mrelease 448
+#endif
+
+#if !defined(__NR_futex_waitv)
+#define __NR_futex_waitv 449
+#endif
+
+#if !defined(__NR_set_mempolicy_home_node)
+#define __NR_set_mempolicy_home_node 450
+#endif
+
+#if !defined(__NR_cachestat)
+#define __NR_cachestat 451
+#endif
+
+#if !defined(__NR_fchmodat2)
+#define __NR_fchmodat2 452
+#endif
+
+#if !defined(__NR_map_shadow_stack)
+#define __NR_map_shadow_stack 453
+#endif
+
+#if !defined(__NR_futex_wake)
+#define __NR_futex_wake 454
+#endif
+
+#if !defined(__NR_futex_wait)
+#define __NR_futex_wait 455
+#endif
+
+#if !defined(__NR_futex_requeue)
+#define __NR_futex_requeue 456
+#endif
+
+#if !defined(__NR_statmount)
+#define __NR_statmount 457
+#endif
+
+#if !defined(__NR_listmount)
+#define __NR_listmount 458
+#endif
+
+#if !defined(__NR_lsm_get_self_attr)
+#define __NR_lsm_get_self_attr 459
+#endif
+
+#if !defined(__NR_lsm_set_self_attr)
+#define __NR_lsm_set_self_attr 460
+#endif
+
+#if !defined(__NR_lsm_list_modules)
+#define __NR_lsm_list_modules 461
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
-
diff --git a/sandbox/linux/system_headers/x86_64_linux_syscalls.h b/sandbox/linux/system_headers/x86_64_linux_syscalls.h
--- a/sandbox/linux/system_headers/x86_64_linux_syscalls.h
+++ b/sandbox/linux/system_headers/x86_64_linux_syscalls.h
@@ -1,13 +1,18 @@
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Generated from the Linux kernel's syscall_64.tbl.
+/* Constructed by running:
+ * | grep -vE '^#|^$'
+ * | awk '{ if ($2 != "x32") { print "#if !defined(__NR_" $3 ")\n#define __NR_" $3 " " $1 "\n#endif\n"; } }'
+ * */
+
#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
#define SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
#if !defined(__x86_64__)
#error "Including header on wrong architecture"
#endif
#if !defined(__NR_read)
@@ -1433,10 +1438,69 @@
#if !defined(__NR_landlock_add_rule)
#define __NR_landlock_add_rule 445
#endif
#if !defined(__NR_landlock_restrict_self)
#define __NR_landlock_restrict_self 446
#endif
+#if !defined(__NR_memfd_secret)
+#define __NR_memfd_secret 447
+#endif
+
+#if !defined(__NR_process_mrelease)
+#define __NR_process_mrelease 448
+#endif
+
+#if !defined(__NR_futex_waitv)
+#define __NR_futex_waitv 449
+#endif
+
+#if !defined(__NR_set_mempolicy_home_node)
+#define __NR_set_mempolicy_home_node 450
+#endif
+
+#if !defined(__NR_cachestat)
+#define __NR_cachestat 451
+#endif
+
+#if !defined(__NR_fchmodat2)
+#define __NR_fchmodat2 452
+#endif
+
+#if !defined(__NR_map_shadow_stack)
+#define __NR_map_shadow_stack 453
+#endif
+
+#if !defined(__NR_futex_wake)
+#define __NR_futex_wake 454
+#endif
+
+#if !defined(__NR_futex_wait)
+#define __NR_futex_wait 455
+#endif
+
+#if !defined(__NR_futex_requeue)
+#define __NR_futex_requeue 456
+#endif
+
+#if !defined(__NR_statmount)
+#define __NR_statmount 457
+#endif
+
+#if !defined(__NR_listmount)
+#define __NR_listmount 458
+#endif
+
+#if !defined(__NR_lsm_get_self_attr)
+#define __NR_lsm_get_self_attr 459
+#endif
+
+#if !defined(__NR_lsm_set_self_attr)
+#define __NR_lsm_set_self_attr 460
+#endif
+
+#if !defined(__NR_lsm_list_modules)
+#define __NR_lsm_list_modules 461
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
-