diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-09-25 19:56:45 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-09-25 19:56:45 +0200 |
| commit | 134f5f14f48751d5c67a6816f6b09a9f59f0606b (patch) | |
| tree | 7978f355ec4c6f4c6c91ef5754f03f33c79cabf0 /sys/linux | |
| parent | b1b7b3a864839b19bb7ab35c63c70659263402c7 (diff) | |
sys/linux: add ima/evm/capability xattrs
Diffstat (limited to 'sys/linux')
| -rw-r--r-- | sys/linux/gen/386.go | 135 | ||||
| -rw-r--r-- | sys/linux/gen/amd64.go | 135 | ||||
| -rw-r--r-- | sys/linux/gen/arm.go | 135 | ||||
| -rw-r--r-- | sys/linux/gen/arm64.go | 135 | ||||
| -rw-r--r-- | sys/linux/gen/ppc64le.go | 135 | ||||
| -rw-r--r-- | sys/linux/xattr.txt | 84 | ||||
| -rw-r--r-- | sys/linux/xattr_386.const | 13 | ||||
| -rw-r--r-- | sys/linux/xattr_amd64.const | 13 | ||||
| -rw-r--r-- | sys/linux/xattr_arm.const | 13 | ||||
| -rw-r--r-- | sys/linux/xattr_arm64.const | 13 | ||||
| -rw-r--r-- | sys/linux/xattr_ppc64le.const | 13 |
11 files changed, 813 insertions, 11 deletions
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 015a8c436..1e1a07073 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -3146,6 +3146,30 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sopass", TypeSize: 6, ArgDir: 2}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }}}, + {Key: StructKey{Name: "evm_ima_xattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "evm_ima_xattr_data"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "signature_v2_hdr"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, FldName: "md5"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, FldName: "sha1"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, FldName: "ng"}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_md5", TypeSize: 17}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_ng", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_sha1", TypeSize: 21}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 20}, Kind: 1, RangeBegin: 20, RangeEnd: 20}, + }}}, {Key: StructKey{Name: "exec"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "exec", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "aouthdr_magics", FldName: "magic", TypeSize: 2}}, Vals: []uint64{263, 264, 267, 204}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "machtype", TypeSize: 1}}}, @@ -16664,6 +16688,15 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "code", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pad3", TypeSize: 4, ArgDir: 1}}}, }}}, + {Key: StructKey{Name: "signature_v2_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "signature_v2_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "evm_xattr_type", FldName: "type", TypeSize: 1}}, Vals: []uint64{3, 5}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}}, Kind: 2, RangeEnd: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "hash_algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "keyid", TypeSize: 4}, ArgFormat: 1}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "sig_size", TypeSize: 2}, ArgFormat: 1}, BitSize: 8, Buf: "sig"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sig", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "sigset"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sigset", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "mask", TypeSize: 8}}}, }}}, @@ -20082,6 +20115,28 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_winnt", TypeSize: 15}, Kind: 2, Values: []string{"shortname=winnt"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_mixed", TypeSize: 15}, Kind: 2, Values: []string{"shortname=mixed"}, NoZ: true}, }}}, + {Key: StructKey{Name: "vfs_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data", TypeSize: 20}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 33554432}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_u"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_u", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "vfs_cap_data_v1"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "vfs_cap_data"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "vfs_ns_cap_data"}, FldName: "v3"}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_v1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_v1", TypeSize: 12}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 16777216}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + }}}, + {Key: StructKey{Name: "vfs_cap_elem"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_elem", TypeSize: 8}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "permitted", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "inheritable", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "vfs_ns_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_ns_cap_data", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 50331648}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "rootid", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "vhost_iotlb_msg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vhost_iotlb_msg", TypeSize: 32}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "iova", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "iova"}, @@ -20243,7 +20298,7 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, }}}, {Key: StructKey{Name: "xattr_name"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name", IsVarlen: true}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.evm\x00", "security.ima\x00", "security.apparmor\x00", "security.capability\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.apparmor\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, &StructType{Key: StructKey{Name: "xattr_name_random"}, FldName: "random"}, }}}, {Key: StructKey{Name: "xattr_name_random"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsVarlen: true}, Fields: []Type{ @@ -23213,6 +23268,27 @@ var syscalls_386 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 228, Name: "fsetxattr$security_capability", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 228, Name: "fsetxattr$security_evm", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 228, Name: "fsetxattr$security_ima", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 228, Name: "fsetxattr$security_selinux", CallName: "fsetxattr", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -29317,6 +29393,27 @@ var syscalls_386 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 227, Name: "lsetxattr$security_capability", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 227, Name: "lsetxattr$security_evm", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 227, Name: "lsetxattr$security_ima", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 227, Name: "lsetxattr$security_selinux", CallName: "lsetxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -32838,6 +32935,27 @@ var syscalls_386 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 226, Name: "setxattr$security_capability", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 226, Name: "setxattr$security_evm", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 226, Name: "setxattr$security_ima", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 226, Name: "setxattr$security_selinux", CallName: "setxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -35512,6 +35630,9 @@ var consts_386 = []ConstValue{ {Name: "EVIOCSKEYCODE_V2", Value: 1076380932}, {Name: "EVIOCSMASK", Value: 1074808211}, {Name: "EVIOCSREP", Value: 1074283779}, + {Name: "EVM_IMA_XATTR_DIGSIG", Value: 3}, + {Name: "EVM_XATTR_HMAC", Value: 2}, + {Name: "EVM_XATTR_PORTABLE_DIGSIG", Value: 5}, {Name: "EV_ABS", Value: 3}, {Name: "EV_FF", Value: 21}, {Name: "EV_FF_STATUS", Value: 23}, @@ -35789,6 +35910,7 @@ var consts_386 = []ConstValue{ {Name: "GRND_RANDOM", Value: 2}, {Name: "GUE_FLAG_PRIV", Value: 256}, {Name: "GUE_PFLAG_REMCSUM", Value: 128}, + {Name: "HASH_ALGO__LAST", Value: 18}, {Name: "HCIBLOCKADDR", Value: 1074022630}, {Name: "HCIDEVDOWN", Value: 1074022602}, {Name: "HCIDEVRESET", Value: 1074022603}, @@ -36175,6 +36297,8 @@ var consts_386 = []ConstValue{ {Name: "IGMP_MTRACE_RESP", Value: 30}, {Name: "IGMP_PIM", Value: 20}, {Name: "IGMP_TRACE", Value: 21}, + {Name: "IMA_XATTR_DIGEST", Value: 1}, + {Name: "IMA_XATTR_DIGEST_NG", Value: 4}, {Name: "INOTIFY_IOC_SETNEXTWD", Value: 1074022656}, {Name: "INPUT_PROP_MAX", Value: 31}, {Name: "IN_ACCESS", Value: 1}, @@ -38358,6 +38482,7 @@ var consts_386 = []ConstValue{ {Name: "SG_SET_KEEP_ORPHAN", Value: 8839}, {Name: "SG_SET_RESERVED_SIZE", Value: 8821}, {Name: "SG_SET_TIMEOUT", Value: 8705}, + {Name: "SHA1_DIGEST_SIZE", Value: 20}, {Name: "SHM_HUGETLB", Value: 2048}, {Name: "SHM_HUGE_1GB", Value: 2013265920}, {Name: "SHM_HUGE_2MB", Value: 1409286144}, @@ -40208,6 +40333,12 @@ var consts_386 = []ConstValue{ {Name: "V4L2_YCBCR_ENC_XV601", Value: 3}, {Name: "V4L2_YCBCR_ENC_XV709", Value: 4}, {Name: "VETH_INFO_PEER", Value: 1}, + {Name: "VFS_CAP_REVISION_1", Value: 16777216}, + {Name: "VFS_CAP_REVISION_2", Value: 33554432}, + {Name: "VFS_CAP_REVISION_3", Value: 50331648}, + {Name: "VFS_CAP_U32_1", Value: 1}, + {Name: "VFS_CAP_U32_2", Value: 2}, + {Name: "VFS_CAP_U32_3", Value: 2}, {Name: "VHOST_ACCESS_RO", Value: 1}, {Name: "VHOST_ACCESS_RW", Value: 3}, {Name: "VHOST_ACCESS_WO", Value: 2}, @@ -41017,4 +41148,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "3fd511561e6c83cf513989a72286593629fc2d99" +const revision_386 = "4938aa31616abf36fa5e8072751c174a3c58b918" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 5754f2607..935bee71c 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -3230,6 +3230,30 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sopass", TypeSize: 6, ArgDir: 2}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }}}, + {Key: StructKey{Name: "evm_ima_xattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "evm_ima_xattr_data"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "signature_v2_hdr"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, FldName: "md5"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, FldName: "sha1"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, FldName: "ng"}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_md5", TypeSize: 17}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_ng", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_sha1", TypeSize: 21}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 20}, Kind: 1, RangeBegin: 20, RangeEnd: 20}, + }}}, {Key: StructKey{Name: "exec"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "exec", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "aouthdr_magics", FldName: "magic", TypeSize: 2}}, Vals: []uint64{263, 264, 267, 204}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "machtype", TypeSize: 1}}}, @@ -16926,6 +16950,15 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "code", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pad3", TypeSize: 4, ArgDir: 1}}}, }}}, + {Key: StructKey{Name: "signature_v2_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "signature_v2_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "evm_xattr_type", FldName: "type", TypeSize: 1}}, Vals: []uint64{3, 5}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}}, Kind: 2, RangeEnd: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "hash_algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "keyid", TypeSize: 4}, ArgFormat: 1}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "sig_size", TypeSize: 2}, ArgFormat: 1}, BitSize: 8, Buf: "sig"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sig", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "sigset"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sigset", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "mask", TypeSize: 8}}}, }}}, @@ -20414,6 +20447,28 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_winnt", TypeSize: 15}, Kind: 2, Values: []string{"shortname=winnt"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_mixed", TypeSize: 15}, Kind: 2, Values: []string{"shortname=mixed"}, NoZ: true}, }}}, + {Key: StructKey{Name: "vfs_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data", TypeSize: 20}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 33554432}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_u"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_u", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "vfs_cap_data_v1"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "vfs_cap_data"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "vfs_ns_cap_data"}, FldName: "v3"}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_v1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_v1", TypeSize: 12}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 16777216}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + }}}, + {Key: StructKey{Name: "vfs_cap_elem"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_elem", TypeSize: 8}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "permitted", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "inheritable", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "vfs_ns_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_ns_cap_data", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 50331648}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "rootid", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "vhost_iotlb_msg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vhost_iotlb_msg", TypeSize: 32}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "iova", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "iova"}, @@ -20575,7 +20630,7 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, }}}, {Key: StructKey{Name: "xattr_name"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name", IsVarlen: true}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.evm\x00", "security.ima\x00", "security.apparmor\x00", "security.capability\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.apparmor\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, &StructType{Key: StructKey{Name: "xattr_name_random"}, FldName: "random"}, }}}, {Key: StructKey{Name: "xattr_name_random"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsVarlen: true}, Fields: []Type{ @@ -23663,6 +23718,27 @@ var syscalls_amd64 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 190, Name: "fsetxattr$security_capability", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 190, Name: "fsetxattr$security_evm", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 190, Name: "fsetxattr$security_ima", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 190, Name: "fsetxattr$security_selinux", CallName: "fsetxattr", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -29787,6 +29863,27 @@ var syscalls_amd64 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 189, Name: "lsetxattr$security_capability", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 189, Name: "lsetxattr$security_evm", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 189, Name: "lsetxattr$security_ima", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 189, Name: "lsetxattr$security_selinux", CallName: "lsetxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -33450,6 +33547,27 @@ var syscalls_amd64 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 188, Name: "setxattr$security_capability", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 188, Name: "setxattr$security_evm", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 188, Name: "setxattr$security_ima", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 188, Name: "setxattr$security_selinux", CallName: "setxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -36181,6 +36299,9 @@ var consts_amd64 = []ConstValue{ {Name: "EVIOCSKEYCODE_V2", Value: 1076380932}, {Name: "EVIOCSMASK", Value: 1074808211}, {Name: "EVIOCSREP", Value: 1074283779}, + {Name: "EVM_IMA_XATTR_DIGSIG", Value: 3}, + {Name: "EVM_XATTR_HMAC", Value: 2}, + {Name: "EVM_XATTR_PORTABLE_DIGSIG", Value: 5}, {Name: "EV_ABS", Value: 3}, {Name: "EV_FF", Value: 21}, {Name: "EV_FF_STATUS", Value: 23}, @@ -36458,6 +36579,7 @@ var consts_amd64 = []ConstValue{ {Name: "GRND_RANDOM", Value: 2}, {Name: "GUE_FLAG_PRIV", Value: 256}, {Name: "GUE_PFLAG_REMCSUM", Value: 128}, + {Name: "HASH_ALGO__LAST", Value: 18}, {Name: "HCIBLOCKADDR", Value: 1074022630}, {Name: "HCIDEVDOWN", Value: 1074022602}, {Name: "HCIDEVRESET", Value: 1074022603}, @@ -36844,6 +36966,8 @@ var consts_amd64 = []ConstValue{ {Name: "IGMP_MTRACE_RESP", Value: 30}, {Name: "IGMP_PIM", Value: 20}, {Name: "IGMP_TRACE", Value: 21}, + {Name: "IMA_XATTR_DIGEST", Value: 1}, + {Name: "IMA_XATTR_DIGEST_NG", Value: 4}, {Name: "INOTIFY_IOC_SETNEXTWD", Value: 1074022656}, {Name: "INPUT_PROP_MAX", Value: 31}, {Name: "IN_ACCESS", Value: 1}, @@ -39027,6 +39151,7 @@ var consts_amd64 = []ConstValue{ {Name: "SG_SET_KEEP_ORPHAN", Value: 8839}, {Name: "SG_SET_RESERVED_SIZE", Value: 8821}, {Name: "SG_SET_TIMEOUT", Value: 8705}, + {Name: "SHA1_DIGEST_SIZE", Value: 20}, {Name: "SHM_HUGETLB", Value: 2048}, {Name: "SHM_HUGE_1GB", Value: 2013265920}, {Name: "SHM_HUGE_2MB", Value: 1409286144}, @@ -40891,6 +41016,12 @@ var consts_amd64 = []ConstValue{ {Name: "V4L2_YCBCR_ENC_XV601", Value: 3}, {Name: "V4L2_YCBCR_ENC_XV709", Value: 4}, {Name: "VETH_INFO_PEER", Value: 1}, + {Name: "VFS_CAP_REVISION_1", Value: 16777216}, + {Name: "VFS_CAP_REVISION_2", Value: 33554432}, + {Name: "VFS_CAP_REVISION_3", Value: 50331648}, + {Name: "VFS_CAP_U32_1", Value: 1}, + {Name: "VFS_CAP_U32_2", Value: 2}, + {Name: "VFS_CAP_U32_3", Value: 2}, {Name: "VHOST_ACCESS_RO", Value: 1}, {Name: "VHOST_ACCESS_RW", Value: 3}, {Name: "VHOST_ACCESS_WO", Value: 2}, @@ -41711,4 +41842,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "57cc595295dec5ec20021763ceed2ada06d64f80" +const revision_amd64 = "59ef4909a9242eecd323605076a38dfd5a0e6bb9" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 1779a617f..ae1d9313b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -3151,6 +3151,30 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sopass", TypeSize: 6, ArgDir: 2}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }}}, + {Key: StructKey{Name: "evm_ima_xattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "evm_ima_xattr_data"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "signature_v2_hdr"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, FldName: "md5"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, FldName: "sha1"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, FldName: "ng"}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_md5", TypeSize: 17}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_ng", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_sha1", TypeSize: 21}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 20}, Kind: 1, RangeBegin: 20, RangeEnd: 20}, + }}}, {Key: StructKey{Name: "exec"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "exec", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "aouthdr_magics", FldName: "magic", TypeSize: 2}}, Vals: []uint64{263, 264, 267, 204}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "machtype", TypeSize: 1}}}, @@ -16545,6 +16569,15 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "code", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pad3", TypeSize: 4, ArgDir: 1}}}, }}}, + {Key: StructKey{Name: "signature_v2_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "signature_v2_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "evm_xattr_type", FldName: "type", TypeSize: 1}}, Vals: []uint64{3, 5}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}}, Kind: 2, RangeEnd: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "hash_algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "keyid", TypeSize: 4}, ArgFormat: 1}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "sig_size", TypeSize: 2}, ArgFormat: 1}, BitSize: 8, Buf: "sig"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sig", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "sigset"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sigset", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "mask", TypeSize: 8}}}, }}}, @@ -19947,6 +19980,28 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_winnt", TypeSize: 15}, Kind: 2, Values: []string{"shortname=winnt"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_mixed", TypeSize: 15}, Kind: 2, Values: []string{"shortname=mixed"}, NoZ: true}, }}}, + {Key: StructKey{Name: "vfs_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data", TypeSize: 20}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 33554432}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_u"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_u", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "vfs_cap_data_v1"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "vfs_cap_data"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "vfs_ns_cap_data"}, FldName: "v3"}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_v1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_v1", TypeSize: 12}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 16777216}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + }}}, + {Key: StructKey{Name: "vfs_cap_elem"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_elem", TypeSize: 8}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "permitted", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "inheritable", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "vfs_ns_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_ns_cap_data", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 50331648}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "rootid", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "vhost_iotlb_msg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vhost_iotlb_msg", TypeSize: 32}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "iova", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "iova"}, @@ -20108,7 +20163,7 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, }}}, {Key: StructKey{Name: "xattr_name"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name", IsVarlen: true}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.evm\x00", "security.ima\x00", "security.apparmor\x00", "security.capability\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.apparmor\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, &StructType{Key: StructKey{Name: "xattr_name_random"}, FldName: "random"}, }}}, {Key: StructKey{Name: "xattr_name_random"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsVarlen: true}, Fields: []Type{ @@ -23115,6 +23170,27 @@ var syscalls_arm = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 228, Name: "fsetxattr$security_capability", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 228, Name: "fsetxattr$security_evm", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 228, Name: "fsetxattr$security_ima", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 228, Name: "fsetxattr$security_selinux", CallName: "fsetxattr", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -29081,6 +29157,27 @@ var syscalls_arm = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 227, Name: "lsetxattr$security_capability", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 227, Name: "lsetxattr$security_evm", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 227, Name: "lsetxattr$security_ima", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 227, Name: "lsetxattr$security_selinux", CallName: "lsetxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -32714,6 +32811,27 @@ var syscalls_arm = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 226, Name: "setxattr$security_capability", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 226, Name: "setxattr$security_evm", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 226, Name: "setxattr$security_ima", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 226, Name: "setxattr$security_selinux", CallName: "setxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -35432,6 +35550,9 @@ var consts_arm = []ConstValue{ {Name: "EVIOCSKEYCODE_V2", Value: 1076380932}, {Name: "EVIOCSMASK", Value: 1074808211}, {Name: "EVIOCSREP", Value: 1074283779}, + {Name: "EVM_IMA_XATTR_DIGSIG", Value: 3}, + {Name: "EVM_XATTR_HMAC", Value: 2}, + {Name: "EVM_XATTR_PORTABLE_DIGSIG", Value: 5}, {Name: "EV_ABS", Value: 3}, {Name: "EV_FF", Value: 21}, {Name: "EV_FF_STATUS", Value: 23}, @@ -35709,6 +35830,7 @@ var consts_arm = []ConstValue{ {Name: "GRND_RANDOM", Value: 2}, {Name: "GUE_FLAG_PRIV", Value: 256}, {Name: "GUE_PFLAG_REMCSUM", Value: 128}, + {Name: "HASH_ALGO__LAST", Value: 18}, {Name: "HCIBLOCKADDR", Value: 1074022630}, {Name: "HCIDEVDOWN", Value: 1074022602}, {Name: "HCIDEVRESET", Value: 1074022603}, @@ -36095,6 +36217,8 @@ var consts_arm = []ConstValue{ {Name: "IGMP_MTRACE_RESP", Value: 30}, {Name: "IGMP_PIM", Value: 20}, {Name: "IGMP_TRACE", Value: 21}, + {Name: "IMA_XATTR_DIGEST", Value: 1}, + {Name: "IMA_XATTR_DIGEST_NG", Value: 4}, {Name: "INOTIFY_IOC_SETNEXTWD", Value: 1074022656}, {Name: "INPUT_PROP_MAX", Value: 31}, {Name: "IN_ACCESS", Value: 1}, @@ -38226,6 +38350,7 @@ var consts_arm = []ConstValue{ {Name: "SG_SET_KEEP_ORPHAN", Value: 8839}, {Name: "SG_SET_RESERVED_SIZE", Value: 8821}, {Name: "SG_SET_TIMEOUT", Value: 8705}, + {Name: "SHA1_DIGEST_SIZE", Value: 20}, {Name: "SHM_HUGETLB", Value: 2048}, {Name: "SHM_HUGE_1GB", Value: 2013265920}, {Name: "SHM_HUGE_2MB", Value: 1409286144}, @@ -40076,6 +40201,12 @@ var consts_arm = []ConstValue{ {Name: "V4L2_YCBCR_ENC_XV601", Value: 3}, {Name: "V4L2_YCBCR_ENC_XV709", Value: 4}, {Name: "VETH_INFO_PEER", Value: 1}, + {Name: "VFS_CAP_REVISION_1", Value: 16777216}, + {Name: "VFS_CAP_REVISION_2", Value: 33554432}, + {Name: "VFS_CAP_REVISION_3", Value: 50331648}, + {Name: "VFS_CAP_U32_1", Value: 1}, + {Name: "VFS_CAP_U32_2", Value: 2}, + {Name: "VFS_CAP_U32_3", Value: 2}, {Name: "VHOST_ACCESS_RO", Value: 1}, {Name: "VHOST_ACCESS_RW", Value: 3}, {Name: "VHOST_ACCESS_WO", Value: 2}, @@ -40883,4 +41014,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "f856012ad1b3f66267aaf461b789f103c8cfe690" +const revision_arm = "c81d770b5f4f36bd86a8be4093b0e6a2f32c81a9" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 48760b2ab..0a15896f2 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -3230,6 +3230,30 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sopass", TypeSize: 6, ArgDir: 2}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }}}, + {Key: StructKey{Name: "evm_ima_xattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "evm_ima_xattr_data"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "signature_v2_hdr"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, FldName: "md5"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, FldName: "sha1"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, FldName: "ng"}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_md5", TypeSize: 17}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_ng", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_sha1", TypeSize: 21}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 20}, Kind: 1, RangeBegin: 20, RangeEnd: 20}, + }}}, {Key: StructKey{Name: "exec"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "exec", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "aouthdr_magics", FldName: "magic", TypeSize: 2}}, Vals: []uint64{263, 264, 267, 204}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "machtype", TypeSize: 1}}}, @@ -16743,6 +16767,15 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "code", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pad3", TypeSize: 4, ArgDir: 1}}}, }}}, + {Key: StructKey{Name: "signature_v2_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "signature_v2_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "evm_xattr_type", FldName: "type", TypeSize: 1}}, Vals: []uint64{3, 5}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}}, Kind: 2, RangeEnd: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "hash_algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "keyid", TypeSize: 4}, ArgFormat: 1}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "sig_size", TypeSize: 2}, ArgFormat: 1}, BitSize: 8, Buf: "sig"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sig", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "sigset"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sigset", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "mask", TypeSize: 8}}}, }}}, @@ -20206,6 +20239,28 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_winnt", TypeSize: 15}, Kind: 2, Values: []string{"shortname=winnt"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_mixed", TypeSize: 15}, Kind: 2, Values: []string{"shortname=mixed"}, NoZ: true}, }}}, + {Key: StructKey{Name: "vfs_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data", TypeSize: 20}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 33554432}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_u"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_u", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "vfs_cap_data_v1"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "vfs_cap_data"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "vfs_ns_cap_data"}, FldName: "v3"}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_v1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_v1", TypeSize: 12}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 16777216}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + }}}, + {Key: StructKey{Name: "vfs_cap_elem"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_elem", TypeSize: 8}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "permitted", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "inheritable", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "vfs_ns_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_ns_cap_data", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 50331648}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "rootid", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "vhost_iotlb_msg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vhost_iotlb_msg", TypeSize: 32}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "iova", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "iova"}, @@ -20367,7 +20422,7 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, }}}, {Key: StructKey{Name: "xattr_name"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name", IsVarlen: true}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.evm\x00", "security.ima\x00", "security.apparmor\x00", "security.capability\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.apparmor\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, &StructType{Key: StructKey{Name: "xattr_name_random"}, FldName: "random"}, }}}, {Key: StructKey{Name: "xattr_name_random"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsVarlen: true}, Fields: []Type{ @@ -23419,6 +23474,27 @@ var syscalls_arm64 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 7, Name: "fsetxattr$security_capability", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 7, Name: "fsetxattr$security_evm", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 7, Name: "fsetxattr$security_ima", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 7, Name: "fsetxattr$security_selinux", CallName: "fsetxattr", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -29394,6 +29470,27 @@ var syscalls_arm64 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 6, Name: "lsetxattr$security_capability", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 6, Name: "lsetxattr$security_evm", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 6, Name: "lsetxattr$security_ima", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 6, Name: "lsetxattr$security_selinux", CallName: "lsetxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -32978,6 +33075,27 @@ var syscalls_arm64 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 5, Name: "setxattr$security_capability", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 5, Name: "setxattr$security_evm", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 5, Name: "setxattr$security_ima", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 5, Name: "setxattr$security_selinux", CallName: "setxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -35663,6 +35781,9 @@ var consts_arm64 = []ConstValue{ {Name: "EVIOCSKEYCODE_V2", Value: 1076380932}, {Name: "EVIOCSMASK", Value: 1074808211}, {Name: "EVIOCSREP", Value: 1074283779}, + {Name: "EVM_IMA_XATTR_DIGSIG", Value: 3}, + {Name: "EVM_XATTR_HMAC", Value: 2}, + {Name: "EVM_XATTR_PORTABLE_DIGSIG", Value: 5}, {Name: "EV_ABS", Value: 3}, {Name: "EV_FF", Value: 21}, {Name: "EV_FF_STATUS", Value: 23}, @@ -35940,6 +36061,7 @@ var consts_arm64 = []ConstValue{ {Name: "GRND_RANDOM", Value: 2}, {Name: "GUE_FLAG_PRIV", Value: 256}, {Name: "GUE_PFLAG_REMCSUM", Value: 128}, + {Name: "HASH_ALGO__LAST", Value: 18}, {Name: "HCIBLOCKADDR", Value: 1074022630}, {Name: "HCIDEVDOWN", Value: 1074022602}, {Name: "HCIDEVRESET", Value: 1074022603}, @@ -36326,6 +36448,8 @@ var consts_arm64 = []ConstValue{ {Name: "IGMP_MTRACE_RESP", Value: 30}, {Name: "IGMP_PIM", Value: 20}, {Name: "IGMP_TRACE", Value: 21}, + {Name: "IMA_XATTR_DIGEST", Value: 1}, + {Name: "IMA_XATTR_DIGEST_NG", Value: 4}, {Name: "INOTIFY_IOC_SETNEXTWD", Value: 1074022656}, {Name: "INPUT_PROP_MAX", Value: 31}, {Name: "IN_ACCESS", Value: 1}, @@ -38462,6 +38586,7 @@ var consts_arm64 = []ConstValue{ {Name: "SG_SET_KEEP_ORPHAN", Value: 8839}, {Name: "SG_SET_RESERVED_SIZE", Value: 8821}, {Name: "SG_SET_TIMEOUT", Value: 8705}, + {Name: "SHA1_DIGEST_SIZE", Value: 20}, {Name: "SHM_HUGETLB", Value: 2048}, {Name: "SHM_HUGE_1GB", Value: 2013265920}, {Name: "SHM_HUGE_2MB", Value: 1409286144}, @@ -40326,6 +40451,12 @@ var consts_arm64 = []ConstValue{ {Name: "V4L2_YCBCR_ENC_XV601", Value: 3}, {Name: "V4L2_YCBCR_ENC_XV709", Value: 4}, {Name: "VETH_INFO_PEER", Value: 1}, + {Name: "VFS_CAP_REVISION_1", Value: 16777216}, + {Name: "VFS_CAP_REVISION_2", Value: 33554432}, + {Name: "VFS_CAP_REVISION_3", Value: 50331648}, + {Name: "VFS_CAP_U32_1", Value: 1}, + {Name: "VFS_CAP_U32_2", Value: 2}, + {Name: "VFS_CAP_U32_3", Value: 2}, {Name: "VHOST_ACCESS_RO", Value: 1}, {Name: "VHOST_ACCESS_RW", Value: 3}, {Name: "VHOST_ACCESS_WO", Value: 2}, @@ -41105,4 +41236,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "bc5dcaa1c4029fde11b974e40dc64a3078746269" +const revision_arm64 = "6a78aa3380aa93e8412af28fe0628b42735ad076" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index a976fa1db..a761ba34b 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -3221,6 +3221,30 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sopass", TypeSize: 6, ArgDir: 2}, Kind: 1, RangeBegin: 6, RangeEnd: 6}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }}}, + {Key: StructKey{Name: "evm_ima_xattr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "evm_ima_xattr_data"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "signature_v2_hdr"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, FldName: "md5"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, FldName: "sha1"}, + &StructType{Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, FldName: "ng"}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_md5"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_md5", TypeSize: 17}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_ng"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_ng", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", IsVarlen: true}, Kind: 1, RangeEnd: 20}, + }}}, + {Key: StructKey{Name: "evm_ima_xattr_digest_sha1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "evm_ima_xattr_digest_sha1", TypeSize: 21}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "digest", TypeSize: 20}, Kind: 1, RangeBegin: 20, RangeEnd: 20}, + }}}, {Key: StructKey{Name: "exec"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "exec", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "aouthdr_magics", FldName: "magic", TypeSize: 2}}, Vals: []uint64{263, 264, 267, 204}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "machtype", TypeSize: 1}}}, @@ -16625,6 +16649,15 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "code", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pad3", TypeSize: 4, ArgDir: 1}}}, }}}, + {Key: StructKey{Name: "signature_v2_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "signature_v2_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "evm_xattr_type", FldName: "type", TypeSize: 1}}, Vals: []uint64{3, 5}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}}, Kind: 2, RangeEnd: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "hash_algo", TypeSize: 1}}, Kind: 2, RangeEnd: 18}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "keyid", TypeSize: 4}, ArgFormat: 1}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "sig_size", TypeSize: 2}, ArgFormat: 1}, BitSize: 8, Buf: "sig"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "sig", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "sigset"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sigset", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "mask", TypeSize: 8}}}, }}}, @@ -19229,6 +19262,28 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_winnt", TypeSize: 15}, Kind: 2, Values: []string{"shortname=winnt"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "shortname_mixed", TypeSize: 15}, Kind: 2, Values: []string{"shortname=mixed"}, NoZ: true}, }}}, + {Key: StructKey{Name: "vfs_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data", TypeSize: 20}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 33554432}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_u"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_u", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "vfs_cap_data_v1"}, FldName: "v1"}, + &StructType{Key: StructKey{Name: "vfs_cap_data"}, FldName: "v2"}, + &StructType{Key: StructKey{Name: "vfs_ns_cap_data"}, FldName: "v3"}, + }}}, + {Key: StructKey{Name: "vfs_cap_data_v1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_data_v1", TypeSize: 12}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 16777216}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + }}}, + {Key: StructKey{Name: "vfs_cap_elem"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_cap_elem", TypeSize: 8}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "permitted", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "inheritable", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "vfs_ns_cap_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vfs_ns_cap_data", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic_etc", TypeSize: 4}}, Val: 50331648}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 16}, Type: &StructType{Key: StructKey{Name: "vfs_cap_elem"}}, Kind: 1, RangeBegin: 2, RangeEnd: 2}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "rootid", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "vhost_iotlb_msg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vhost_iotlb_msg", TypeSize: 32}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "iova", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "iova"}, @@ -19378,7 +19433,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "payload", IsVarlen: true}}, }}}, {Key: StructKey{Name: "xattr_name"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name", IsVarlen: true}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.evm\x00", "security.ima\x00", "security.apparmor\x00", "security.capability\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "known", IsVarlen: true}, Kind: 2, SubKind: "xattr_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00", "system.advise\x00", "system.sockprotoname\x00", "com.apple.FinderInfo\x00", "com.apple.system.Security\x00", "user.syz\x00", "trusted.syz\x00", "security.apparmor\x00", "trusted.overlay.opaque\x00", "trusted.overlay.redirect\x00", "trusted.overlay.origin\x00", "trusted.overlay.impure\x00", "trusted.overlay.nlink\x00", "trusted.overlay.upper\x00", "trusted.overlay.metacopy\x00"}}, &StructType{Key: StructKey{Name: "xattr_name_random"}, FldName: "random"}, }}}, {Key: StructKey{Name: "xattr_name_random"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_name_random", IsVarlen: true}, Fields: []Type{ @@ -22462,6 +22517,27 @@ var syscalls_ppc64le = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 211, Name: "fsetxattr$security_capability", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 211, Name: "fsetxattr$security_evm", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 211, Name: "fsetxattr$security_ima", CallName: "fsetxattr", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 211, Name: "fsetxattr$security_selinux", CallName: "fsetxattr", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -27878,6 +27954,27 @@ var syscalls_ppc64le = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 210, Name: "lsetxattr$security_capability", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 210, Name: "lsetxattr$security_evm", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 210, Name: "lsetxattr$security_ima", CallName: "lsetxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 210, Name: "lsetxattr$security_selinux", CallName: "lsetxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -31390,6 +31487,27 @@ var syscalls_ppc64le = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, }}, + {NR: 209, Name: "setxattr$security_capability", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"security.capability\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "vfs_cap_data_u"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 209, Name: "setxattr$security_evm", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.evm\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, + {NR: 209, Name: "setxattr$security_ima", CallName: "setxattr", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 13}, Kind: 2, Values: []string{"security.ima\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "evm_ima_xattr"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "val"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "setxattr_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true}, + }}, {NR: 209, Name: "setxattr$security_selinux", CallName: "setxattr", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 17}, Kind: 2, Values: []string{"security.selinux\x00"}}}, @@ -34058,6 +34176,9 @@ var consts_ppc64le = []ConstValue{ {Name: "EVIOCSKEYCODE_V2", Value: 2150122756}, {Name: "EVIOCSMASK", Value: 2148550035}, {Name: "EVIOCSREP", Value: 2148025603}, + {Name: "EVM_IMA_XATTR_DIGSIG", Value: 3}, + {Name: "EVM_XATTR_HMAC", Value: 2}, + {Name: "EVM_XATTR_PORTABLE_DIGSIG", Value: 5}, {Name: "EV_ABS", Value: 3}, {Name: "EV_FF", Value: 21}, {Name: "EV_FF_STATUS", Value: 23}, @@ -34335,6 +34456,7 @@ var consts_ppc64le = []ConstValue{ {Name: "GRND_RANDOM", Value: 2}, {Name: "GUE_FLAG_PRIV", Value: 1}, {Name: "GUE_PFLAG_REMCSUM", Value: 2147483648}, + {Name: "HASH_ALGO__LAST", Value: 18}, {Name: "HCIBLOCKADDR", Value: 2147764454}, {Name: "HCIDEVDOWN", Value: 2147764426}, {Name: "HCIDEVRESET", Value: 2147764427}, @@ -34721,6 +34843,8 @@ var consts_ppc64le = []ConstValue{ {Name: "IGMP_MTRACE_RESP", Value: 30}, {Name: "IGMP_PIM", Value: 20}, {Name: "IGMP_TRACE", Value: 21}, + {Name: "IMA_XATTR_DIGEST", Value: 1}, + {Name: "IMA_XATTR_DIGEST_NG", Value: 4}, {Name: "INOTIFY_IOC_SETNEXTWD", Value: 2147764480}, {Name: "INPUT_PROP_MAX", Value: 31}, {Name: "IN_ACCESS", Value: 1}, @@ -36761,6 +36885,7 @@ var consts_ppc64le = []ConstValue{ {Name: "SG_SET_KEEP_ORPHAN", Value: 8839}, {Name: "SG_SET_RESERVED_SIZE", Value: 8821}, {Name: "SG_SET_TIMEOUT", Value: 8705}, + {Name: "SHA1_DIGEST_SIZE", Value: 20}, {Name: "SHM_HUGETLB", Value: 2048}, {Name: "SHM_HUGE_1GB", Value: 2013265920}, {Name: "SHM_HUGE_2MB", Value: 1409286144}, @@ -37758,6 +37883,12 @@ var consts_ppc64le = []ConstValue{ {Name: "USER_CLIENT", Value: 1}, {Name: "UUID_SIZE", Value: 16}, {Name: "VETH_INFO_PEER", Value: 1}, + {Name: "VFS_CAP_REVISION_1", Value: 16777216}, + {Name: "VFS_CAP_REVISION_2", Value: 33554432}, + {Name: "VFS_CAP_REVISION_3", Value: 50331648}, + {Name: "VFS_CAP_U32_1", Value: 1}, + {Name: "VFS_CAP_U32_2", Value: 2}, + {Name: "VFS_CAP_U32_3", Value: 2}, {Name: "VHOST_ACCESS_RO", Value: 1}, {Name: "VHOST_ACCESS_RW", Value: 3}, {Name: "VHOST_ACCESS_WO", Value: 2}, @@ -38461,4 +38592,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "5c583df112296a48941a8b4527a61d5db2b8bbb5" +const revision_ppc64le = "e890f4cbfb308d986890f0ac52962cba5e9ef922" diff --git a/sys/linux/xattr.txt b/sys/linux/xattr.txt index 92e6c4f2d..df1c05f88 100644 --- a/sys/linux/xattr.txt +++ b/sys/linux/xattr.txt @@ -5,7 +5,10 @@ include <linux/xattr.h> include <linux/uuid.h> include <uapi/linux/posix_acl_xattr.h> include <uapi/linux/posix_acl.h> +include <uapi/linux/capability.h> +include <security/integrity/integrity.h> include <fs/overlayfs/overlayfs.h> +include <uapi/linux/hash_info.h> setxattr(path ptr[in, filename], name ptr[in, xattr_name], val ptr[in, string], size len[val], flags flags[setxattr_flags]) lsetxattr(path ptr[in, filename], name ptr[in, xattr_name], val ptr[in, string], size len[val], flags flags[setxattr_flags]) @@ -34,7 +37,7 @@ setxattr_flags = XATTR_CREATE, XATTR_REPLACE xattr_prefix = "system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2." -xattr_names = "system.posix_acl_access", "system.posix_acl_default", "system.advise", "system.sockprotoname", "com.apple.FinderInfo", "com.apple.system.Security", "user.syz", "trusted.syz", "security.evm", "security.ima", "security.apparmor", "security.capability", "trusted.overlay.opaque", "trusted.overlay.redirect", "trusted.overlay.origin", "trusted.overlay.impure", "trusted.overlay.nlink", "trusted.overlay.upper", "trusted.overlay.metacopy" +xattr_names = "system.posix_acl_access", "system.posix_acl_default", "system.advise", "system.sockprotoname", "com.apple.FinderInfo", "com.apple.system.Security", "user.syz", "trusted.syz", "security.apparmor", "trusted.overlay.opaque", "trusted.overlay.redirect", "trusted.overlay.origin", "trusted.overlay.impure", "trusted.overlay.nlink", "trusted.overlay.upper", "trusted.overlay.metacopy" setxattr$system_posix_acl(path ptr[in, filename], name ptr[in, string[xattr_posix_acl_names]], val ptr[in, xattr_system_posix_acl_access], size len[val], flags flags[setxattr_flags]) lsetxattr$system_posix_acl(path ptr[in, filename], name ptr[in, string[xattr_posix_acl_names]], val ptr[in, xattr_system_posix_acl_access], size len[val], flags flags[setxattr_flags]) @@ -64,6 +67,85 @@ type posix_acl_xattr_entry[TAG, ID] { posix_acl_perm = ACL_READ, ACL_WRITE, ACL_EXECUTE +setxattr$security_capability(path ptr[in, filename], name ptr[in, string["security.capability"]], val ptr[in, vfs_cap_data_u], size len[val], flags flags[setxattr_flags]) +lsetxattr$security_capability(path ptr[in, filename], name ptr[in, string["security.capability"]], val ptr[in, vfs_cap_data_u], size len[val], flags flags[setxattr_flags]) +fsetxattr$security_capability(fd fd, name ptr[in, string["security.capability"]], val ptr[in, vfs_cap_data_u], size len[val], flags flags[setxattr_flags]) + +vfs_cap_data_u [ + v1 vfs_cap_data_v1 + v2 vfs_cap_data + v3 vfs_ns_cap_data +] [varlen] + +vfs_cap_data_v1 { + magic_etc const[VFS_CAP_REVISION_1, int32] + data array[vfs_cap_elem, VFS_CAP_U32_1] +} + +vfs_cap_data { + magic_etc const[VFS_CAP_REVISION_2, int32] + data array[vfs_cap_elem, VFS_CAP_U32_2] +} + +vfs_ns_cap_data { + magic_etc const[VFS_CAP_REVISION_3, int32] + data array[vfs_cap_elem, VFS_CAP_U32_3] + rootid uid +} + +vfs_cap_elem { + permitted int32 + inheritable int32 +} + +setxattr$security_evm(path ptr[in, filename], name ptr[in, string["security.evm"]], val ptr[in, evm_ima_xattr], size len[val], flags flags[setxattr_flags]) +lsetxattr$security_evm(path ptr[in, filename], name ptr[in, string["security.evm"]], val ptr[in, evm_ima_xattr], size len[val], flags flags[setxattr_flags]) +fsetxattr$security_evm(fd fd, name ptr[in, string["security.evm"]], val ptr[in, evm_ima_xattr], size len[val], flags flags[setxattr_flags]) + +setxattr$security_ima(path ptr[in, filename], name ptr[in, string["security.ima"]], val ptr[in, evm_ima_xattr], size len[val], flags flags[setxattr_flags]) +lsetxattr$security_ima(path ptr[in, filename], name ptr[in, string["security.ima"]], val ptr[in, evm_ima_xattr], size len[val], flags flags[setxattr_flags]) +fsetxattr$security_ima(fd fd, name ptr[in, string["security.ima"]], val ptr[in, evm_ima_xattr], size len[val], flags flags[setxattr_flags]) + +evm_ima_xattr [ + v1 evm_ima_xattr_data + v2 signature_v2_hdr + md5 evm_ima_xattr_digest_md5 + sha1 evm_ima_xattr_digest_sha1 + ng evm_ima_xattr_digest_ng +] [varlen] + +evm_ima_xattr_data { + type const[EVM_XATTR_HMAC, int8] + digest array[int8, 0:SHA1_DIGEST_SIZE] +} + +signature_v2_hdr { + type flags[evm_xattr_type, int8] + version int8[0:3] + hash_algo int8[0:HASH_ALGO__LAST] + keyid int32be + sig_size bytesize[sig, int16be] + sig array[int8] +} + +evm_xattr_type = EVM_IMA_XATTR_DIGSIG, EVM_XATTR_PORTABLE_DIGSIG + +evm_ima_xattr_digest_md5 { + type const[IMA_XATTR_DIGEST, int8] + digest array[int8, 16] +} + +evm_ima_xattr_digest_sha1 { + type const[IMA_XATTR_DIGEST, int8] + digest array[int8, 20] +} + +evm_ima_xattr_digest_ng { + type const[IMA_XATTR_DIGEST_NG, int8] + algo int8[0:HASH_ALGO__LAST] + digest array[int8, 0:SHA1_DIGEST_SIZE] +} + setxattr$trusted_overlay_origin(path ptr[in, filename], name ptr[in, string["trusted.overlay.origin"]], val ptr[in, string["y"]], size len[val], flags flags[setxattr_flags]) lsetxattr$trusted_overlay_origin(path ptr[in, filename], name ptr[in, string["trusted.overlay.origin"]], val ptr[in, string["y"]], size len[val], flags flags[setxattr_flags]) fsetxattr$trusted_overlay_origin(fd fd, name ptr[in, string["trusted.overlay.origin"]], val ptr[in, string["y"]], size len[val], flags flags[setxattr_flags]) diff --git a/sys/linux/xattr_386.const b/sys/linux/xattr_386.const index 921c66f57..fc2463aec 100644 --- a/sys/linux/xattr_386.const +++ b/sys/linux/xattr_386.const @@ -8,12 +8,25 @@ ACL_READ = 4 ACL_USER = 2 ACL_USER_OBJ = 1 ACL_WRITE = 2 +EVM_IMA_XATTR_DIGSIG = 3 +EVM_XATTR_HMAC = 2 +EVM_XATTR_PORTABLE_DIGSIG = 5 +HASH_ALGO__LAST = 18 +IMA_XATTR_DIGEST = 1 +IMA_XATTR_DIGEST_NG = 4 OVL_FH_FLAG_ANY_ENDIAN = 2 OVL_FH_FLAG_BIG_ENDIAN = 1 OVL_FH_FLAG_PATH_UPPER = 4 OVL_FH_MAGIC = 251 POSIX_ACL_XATTR_VERSION = 2 +SHA1_DIGEST_SIZE = 20 UUID_SIZE = 16 +VFS_CAP_REVISION_1 = 16777216 +VFS_CAP_REVISION_2 = 33554432 +VFS_CAP_REVISION_3 = 50331648 +VFS_CAP_U32_1 = 1 +VFS_CAP_U32_2 = 2 +VFS_CAP_U32_3 = 2 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 231 diff --git a/sys/linux/xattr_amd64.const b/sys/linux/xattr_amd64.const index ffc140f5a..1c026389a 100644 --- a/sys/linux/xattr_amd64.const +++ b/sys/linux/xattr_amd64.const @@ -8,12 +8,25 @@ ACL_READ = 4 ACL_USER = 2 ACL_USER_OBJ = 1 ACL_WRITE = 2 +EVM_IMA_XATTR_DIGSIG = 3 +EVM_XATTR_HMAC = 2 +EVM_XATTR_PORTABLE_DIGSIG = 5 +HASH_ALGO__LAST = 18 +IMA_XATTR_DIGEST = 1 +IMA_XATTR_DIGEST_NG = 4 OVL_FH_FLAG_ANY_ENDIAN = 2 OVL_FH_FLAG_BIG_ENDIAN = 1 OVL_FH_FLAG_PATH_UPPER = 4 OVL_FH_MAGIC = 251 POSIX_ACL_XATTR_VERSION = 2 +SHA1_DIGEST_SIZE = 20 UUID_SIZE = 16 +VFS_CAP_REVISION_1 = 16777216 +VFS_CAP_REVISION_2 = 33554432 +VFS_CAP_REVISION_3 = 50331648 +VFS_CAP_U32_1 = 1 +VFS_CAP_U32_2 = 2 +VFS_CAP_U32_3 = 2 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 193 diff --git a/sys/linux/xattr_arm.const b/sys/linux/xattr_arm.const index 921c66f57..fc2463aec 100644 --- a/sys/linux/xattr_arm.const +++ b/sys/linux/xattr_arm.const @@ -8,12 +8,25 @@ ACL_READ = 4 ACL_USER = 2 ACL_USER_OBJ = 1 ACL_WRITE = 2 +EVM_IMA_XATTR_DIGSIG = 3 +EVM_XATTR_HMAC = 2 +EVM_XATTR_PORTABLE_DIGSIG = 5 +HASH_ALGO__LAST = 18 +IMA_XATTR_DIGEST = 1 +IMA_XATTR_DIGEST_NG = 4 OVL_FH_FLAG_ANY_ENDIAN = 2 OVL_FH_FLAG_BIG_ENDIAN = 1 OVL_FH_FLAG_PATH_UPPER = 4 OVL_FH_MAGIC = 251 POSIX_ACL_XATTR_VERSION = 2 +SHA1_DIGEST_SIZE = 20 UUID_SIZE = 16 +VFS_CAP_REVISION_1 = 16777216 +VFS_CAP_REVISION_2 = 33554432 +VFS_CAP_REVISION_3 = 50331648 +VFS_CAP_U32_1 = 1 +VFS_CAP_U32_2 = 2 +VFS_CAP_U32_3 = 2 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 231 diff --git a/sys/linux/xattr_arm64.const b/sys/linux/xattr_arm64.const index f9f64279f..03b0dfc99 100644 --- a/sys/linux/xattr_arm64.const +++ b/sys/linux/xattr_arm64.const @@ -8,12 +8,25 @@ ACL_READ = 4 ACL_USER = 2 ACL_USER_OBJ = 1 ACL_WRITE = 2 +EVM_IMA_XATTR_DIGSIG = 3 +EVM_XATTR_HMAC = 2 +EVM_XATTR_PORTABLE_DIGSIG = 5 +HASH_ALGO__LAST = 18 +IMA_XATTR_DIGEST = 1 +IMA_XATTR_DIGEST_NG = 4 OVL_FH_FLAG_ANY_ENDIAN = 2 OVL_FH_FLAG_BIG_ENDIAN = 1 OVL_FH_FLAG_PATH_UPPER = 4 OVL_FH_MAGIC = 251 POSIX_ACL_XATTR_VERSION = 2 +SHA1_DIGEST_SIZE = 20 UUID_SIZE = 16 +VFS_CAP_REVISION_1 = 16777216 +VFS_CAP_REVISION_2 = 33554432 +VFS_CAP_REVISION_3 = 50331648 +VFS_CAP_U32_1 = 1 +VFS_CAP_U32_2 = 2 +VFS_CAP_U32_3 = 2 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 10 diff --git a/sys/linux/xattr_ppc64le.const b/sys/linux/xattr_ppc64le.const index 7483d9645..e808dd405 100644 --- a/sys/linux/xattr_ppc64le.const +++ b/sys/linux/xattr_ppc64le.const @@ -8,12 +8,25 @@ ACL_READ = 4 ACL_USER = 2 ACL_USER_OBJ = 1 ACL_WRITE = 2 +EVM_IMA_XATTR_DIGSIG = 3 +EVM_XATTR_HMAC = 2 +EVM_XATTR_PORTABLE_DIGSIG = 5 +HASH_ALGO__LAST = 18 +IMA_XATTR_DIGEST = 1 +IMA_XATTR_DIGEST_NG = 4 OVL_FH_FLAG_ANY_ENDIAN = 2 OVL_FH_FLAG_BIG_ENDIAN = 1 OVL_FH_FLAG_PATH_UPPER = 4 OVL_FH_MAGIC = 251 POSIX_ACL_XATTR_VERSION = 2 +SHA1_DIGEST_SIZE = 20 UUID_SIZE = 16 +VFS_CAP_REVISION_1 = 16777216 +VFS_CAP_REVISION_2 = 33554432 +VFS_CAP_REVISION_3 = 50331648 +VFS_CAP_U32_1 = 1 +VFS_CAP_U32_2 = 2 +VFS_CAP_U32_3 = 2 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 214 |
