diff options
author | A. Cody Schuffelen <schuffelen@google.com> | 2024-01-03 03:59:34 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-01-03 03:59:34 +0000 |
commit | fa99ba8437cfd05f53a19ac63dc6be8fe0574871 (patch) | |
tree | 19783733eecfebd0247fd6ba9d68613764537463 | |
parent | 44f84c50ec8e784c2e5db88e9d44feaf09ea9b6b (diff) | |
parent | 468ba0f3ce136ac706f8ba2024d132a20bb55b0f (diff) | |
download | x86_64-linux-glibc2.17-4.8-fa99ba8437cfd05f53a19ac63dc6be8fe0574871.tar.gz |
Add missing seccomp / bpf types to compile sandbox2 am: 42fbf52242 am: 468ba0f3ce
Original change: https://android-review.googlesource.com/c/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.17-4.8/+/2892073
Change-Id: I8cdf35ae3ecf9b355a68ecbde142749f7f6ee96e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | sysroot/usr/include/linux/audit.h | 2 | ||||
-rw-r--r-- | sysroot/usr/include/linux/bpf_common.h | 57 | ||||
-rw-r--r-- | sysroot/usr/include/linux/elf-em.h | 2 | ||||
-rw-r--r-- | sysroot/usr/include/linux/random.h | 11 | ||||
-rw-r--r-- | sysroot/usr/include/linux/seccomp.h | 21 |
5 files changed, 93 insertions, 0 deletions
diff --git a/sysroot/usr/include/linux/audit.h b/sysroot/usr/include/linux/audit.h index 4cf5d7d..ce3d5e4 100644 --- a/sysroot/usr/include/linux/audit.h +++ b/sysroot/usr/include/linux/audit.h @@ -323,6 +323,7 @@ enum { /* distinguish syscall tables */ #define __AUDIT_ARCH_64BIT 0x80000000 #define __AUDIT_ARCH_LE 0x40000000 +#define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) #define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) #define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE) #define AUDIT_ARCH_ARMEB (EM_ARM) @@ -342,6 +343,7 @@ enum { #define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT) #define AUDIT_ARCH_PPC (EM_PPC) #define AUDIT_ARCH_PPC64 (EM_PPC64|__AUDIT_ARCH_64BIT) +#define AUDIT_ARCH_PPC64LE (EM_PPC64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) #define AUDIT_ARCH_S390 (EM_S390) #define AUDIT_ARCH_S390X (EM_S390|__AUDIT_ARCH_64BIT) #define AUDIT_ARCH_SH (EM_SH) diff --git a/sysroot/usr/include/linux/bpf_common.h b/sysroot/usr/include/linux/bpf_common.h new file mode 100644 index 0000000..f0fe139 --- /dev/null +++ b/sysroot/usr/include/linux/bpf_common.h @@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __LINUX_BPF_COMMON_H__ +#define __LINUX_BPF_COMMON_H__ + +/* Instruction classes */ +#define BPF_CLASS(code) ((code) & 0x07) +#define BPF_LD 0x00 +#define BPF_LDX 0x01 +#define BPF_ST 0x02 +#define BPF_STX 0x03 +#define BPF_ALU 0x04 +#define BPF_JMP 0x05 +#define BPF_RET 0x06 +#define BPF_MISC 0x07 + +/* ld/ldx fields */ +#define BPF_SIZE(code) ((code) & 0x18) +#define BPF_W 0x00 /* 32-bit */ +#define BPF_H 0x08 /* 16-bit */ +#define BPF_B 0x10 /* 8-bit */ +/* eBPF BPF_DW 0x18 64-bit */ +#define BPF_MODE(code) ((code) & 0xe0) +#define BPF_IMM 0x00 +#define BPF_ABS 0x20 +#define BPF_IND 0x40 +#define BPF_MEM 0x60 +#define BPF_LEN 0x80 +#define BPF_MSH 0xa0 + +/* alu/jmp fields */ +#define BPF_OP(code) ((code) & 0xf0) +#define BPF_ADD 0x00 +#define BPF_SUB 0x10 +#define BPF_MUL 0x20 +#define BPF_DIV 0x30 +#define BPF_OR 0x40 +#define BPF_AND 0x50 +#define BPF_LSH 0x60 +#define BPF_RSH 0x70 +#define BPF_NEG 0x80 +#define BPF_MOD 0x90 +#define BPF_XOR 0xa0 + +#define BPF_JA 0x00 +#define BPF_JEQ 0x10 +#define BPF_JGT 0x20 +#define BPF_JGE 0x30 +#define BPF_JSET 0x40 +#define BPF_SRC(code) ((code) & 0x08) +#define BPF_K 0x00 +#define BPF_X 0x08 + +#ifndef BPF_MAXINSNS +#define BPF_MAXINSNS 4096 +#endif + +#endif /* __LINUX_BPF_COMMON_H__ */ diff --git a/sysroot/usr/include/linux/elf-em.h b/sysroot/usr/include/linux/elf-em.h index 8e2b7ba..59c17a2 100644 --- a/sysroot/usr/include/linux/elf-em.h +++ b/sysroot/usr/include/linux/elf-em.h @@ -22,6 +22,7 @@ #define EM_PPC 20 /* PowerPC */ #define EM_PPC64 21 /* PowerPC64 */ #define EM_SPU 23 /* Cell BE SPU */ +#define EM_ARM 40 /* ARM 32 bit */ #define EM_SH 42 /* SuperH */ #define EM_SPARCV9 43 /* SPARC v9 64-bit */ #define EM_IA_64 50 /* HP/Intel IA-64 */ @@ -34,6 +35,7 @@ #define EM_MN10300 89 /* Panasonic/MEI MN10300, AM33 */ #define EM_BLACKFIN 106 /* ADI Blackfin Processor */ #define EM_TI_C6000 140 /* TI C6X DSPs */ +#define EM_AARCH64 183 /* ARM 64 bit */ #define EM_FRV 0x5441 /* Fujitsu FR-V */ #define EM_AVR32 0x18ad /* Atmel AVR32 */ diff --git a/sysroot/usr/include/linux/random.h b/sysroot/usr/include/linux/random.h index 80e6445..b0a85db 100644 --- a/sysroot/usr/include/linux/random.h +++ b/sysroot/usr/include/linux/random.h @@ -40,6 +40,17 @@ struct rand_pool_info { __u32 buf[0]; }; +/* + * Flags for getrandom(2) + * + * GRND_NONBLOCK Don't block and return EAGAIN instead + * GRND_RANDOM No effect + * GRND_INSECURE Return non-cryptographic random bytes + */ +#define GRND_NONBLOCK 0x0001 +#define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 + struct rnd_state { __u32 s1, s2, s3; }; diff --git a/sysroot/usr/include/linux/seccomp.h b/sysroot/usr/include/linux/seccomp.h index 9c03683..92d34f9 100644 --- a/sysroot/usr/include/linux/seccomp.h +++ b/sysroot/usr/include/linux/seccomp.h @@ -10,6 +10,21 @@ #define SECCOMP_MODE_STRICT 1 /* uses hard-coded filter. */ #define SECCOMP_MODE_FILTER 2 /* uses user-supplied filter. */ +/* Valid operations for seccomp syscall. */ +#define SECCOMP_SET_MODE_STRICT 0 +#define SECCOMP_SET_MODE_FILTER 1 +#define SECCOMP_GET_ACTION_AVAIL 2 +#define SECCOMP_GET_NOTIF_SIZES 3 + +/* Valid flags for SECCOMP_SET_MODE_FILTER */ +#define SECCOMP_FILTER_FLAG_TSYNC (1UL << 0) +#define SECCOMP_FILTER_FLAG_LOG (1UL << 1) +#define SECCOMP_FILTER_FLAG_SPEC_ALLOW (1UL << 2) +#define SECCOMP_FILTER_FLAG_NEW_LISTENER (1UL << 3) +#define SECCOMP_FILTER_FLAG_TSYNC_ESRCH (1UL << 4) +/* Received notifications wait in killable state (only respond to fatal signals) */ +#define SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV (1UL << 5) + /* * All BPF programs must return a 32-bit value. * The bottom 16-bits are for optional return data. @@ -44,4 +59,10 @@ struct seccomp_data { __u64 args[6]; }; +struct seccomp_notif_sizes { + __u16 seccomp_notif; + __u16 seccomp_notif_resp; + __u16 seccomp_data; +}; + #endif /* _LINUX_SECCOMP_H */ |