From f4815544c1bd24e9151ffa64edda7bc68f0e156d Mon Sep 17 00:00:00 2001 From: Victor Hsieh Date: Tue, 18 Dec 2018 01:34:52 -0800 Subject: [PATCH] sys/linux: add fs-verity ioctls This adds 2 ioctls and an argument type: - FS_IOC_ENABLE_VERITY - FS_IOC_MEASURE_VERITY - struct fsverity_digest Note fs-verity on-disk structs are not yet added. --- CONTRIBUTORS | 1 + executor/defs.h | 10 +++++----- executor/syscalls.h | 10 ++++++++++ sys/linux/fs_ioctl.txt | 11 +++++++++++ sys/linux/fs_ioctl_386.const | 5 +++++ sys/linux/fs_ioctl_amd64.const | 5 +++++ sys/linux/fs_ioctl_arm.const | 5 +++++ sys/linux/fs_ioctl_arm64.const | 5 +++++ sys/linux/fs_ioctl_ppc64le.const | 5 +++++ sys/linux/gen/386.go | 21 ++++++++++++++++++++- sys/linux/gen/amd64.go | 21 ++++++++++++++++++++- sys/linux/gen/arm.go | 21 ++++++++++++++++++++- sys/linux/gen/arm64.go | 21 ++++++++++++++++++++- sys/linux/gen/ppc64le.go | 21 ++++++++++++++++++++- 14 files changed, 152 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b73c62af..dfacf642 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -17,6 +17,7 @@ Google Inc. Atul Prakash Julia Hansbrough Dan Austin + Victor Hsieh Baozeng Ding Lorenzo Stoakes Jeremy Huang diff --git a/executor/defs.h b/executor/defs.h index d6acd94e..47b749db 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -60,7 +60,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "8d98cf123e28136d3c5e78476489e6e07c90f3fa" +#define SYZ_REVISION "41b7d68957439995599a13c27f4e53a5ef94c6ef" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -70,7 +70,7 @@ #if GOARCH_amd64 #define GOARCH "amd64" -#define SYZ_REVISION "d3c0cb876de4a8b5fb805efe83f674970a1348e7" +#define SYZ_REVISION "b7e39f3128ea124913623c5b44f8f4cf11321d3b" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -80,7 +80,7 @@ #if GOARCH_arm #define GOARCH "arm" -#define SYZ_REVISION "1d77e76fbb396a3a3706466c07f8c8bbd104f0a0" +#define SYZ_REVISION "34b155a4d1654ac354700f5d731b25f9b7fdcc76" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -90,7 +90,7 @@ #if GOARCH_arm64 #define GOARCH "arm64" -#define SYZ_REVISION "d63d6f43a6b2870d268f238f62b1af301671d55e" +#define SYZ_REVISION "26f57d8563b809b5879e620054577dcb38668de8" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -100,7 +100,7 @@ #if GOARCH_ppc64le #define GOARCH "ppc64le" -#define SYZ_REVISION "9f1aaf622deac73e3c5f3ed9cc113358ade669e9" +#define SYZ_REVISION "2e2cda69f198c8832cb15174493082aab944dd2c" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 diff --git a/executor/syscalls.h b/executor/syscalls.h index 51e784eb..beb15baf 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -1983,6 +1983,7 @@ const call_t syscalls[] = { {"ioctl$FLOPPY_FDTWADDLE", 54}, {"ioctl$FLOPPY_FDWERRORCLR", 54}, {"ioctl$FLOPPY_FDWERRORGET", 54}, + {"ioctl$FS_IOC_ENABLE_VERITY", 54}, {"ioctl$FS_IOC_FIEMAP", 54}, {"ioctl$FS_IOC_FSGETXATTR", 54}, {"ioctl$FS_IOC_FSSETXATTR", 54}, @@ -1992,6 +1993,7 @@ const call_t syscalls[] = { {"ioctl$FS_IOC_GETVERSION", 54}, {"ioctl$FS_IOC_GET_ENCRYPTION_POLICY", 54}, {"ioctl$FS_IOC_GET_ENCRYPTION_PWSALT", 54}, + {"ioctl$FS_IOC_MEASURE_VERITY", 54}, {"ioctl$FS_IOC_RESVSP", 54}, {"ioctl$FS_IOC_SETFLAGS", 54}, {"ioctl$FS_IOC_SETFSLABEL", 54}, @@ -4357,6 +4359,7 @@ const call_t syscalls[] = { {"ioctl$FLOPPY_FDTWADDLE", 16}, {"ioctl$FLOPPY_FDWERRORCLR", 16}, {"ioctl$FLOPPY_FDWERRORGET", 16}, + {"ioctl$FS_IOC_ENABLE_VERITY", 16}, {"ioctl$FS_IOC_FIEMAP", 16}, {"ioctl$FS_IOC_FSGETXATTR", 16}, {"ioctl$FS_IOC_FSSETXATTR", 16}, @@ -4366,6 +4369,7 @@ const call_t syscalls[] = { {"ioctl$FS_IOC_GETVERSION", 16}, {"ioctl$FS_IOC_GET_ENCRYPTION_POLICY", 16}, {"ioctl$FS_IOC_GET_ENCRYPTION_PWSALT", 16}, + {"ioctl$FS_IOC_MEASURE_VERITY", 16}, {"ioctl$FS_IOC_RESVSP", 16}, {"ioctl$FS_IOC_SETFLAGS", 16}, {"ioctl$FS_IOC_SETFSLABEL", 16}, @@ -6761,6 +6765,7 @@ const call_t syscalls[] = { {"ioctl$FLOPPY_FDTWADDLE", 54}, {"ioctl$FLOPPY_FDWERRORCLR", 54}, {"ioctl$FLOPPY_FDWERRORGET", 54}, + {"ioctl$FS_IOC_ENABLE_VERITY", 54}, {"ioctl$FS_IOC_FIEMAP", 54}, {"ioctl$FS_IOC_FSGETXATTR", 54}, {"ioctl$FS_IOC_FSSETXATTR", 54}, @@ -6770,6 +6775,7 @@ const call_t syscalls[] = { {"ioctl$FS_IOC_GETVERSION", 54}, {"ioctl$FS_IOC_GET_ENCRYPTION_POLICY", 54}, {"ioctl$FS_IOC_GET_ENCRYPTION_PWSALT", 54}, + {"ioctl$FS_IOC_MEASURE_VERITY", 54}, {"ioctl$FS_IOC_RESVSP", 54}, {"ioctl$FS_IOC_SETFLAGS", 54}, {"ioctl$FS_IOC_SETFSLABEL", 54}, @@ -9118,6 +9124,7 @@ const call_t syscalls[] = { {"ioctl$FLOPPY_FDTWADDLE", 29}, {"ioctl$FLOPPY_FDWERRORCLR", 29}, {"ioctl$FLOPPY_FDWERRORGET", 29}, + {"ioctl$FS_IOC_ENABLE_VERITY", 29}, {"ioctl$FS_IOC_FIEMAP", 29}, {"ioctl$FS_IOC_FSGETXATTR", 29}, {"ioctl$FS_IOC_FSSETXATTR", 29}, @@ -9127,6 +9134,7 @@ const call_t syscalls[] = { {"ioctl$FS_IOC_GETVERSION", 29}, {"ioctl$FS_IOC_GET_ENCRYPTION_POLICY", 29}, {"ioctl$FS_IOC_GET_ENCRYPTION_PWSALT", 29}, + {"ioctl$FS_IOC_MEASURE_VERITY", 29}, {"ioctl$FS_IOC_RESVSP", 29}, {"ioctl$FS_IOC_SETFLAGS", 29}, {"ioctl$FS_IOC_SETFSLABEL", 29}, @@ -11468,6 +11476,7 @@ const call_t syscalls[] = { {"ioctl$FLOPPY_FDTWADDLE", 54}, {"ioctl$FLOPPY_FDWERRORCLR", 54}, {"ioctl$FLOPPY_FDWERRORGET", 54}, + {"ioctl$FS_IOC_ENABLE_VERITY", 54}, {"ioctl$FS_IOC_FIEMAP", 54}, {"ioctl$FS_IOC_FSGETXATTR", 54}, {"ioctl$FS_IOC_FSSETXATTR", 54}, @@ -11477,6 +11486,7 @@ const call_t syscalls[] = { {"ioctl$FS_IOC_GETVERSION", 54}, {"ioctl$FS_IOC_GET_ENCRYPTION_POLICY", 54}, {"ioctl$FS_IOC_GET_ENCRYPTION_PWSALT", 54}, + {"ioctl$FS_IOC_MEASURE_VERITY", 54}, {"ioctl$FS_IOC_RESVSP", 54}, {"ioctl$FS_IOC_SETFLAGS", 54}, {"ioctl$FS_IOC_SETFSLABEL", 54}, diff --git a/sys/linux/fs_ioctl.txt b/sys/linux/fs_ioctl.txt index 977bfdba..37abbe13 100644 --- a/sys/linux/fs_ioctl.txt +++ b/sys/linux/fs_ioctl.txt @@ -4,6 +4,7 @@ include include include +include include ioctl$FIBMAP(fd fd, cmd const[FIBMAP], arg ptr[in, int32]) @@ -27,6 +28,8 @@ ioctl$FS_IOC_SET_ENCRYPTION_POLICY(fd fd, cmd const[FS_IOC_SET_ENCRYPTION_POLICY ioctl$FS_IOC_GET_ENCRYPTION_POLICY(fd fd, cmd const[FS_IOC_GET_ENCRYPTION_POLICY], arg ptr[out, array[int8, 16]]) ioctl$FS_IOC_GET_ENCRYPTION_PWSALT(fd fd, cmd const[FS_IOC_GET_ENCRYPTION_PWSALT], arg ptr[out, fscrypt_policy]) ioctl$FS_IOC_GETFSMAP(fd fd, cmd const[FS_IOC_GETFSMAP], arg ptr[in, fsmap_head]) +ioctl$FS_IOC_ENABLE_VERITY(fd fd, cmd const[FS_IOC_ENABLE_VERITY]) +ioctl$FS_IOC_MEASURE_VERITY(fd fd, cmd const[FS_IOC_MEASURE_VERITY], arg ptr[inout, fsverity_digest]) fscrypt_policy { version const[0, int8] @@ -48,6 +51,14 @@ type fscrypt_policy_mode_t[CONTENTS, FILENAMES] { fs_policy_flags = FS_POLICY_FLAGS_PAD_4, FS_POLICY_FLAGS_PAD_8, FS_POLICY_FLAGS_PAD_16 +fsverity_digest_algorithm_flags = FS_VERITY_ALG_SHA256, FS_VERITY_ALG_SHA512, FS_VERITY_ALG_CRC32C + +fsverity_digest { + digest_algorithm flags[fsverity_digest_algorithm_flags, int16] + digest_size len[digest, int16] + digest array[int8] +} + space_resv { l_type const[0, int16] l_whence flags[seek_whence, int16] diff --git a/sys/linux/fs_ioctl_386.const b/sys/linux/fs_ioctl_386.const index 2616b2ff..573018aa 100644 --- a/sys/linux/fs_ioctl_386.const +++ b/sys/linux/fs_ioctl_386.const @@ -13,6 +13,7 @@ FS_ENCRYPTION_MODE_AES_256_CTS = 4 FS_ENCRYPTION_MODE_AES_256_XTS = 1 FS_ENCRYPTION_MODE_SPECK128_256_CTS = 8 FS_ENCRYPTION_MODE_SPECK128_256_XTS = 7 +FS_IOC_ENABLE_VERITY = 26245 FS_IOC_FIEMAP = 3223348747 FS_IOC_FSGETXATTR = 2149341215 FS_IOC_FSSETXATTR = 1075599392 @@ -22,6 +23,7 @@ FS_IOC_GETFSMAP = 3233830971 FS_IOC_GETVERSION = 2147776001 FS_IOC_GET_ENCRYPTION_POLICY = 1074554389 FS_IOC_GET_ENCRYPTION_PWSALT = 1074816532 +FS_IOC_MEASURE_VERITY = 3221513862 FS_IOC_RESVSP = 1076647976 FS_IOC_SETFLAGS = 1074030082 FS_IOC_SETFSLABEL = 1090556978 @@ -31,4 +33,7 @@ FS_KEY_DESCRIPTOR_SIZE = 8 FS_POLICY_FLAGS_PAD_16 = 2 FS_POLICY_FLAGS_PAD_4 = 0 FS_POLICY_FLAGS_PAD_8 = 1 +FS_VERITY_ALG_CRC32C = 3 +FS_VERITY_ALG_SHA256 = 1 +FS_VERITY_ALG_SHA512 = 2 __NR_ioctl = 54 diff --git a/sys/linux/fs_ioctl_amd64.const b/sys/linux/fs_ioctl_amd64.const index 50573df4..6c27f1c9 100644 --- a/sys/linux/fs_ioctl_amd64.const +++ b/sys/linux/fs_ioctl_amd64.const @@ -13,6 +13,7 @@ FS_ENCRYPTION_MODE_AES_256_CTS = 4 FS_ENCRYPTION_MODE_AES_256_XTS = 1 FS_ENCRYPTION_MODE_SPECK128_256_CTS = 8 FS_ENCRYPTION_MODE_SPECK128_256_XTS = 7 +FS_IOC_ENABLE_VERITY = 26245 FS_IOC_FIEMAP = 3223348747 FS_IOC_FSGETXATTR = 2149341215 FS_IOC_FSSETXATTR = 1075599392 @@ -22,6 +23,7 @@ FS_IOC_GETFSMAP = 3233830971 FS_IOC_GETVERSION = 2148038145 FS_IOC_GET_ENCRYPTION_POLICY = 1074554389 FS_IOC_GET_ENCRYPTION_PWSALT = 1074816532 +FS_IOC_MEASURE_VERITY = 3221513862 FS_IOC_RESVSP = 1076910120 FS_IOC_SETFLAGS = 1074292226 FS_IOC_SETFSLABEL = 1090556978 @@ -31,4 +33,7 @@ FS_KEY_DESCRIPTOR_SIZE = 8 FS_POLICY_FLAGS_PAD_16 = 2 FS_POLICY_FLAGS_PAD_4 = 0 FS_POLICY_FLAGS_PAD_8 = 1 +FS_VERITY_ALG_CRC32C = 3 +FS_VERITY_ALG_SHA256 = 1 +FS_VERITY_ALG_SHA512 = 2 __NR_ioctl = 16 diff --git a/sys/linux/fs_ioctl_arm.const b/sys/linux/fs_ioctl_arm.const index 2616b2ff..573018aa 100644 --- a/sys/linux/fs_ioctl_arm.const +++ b/sys/linux/fs_ioctl_arm.const @@ -13,6 +13,7 @@ FS_ENCRYPTION_MODE_AES_256_CTS = 4 FS_ENCRYPTION_MODE_AES_256_XTS = 1 FS_ENCRYPTION_MODE_SPECK128_256_CTS = 8 FS_ENCRYPTION_MODE_SPECK128_256_XTS = 7 +FS_IOC_ENABLE_VERITY = 26245 FS_IOC_FIEMAP = 3223348747 FS_IOC_FSGETXATTR = 2149341215 FS_IOC_FSSETXATTR = 1075599392 @@ -22,6 +23,7 @@ FS_IOC_GETFSMAP = 3233830971 FS_IOC_GETVERSION = 2147776001 FS_IOC_GET_ENCRYPTION_POLICY = 1074554389 FS_IOC_GET_ENCRYPTION_PWSALT = 1074816532 +FS_IOC_MEASURE_VERITY = 3221513862 FS_IOC_RESVSP = 1076647976 FS_IOC_SETFLAGS = 1074030082 FS_IOC_SETFSLABEL = 1090556978 @@ -31,4 +33,7 @@ FS_KEY_DESCRIPTOR_SIZE = 8 FS_POLICY_FLAGS_PAD_16 = 2 FS_POLICY_FLAGS_PAD_4 = 0 FS_POLICY_FLAGS_PAD_8 = 1 +FS_VERITY_ALG_CRC32C = 3 +FS_VERITY_ALG_SHA256 = 1 +FS_VERITY_ALG_SHA512 = 2 __NR_ioctl = 54 diff --git a/sys/linux/fs_ioctl_arm64.const b/sys/linux/fs_ioctl_arm64.const index ee6dbf6b..d39f3105 100644 --- a/sys/linux/fs_ioctl_arm64.const +++ b/sys/linux/fs_ioctl_arm64.const @@ -13,6 +13,7 @@ FS_ENCRYPTION_MODE_AES_256_CTS = 4 FS_ENCRYPTION_MODE_AES_256_XTS = 1 FS_ENCRYPTION_MODE_SPECK128_256_CTS = 8 FS_ENCRYPTION_MODE_SPECK128_256_XTS = 7 +FS_IOC_ENABLE_VERITY = 26245 FS_IOC_FIEMAP = 3223348747 FS_IOC_FSGETXATTR = 2149341215 FS_IOC_FSSETXATTR = 1075599392 @@ -22,6 +23,7 @@ FS_IOC_GETFSMAP = 3233830971 FS_IOC_GETVERSION = 2148038145 FS_IOC_GET_ENCRYPTION_POLICY = 1074554389 FS_IOC_GET_ENCRYPTION_PWSALT = 1074816532 +FS_IOC_MEASURE_VERITY = 3221513862 FS_IOC_RESVSP = 1076910120 FS_IOC_SETFLAGS = 1074292226 FS_IOC_SETFSLABEL = 1090556978 @@ -31,4 +33,7 @@ FS_KEY_DESCRIPTOR_SIZE = 8 FS_POLICY_FLAGS_PAD_16 = 2 FS_POLICY_FLAGS_PAD_4 = 0 FS_POLICY_FLAGS_PAD_8 = 1 +FS_VERITY_ALG_CRC32C = 3 +FS_VERITY_ALG_SHA256 = 1 +FS_VERITY_ALG_SHA512 = 2 __NR_ioctl = 29 diff --git a/sys/linux/fs_ioctl_ppc64le.const b/sys/linux/fs_ioctl_ppc64le.const index b0524a18..1fb59e7c 100644 --- a/sys/linux/fs_ioctl_ppc64le.const +++ b/sys/linux/fs_ioctl_ppc64le.const @@ -13,6 +13,7 @@ FS_ENCRYPTION_MODE_AES_256_CTS = 4 FS_ENCRYPTION_MODE_AES_256_XTS = 1 FS_ENCRYPTION_MODE_SPECK128_256_CTS = 8 FS_ENCRYPTION_MODE_SPECK128_256_XTS = 7 +FS_IOC_ENABLE_VERITY = 536897157 FS_IOC_FIEMAP = 3223348747 FS_IOC_FSGETXATTR = 1075599391 FS_IOC_FSSETXATTR = 2149341216 @@ -22,6 +23,7 @@ FS_IOC_GETFSMAP = 3233830971 FS_IOC_GETVERSION = 1074296321 FS_IOC_GET_ENCRYPTION_POLICY = 2148296213 FS_IOC_GET_ENCRYPTION_PWSALT = 2148558356 +FS_IOC_MEASURE_VERITY = 3221513862 FS_IOC_RESVSP = 2150651944 FS_IOC_SETFLAGS = 2148034050 FS_IOC_SETFSLABEL = 2164298802 @@ -31,4 +33,7 @@ FS_KEY_DESCRIPTOR_SIZE = 8 FS_POLICY_FLAGS_PAD_16 = 2 FS_POLICY_FLAGS_PAD_4 = 0 FS_POLICY_FLAGS_PAD_8 = 1 +FS_VERITY_ALG_CRC32C = 3 +FS_VERITY_ALG_SHA256 = 1 +FS_VERITY_ALG_SHA512 = 2 __NR_ioctl = 54 diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 376f4986..03143ced 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -4777,6 +4777,11 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "len", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "minlen", TypeSize: 8}}}, }}}, + {Key: StructKey{Name: "fsverity_digest", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsverity_digest", ArgDir: 2, IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fsverity_digest_algorithm_flags", FldName: "digest_algorithm", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 3}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "digest_size", TypeSize: 2, ArgDir: 2}}, Buf: "digest"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", ArgDir: 2, IsVarlen: true}}, + }}}, {Key: StructKey{Name: "fsxattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsxattr", TypeSize: 32}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_xflags", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_extsize", TypeSize: 4}}}, @@ -28127,6 +28132,10 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2149057047}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "floppy_write_errors", Dir: 1}}}, }}, + {NR: 54, Name: "ioctl$FS_IOC_ENABLE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 26245}, + }}, {NR: 54, Name: "ioctl$FS_IOC_FIEMAP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3223348747}, @@ -28172,6 +28181,11 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074816532}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "fscrypt_policy", Dir: 1}}}, }}, + {NR: 54, Name: "ioctl$FS_IOC_MEASURE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3221513862}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "fsverity_digest", Dir: 2}}}, + }}, {NR: 54, Name: "ioctl$FS_IOC_RESVSP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1076647976}, @@ -38642,6 +38656,7 @@ var consts_386 = []ConstValue{ {Name: "FS_ENCRYPTION_MODE_AES_256_XTS", Value: 1}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_CTS", Value: 8}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_XTS", Value: 7}, + {Name: "FS_IOC_ENABLE_VERITY", Value: 26245}, {Name: "FS_IOC_FIEMAP", Value: 3223348747}, {Name: "FS_IOC_FSGETXATTR", Value: 2149341215}, {Name: "FS_IOC_FSSETXATTR", Value: 1075599392}, @@ -38651,6 +38666,7 @@ var consts_386 = []ConstValue{ {Name: "FS_IOC_GETVERSION", Value: 2147776001}, {Name: "FS_IOC_GET_ENCRYPTION_POLICY", Value: 1074554389}, {Name: "FS_IOC_GET_ENCRYPTION_PWSALT", Value: 1074816532}, + {Name: "FS_IOC_MEASURE_VERITY", Value: 3221513862}, {Name: "FS_IOC_RESVSP", Value: 1076647976}, {Name: "FS_IOC_SETFLAGS", Value: 1074030082}, {Name: "FS_IOC_SETFSLABEL", Value: 1090556978}, @@ -38660,6 +38676,9 @@ var consts_386 = []ConstValue{ {Name: "FS_POLICY_FLAGS_PAD_16", Value: 2}, {Name: "FS_POLICY_FLAGS_PAD_4"}, {Name: "FS_POLICY_FLAGS_PAD_8", Value: 1}, + {Name: "FS_VERITY_ALG_CRC32C", Value: 3}, + {Name: "FS_VERITY_ALG_SHA256", Value: 1}, + {Name: "FS_VERITY_ALG_SHA512", Value: 2}, {Name: "FTD_MSG", Value: 16}, {Name: "FUSE_ABORT_ERROR", Value: 2097152}, {Name: "FUSE_ASYNC_DIO", Value: 32768}, @@ -44266,4 +44285,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "8d98cf123e28136d3c5e78476489e6e07c90f3fa" +const revision_386 = "41b7d68957439995599a13c27f4e53a5ef94c6ef" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 966b7e2f..42caffce 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -4872,6 +4872,11 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "len", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "minlen", TypeSize: 8}}}, }}}, + {Key: StructKey{Name: "fsverity_digest", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsverity_digest", ArgDir: 2, IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fsverity_digest_algorithm_flags", FldName: "digest_algorithm", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 3}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "digest_size", TypeSize: 2, ArgDir: 2}}, Buf: "digest"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", ArgDir: 2, IsVarlen: true}}, + }}}, {Key: StructKey{Name: "fsxattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsxattr", TypeSize: 32}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_xflags", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_extsize", TypeSize: 4}}}, @@ -28671,6 +28676,10 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2150105623}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "floppy_write_errors", Dir: 1}}}, }}, + {NR: 16, Name: "ioctl$FS_IOC_ENABLE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 26245}, + }}, {NR: 16, Name: "ioctl$FS_IOC_FIEMAP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3223348747}, @@ -28716,6 +28725,11 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074816532}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "fscrypt_policy", Dir: 1}}}, }}, + {NR: 16, Name: "ioctl$FS_IOC_MEASURE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3221513862}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "fsverity_digest", Dir: 2}}}, + }}, {NR: 16, Name: "ioctl$FS_IOC_RESVSP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1076910120}, @@ -39405,6 +39419,7 @@ var consts_amd64 = []ConstValue{ {Name: "FS_ENCRYPTION_MODE_AES_256_XTS", Value: 1}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_CTS", Value: 8}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_XTS", Value: 7}, + {Name: "FS_IOC_ENABLE_VERITY", Value: 26245}, {Name: "FS_IOC_FIEMAP", Value: 3223348747}, {Name: "FS_IOC_FSGETXATTR", Value: 2149341215}, {Name: "FS_IOC_FSSETXATTR", Value: 1075599392}, @@ -39414,6 +39429,7 @@ var consts_amd64 = []ConstValue{ {Name: "FS_IOC_GETVERSION", Value: 2148038145}, {Name: "FS_IOC_GET_ENCRYPTION_POLICY", Value: 1074554389}, {Name: "FS_IOC_GET_ENCRYPTION_PWSALT", Value: 1074816532}, + {Name: "FS_IOC_MEASURE_VERITY", Value: 3221513862}, {Name: "FS_IOC_RESVSP", Value: 1076910120}, {Name: "FS_IOC_SETFLAGS", Value: 1074292226}, {Name: "FS_IOC_SETFSLABEL", Value: 1090556978}, @@ -39423,6 +39439,9 @@ var consts_amd64 = []ConstValue{ {Name: "FS_POLICY_FLAGS_PAD_16", Value: 2}, {Name: "FS_POLICY_FLAGS_PAD_4"}, {Name: "FS_POLICY_FLAGS_PAD_8", Value: 1}, + {Name: "FS_VERITY_ALG_CRC32C", Value: 3}, + {Name: "FS_VERITY_ALG_SHA256", Value: 1}, + {Name: "FS_VERITY_ALG_SHA512", Value: 2}, {Name: "FTD_MSG", Value: 16}, {Name: "FUSE_ABORT_ERROR", Value: 2097152}, {Name: "FUSE_ASYNC_DIO", Value: 32768}, @@ -45054,4 +45073,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "d3c0cb876de4a8b5fb805efe83f674970a1348e7" +const revision_amd64 = "b7e39f3128ea124913623c5b44f8f4cf11321d3b" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index b59b5532..0f49edf8 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -4782,6 +4782,11 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "len", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "minlen", TypeSize: 8}}}, }}}, + {Key: StructKey{Name: "fsverity_digest", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsverity_digest", ArgDir: 2, IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fsverity_digest_algorithm_flags", FldName: "digest_algorithm", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 3}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "digest_size", TypeSize: 2, ArgDir: 2}}, Buf: "digest"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", ArgDir: 2, IsVarlen: true}}, + }}}, {Key: StructKey{Name: "fsxattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsxattr", TypeSize: 32}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_xflags", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_extsize", TypeSize: 4}}}, @@ -27995,6 +28000,10 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2149057047}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "floppy_write_errors", Dir: 1}}}, }}, + {NR: 54, Name: "ioctl$FS_IOC_ENABLE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 26245}, + }}, {NR: 54, Name: "ioctl$FS_IOC_FIEMAP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3223348747}, @@ -28040,6 +28049,11 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074816532}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "fscrypt_policy", Dir: 1}}}, }}, + {NR: 54, Name: "ioctl$FS_IOC_MEASURE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3221513862}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "fsverity_digest", Dir: 2}}}, + }}, {NR: 54, Name: "ioctl$FS_IOC_RESVSP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1076647976}, @@ -38534,6 +38548,7 @@ var consts_arm = []ConstValue{ {Name: "FS_ENCRYPTION_MODE_AES_256_XTS", Value: 1}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_CTS", Value: 8}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_XTS", Value: 7}, + {Name: "FS_IOC_ENABLE_VERITY", Value: 26245}, {Name: "FS_IOC_FIEMAP", Value: 3223348747}, {Name: "FS_IOC_FSGETXATTR", Value: 2149341215}, {Name: "FS_IOC_FSSETXATTR", Value: 1075599392}, @@ -38543,6 +38558,7 @@ var consts_arm = []ConstValue{ {Name: "FS_IOC_GETVERSION", Value: 2147776001}, {Name: "FS_IOC_GET_ENCRYPTION_POLICY", Value: 1074554389}, {Name: "FS_IOC_GET_ENCRYPTION_PWSALT", Value: 1074816532}, + {Name: "FS_IOC_MEASURE_VERITY", Value: 3221513862}, {Name: "FS_IOC_RESVSP", Value: 1076647976}, {Name: "FS_IOC_SETFLAGS", Value: 1074030082}, {Name: "FS_IOC_SETFSLABEL", Value: 1090556978}, @@ -38552,6 +38568,9 @@ var consts_arm = []ConstValue{ {Name: "FS_POLICY_FLAGS_PAD_16", Value: 2}, {Name: "FS_POLICY_FLAGS_PAD_4"}, {Name: "FS_POLICY_FLAGS_PAD_8", Value: 1}, + {Name: "FS_VERITY_ALG_CRC32C", Value: 3}, + {Name: "FS_VERITY_ALG_SHA256", Value: 1}, + {Name: "FS_VERITY_ALG_SHA512", Value: 2}, {Name: "FTD_MSG", Value: 16}, {Name: "FUSE_ABORT_ERROR", Value: 2097152}, {Name: "FUSE_ASYNC_DIO", Value: 32768}, @@ -44105,4 +44124,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "1d77e76fbb396a3a3706466c07f8c8bbd104f0a0" +const revision_arm = "34b155a4d1654ac354700f5d731b25f9b7fdcc76" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 5847b9fa..d05631e9 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -4872,6 +4872,11 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "len", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "minlen", TypeSize: 8}}}, }}}, + {Key: StructKey{Name: "fsverity_digest", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsverity_digest", ArgDir: 2, IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fsverity_digest_algorithm_flags", FldName: "digest_algorithm", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 3}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "digest_size", TypeSize: 2, ArgDir: 2}}, Buf: "digest"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", ArgDir: 2, IsVarlen: true}}, + }}}, {Key: StructKey{Name: "fsxattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsxattr", TypeSize: 32}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_xflags", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_extsize", TypeSize: 4}}}, @@ -28383,6 +28388,10 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2150105623}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "floppy_write_errors", Dir: 1}}}, }}, + {NR: 29, Name: "ioctl$FS_IOC_ENABLE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 26245}, + }}, {NR: 29, Name: "ioctl$FS_IOC_FIEMAP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3223348747}, @@ -28428,6 +28437,11 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074816532}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "fscrypt_policy", Dir: 1}}}, }}, + {NR: 29, Name: "ioctl$FS_IOC_MEASURE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3221513862}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "fsverity_digest", Dir: 2}}}, + }}, {NR: 29, Name: "ioctl$FS_IOC_RESVSP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1076910120}, @@ -38851,6 +38865,7 @@ var consts_arm64 = []ConstValue{ {Name: "FS_ENCRYPTION_MODE_AES_256_XTS", Value: 1}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_CTS", Value: 8}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_XTS", Value: 7}, + {Name: "FS_IOC_ENABLE_VERITY", Value: 26245}, {Name: "FS_IOC_FIEMAP", Value: 3223348747}, {Name: "FS_IOC_FSGETXATTR", Value: 2149341215}, {Name: "FS_IOC_FSSETXATTR", Value: 1075599392}, @@ -38860,6 +38875,7 @@ var consts_arm64 = []ConstValue{ {Name: "FS_IOC_GETVERSION", Value: 2148038145}, {Name: "FS_IOC_GET_ENCRYPTION_POLICY", Value: 1074554389}, {Name: "FS_IOC_GET_ENCRYPTION_PWSALT", Value: 1074816532}, + {Name: "FS_IOC_MEASURE_VERITY", Value: 3221513862}, {Name: "FS_IOC_RESVSP", Value: 1076910120}, {Name: "FS_IOC_SETFLAGS", Value: 1074292226}, {Name: "FS_IOC_SETFSLABEL", Value: 1090556978}, @@ -38869,6 +38885,9 @@ var consts_arm64 = []ConstValue{ {Name: "FS_POLICY_FLAGS_PAD_16", Value: 2}, {Name: "FS_POLICY_FLAGS_PAD_4"}, {Name: "FS_POLICY_FLAGS_PAD_8", Value: 1}, + {Name: "FS_VERITY_ALG_CRC32C", Value: 3}, + {Name: "FS_VERITY_ALG_SHA256", Value: 1}, + {Name: "FS_VERITY_ALG_SHA512", Value: 2}, {Name: "FTD_MSG", Value: 16}, {Name: "FUSE_ABORT_ERROR", Value: 2097152}, {Name: "FUSE_ASYNC_DIO", Value: 32768}, @@ -44412,4 +44431,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "d63d6f43a6b2870d268f238f62b1af301671d55e" +const revision_arm64 = "26f57d8563b809b5879e620054577dcb38668de8" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index c63fdcef..8bbcec16 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -4863,6 +4863,11 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "len", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "minlen", TypeSize: 8}}}, }}}, + {Key: StructKey{Name: "fsverity_digest", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsverity_digest", ArgDir: 2, IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fsverity_digest_algorithm_flags", FldName: "digest_algorithm", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 3}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "digest_size", TypeSize: 2, ArgDir: 2}}, Buf: "digest"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", ArgDir: 2, IsVarlen: true}}, + }}}, {Key: StructKey{Name: "fsxattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "fsxattr", TypeSize: 32}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_xflags", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fsx_extsize", TypeSize: 4}}}, @@ -27440,6 +27445,10 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1076363799}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "floppy_write_errors", Dir: 1}}}, }}, + {NR: 54, Name: "ioctl$FS_IOC_ENABLE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 536897157}, + }}, {NR: 54, Name: "ioctl$FS_IOC_FIEMAP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3223348747}, @@ -27485,6 +27494,11 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2148558356}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "fscrypt_policy", Dir: 1}}}, }}, + {NR: 54, Name: "ioctl$FS_IOC_MEASURE_VERITY", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3221513862}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "fsverity_digest", Dir: 2}}}, + }}, {NR: 54, Name: "ioctl$FS_IOC_RESVSP", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2150651944}, @@ -37246,6 +37260,7 @@ var consts_ppc64le = []ConstValue{ {Name: "FS_ENCRYPTION_MODE_AES_256_XTS", Value: 1}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_CTS", Value: 8}, {Name: "FS_ENCRYPTION_MODE_SPECK128_256_XTS", Value: 7}, + {Name: "FS_IOC_ENABLE_VERITY", Value: 536897157}, {Name: "FS_IOC_FIEMAP", Value: 3223348747}, {Name: "FS_IOC_FSGETXATTR", Value: 1075599391}, {Name: "FS_IOC_FSSETXATTR", Value: 2149341216}, @@ -37255,6 +37270,7 @@ var consts_ppc64le = []ConstValue{ {Name: "FS_IOC_GETVERSION", Value: 1074296321}, {Name: "FS_IOC_GET_ENCRYPTION_POLICY", Value: 2148296213}, {Name: "FS_IOC_GET_ENCRYPTION_PWSALT", Value: 2148558356}, + {Name: "FS_IOC_MEASURE_VERITY", Value: 3221513862}, {Name: "FS_IOC_RESVSP", Value: 2150651944}, {Name: "FS_IOC_SETFLAGS", Value: 2148034050}, {Name: "FS_IOC_SETFSLABEL", Value: 2164298802}, @@ -37264,6 +37280,9 @@ var consts_ppc64le = []ConstValue{ {Name: "FS_POLICY_FLAGS_PAD_16", Value: 2}, {Name: "FS_POLICY_FLAGS_PAD_4"}, {Name: "FS_POLICY_FLAGS_PAD_8", Value: 1}, + {Name: "FS_VERITY_ALG_CRC32C", Value: 3}, + {Name: "FS_VERITY_ALG_SHA256", Value: 1}, + {Name: "FS_VERITY_ALG_SHA512", Value: 2}, {Name: "FTD_MSG", Value: 16}, {Name: "FUSE_ABORT_ERROR", Value: 2097152}, {Name: "FUSE_ASYNC_DIO", Value: 32768}, @@ -41770,4 +41789,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "9f1aaf622deac73e3c5f3ed9cc113358ade669e9" +const revision_ppc64le = "2e2cda69f198c8832cb15174493082aab944dd2c"