From 8d971420eead44f8995c02d0f01e81d978f90b89 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sun, 2 Sep 2018 06:19:08 +0200 Subject: sys/linux: extend xattr descriptions Update #533 --- sys/linux/gen/386.go | 201 +++++++++++++++++++++++++++++++++++++++++- sys/linux/gen/amd64.go | 201 +++++++++++++++++++++++++++++++++++++++++- sys/linux/gen/arm.go | 201 +++++++++++++++++++++++++++++++++++++++++- sys/linux/gen/arm64.go | 201 +++++++++++++++++++++++++++++++++++++++++- sys/linux/gen/ppc64le.go | 201 +++++++++++++++++++++++++++++++++++++++++- sys/linux/xattr.txt | 76 +++++++++++++++- sys/linux/xattr_386.const | 15 ++++ sys/linux/xattr_amd64.const | 15 ++++ sys/linux/xattr_arm.const | 15 ++++ sys/linux/xattr_arm64.const | 15 ++++ sys/linux/xattr_ppc64le.const | 15 ++++ 11 files changed, 1144 insertions(+), 12 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 56fc496f4..45f7221b5 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -14381,6 +14381,15 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_on", TypeSize: 11}, Kind: 2, Values: []string{"metacopy=on"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_off", TypeSize: 12}, Kind: 2, Values: []string{"metacopy=off"}, NoZ: true}, }}}, + {Key: StructKey{Name: "ovl_fh"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ovl_fh", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic", TypeSize: 1}}, Val: 251}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, BitSize: 8, Buf: "parent"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ovl_fh_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "uuid", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "fid", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "p9_dir"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "p9_dir", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "p9_qid"}, FldName: "qid"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "offset", TypeSize: 8}}}, @@ -14865,6 +14874,39 @@ var structDescs_386 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pollfd_events", FldName: "events", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 4096, 8192, 16384, 32768}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "revents", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP, gid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 8}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 4}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 16}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 32}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER, uid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 1}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_header", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a_version", TypeSize: 4}}, Val: 2}, + }}}, {Key: StructKey{Name: "pppoe_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "pppoe_addr", TypeSize: 24}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sid", TypeSize: 2}}, Kind: 2, RangeEnd: 4}, &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "remote"}, @@ -20018,13 +20060,27 @@ 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.selinux\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.evm\x00", "security.ima\x00", "security.selinux\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", "security.SMACK64\x00", "security.SMACK64IPIN\x00", "security.SMACK64IPOUT\x00", "security.SMACK64EXEC\x00", "security.SMACK64TRANSMUTE\x00", "security.SMACK64MMAP\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{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xattr_overlay_nlink"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_overlay_nlink", TypeSize: 40}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 2}, Kind: 2, SubKind: "xattr_overlay_nlink_prefix", Values: []string{"U+", "U-", "L+", "L-"}, NoZ: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 18}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 20}, ArgFormat: 2}}, + }}}, + {Key: StructKey{Name: "xattr_system_posix_acl_access"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_system_posix_acl_access", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "posix_acl_xattr_header"}, FldName: "header"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, FldName: "user_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "users", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, FldName: "group_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "groups", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, FldName: "mask"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, FldName: "other"}, + }}}, {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}, BitMask: true}, @@ -22954,6 +23010,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 108, Name: "fstat", CallName: "fstat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -29000,6 +29098,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 107, Name: "lstat", CallName: "lstat", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -32416,6 +32556,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 373, Name: "shutdown", CallName: "shutdown", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "shutdown_flags", FldName: "how", TypeSize: 4}}, Vals: []uint64{0, 1}, BitMask: true}, @@ -34018,6 +34200,15 @@ var syscalls_386 = []*Syscall{ var consts_386 = []ConstValue{ {Name: "ABS_CNT", Value: 64}, {Name: "ABS_MAX", Value: 63}, + {Name: "ACL_EXECUTE", Value: 1}, + {Name: "ACL_GROUP", Value: 8}, + {Name: "ACL_GROUP_OBJ", Value: 4}, + {Name: "ACL_MASK", Value: 16}, + {Name: "ACL_OTHER", Value: 32}, + {Name: "ACL_READ", Value: 4}, + {Name: "ACL_USER", Value: 2}, + {Name: "ACL_USER_OBJ", Value: 1}, + {Name: "ACL_WRITE", Value: 2}, {Name: "ADDR_COMPAT_LAYOUT", Value: 2097152}, {Name: "ADDR_LIMIT_32BIT", Value: 8388608}, {Name: "ADDR_LIMIT_3GB", Value: 134217728}, @@ -36966,6 +37157,10 @@ var consts_386 = []ConstValue{ {Name: "NUD_REACHABLE", Value: 2}, {Name: "NUD_STALE", Value: 4}, {Name: "OMAGIC", Value: 263}, + {Name: "OVL_FH_FLAG_ANY_ENDIAN", Value: 2}, + {Name: "OVL_FH_FLAG_BIG_ENDIAN", Value: 1}, + {Name: "OVL_FH_FLAG_PATH_UPPER", Value: 4}, + {Name: "OVL_FH_MAGIC", Value: 251}, {Name: "O_APPEND", Value: 1024}, {Name: "O_CLOEXEC", Value: 524288}, {Name: "O_CREAT", Value: 64}, @@ -37212,6 +37407,7 @@ var consts_386 = []ConstValue{ {Name: "POLLWRBAND", Value: 512}, {Name: "POLLWRNORM", Value: 256}, {Name: "POLL_BUSY_LOOP", Value: 32768}, + {Name: "POSIX_ACL_XATTR_VERSION", Value: 2}, {Name: "POSIX_FADV_DONTNEED", Value: 4}, {Name: "POSIX_FADV_NOREUSE", Value: 5}, {Name: "POSIX_FADV_NORMAL"}, @@ -38830,6 +39026,7 @@ var consts_386 = []ConstValue{ {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, + {Name: "UUID_SIZE", Value: 16}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, {Name: "V4L2_AUDMODE_AVL", Value: 1}, @@ -40483,4 +40680,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "cf409e12bbb8bef7899f39295b0b6d69d318af8d" +const revision_386 = "034d4275241b8cebc2c3b9edf1693460dfc8372f" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 89311786a..73d6eb765 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -14606,6 +14606,15 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_on", TypeSize: 11}, Kind: 2, Values: []string{"metacopy=on"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_off", TypeSize: 12}, Kind: 2, Values: []string{"metacopy=off"}, NoZ: true}, }}}, + {Key: StructKey{Name: "ovl_fh"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ovl_fh", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic", TypeSize: 1}}, Val: 251}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, BitSize: 8, Buf: "parent"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ovl_fh_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "uuid", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "fid", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "p9_dir"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "p9_dir", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "p9_qid"}, FldName: "qid"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "offset", TypeSize: 8}}}, @@ -15090,6 +15099,39 @@ var structDescs_amd64 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pollfd_events", FldName: "events", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 4096, 8192, 16384, 32768}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "revents", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP, gid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 8}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 4}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 16}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 32}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER, uid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 1}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_header", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a_version", TypeSize: 4}}, Val: 2}, + }}}, {Key: StructKey{Name: "pppoe_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "pppoe_addr", TypeSize: 24}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sid", TypeSize: 2}}, Kind: 2, RangeEnd: 4}, &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "remote"}, @@ -20350,13 +20392,27 @@ 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.selinux\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.evm\x00", "security.ima\x00", "security.selinux\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", "security.SMACK64\x00", "security.SMACK64IPIN\x00", "security.SMACK64IPOUT\x00", "security.SMACK64EXEC\x00", "security.SMACK64TRANSMUTE\x00", "security.SMACK64MMAP\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{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xattr_overlay_nlink"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_overlay_nlink", TypeSize: 40}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 2}, Kind: 2, SubKind: "xattr_overlay_nlink_prefix", Values: []string{"U+", "U-", "L+", "L-"}, NoZ: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 18}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 20}, ArgFormat: 2}}, + }}}, + {Key: StructKey{Name: "xattr_system_posix_acl_access"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_system_posix_acl_access", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "posix_acl_xattr_header"}, FldName: "header"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, FldName: "user_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "users", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, FldName: "group_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "groups", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, FldName: "mask"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, FldName: "other"}, + }}}, {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}, BitMask: true}, @@ -23404,6 +23460,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: "fstat", CallName: "fstat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -29470,6 +29568,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: "lstat", CallName: "lstat", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -33028,6 +33168,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 30, Name: "shmat", CallName: "shmat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", TypeSize: 4}}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, @@ -34687,6 +34869,15 @@ var syscalls_amd64 = []*Syscall{ var consts_amd64 = []ConstValue{ {Name: "ABS_CNT", Value: 64}, {Name: "ABS_MAX", Value: 63}, + {Name: "ACL_EXECUTE", Value: 1}, + {Name: "ACL_GROUP", Value: 8}, + {Name: "ACL_GROUP_OBJ", Value: 4}, + {Name: "ACL_MASK", Value: 16}, + {Name: "ACL_OTHER", Value: 32}, + {Name: "ACL_READ", Value: 4}, + {Name: "ACL_USER", Value: 2}, + {Name: "ACL_USER_OBJ", Value: 1}, + {Name: "ACL_WRITE", Value: 2}, {Name: "ADDR_COMPAT_LAYOUT", Value: 2097152}, {Name: "ADDR_LIMIT_32BIT", Value: 8388608}, {Name: "ADDR_LIMIT_3GB", Value: 134217728}, @@ -37635,6 +37826,10 @@ var consts_amd64 = []ConstValue{ {Name: "NUD_REACHABLE", Value: 2}, {Name: "NUD_STALE", Value: 4}, {Name: "OMAGIC", Value: 263}, + {Name: "OVL_FH_FLAG_ANY_ENDIAN", Value: 2}, + {Name: "OVL_FH_FLAG_BIG_ENDIAN", Value: 1}, + {Name: "OVL_FH_FLAG_PATH_UPPER", Value: 4}, + {Name: "OVL_FH_MAGIC", Value: 251}, {Name: "O_APPEND", Value: 1024}, {Name: "O_CLOEXEC", Value: 524288}, {Name: "O_CREAT", Value: 64}, @@ -37881,6 +38076,7 @@ var consts_amd64 = []ConstValue{ {Name: "POLLWRBAND", Value: 512}, {Name: "POLLWRNORM", Value: 256}, {Name: "POLL_BUSY_LOOP", Value: 32768}, + {Name: "POSIX_ACL_XATTR_VERSION", Value: 2}, {Name: "POSIX_FADV_DONTNEED", Value: 4}, {Name: "POSIX_FADV_NOREUSE", Value: 5}, {Name: "POSIX_FADV_NORMAL"}, @@ -39513,6 +39709,7 @@ var consts_amd64 = []ConstValue{ {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, + {Name: "UUID_SIZE", Value: 16}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, {Name: "V4L2_AUDMODE_AVL", Value: 1}, @@ -41177,4 +41374,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "3efd822501eed7b0536ca7f8ba2b7720b9f6bab3" +const revision_amd64 = "9d53ce5e4d4e0304076e90c9405038a6e51e0ac0" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 270ec0ceb..b1e066d8f 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -14236,6 +14236,15 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_on", TypeSize: 11}, Kind: 2, Values: []string{"metacopy=on"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_off", TypeSize: 12}, Kind: 2, Values: []string{"metacopy=off"}, NoZ: true}, }}}, + {Key: StructKey{Name: "ovl_fh"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ovl_fh", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic", TypeSize: 1}}, Val: 251}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, BitSize: 8, Buf: "parent"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ovl_fh_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "uuid", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "fid", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "p9_dir"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "p9_dir", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "p9_qid"}, FldName: "qid"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "offset", TypeSize: 8}}}, @@ -14720,6 +14729,39 @@ var structDescs_arm = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pollfd_events", FldName: "events", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 4096, 8192, 16384, 32768}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "revents", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP, gid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 8}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 4}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 16}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 32}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER, uid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 1}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_header", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a_version", TypeSize: 4}}, Val: 2}, + }}}, {Key: StructKey{Name: "pppoe_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "pppoe_addr", TypeSize: 24}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sid", TypeSize: 2}}, Kind: 2, RangeEnd: 4}, &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "remote"}, @@ -19883,13 +19925,27 @@ 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.selinux\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.evm\x00", "security.ima\x00", "security.selinux\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", "security.SMACK64\x00", "security.SMACK64IPIN\x00", "security.SMACK64IPOUT\x00", "security.SMACK64EXEC\x00", "security.SMACK64TRANSMUTE\x00", "security.SMACK64MMAP\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{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xattr_overlay_nlink"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_overlay_nlink", TypeSize: 40}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 2}, Kind: 2, SubKind: "xattr_overlay_nlink_prefix", Values: []string{"U+", "U-", "L+", "L-"}, NoZ: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 18}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 20}, ArgFormat: 2}}, + }}}, + {Key: StructKey{Name: "xattr_system_posix_acl_access"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_system_posix_acl_access", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "posix_acl_xattr_header"}, FldName: "header"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, FldName: "user_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "users", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, FldName: "group_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "groups", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, FldName: "mask"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, FldName: "other"}, + }}}, {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}, BitMask: true}, @@ -22856,6 +22912,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 108, Name: "fstat", CallName: "fstat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -28764,6 +28862,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 107, Name: "lstat", CallName: "lstat", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -32292,6 +32432,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 305, Name: "shmat", CallName: "shmat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", TypeSize: 4}}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}}, @@ -33938,6 +34120,15 @@ var syscalls_arm = []*Syscall{ var consts_arm = []ConstValue{ {Name: "ABS_CNT", Value: 64}, {Name: "ABS_MAX", Value: 63}, + {Name: "ACL_EXECUTE", Value: 1}, + {Name: "ACL_GROUP", Value: 8}, + {Name: "ACL_GROUP_OBJ", Value: 4}, + {Name: "ACL_MASK", Value: 16}, + {Name: "ACL_OTHER", Value: 32}, + {Name: "ACL_READ", Value: 4}, + {Name: "ACL_USER", Value: 2}, + {Name: "ACL_USER_OBJ", Value: 1}, + {Name: "ACL_WRITE", Value: 2}, {Name: "ADDR_COMPAT_LAYOUT", Value: 2097152}, {Name: "ADDR_LIMIT_32BIT", Value: 8388608}, {Name: "ADDR_LIMIT_3GB", Value: 134217728}, @@ -36836,6 +37027,10 @@ var consts_arm = []ConstValue{ {Name: "NUD_REACHABLE", Value: 2}, {Name: "NUD_STALE", Value: 4}, {Name: "OMAGIC", Value: 263}, + {Name: "OVL_FH_FLAG_ANY_ENDIAN", Value: 2}, + {Name: "OVL_FH_FLAG_BIG_ENDIAN", Value: 1}, + {Name: "OVL_FH_FLAG_PATH_UPPER", Value: 4}, + {Name: "OVL_FH_MAGIC", Value: 251}, {Name: "O_APPEND", Value: 1024}, {Name: "O_CLOEXEC", Value: 524288}, {Name: "O_CREAT", Value: 64}, @@ -37082,6 +37277,7 @@ var consts_arm = []ConstValue{ {Name: "POLLWRBAND", Value: 512}, {Name: "POLLWRNORM", Value: 256}, {Name: "POLL_BUSY_LOOP", Value: 32768}, + {Name: "POSIX_ACL_XATTR_VERSION", Value: 2}, {Name: "POSIX_FADV_DONTNEED", Value: 4}, {Name: "POSIX_FADV_NOREUSE", Value: 5}, {Name: "POSIX_FADV_NORMAL"}, @@ -38698,6 +38894,7 @@ var consts_arm = []ConstValue{ {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, + {Name: "UUID_SIZE", Value: 16}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, {Name: "V4L2_AUDMODE_AVL", Value: 1}, @@ -40349,4 +40546,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "d64ccba4ff5f75614cce9e04b971a39e735578b2" +const revision_arm = "8e29318621f98bc9b90c93f203d08f3a645e3d48" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index d37ef5ba9..1552dbecc 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -14423,6 +14423,15 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_on", TypeSize: 11}, Kind: 2, Values: []string{"metacopy=on"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_off", TypeSize: 12}, Kind: 2, Values: []string{"metacopy=off"}, NoZ: true}, }}}, + {Key: StructKey{Name: "ovl_fh"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ovl_fh", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic", TypeSize: 1}}, Val: 251}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, BitSize: 8, Buf: "parent"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ovl_fh_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "uuid", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "fid", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "p9_dir"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "p9_dir", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "p9_qid"}, FldName: "qid"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "offset", TypeSize: 8}}}, @@ -14907,6 +14916,39 @@ var structDescs_arm64 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pollfd_events", FldName: "events", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 4096, 8192, 16384, 32768}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "revents", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP, gid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 8}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 4}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 16}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 32}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER, uid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 1}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_header", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a_version", TypeSize: 4}}, Val: 2}, + }}}, {Key: StructKey{Name: "pppoe_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "pppoe_addr", TypeSize: 24}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sid", TypeSize: 2}}, Kind: 2, RangeEnd: 4}, &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "remote"}, @@ -20142,13 +20184,27 @@ 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.selinux\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.evm\x00", "security.ima\x00", "security.selinux\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", "security.SMACK64\x00", "security.SMACK64IPIN\x00", "security.SMACK64IPOUT\x00", "security.SMACK64EXEC\x00", "security.SMACK64TRANSMUTE\x00", "security.SMACK64MMAP\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{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xattr_overlay_nlink"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_overlay_nlink", TypeSize: 40}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 2}, Kind: 2, SubKind: "xattr_overlay_nlink_prefix", Values: []string{"U+", "U-", "L+", "L-"}, NoZ: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 18}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 20}, ArgFormat: 2}}, + }}}, + {Key: StructKey{Name: "xattr_system_posix_acl_access"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_system_posix_acl_access", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "posix_acl_xattr_header"}, FldName: "header"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, FldName: "user_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "users", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, FldName: "group_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "groups", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, FldName: "mask"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, FldName: "other"}, + }}}, {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}, BitMask: true}, @@ -23160,6 +23216,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 80, Name: "fstat", CallName: "fstat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -29077,6 +29175,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 233, Name: "madvise", CallName: "madvise", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, @@ -32556,6 +32696,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 196, Name: "shmat", CallName: "shmat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_shm", FldName: "shmid", TypeSize: 4}}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, @@ -34169,6 +34351,15 @@ var syscalls_arm64 = []*Syscall{ var consts_arm64 = []ConstValue{ {Name: "ABS_CNT", Value: 64}, {Name: "ABS_MAX", Value: 63}, + {Name: "ACL_EXECUTE", Value: 1}, + {Name: "ACL_GROUP", Value: 8}, + {Name: "ACL_GROUP_OBJ", Value: 4}, + {Name: "ACL_MASK", Value: 16}, + {Name: "ACL_OTHER", Value: 32}, + {Name: "ACL_READ", Value: 4}, + {Name: "ACL_USER", Value: 2}, + {Name: "ACL_USER_OBJ", Value: 1}, + {Name: "ACL_WRITE", Value: 2}, {Name: "ADDR_COMPAT_LAYOUT", Value: 2097152}, {Name: "ADDR_LIMIT_32BIT", Value: 8388608}, {Name: "ADDR_LIMIT_3GB", Value: 134217728}, @@ -37076,6 +37267,10 @@ var consts_arm64 = []ConstValue{ {Name: "NUD_REACHABLE", Value: 2}, {Name: "NUD_STALE", Value: 4}, {Name: "OMAGIC", Value: 263}, + {Name: "OVL_FH_FLAG_ANY_ENDIAN", Value: 2}, + {Name: "OVL_FH_FLAG_BIG_ENDIAN", Value: 1}, + {Name: "OVL_FH_FLAG_PATH_UPPER", Value: 4}, + {Name: "OVL_FH_MAGIC", Value: 251}, {Name: "O_APPEND", Value: 1024}, {Name: "O_CLOEXEC", Value: 524288}, {Name: "O_CREAT", Value: 64}, @@ -37322,6 +37517,7 @@ var consts_arm64 = []ConstValue{ {Name: "POLLWRBAND", Value: 512}, {Name: "POLLWRNORM", Value: 256}, {Name: "POLL_BUSY_LOOP", Value: 32768}, + {Name: "POSIX_ACL_XATTR_VERSION", Value: 2}, {Name: "POSIX_FADV_DONTNEED", Value: 4}, {Name: "POSIX_FADV_NOREUSE", Value: 5}, {Name: "POSIX_FADV_NORMAL"}, @@ -38948,6 +39144,7 @@ var consts_arm64 = []ConstValue{ {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, + {Name: "UUID_SIZE", Value: 16}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, {Name: "V4L2_AUDMODE_AVL", Value: 1}, @@ -40571,4 +40768,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "33b760e03637540176d75bef5357cc5b147afabe" +const revision_arm64 = "47a45bb589ebe3d532c83feab04e13018f823058" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 384002896..cfed44fc7 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -14333,6 +14333,15 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_on", TypeSize: 11}, Kind: 2, Values: []string{"metacopy=on"}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "metacopy_off", TypeSize: 12}, Kind: 2, Values: []string{"metacopy=off"}, NoZ: true}, }}}, + {Key: StructKey{Name: "ovl_fh"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ovl_fh", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "magic", TypeSize: 1}}, Val: 251}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, BitSize: 8, Buf: "parent"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ovl_fh_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "uuid", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "fid", IsVarlen: true}}, + }}}, {Key: StructKey{Name: "p9_dir"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "p9_dir", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "p9_qid"}, FldName: "qid"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "offset", TypeSize: 8}}}, @@ -14817,6 +14826,39 @@ var structDescs_ppc64le = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pollfd_events", FldName: "events", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 4096, 8192, 16384, 32768}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "revents", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP, gid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 8}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 4}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 16}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 32}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER, uid]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "e_id", TypeSize: 4}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]", TypeSize: 8}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_tag", TypeSize: 2}}, Val: 1}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "posix_acl_perm", FldName: "e_perm", TypeSize: 2}}, Vals: []uint64{4, 2, 1}, BitMask: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "e_id", TypeSize: 4}}}, + }}}, + {Key: StructKey{Name: "posix_acl_xattr_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "posix_acl_xattr_header", TypeSize: 4}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "a_version", TypeSize: 4}}, Val: 2}, + }}}, {Key: StructKey{Name: "pppoe_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "pppoe_addr", TypeSize: 24}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sid", TypeSize: 2}}, Kind: 2, RangeEnd: 4}, &UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "remote"}, @@ -19153,13 +19195,27 @@ 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.selinux\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.evm\x00", "security.ima\x00", "security.selinux\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", "security.SMACK64\x00", "security.SMACK64IPIN\x00", "security.SMACK64IPOUT\x00", "security.SMACK64EXEC\x00", "security.SMACK64TRANSMUTE\x00", "security.SMACK64MMAP\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{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xattr_overlay_nlink"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_overlay_nlink", TypeSize: 40}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 2}, Kind: 2, SubKind: "xattr_overlay_nlink_prefix", Values: []string{"U+", "U-", "L+", "L-"}, NoZ: true}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 18}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 20}, ArgFormat: 2}}, + }}}, + {Key: StructKey{Name: "xattr_system_posix_acl_access"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xattr_system_posix_acl_access", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "posix_acl_xattr_header"}, FldName: "header"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]]"}, FldName: "user_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "users", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_USER, uid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]]"}, FldName: "group_obj"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "groups", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_GROUP, gid]"}}}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_MASK, const[0, int32]]"}, FldName: "mask"}, + &StructType{Key: StructKey{Name: "posix_acl_xattr_entry[ACL_OTHER, const[0, int32]]"}, FldName: "other"}, + }}}, {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}, BitMask: true}, @@ -22203,6 +22259,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 108, Name: "fstat", CallName: "fstat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -27561,6 +27659,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 107, Name: "lstat", CallName: "lstat", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "statbuf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "stat", Dir: 1}}}, @@ -30968,6 +31108,48 @@ 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$system_posix_acl", 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", IsVarlen: true}, Kind: 2, SubKind: "xattr_posix_acl_names", Values: []string{"system.posix_acl_access\x00", "system.posix_acl_default\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_system_posix_acl_access"}}}, + &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$trusted_overlay_nlink", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.nlink\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xattr_overlay_nlink"}}}, + &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$trusted_overlay_opaque", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.opaque\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_origin", 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: 23}, Kind: 2, Values: []string{"trusted.overlay.origin\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 2}, Kind: 2, Values: []string{"y\x00"}}}, + &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$trusted_overlay_redirect", 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: 25}, Kind: 2, Values: []string{"trusted.overlay.redirect\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &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$trusted_overlay_upper", 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: 22}, Kind: 2, Values: []string{"trusted.overlay.upper\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ovl_fh"}}}, + &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: 338, Name: "shutdown", CallName: "shutdown", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "shutdown_flags", FldName: "how", TypeSize: 8}}, Vals: []uint64{0, 1}, BitMask: true}, @@ -32564,6 +32746,15 @@ var syscalls_ppc64le = []*Syscall{ var consts_ppc64le = []ConstValue{ {Name: "ABS_CNT", Value: 64}, {Name: "ABS_MAX", Value: 63}, + {Name: "ACL_EXECUTE", Value: 1}, + {Name: "ACL_GROUP", Value: 8}, + {Name: "ACL_GROUP_OBJ", Value: 4}, + {Name: "ACL_MASK", Value: 16}, + {Name: "ACL_OTHER", Value: 32}, + {Name: "ACL_READ", Value: 4}, + {Name: "ACL_USER", Value: 2}, + {Name: "ACL_USER_OBJ", Value: 1}, + {Name: "ACL_WRITE", Value: 2}, {Name: "ADDR_COMPAT_LAYOUT", Value: 2097152}, {Name: "ADDR_LIMIT_32BIT", Value: 8388608}, {Name: "ADDR_LIMIT_3GB", Value: 134217728}, @@ -35371,6 +35562,10 @@ var consts_ppc64le = []ConstValue{ {Name: "NUD_REACHABLE", Value: 2}, {Name: "NUD_STALE", Value: 4}, {Name: "OMAGIC", Value: 263}, + {Name: "OVL_FH_FLAG_ANY_ENDIAN", Value: 2}, + {Name: "OVL_FH_FLAG_BIG_ENDIAN", Value: 1}, + {Name: "OVL_FH_FLAG_PATH_UPPER", Value: 4}, + {Name: "OVL_FH_MAGIC", Value: 251}, {Name: "O_APPEND", Value: 1024}, {Name: "O_CLOEXEC", Value: 524288}, {Name: "O_CREAT", Value: 64}, @@ -35617,6 +35812,7 @@ var consts_ppc64le = []ConstValue{ {Name: "POLLWRBAND", Value: 512}, {Name: "POLLWRNORM", Value: 256}, {Name: "POLL_BUSY_LOOP", Value: 32768}, + {Name: "POSIX_ACL_XATTR_VERSION", Value: 2}, {Name: "POSIX_FADV_DONTNEED", Value: 4}, {Name: "POSIX_FADV_NOREUSE", Value: 5}, {Name: "POSIX_FADV_NORMAL"}, @@ -37223,6 +37419,7 @@ var consts_ppc64le = []ConstValue{ {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, + {Name: "UUID_SIZE", Value: 16}, {Name: "VETH_INFO_PEER", Value: 1}, {Name: "VHOST_ACCESS_RO", Value: 1}, {Name: "VHOST_ACCESS_RW", Value: 3}, @@ -37927,4 +38124,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "17f888e873bc99a49d971c80b87ddad7d8291e82" +const revision_ppc64le = "c5c93d7e6ee635fd7c05f7f80d1228b4f533936e" diff --git a/sys/linux/xattr.txt b/sys/linux/xattr.txt index 9684d6773..133e339e4 100644 --- a/sys/linux/xattr.txt +++ b/sys/linux/xattr.txt @@ -2,6 +2,10 @@ # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. include +include +include +include +include 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]) @@ -30,5 +34,73 @@ setxattr_flags = XATTR_CREATE, XATTR_REPLACE xattr_prefix = "system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2." -# TODO: specify meaningful values for known attributes, for example, the only meaninful value for "trusted.overlay.origin" is "y". -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.selinux", "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.evm", "security.ima", "security.selinux", "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", "security.SMACK64", "security.SMACK64IPIN", "security.SMACK64IPOUT", "security.SMACK64EXEC", "security.SMACK64TRANSMUTE", "security.SMACK64MMAP" + +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]) +fsetxattr$system_posix_acl(fd fd, name ptr[in, string[xattr_posix_acl_names]], val ptr[in, xattr_system_posix_acl_access], size len[val], flags flags[setxattr_flags]) + +xattr_posix_acl_names = "system.posix_acl_access", "system.posix_acl_default" + +xattr_system_posix_acl_access { + header posix_acl_xattr_header + user_obj posix_acl_xattr_entry[ACL_USER_OBJ, const[0, int32]] + users array[posix_acl_xattr_entry[ACL_USER, uid]] + group_obj posix_acl_xattr_entry[ACL_GROUP_OBJ, const[0, int32]] + groups array[posix_acl_xattr_entry[ACL_GROUP, gid]] + mask posix_acl_xattr_entry[ACL_MASK, const[0, int32]] + other posix_acl_xattr_entry[ACL_OTHER, const[0, int32]] +} [packed] + +posix_acl_xattr_header { + a_version const[POSIX_ACL_XATTR_VERSION, int32] +} + +type posix_acl_xattr_entry[TAG, ID] { + e_tag const[TAG, int16] + e_perm flags[posix_acl_perm, int16] + e_id ID +} + +posix_acl_perm = ACL_READ, ACL_WRITE, ACL_EXECUTE + +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]) + +setxattr$trusted_overlay_opaque(path ptr[in, filename], name ptr[in, string["trusted.overlay.opaque"]], val ptr[in, string["y"]], size len[val], flags flags[setxattr_flags]) +lsetxattr$trusted_overlay_opaque(path ptr[in, filename], name ptr[in, string["trusted.overlay.opaque"]], val ptr[in, string["y"]], size len[val], flags flags[setxattr_flags]) +fsetxattr$trusted_overlay_opaque(fd fd, name ptr[in, string["trusted.overlay.opaque"]], val ptr[in, string["y"]], size len[val], flags flags[setxattr_flags]) + +setxattr$trusted_overlay_redirect(path ptr[in, filename], name ptr[in, string["trusted.overlay.redirect"]], val ptr[in, filename], size len[val], flags flags[setxattr_flags]) +lsetxattr$trusted_overlay_redirect(path ptr[in, filename], name ptr[in, string["trusted.overlay.redirect"]], val ptr[in, filename], size len[val], flags flags[setxattr_flags]) +fsetxattr$trusted_overlay_redirect(fd fd, name ptr[in, string["trusted.overlay.redirect"]], val ptr[in, filename], size len[val], flags flags[setxattr_flags]) + +setxattr$trusted_overlay_nlink(path ptr[in, filename], name ptr[in, string["trusted.overlay.nlink"]], val ptr[in, xattr_overlay_nlink], size len[val], flags flags[setxattr_flags]) +lsetxattr$trusted_overlay_nlink(path ptr[in, filename], name ptr[in, string["trusted.overlay.nlink"]], val ptr[in, xattr_overlay_nlink], size len[val], flags flags[setxattr_flags]) +fsetxattr$trusted_overlay_nlink(fd fd, name ptr[in, string["trusted.overlay.nlink"]], val ptr[in, xattr_overlay_nlink], size len[val], flags flags[setxattr_flags]) + +setxattr$trusted_overlay_upper(path ptr[in, filename], name ptr[in, string["trusted.overlay.upper"]], val ptr[in, ovl_fh], size len[val], flags flags[setxattr_flags]) +lsetxattr$trusted_overlay_upper(path ptr[in, filename], name ptr[in, string["trusted.overlay.upper"]], val ptr[in, ovl_fh], size len[val], flags flags[setxattr_flags]) +fsetxattr$trusted_overlay_upper(fd fd, name ptr[in, string["trusted.overlay.upper"]], val ptr[in, ovl_fh], size len[val], flags flags[setxattr_flags]) + +xattr_overlay_nlink { + prefix stringnoz[xattr_overlay_nlink_prefix] + num fmt[dec, int64] +} + +xattr_overlay_nlink_prefix = "U+", "U-", "L+", "L-" + +ovl_fh { + version const[0, int8] + magic const[OVL_FH_MAGIC, int8] + len bytesize[parent, int8] + flags flags[ovl_fh_flags, int8] + type int8 + uuid uuid_t + fid array[int8] +} [packed] + +type uuid_t array[int8, UUID_SIZE] + +ovl_fh_flags = OVL_FH_FLAG_BIG_ENDIAN, OVL_FH_FLAG_ANY_ENDIAN, OVL_FH_FLAG_PATH_UPPER diff --git a/sys/linux/xattr_386.const b/sys/linux/xattr_386.const index 5502a19ed..921c66f57 100644 --- a/sys/linux/xattr_386.const +++ b/sys/linux/xattr_386.const @@ -1,4 +1,19 @@ # AUTOGENERATED FILE +ACL_EXECUTE = 1 +ACL_GROUP = 8 +ACL_GROUP_OBJ = 4 +ACL_MASK = 16 +ACL_OTHER = 32 +ACL_READ = 4 +ACL_USER = 2 +ACL_USER_OBJ = 1 +ACL_WRITE = 2 +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 +UUID_SIZE = 16 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 231 diff --git a/sys/linux/xattr_amd64.const b/sys/linux/xattr_amd64.const index 57417ef4d..ffc140f5a 100644 --- a/sys/linux/xattr_amd64.const +++ b/sys/linux/xattr_amd64.const @@ -1,4 +1,19 @@ # AUTOGENERATED FILE +ACL_EXECUTE = 1 +ACL_GROUP = 8 +ACL_GROUP_OBJ = 4 +ACL_MASK = 16 +ACL_OTHER = 32 +ACL_READ = 4 +ACL_USER = 2 +ACL_USER_OBJ = 1 +ACL_WRITE = 2 +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 +UUID_SIZE = 16 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 193 diff --git a/sys/linux/xattr_arm.const b/sys/linux/xattr_arm.const index 5502a19ed..921c66f57 100644 --- a/sys/linux/xattr_arm.const +++ b/sys/linux/xattr_arm.const @@ -1,4 +1,19 @@ # AUTOGENERATED FILE +ACL_EXECUTE = 1 +ACL_GROUP = 8 +ACL_GROUP_OBJ = 4 +ACL_MASK = 16 +ACL_OTHER = 32 +ACL_READ = 4 +ACL_USER = 2 +ACL_USER_OBJ = 1 +ACL_WRITE = 2 +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 +UUID_SIZE = 16 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 231 diff --git a/sys/linux/xattr_arm64.const b/sys/linux/xattr_arm64.const index d5cb26023..f9f64279f 100644 --- a/sys/linux/xattr_arm64.const +++ b/sys/linux/xattr_arm64.const @@ -1,4 +1,19 @@ # AUTOGENERATED FILE +ACL_EXECUTE = 1 +ACL_GROUP = 8 +ACL_GROUP_OBJ = 4 +ACL_MASK = 16 +ACL_OTHER = 32 +ACL_READ = 4 +ACL_USER = 2 +ACL_USER_OBJ = 1 +ACL_WRITE = 2 +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 +UUID_SIZE = 16 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 10 diff --git a/sys/linux/xattr_ppc64le.const b/sys/linux/xattr_ppc64le.const index 592ffbbb2..7483d9645 100644 --- a/sys/linux/xattr_ppc64le.const +++ b/sys/linux/xattr_ppc64le.const @@ -1,4 +1,19 @@ # AUTOGENERATED FILE +ACL_EXECUTE = 1 +ACL_GROUP = 8 +ACL_GROUP_OBJ = 4 +ACL_MASK = 16 +ACL_OTHER = 32 +ACL_READ = 4 +ACL_USER = 2 +ACL_USER_OBJ = 1 +ACL_WRITE = 2 +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 +UUID_SIZE = 16 XATTR_CREATE = 1 XATTR_REPLACE = 2 __NR_fgetxattr = 214 -- cgit mrf-deployment