aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-09-25 19:56:45 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-09-25 19:56:45 +0200
commit134f5f14f48751d5c67a6816f6b09a9f59f0606b (patch)
tree7978f355ec4c6f4c6c91ef5754f03f33c79cabf0 /sys/linux
parentb1b7b3a864839b19bb7ab35c63c70659263402c7 (diff)
sys/linux: add ima/evm/capability xattrs
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/gen/386.go135
-rw-r--r--sys/linux/gen/amd64.go135
-rw-r--r--sys/linux/gen/arm.go135
-rw-r--r--sys/linux/gen/arm64.go135
-rw-r--r--sys/linux/gen/ppc64le.go135
-rw-r--r--sys/linux/xattr.txt84
-rw-r--r--sys/linux/xattr_386.const13
-rw-r--r--sys/linux/xattr_amd64.const13
-rw-r--r--sys/linux/xattr_arm.const13
-rw-r--r--sys/linux/xattr_arm64.const13
-rw-r--r--sys/linux/xattr_ppc64le.const13
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