	.file	"extr_vfs_subr.c_vnode_authattr.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"ATTR - ERROR: attempt to set readonly attribute(s)"
	.align 8
.LC1:
	.string	"ATTR - security information changing, fetching existing attributes"
	.align 8
.LC2:
	.string	"ATTR - timestamps changing, fetching uid and GUID"
	.align 8
.LC3:
	.string	"ATTR - flags changing, fetching old flags"
	.align 8
.LC4:
	.string	"ATTR - acl changing, fetching old flags"
	.align 8
.LC5:
	.string	"ATTR - ERROR: size change requested on non-file"
	.align 8
.LC6:
	.string	"ATTR - fetching old attributes %016llx"
	.align 8
.LC7:
	.string	"  ERROR - got %d trying to get attributes"
	.align 8
.LC8:
	.string	"ATTR - size change, requiring WRITE_DATA"
	.align 8
.LC9:
	.string	"ATTR - root or owner changing timestamps"
	.align 8
.LC10:
	.string	"ATTR - non-root/owner changing timestamps, requiring WRITE_ATTRIBUTES"
	.align 8
.LC11:
	.string	"ATTR - ERROR: illegal timestamp modification attempted"
	.align 8
.LC12:
	.string	"ATTR - mode change from %06o to %06o"
	.align 8
.LC13:
	.string	"ATTR - superuser mode change, requiring immutability check"
	.align 8
.LC14:
	.string	"ATTR - non-superuser mode change, requiring WRITE_SECURITY"
	.align 8
.LC15:
	.string	"ATTR - ERROR: setgid but no gid available"
	.align 8
.LC16:
	.string	"ATTR - ERROR: got %d checking for membership in %d"
	.align 8
.LC17:
	.string	"  DENIED - can't set SGID bit, not a member of %d"
	.align 8
.LC18:
	.string	"ATTR - ERROR: setuid but no uid available"
	.align 8
.LC19:
	.string	"ATTR - ERROR: illegal attempt to set the setuid bit"
	.align 8
.LC20:
	.string	"ATTR - flags changing, requiring WRITE_SECURITY"
	.align 8
.LC21:
	.string	"  DENIED - superuser attempt to set illegal flag(s)"
	.align 8
.LC22:
	.string	"  DENIED - user attempt to set illegal flag(s)"
	.align 8
.LC23:
	.string	"  DENIED - non-superuser cannot change ownershipt to a third party"
	.align 8
.LC24:
	.string	"  ERROR - got %d checking for membership in %d"
	.align 8
.LC25:
	.string	"  DENIED - group change from %d to %d but not a member of target group"
	.align 8
.LC26:
	.string	"  ERROR - got %d trying to get caller UUID"
	.align 8
.LC27:
	.string	"  ERROR - cannot set supplied owner UUID - not us / null"
	.align 8
.LC28:
	.string	"ATTR - superuser changing file owner/group, requiring immutability check"
	.align 8
.LC29:
	.string	"  ERROR - got %d trying to check group membership"
	.align 8
.LC30:
	.string	"  ERROR - cannot set supplied group UUID - not a member / null"
	.align 8
.LC31:
	.string	"ATTR - ownership change, requiring TAKE_OWNERSHIP"
	.align 8
.LC32:
	.string	"ATTR - group change, requiring WRITE_SECURITY"
	.align 8
.LC33:
	.string	"CHOWN - trying to change owner but cannot get mode from filesystem to mask setugid bits"
	.align 8
.LC34:
	.string	"CHOWN - masking setugid bits from mode %o to %o"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC35:
	.string	"CHMOD - adding ACL"
.LC36:
	.string	"CHMOD - removing ACL"
	.section	.rodata.str1.8
	.align 8
.LC37:
	.string	"CHMOD - adding/removing ACL entries"
	.section	.rodata.str1.1
.LC38:
	.string	"CHMOD - changing ACL entries"
	.text
	.p2align 4
	.globl	vnode_authattr
	.type	vnode_authattr, @function
vnode_authattr:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15, rdx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14d, ecx
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rdi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 136
	.cfi_def_cfa_offset 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 120[rsp], rax
	xor	eax, eax
	lea	r12, 64[rsp]
	mov	rdi, r12
	call	VATTR_INIT@PLT
	mov	edi, DWORD PTR 0[r13]
	call	vfs_authopaque@PLT
	test	rax, rax
	jne	.L97
	mov	ebx, DWORD PTR 0[rbp]
	and	ebx, DWORD PTR VNODE_ATTR_RDONLY[rip]
	jne	.L209
	mov	edi, r14d
	call	vfs_context_ucred@PLT
	mov	edi, eax
	mov	DWORD PTR 24[rsp], eax
	call	kauth_cred_issuser@PLT
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, rbp
	mov	DWORD PTR 12[rsp], eax
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L7
	mov	esi, DWORD PTR va_gid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L210
.L7:
	mov	esi, DWORD PTR va_mode[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	mov	esi, DWORD PTR va_gid[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	mov	esi, DWORD PTR va_uuuid[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	lea	rdi, .LC1[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
.L6:
	mov	esi, DWORD PTR va_create_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L10
	mov	esi, DWORD PTR va_change_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L211
.L10:
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	lea	rdi, .LC2[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
.L9:
	mov	esi, DWORD PTR va_flags[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L212
.L11:
	mov	esi, DWORD PTR va_acl[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L213
.L12:
	mov	esi, DWORD PTR va_data_size[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L13
	mov	rdi, r13
	call	vnode_isreg@PLT
	test	eax, eax
	je	.L214
.L13:
	mov	esi, DWORD PTR 64[rsp]
	lea	rdi, .LC6[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	rdi, r13
	mov	edx, r14d
	mov	rsi, r12
	call	vnode_getattr@PLT
	mov	r13d, eax
	test	eax, eax
	jne	.L215
	mov	esi, DWORD PTR va_data_size[rip]
	mov	rdi, rbp
	xor	ebx, ebx
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L216
.L17:
	mov	esi, DWORD PTR va_create_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L18
.L21:
	mov	eax, DWORD PTR 12[rsp]
	test	eax, eax
	je	.L217
.L19:
	lea	rdi, .LC9[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	eax, DWORD PTR KAUTH_VNODE_CHECKIMMUTABLE[rip]
	or	eax, DWORD PTR KAUTH_VNODE_WRITE_ATTRIBUTES[rip]
	or	ebx, eax
.L22:
	mov	esi, DWORD PTR va_mode[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L24
	mov	esi, DWORD PTR va_mode[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L24
	mov	esi, DWORD PTR 72[rsp]
	mov	edx, DWORD PTR 8[rbp]
	cmp	esi, edx
	jne	.L218
	.p2align 4,,10
	.p2align 3
.L24:
	mov	esi, DWORD PTR va_flags[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L35
	mov	esi, DWORD PTR va_flags[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	mov	r14d, DWORD PTR 24[rbp]
	test	rax, rax
	je	.L37
	xor	r14d, DWORD PTR 88[rsp]
.L37:
	test	r14d, r14d
	jne	.L219
.L35:
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L99
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L101
	mov	rax, QWORD PTR 80[rsp]
	cmp	QWORD PTR 16[rbp], rax
	je	.L101
	mov	r10d, DWORD PTR 12[rsp]
	test	r10d, r10d
	je	.L41
.L42:
	mov	DWORD PTR 16[rsp], 1
	mov	r14d, 1
	jmp	.L40
	.p2align 4,,10
	.p2align 3
.L209:
	lea	rdi, .LC0[rip]
	xor	ebx, ebx
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EINVAL[rip]
.L4:
	mov	esi, DWORD PTR va_acl[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	jne	.L220
.L78:
	test	r13d, r13d
	je	.L79
.L1:
	mov	rax, QWORD PTR 120[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L221
	add	rsp, 136
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r13d
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L97:
	.cfi_restore_state
	xor	ebx, ebx
.L2:
	mov	esi, DWORD PTR va_acl[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L79
	mov	rdi, QWORD PTR 96[rsp]
	test	rdi, rdi
	je	.L79
	call	kauth_acl_free@PLT
.L79:
	mov	DWORD PTR [r15], ebx
	xor	r13d, r13d
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L220:
	mov	rdi, QWORD PTR 96[rsp]
	test	rdi, rdi
	je	.L78
.L93:
	call	kauth_acl_free@PLT
	jmp	.L78
	.p2align 4,,10
	.p2align 3
.L217:
	mov	esi, DWORD PTR 24[rsp]
	mov	rdi, r12
	call	vauth_node_owner@PLT
	test	rax, rax
	jne	.L19
	mov	eax, DWORD PTR 4[rbp]
	test	DWORD PTR VA_UTIMES_NULL[rip], eax
	je	.L23
	lea	rdi, .LC10[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_ATTRIBUTES[rip]
	jmp	.L22
	.p2align 4,,10
	.p2align 3
.L18:
	mov	esi, DWORD PTR va_change_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L21
	mov	esi, DWORD PTR va_modify_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L21
	mov	esi, DWORD PTR va_access_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L21
	mov	esi, DWORD PTR va_backup_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L21
	mov	esi, DWORD PTR va_addedtime[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L21
	jmp	.L22
	.p2align 4,,10
	.p2align 3
.L216:
	lea	rdi, .LC8[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	ebx, DWORD PTR KAUTH_VNODE_WRITE_DATA[rip]
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L210:
	mov	esi, DWORD PTR va_mode[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L7
	mov	esi, DWORD PTR va_uuuid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L7
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L7
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L211:
	mov	esi, DWORD PTR va_modify_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L10
	mov	esi, DWORD PTR va_access_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L10
	mov	esi, DWORD PTR va_backup_time[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L10
	mov	esi, DWORD PTR va_addedtime[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L10
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L101:
	mov	DWORD PTR 16[rsp], 1
	xor	r14d, r14d
.L40:
	mov	esi, DWORD PTR va_gid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L102
	mov	esi, DWORD PTR va_gid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L104
	mov	esi, DWORD PTR 44[rbp]
	cmp	esi, DWORD PTR 108[rsp]
	je	.L104
	mov	r9d, DWORD PTR 12[rsp]
	test	r9d, r9d
	je	.L44
.L46:
	mov	DWORD PTR 28[rsp], 1
	mov	r13d, 1
	jmp	.L43
	.p2align 4,,10
	.p2align 3
.L104:
	mov	DWORD PTR 28[rsp], 1
.L43:
	mov	esi, DWORD PTR va_uuuid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L52
	mov	esi, DWORD PTR va_uuuid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	jne	.L222
.L49:
	mov	edi, DWORD PTR 12[rsp]
	test	edi, edi
	je	.L223
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L65
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	jne	.L224
.L65:
	lea	rdi, .LC28[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	or	ebx, DWORD PTR KAUTH_VNODE_CHECKIMMUTABLE[rip]
.L60:
	mov	esi, DWORD PTR va_mode[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L67
	mov	r13d, DWORD PTR 8[rbp]
.L68:
	mov	eax, DWORD PTR S_ISUID[rip]
	or	eax, DWORD PTR S_ISGID[rip]
	test	eax, r13d
	je	.L64
	mov	esi, DWORD PTR va_mode[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L105
	mov	eax, DWORD PTR 12[rsp]
	test	eax, eax
	jne	.L70
.L105:
	mov	edx, DWORD PTR S_ISUID[rip]
	or	edx, DWORD PTR S_ISGID[rip]
	mov	esi, r13d
	xor	eax, eax
	not	edx
	lea	rdi, .LC34[rip]
	and	edx, r13d
	call	KAUTH_DEBUG@PLT
	mov	eax, DWORD PTR S_ISUID[rip]
	or	eax, DWORD PTR S_ISGID[rip]
	not	eax
	and	r13d, eax
.L70:
	mov	esi, DWORD PTR va_mode[rip]
	mov	edx, r13d
	mov	rdi, rbp
	call	VATTR_SET@PLT
	jmp	.L64
	.p2align 4,,10
	.p2align 3
.L213:
	lea	rdi, .LC4[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	esi, DWORD PTR va_acl[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L212:
	lea	rdi, .LC3[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	esi, DWORD PTR va_flags[rip]
	mov	rdi, r12
	call	VATTR_WANTED@PLT
	jmp	.L11
	.p2align 4,,10
	.p2align 3
.L215:
	mov	esi, eax
	lea	rdi, .LC7[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
.L16:
	mov	esi, DWORD PTR va_acl[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L1
	mov	rdi, QWORD PTR 96[rsp]
	test	rdi, rdi
	jne	.L93
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L222:
	lea	r8, 112[rsp]
	lea	rdi, 48[rbp]
	mov	rsi, r8
	mov	QWORD PTR 40[rsp], rdi
	mov	QWORD PTR 32[rsp], r8
	call	kauth_guid_equal@PLT
	test	rax, rax
	jne	.L52
	mov	r8, QWORD PTR 32[rsp]
	lea	rsi, kauth_null_guid[rip]
	mov	rdi, r8
	call	kauth_guid_equal@PLT
	test	rax, rax
	je	.L49
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L49
	mov	rdi, QWORD PTR 80[rsp]
	lea	rsi, 60[rsp]
	mov	QWORD PTR 32[rsp], rsi
	call	kauth_cred_uid2guid@PLT
	mov	rsi, QWORD PTR 32[rsp]
	test	rax, rax
	jne	.L49
	mov	rdi, QWORD PTR 40[rsp]
	call	kauth_guid_equal@PLT
	test	rax, rax
	je	.L49
	.p2align 4,,10
	.p2align 3
.L52:
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L225
.L56:
	mov	eax, DWORD PTR 28[rsp]
	mov	ecx, DWORD PTR 16[rsp]
	or	eax, r13d
	or	eax, r14d
	or	ecx, eax
	jne	.L226
.L64:
	mov	esi, DWORD PTR va_acl[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L227
.L72:
	mov	esi, DWORD PTR va_encoding[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L2
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_ATTRIBUTES[rip]
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L99:
	mov	DWORD PTR 16[rsp], 0
	xor	r14d, r14d
	jmp	.L40
	.p2align 4,,10
	.p2align 3
.L102:
	mov	DWORD PTR 28[rsp], 0
	jmp	.L43
	.p2align 4,,10
	.p2align 3
.L227:
	mov	esi, DWORD PTR va_acl[rip]
	mov	rdi, r12
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L228
	mov	rdx, QWORD PTR 96[rsp]
	mov	rax, QWORD PTR 32[rbp]
	test	rdx, rdx
	je	.L74
	test	rax, rax
	je	.L229
	mov	ecx, DWORD PTR [rax]
	cmp	ecx, DWORD PTR [rdx]
	je	.L77
	lea	rdi, .LC37[rip]
	xor	eax, eax
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	call	KAUTH_DEBUG@PLT
	jmp	.L72
	.p2align 4,,10
	.p2align 3
.L214:
	lea	rdi, .LC5[rip]
	call	KAUTH_DEBUG@PLT
	mov	rdi, r13
	call	vnode_isdir@PLT
	test	rax, rax
	je	.L14
	mov	r13d, DWORD PTR EISDIR[rip]
	xor	ebx, ebx
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L228:
	mov	rax, QWORD PTR 32[rbp]
.L74:
	test	rax, rax
	je	.L72
	lea	rdi, .LC35[rip]
	xor	eax, eax
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	call	KAUTH_DEBUG@PLT
	jmp	.L72
	.p2align 4,,10
	.p2align 3
.L218:
	lea	rdi, .LC12[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	eax, DWORD PTR 12[rsp]
	test	eax, eax
	je	.L25
	lea	rdi, .LC13[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	or	ebx, DWORD PTR KAUTH_VNODE_CHECKIMMUTABLE[rip]
	jmp	.L24
	.p2align 4,,10
	.p2align 3
.L224:
	lea	r8, 104[rsp]
	lea	rdi, 40[rbp]
	mov	rsi, r8
	mov	QWORD PTR 40[rsp], rdi
	mov	QWORD PTR 32[rsp], r8
	call	kauth_guid_equal@PLT
	test	rax, rax
	jne	.L65
.L207:
	mov	DWORD PTR 16[rsp], 1
	mov	r8, QWORD PTR 32[rsp]
	mov	r14d, 1
.L95:
	lea	rsi, kauth_null_guid[rip]
	mov	rdi, r8
	call	kauth_guid_equal@PLT
	test	rax, rax
	jne	.L230
.L57:
	mov	esi, DWORD PTR 12[rsp]
	test	esi, esi
	jne	.L65
.L59:
	lea	r13, 40[rbp]
	lea	rsi, kauth_null_guid[rip]
	mov	rdi, r13
	call	kauth_guid_equal@PLT
	test	rax, rax
	je	.L61
	mov	DWORD PTR 52[rsp], 1
.L62:
	test	r14d, r14d
	jne	.L84
.L89:
	lea	rdi, .LC32[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	jmp	.L60
	.p2align 4,,10
	.p2align 3
.L23:
	lea	rdi, .LC11[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EACCES[rip]
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L219:
	lea	rdi, .LC20[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r11d, DWORD PTR 12[rsp]
	mov	eax, DWORD PTR UF_SETTABLE[rip]
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	test	r11d, r11d
	je	.L38
	or	eax, DWORD PTR SF_SETTABLE[rip]
	not	eax
	test	eax, r14d
	jne	.L231
.L39:
	or	ebx, DWORD PTR KAUTH_VNODE_NOIMMUTABLE[rip]
	jmp	.L35
	.p2align 4,,10
	.p2align 3
.L67:
	mov	esi, DWORD PTR va_mode[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L69
	mov	r13d, DWORD PTR 72[rsp]
	jmp	.L68
	.p2align 4,,10
	.p2align 3
.L226:
	mov	edx, DWORD PTR 12[rsp]
	test	edx, edx
	jne	.L65
	test	r14d, r14d
	jne	.L84
	test	r13d, r13d
	je	.L60
	jmp	.L89
	.p2align 4,,10
	.p2align 3
.L223:
	mov	edi, DWORD PTR 24[rsp]
	lea	rsi, 56[rsp]
	mov	QWORD PTR 16[rsp], rsi
	call	kauth_cred_getguid@PLT
	mov	rsi, QWORD PTR 16[rsp]
	test	eax, eax
	mov	r14d, eax
	jne	.L232
	lea	r14, 48[rbp]
	mov	rdi, r14
	call	kauth_guid_equal@PLT
	test	rax, rax
	je	.L233
.L55:
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, rbp
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	jne	.L234
.L84:
	lea	rdi, .LC31[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	or	ebx, DWORD PTR KAUTH_VNODE_TAKE_OWNERSHIP[rip]
	jmp	.L60
	.p2align 4,,10
	.p2align 3
.L14:
	mov	r13d, DWORD PTR EINVAL[rip]
	xor	ebx, ebx
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L38:
	not	eax
	test	eax, r14d
	je	.L39
	lea	rdi, .LC22[rip]
	xor	eax, eax
	mov	r13d, DWORD PTR EPERM[rip]
	call	KAUTH_DEBUG@PLT
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L25:
	lea	rdi, .LC14[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	eax, DWORD PTR 8[rbp]
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	test	DWORD PTR S_ISGID[rip], eax
	jne	.L235
	test	DWORD PTR S_ISUID[rip], eax
	je	.L24
.L92:
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, rbp
	or	ebx, DWORD PTR KAUTH_VNODE_CHECKIMMUTABLE[rip]
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L32
	mov	r14, QWORD PTR 16[rbp]
.L33:
	mov	edi, DWORD PTR 24[rsp]
	call	kauth_cred_getuid@PLT
	cmp	rax, r14
	je	.L24
	lea	rdi, .LC19[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EPERM[rip]
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L41:
	mov	edi, DWORD PTR 24[rsp]
	call	kauth_cred_getuid@PLT
	cmp	rax, QWORD PTR 16[rbp]
	je	.L42
	lea	rdi, .LC23[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EPERM[rip]
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L44:
	mov	edi, DWORD PTR 24[rsp]
	lea	rdx, 52[rsp]
	call	kauth_cred_ismember_gid@PLT
	mov	r13d, eax
	test	eax, eax
	jne	.L236
	mov	r8d, DWORD PTR 52[rsp]
	test	r8d, r8d
	jne	.L46
	mov	edx, DWORD PTR 44[rbp]
	mov	esi, DWORD PTR 108[rsp]
	lea	rdi, .LC25[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EPERM[rip]
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L69:
	lea	rdi, .LC33[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	jmp	.L64
	.p2align 4,,10
	.p2align 3
.L232:
	mov	esi, eax
	lea	rdi, .LC26[rip]
	xor	eax, eax
	mov	r13d, r14d
	call	KAUTH_DEBUG@PLT
	jmp	.L16
.L77:
	test	ecx, ecx
	jle	.L72
	mov	rsi, QWORD PTR 8[rdx]
	lea	r8d, 0[0+rcx*4]
	mov	rdi, QWORD PTR 8[rax]
	mov	edx, r8d
	call	memcmp@PLT
	test	rax, rax
	je	.L72
	lea	rdi, .LC38[rip]
	xor	eax, eax
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	call	KAUTH_DEBUG@PLT
	jmp	.L72
.L233:
	lea	rsi, kauth_null_guid[rip]
	mov	rdi, r14
	call	kauth_guid_equal@PLT
	test	rax, rax
	jne	.L55
	lea	rdi, .LC27[rip]
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EPERM[rip]
	jmp	.L4
.L61:
	mov	edi, DWORD PTR 24[rsp]
	mov	rsi, r13
	lea	rdx, 52[rsp]
	call	kauth_cred_ismember_guid@PLT
	mov	r13d, eax
	test	eax, eax
	jne	.L237
	mov	ecx, DWORD PTR 52[rsp]
	test	ecx, ecx
	jne	.L62
	lea	rdi, .LC30[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EPERM[rip]
	jmp	.L4
.L234:
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	jne	.L90
	mov	r14d, 1
	jmp	.L59
.L235:
	mov	esi, DWORD PTR va_gid[rip]
	mov	rdi, rbp
	or	ebx, DWORD PTR KAUTH_VNODE_CHECKIMMUTABLE[rip]
	call	VATTR_IS_ACTIVE@PLT
	test	rax, rax
	je	.L238
	mov	esi, DWORD PTR 44[rbp]
.L28:
	mov	edi, DWORD PTR 24[rsp]
	lea	rdx, 52[rsp]
	mov	DWORD PTR 16[rsp], esi
	call	kauth_cred_ismember_gid@PLT
	mov	esi, DWORD PTR 16[rsp]
	test	eax, eax
	mov	r14d, eax
	jne	.L239
	mov	r14d, DWORD PTR 52[rsp]
	test	r14d, r14d
	je	.L240
	mov	eax, DWORD PTR 8[rbp]
	test	DWORD PTR S_ISUID[rip], eax
	jne	.L92
	jmp	.L24
.L229:
	lea	rdi, .LC36[rip]
	or	ebx, DWORD PTR KAUTH_VNODE_WRITE_SECURITY[rip]
	call	KAUTH_DEBUG@PLT
	jmp	.L72
.L231:
	lea	rdi, .LC21[rip]
	xor	eax, eax
	mov	r13d, DWORD PTR EPERM[rip]
	call	KAUTH_DEBUG@PLT
	jmp	.L4
.L230:
	mov	esi, DWORD PTR va_gid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L57
	mov	edi, DWORD PTR 108[rsp]
	lea	rsi, 60[rsp]
	mov	QWORD PTR 32[rsp], rsi
	call	kauth_cred_gid2guid@PLT
	mov	rsi, QWORD PTR 32[rsp]
	test	rax, rax
	jne	.L57
	mov	rdi, QWORD PTR 40[rsp]
	call	kauth_guid_equal@PLT
	test	rax, rax
	je	.L57
	jmp	.L56
	.p2align 4,,10
	.p2align 3
.L236:
	mov	edx, DWORD PTR 44[rbp]
	mov	esi, eax
	lea	rdi, .LC24[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	jmp	.L16
.L238:
	mov	esi, DWORD PTR va_gid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L29
	mov	esi, DWORD PTR 108[rsp]
	jmp	.L28
.L225:
	mov	esi, DWORD PTR va_guuid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L57
	lea	r8, 104[rsp]
	lea	rdi, 40[rbp]
	mov	rsi, r8
	mov	QWORD PTR 32[rsp], r8
	mov	QWORD PTR 40[rsp], rdi
	call	kauth_guid_equal@PLT
	mov	r8, QWORD PTR 32[rsp]
	test	rax, rax
	jne	.L56
	jmp	.L95
	.p2align 4,,10
	.p2align 3
.L32:
	mov	esi, DWORD PTR va_uid[rip]
	mov	rdi, r12
	call	VATTR_IS_SUPPORTED@PLT
	test	rax, rax
	je	.L34
	mov	r14, QWORD PTR 80[rsp]
	jmp	.L33
.L237:
	mov	esi, eax
	lea	rdi, .LC29[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	jmp	.L16
.L239:
	mov	edx, DWORD PTR 44[rbp]
	mov	esi, eax
	lea	rdi, .LC16[rip]
	xor	eax, eax
	mov	r13d, r14d
	call	KAUTH_DEBUG@PLT
	jmp	.L16
.L240:
	lea	rdi, .LC17[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EPERM[rip]
	jmp	.L4
.L221:
	call	__stack_chk_fail@PLT
.L29:
	lea	rdi, .LC15[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EINVAL[rip]
	jmp	.L4
.L34:
	lea	rdi, .LC18[rip]
	xor	eax, eax
	call	KAUTH_DEBUG@PLT
	mov	r13d, DWORD PTR EINVAL[rip]
	jmp	.L4
.L90:
	lea	r8, 104[rsp]
	lea	rdi, 40[rbp]
	mov	rsi, r8
	mov	QWORD PTR 40[rsp], rdi
	mov	QWORD PTR 32[rsp], r8
	call	kauth_guid_equal@PLT
	test	rax, rax
	jne	.L84
	jmp	.L207
	.cfi_endproc
.LFE0:
	.size	vnode_authattr, .-vnode_authattr
	.comm	va_uuuid,4,4
	.comm	va_uid,4,4
	.comm	va_modify_time,4,4
	.comm	va_mode,4,4
	.comm	va_guuid,4,4
	.comm	va_gid,4,4
	.comm	va_flags,4,4
	.comm	va_encoding,4,4
	.comm	va_data_size,4,4
	.comm	va_create_time,4,4
	.comm	va_change_time,4,4
	.comm	va_backup_time,4,4
	.comm	va_addedtime,4,4
	.comm	va_acl,4,4
	.comm	va_access_time,4,4
	.comm	kauth_null_guid,4,4
	.comm	VNODE_ATTR_RDONLY,4,4
	.comm	VA_UTIMES_NULL,4,4
	.comm	UF_SETTABLE,4,4
	.comm	S_ISUID,4,4
	.comm	S_ISGID,4,4
	.comm	SF_SETTABLE,4,4
	.comm	KAUTH_VNODE_WRITE_SECURITY,4,4
	.comm	KAUTH_VNODE_WRITE_DATA,4,4
	.comm	KAUTH_VNODE_WRITE_ATTRIBUTES,4,4
	.comm	KAUTH_VNODE_TAKE_OWNERSHIP,4,4
	.comm	KAUTH_VNODE_NOIMMUTABLE,4,4
	.comm	KAUTH_VNODE_CHECKIMMUTABLE,4,4
	.comm	EPERM,4,4
	.comm	EISDIR,4,4
	.comm	EINVAL,4,4
	.comm	EACCES,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_vfs_subr.c_vnode_authattr.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"ATTR - ERROR: attempt to set readonly attribute(s)\000"
	.align	2
.LC1:
	.ascii	"ATTR - security information changing, fetching exis"
	.ascii	"ting attributes\000"
	.align	2
.LC2:
	.ascii	"ATTR - timestamps changing, fetching uid and GUID\000"
	.align	2
.LC3:
	.ascii	"ATTR - flags changing, fetching old flags\000"
	.align	2
.LC4:
	.ascii	"ATTR - acl changing, fetching old flags\000"
	.align	2
.LC5:
	.ascii	"ATTR - ERROR: size change requested on non-file\000"
	.align	2
.LC6:
	.ascii	"ATTR - fetching old attributes %016llx\000"
	.align	2
.LC7:
	.ascii	"  ERROR - got %d trying to get attributes\000"
	.align	2
.LC8:
	.ascii	"ATTR - size change, requiring WRITE_DATA\000"
	.align	2
.LC9:
	.ascii	"ATTR - root or owner changing timestamps\000"
	.align	2
.LC10:
	.ascii	"ATTR - non-root/owner changing timestamps, requirin"
	.ascii	"g WRITE_ATTRIBUTES\000"
	.align	2
.LC11:
	.ascii	"ATTR - ERROR: illegal timestamp modification attemp"
	.ascii	"ted\000"
	.align	2
.LC12:
	.ascii	"ATTR - mode change from %06o to %06o\000"
	.align	2
.LC13:
	.ascii	"ATTR - superuser mode change, requiring immutabilit"
	.ascii	"y check\000"
	.align	2
.LC14:
	.ascii	"ATTR - non-superuser mode change, requiring WRITE_S"
	.ascii	"ECURITY\000"
	.align	2
.LC15:
	.ascii	"ATTR - ERROR: setgid but no gid available\000"
	.align	2
.LC16:
	.ascii	"ATTR - ERROR: got %d checking for membership in %d\000"
	.align	2
.LC17:
	.ascii	"  DENIED - can't set SGID bit, not a member of %d\000"
	.align	2
.LC18:
	.ascii	"ATTR - ERROR: setuid but no uid available\000"
	.align	2
.LC19:
	.ascii	"ATTR - ERROR: illegal attempt to set the setuid bit"
	.ascii	"\000"
	.align	2
.LC20:
	.ascii	"ATTR - flags changing, requiring WRITE_SECURITY\000"
	.align	2
.LC21:
	.ascii	"  DENIED - superuser attempt to set illegal flag(s)"
	.ascii	"\000"
	.align	2
.LC22:
	.ascii	"  DENIED - user attempt to set illegal flag(s)\000"
	.align	2
.LC23:
	.ascii	"  DENIED - non-superuser cannot change ownershipt t"
	.ascii	"o a third party\000"
	.align	2
.LC24:
	.ascii	"  ERROR - got %d checking for membership in %d\000"
	.align	2
.LC25:
	.ascii	"  DENIED - group change from %d to %d but not a mem"
	.ascii	"ber of target group\000"
	.align	2
.LC26:
	.ascii	"  ERROR - got %d trying to get caller UUID\000"
	.align	2
.LC27:
	.ascii	"  ERROR - cannot set supplied owner UUID - not us /"
	.ascii	" null\000"
	.align	2
.LC28:
	.ascii	"ATTR - superuser changing file owner/group, requiri"
	.ascii	"ng immutability check\000"
	.align	2
.LC29:
	.ascii	"  ERROR - got %d trying to check group membership\000"
	.align	2
.LC30:
	.ascii	"  ERROR - cannot set supplied group UUID - not a me"
	.ascii	"mber / null\000"
	.align	2
.LC31:
	.ascii	"ATTR - ownership change, requiring TAKE_OWNERSHIP\000"
	.align	2
.LC32:
	.ascii	"ATTR - group change, requiring WRITE_SECURITY\000"
	.align	2
.LC33:
	.ascii	"CHOWN - trying to change owner but cannot get mode "
	.ascii	"from filesystem to mask setugid bits\000"
	.align	2
.LC34:
	.ascii	"CHOWN - masking setugid bits from mode %o to %o\000"
	.align	2
.LC35:
	.ascii	"CHMOD - adding ACL\000"
	.align	2
.LC36:
	.ascii	"CHMOD - removing ACL\000"
	.align	2
.LC37:
	.ascii	"CHMOD - adding/removing ACL entries\000"
	.align	2
.LC38:
	.ascii	"CHMOD - changing ACL entries\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC39:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	vnode_authattr
	.syntax unified
	.arm
	.fpu softvfp
	.type	vnode_authattr, %function
vnode_authattr:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r6, r0
	sub	sp, sp, #92
	mov	r7, r3
	ldr	r3, .L251
	str	r2, [sp]
	add	r0, sp, #48
	mov	r4, r1
	ldr	r3, [r3]
	str	r3, [sp, #84]
	mov	r3,#0
	bl	VATTR_INIT
	ldr	r0, [r6]
	bl	vfs_authopaque
	subs	r5, r0, #0
	bne	.L96
	ldr	r3, .L251+4
	ldr	r2, [r4]
	ldr	r3, [r3]
	ands	r3, r2, r3
	str	r3, [sp, #24]
	bne	.L220
	mov	r0, r7
	bl	vfs_context_ucred
	str	r0, [sp, #28]
	bl	kauth_cred_issuser
	mov	r3, r0
	ldr	r9, .L251+8
	mov	r0, r4
	ldr	r1, [r9]
	str	r3, [sp, #20]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L5
	ldr	r3, .L251+12
	str	r3, [sp, #4]
	ldr	r3, .L251+16
	str	r3, [sp, #12]
.L213:
	ldr	r3, .L251+20
	str	r3, [sp, #16]
.L214:
	ldr	r3, .L251+24
	str	r3, [sp, #8]
.L7:
	ldr	r3, [sp, #4]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_WANTED
	ldr	r1, [r9]
	add	r0, sp, #48
	bl	VATTR_WANTED
	ldr	r3, [sp, #12]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_WANTED
	ldr	r3, [sp, #16]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_WANTED
	ldr	r3, [sp, #8]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_WANTED
	ldr	r0, .L251+28
	bl	KAUTH_DEBUG
.L6:
	ldr	fp, .L251+32
	mov	r0, r4
	ldr	r1, [fp]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L10
	ldr	r3, .L251+36
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L221
.L10:
	ldr	r1, [r9]
	add	r0, sp, #48
	bl	VATTR_WANTED
	ldr	r0, .L251+40
	bl	KAUTH_DEBUG
.L9:
	ldr	r10, .L251+44
	mov	r0, r4
	ldr	r1, [r10]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L222
.L11:
	ldr	r8, .L251+48
	mov	r0, r4
	ldr	r1, [r8]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L223
.L12:
	ldr	r5, .L251+52
	mov	r0, r4
	ldr	r1, [r5]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L13
	mov	r0, r6
	bl	vnode_isreg
	subs	r3, r0, #0
	beq	.L224
.L13:
	ldr	r1, [sp, #48]
	ldr	r0, .L251+56
	bl	KAUTH_DEBUG
	mov	r2, r7
	mov	r0, r6
	add	r1, sp, #48
	bl	vnode_getattr
	subs	r7, r0, #0
	bne	.L225
	ldr	r1, [r5]
	mov	r0, r4
	bl	VATTR_IS_ACTIVE
	subs	r5, r0, #0
	bne	.L226
.L17:
	mov	r0, r4
	ldr	r1, [fp]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L18
.L21:
	ldr	r3, [sp, #20]
	cmp	r3, #0
	beq	.L227
.L19:
	ldr	r0, .L251+60
	bl	KAUTH_DEBUG
	ldr	r3, .L251+64
	ldr	r2, .L251+68
	ldr	r3, [r3]
	ldr	r2, [r2]
	orr	r3, r3, r2
	orr	r5, r5, r3
.L22:
	ldr	r6, [sp, #4]
	mov	r0, r4
	ldr	r1, [r6]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L24
	ldr	r1, [r6]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L24
	ldr	r1, [sp, #56]
	ldr	r2, [r4, #8]
	cmp	r1, r2
	bne	.L228
.L24:
	mov	r0, r4
	ldr	r1, [r10]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L35
	ldr	r1, [r10]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	ldr	r6, [r4, #16]
	ldrne	r3, [sp, #64]
	eorne	r6, r6, r3
	cmp	r6, #0
	bne	.L229
.L35:
	mov	r0, r4
	ldr	r1, [r9]
	bl	VATTR_IS_ACTIVE
	subs	r6, r0, #0
	beq	.L97
	ldr	r1, [r9]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	subs	r6, r0, #0
	beq	.L215
	ldr	r2, [r4, #12]
	ldr	r3, [sp, #60]
	cmp	r2, r3
	beq	.L99
	ldr	r3, [sp, #20]
	cmp	r3, #0
	beq	.L41
.L42:
	mov	r3, #1
	mov	r6, r3
	str	r3, [sp, #24]
	b	.L40
.L220:
	ldr	r0, .L251+72
	bl	KAUTH_DEBUG
	ldr	r3, .L251+76
	ldr	r8, .L251+48
	ldr	r7, [r3]
.L4:
	ldr	r1, [r8]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	bne	.L230
.L77:
	cmp	r7, #0
	beq	.L78
.L1:
	ldr	r3, .L251
	ldr	r2, [r3]
	ldr	r3, [sp, #84]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L231
	mov	r0, r7
	add	sp, sp, #92
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L96:
	mov	r5, #0
	ldr	r8, .L251+48
.L2:
	ldr	r1, [r8]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L78
	ldr	r0, [sp, #68]
	cmp	r0, #0
	beq	.L78
	bl	kauth_acl_free
.L78:
	ldr	r3, [sp]
	mov	r7, #0
	str	r5, [r3]
	b	.L1
.L5:
	ldr	r3, .L251+16
	mov	r0, r4
	ldr	r1, [r3]
	str	r3, [sp, #12]
	bl	VATTR_IS_ACTIVE
	ldr	r3, .L251+12
	cmp	r0, #0
	str	r3, [sp, #4]
	bne	.L213
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L213
	ldr	r3, .L251+20
	mov	r0, r4
	ldr	r1, [r3]
	str	r3, [sp, #16]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L214
	ldr	r3, .L251+24
	mov	r0, r4
	ldr	r1, [r3]
	str	r3, [sp, #8]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L7
	b	.L6
.L230:
	ldr	r0, [sp, #68]
	cmp	r0, #0
	beq	.L77
.L92:
	bl	kauth_acl_free
	b	.L77
.L227:
	ldr	r1, [sp, #28]
	add	r0, sp, #48
	bl	vauth_node_owner
	cmp	r0, #0
	bne	.L19
	ldr	r3, .L251+80
	ldr	r2, [r4, #4]
	ldr	r3, [r3]
	tst	r2, r3
	beq	.L23
	ldr	r0, .L251+84
	bl	KAUTH_DEBUG
	ldr	r3, .L251+68
	ldr	r3, [r3]
	orr	r5, r5, r3
	b	.L22
.L226:
	ldr	r0, .L251+88
	bl	KAUTH_DEBUG
	ldr	r3, .L251+92
	ldr	r5, [r3]
	b	.L17
.L18:
	ldr	r3, .L251+36
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L21
	ldr	r3, .L251+96
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L21
	ldr	r3, .L251+100
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L21
	ldr	r3, .L251+104
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L21
	ldr	r3, .L251+108
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L21
	b	.L22
.L221:
	ldr	r3, .L251+96
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L10
	ldr	r3, .L251+100
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L10
	ldr	r3, .L251+104
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L10
	ldr	r3, .L251+108
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L10
	b	.L9
.L223:
	ldr	r0, .L251+112
	bl	KAUTH_DEBUG
	ldr	r1, [r8]
	add	r0, sp, #48
	bl	VATTR_WANTED
	b	.L12
.L222:
	ldr	r0, .L251+116
	bl	KAUTH_DEBUG
	ldr	r1, [r10]
	add	r0, sp, #48
	bl	VATTR_WANTED
	b	.L11
.L225:
	mov	r1, r7
	ldr	r0, .L251+120
	bl	KAUTH_DEBUG
.L16:
	ldr	r1, [r8]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L1
	ldr	r0, [sp, #68]
	cmp	r0, #0
	beq	.L1
	ldr	r5, [sp, #24]
	b	.L92
.L97:
	str	r6, [sp, #24]
.L40:
	ldr	r7, [sp, #12]
	mov	r0, r4
	ldr	r1, [r7]
	bl	VATTR_IS_ACTIVE
	subs	r10, r0, #0
	beq	.L100
	ldr	r1, [r7]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	subs	r10, r0, #0
	beq	.L216
	ldr	r1, [r4, #28]
	ldr	r3, [sp, #76]
	cmp	r1, r3
	beq	.L102
	ldr	r3, [sp, #20]
	cmp	r3, #0
	beq	.L44
.L46:
	mov	fp, #1
	mov	r10, fp
	b	.L43
.L100:
	mov	fp, r10
.L43:
	ldr	r7, [sp, #16]
	mov	r0, r4
	ldr	r1, [r7]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L52
	ldr	r1, [r7]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	bne	.L232
.L49:
	ldr	r3, [sp, #20]
	cmp	r3, #0
	beq	.L233
	ldr	r3, [sp, #8]
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L65
	ldr	r3, [sp, #8]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	bne	.L234
.L65:
	ldr	r0, .L251+124
	bl	KAUTH_DEBUG
	ldr	r3, .L251+64
	ldr	r3, [r3]
	orr	r5, r5, r3
.L60:
	ldr	r3, [sp, #4]
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L67
	ldr	r6, [r4, #8]
.L68:
	ldr	r9, .L251+128
	ldr	r7, .L251+132
	ldr	r3, [r9]
	ldr	r2, [r7]
	orr	r3, r3, r2
	tst	r3, r6
	beq	.L64
	ldr	r3, [sp, #4]
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	ldr	r3, [sp, #20]
	cmp	r3, #0
	cmpne	r0, #0
	bne	.L70
	ldr	r3, [r7]
	ldr	r2, [r9]
	mov	r1, r6
	orr	r2, r2, r3
	bic	r2, r6, r2
	ldr	r0, .L251+136
	bl	KAUTH_DEBUG
	ldr	r3, [r9]
	ldr	r2, [r7]
	orr	r3, r3, r2
	bic	r6, r6, r3
.L70:
	ldr	r3, [sp, #4]
	mov	r2, r6
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_SET
	b	.L64
.L232:
	add	r7, r4, #32
	mov	r0, r7
	add	r1, sp, #80
	bl	kauth_guid_equal
	cmp	r0, #0
	bne	.L52
	ldr	r1, .L251+140
	add	r0, sp, #80
	bl	kauth_guid_equal
	cmp	r0, #0
	beq	.L49
	ldr	r1, [r9]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L49
	ldr	r0, [sp, #60]
	add	r1, sp, #44
	bl	kauth_cred_uid2guid
	cmp	r0, #0
	bne	.L49
	mov	r0, r7
	add	r1, sp, #44
	bl	kauth_guid_equal
	cmp	r0, #0
	beq	.L49
.L52:
	ldr	r3, [sp, #8]
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L235
.L56:
	ldr	r3, [sp, #24]
	orr	fp, r10, fp
	orr	fp, fp, r6
	orrs	r3, fp, r3
	bne	.L236
.L64:
	mov	r0, r4
	ldr	r1, [r8]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L237
.L71:
	ldr	r3, .L251+144
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	ldrne	r3, .L251+68
	ldrne	r3, [r3]
	orrne	r5, r5, r3
	b	.L2
.L99:
	mov	r6, #0
.L215:
	mov	r3, #1
	str	r3, [sp, #24]
	b	.L40
.L102:
	mov	r10, #0
.L216:
	mov	fp, #1
	b	.L43
.L237:
	ldr	r1, [r8]
	add	r0, sp, #48
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L238
	ldr	r1, [sp, #68]
	ldr	r3, [r4, #20]
	cmp	r1, #0
	beq	.L73
	cmp	r3, #0
	beq	.L239
	ldr	r2, [r3]
	ldr	r0, [r1]
	cmp	r2, r0
	beq	.L76
	ldr	r3, .L251+148
	ldr	r0, .L251+152
	ldr	r3, [r3]
	orr	r5, r5, r3
	bl	KAUTH_DEBUG
	b	.L71
.L224:
	ldr	r0, .L251+156
	str	r3, [sp, #4]
	bl	KAUTH_DEBUG
	mov	r0, r6
	bl	vnode_isdir
	subs	r5, r0, #0
	beq	.L218
	ldr	r2, .L251+160
	ldr	r3, [sp, #4]
	ldr	r7, [r2]
	mov	r5, r3
	b	.L4
.L238:
	ldr	r3, [r4, #20]
.L73:
	cmp	r3, #0
	beq	.L71
	ldr	r3, .L251+148
	ldr	r0, .L251+164
	ldr	r3, [r3]
	orr	r5, r5, r3
	bl	KAUTH_DEBUG
	b	.L71
.L228:
	ldr	r0, .L251+168
	bl	KAUTH_DEBUG
	ldr	r3, [sp, #20]
	cmp	r3, #0
	beq	.L25
	ldr	r0, .L251+172
	bl	KAUTH_DEBUG
	ldr	r3, .L251+64
	ldr	r3, [r3]
	orr	r5, r5, r3
	b	.L24
.L234:
	add	r9, r4, #24
	add	r7, sp, #72
	mov	r0, r9
	mov	r1, r7
	bl	kauth_guid_equal
	cmp	r0, #0
	bne	.L65
.L217:
	mov	r3, #1
	mov	r6, r3
	str	r3, [sp, #24]
.L94:
	mov	r0, r7
	ldr	r1, .L251+140
	bl	kauth_guid_equal
	cmp	r0, #0
	bne	.L240
.L57:
	ldr	r3, [sp, #20]
	cmp	r3, #0
	bne	.L65
.L59:
	add	r7, r4, #24
	mov	r0, r7
	ldr	r1, .L251+140
	bl	kauth_guid_equal
	cmp	r0, #0
	beq	.L61
	mov	r3, #1
	str	r3, [sp, #36]
.L62:
	cmp	r6, #0
	bne	.L83
.L88:
	ldr	r0, .L251+176
	bl	KAUTH_DEBUG
	ldr	r3, .L251+148
	ldr	r3, [r3]
	orr	r5, r5, r3
	b	.L60
.L23:
	ldr	r0, .L251+180
	bl	KAUTH_DEBUG
	ldr	r3, .L251+184
	ldr	r7, [r3]
	b	.L4
.L229:
	ldr	r0, .L251+188
	bl	KAUTH_DEBUG
	ldr	r3, .L251+148
	ldr	r2, [sp, #20]
	ldr	r3, [r3]
	cmp	r2, #0
	orr	r5, r5, r3
	ldr	r3, .L251+192
	beq	.L38
	ldr	r2, .L251+196
	ldr	r3, [r3]
	ldr	r2, [r2]
	orr	r3, r3, r2
	bics	r3, r6, r3
	bne	.L241
.L39:
	ldr	r3, .L251+200
	ldr	r3, [r3]
	orr	r5, r5, r3
	b	.L35
.L67:
	ldr	r3, [sp, #4]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L69
	ldr	r6, [sp, #56]
	b	.L68
.L236:
	ldr	r3, [sp, #20]
	cmp	r3, #0
	bne	.L65
	cmp	r6, #0
	bne	.L83
	cmp	r10, #0
	beq	.L60
	b	.L88
.L233:
	ldr	r0, [sp, #28]
	add	r1, sp, #40
	bl	kauth_cred_getguid
	subs	r7, r0, #0
	bne	.L242
	add	r6, r4, #32
	mov	r0, r6
	add	r1, sp, #40
	bl	kauth_guid_equal
	cmp	r0, #0
	beq	.L243
.L55:
	ldr	r3, [sp, #8]
	mov	r0, r4
	ldr	r1, [r3]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	bne	.L244
.L83:
	ldr	r0, .L251+204
	bl	KAUTH_DEBUG
	ldr	r3, .L251+208
	ldr	r3, [r3]
	orr	r5, r5, r3
	b	.L60
.L29:
	ldr	r0, .L251+212
	bl	KAUTH_DEBUG
.L218:
	ldr	r3, .L251+76
	ldr	r7, [r3]
	b	.L4
.L38:
	ldr	r3, [r3]
	bics	r3, r6, r3
	beq	.L39
	ldr	r3, .L251+216
	ldr	r0, .L251+220
	ldr	r7, [r3]
	bl	KAUTH_DEBUG
	b	.L4
.L25:
	ldr	r0, .L251+224
	bl	KAUTH_DEBUG
	ldr	r3, .L251+132
	ldr	r2, .L251+148
	ldr	r1, [r3]
	ldr	r3, [r4, #8]
	ldr	r2, [r2]
	tst	r3, r1
	orr	r5, r5, r2
	bne	.L245
	ldr	r2, .L251+128
	ldr	r2, [r2]
	tst	r3, r2
	beq	.L24
	ldr	r3, .L251+64
	ldr	r3, [r3]
	orr	r5, r5, r3
.L84:
	mov	r0, r4
	ldr	r1, [r9]
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	beq	.L32
	ldr	r6, [r4, #12]
.L33:
	ldr	r0, [sp, #28]
	bl	kauth_cred_getuid
	cmp	r0, r6
	beq	.L24
	ldr	r0, .L251+228
	bl	KAUTH_DEBUG
	ldr	r3, .L251+216
	ldr	r7, [r3]
	b	.L4
.L41:
	ldr	r0, [sp, #28]
	bl	kauth_cred_getuid
	ldr	r3, [r4, #12]
	cmp	r0, r3
	beq	.L42
	ldr	r0, .L251+232
	bl	KAUTH_DEBUG
	ldr	r3, .L251+216
	ldr	r7, [r3]
	b	.L4
.L44:
	ldr	r0, [sp, #28]
	add	r2, sp, #36
	bl	kauth_cred_ismember_gid
	subs	r7, r0, #0
	bne	.L246
	ldr	r3, [sp, #36]
	cmp	r3, #0
	bne	.L46
	ldr	r2, [r4, #28]
	ldr	r1, [sp, #76]
	ldr	r0, .L251+236
	bl	KAUTH_DEBUG
	ldr	r3, .L251+216
	ldr	r7, [r3]
	b	.L4
.L69:
	ldr	r0, .L251+240
	bl	KAUTH_DEBUG
	b	.L64
.L242:
	mov	r1, r7
	ldr	r0, .L251+244
	str	r5, [sp, #24]
	bl	KAUTH_DEBUG
	b	.L16
.L76:
	cmp	r2, #0
	ble	.L71
	ldr	r1, [r1, #4]
	ldr	r0, [r3, #4]
	lsl	r2, r2, #2
	bl	memcmp
	cmp	r0, #0
	beq	.L71
	ldr	r3, .L251+148
	ldr	r0, .L251+248
	ldr	r3, [r3]
	orr	r5, r5, r3
	bl	KAUTH_DEBUG
	b	.L71
.L243:
	mov	r0, r6
	ldr	r1, .L251+140
	bl	kauth_guid_equal
	cmp	r0, #0
	bne	.L55
	ldr	r0, .L251+252
	bl	KAUTH_DEBUG
	ldr	r3, .L251+216
	ldr	r7, [r3]
	b	.L4
.L61:
	mov	r1, r7
	ldr	r0, [sp, #28]
	add	r2, sp, #36
	bl	kauth_cred_ismember_guid
	subs	r7, r0, #0
	bne	.L247
	ldr	r3, [sp, #36]
	cmp	r3, #0
	bne	.L62
	ldr	r0, .L251+256
	bl	KAUTH_DEBUG
	ldr	r3, .L251+216
	ldr	r7, [r3]
	b	.L4
.L244:
	ldr	r3, [sp, #8]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	bne	.L89
	mov	r6, #1
	b	.L59
.L245:
	ldr	r3, [sp, #12]
	ldr	r6, .L251+64
	ldr	r1, [r3]
	ldr	r3, [r6]
	mov	r0, r4
	orr	r5, r5, r3
	bl	VATTR_IS_ACTIVE
	cmp	r0, #0
	ldrne	r7, [r4, #28]
	beq	.L248
.L28:
	mov	r1, r7
	ldr	r0, [sp, #28]
	add	r2, sp, #36
	bl	kauth_cred_ismember_gid
	subs	r1, r0, #0
	bne	.L249
	ldr	r3, [sp, #36]
	cmp	r3, #0
	beq	.L250
	ldr	r3, .L251+128
	ldr	r2, [r4, #8]
	ldr	r3, [r3]
	tst	r2, r3
	beq	.L24
	ldr	r3, [r6]
	orr	r5, r5, r3
	b	.L84
.L239:
	ldr	r3, .L251+148
	ldr	r0, .L251+260
	ldr	r3, [r3]
	orr	r5, r5, r3
	bl	KAUTH_DEBUG
	b	.L71
.L241:
	ldr	r3, .L251+216
	ldr	r0, .L251+264
	ldr	r7, [r3]
	bl	KAUTH_DEBUG
	b	.L4
.L240:
	ldr	r3, [sp, #12]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L57
	ldr	r0, [sp, #76]
	add	r1, sp, #44
	bl	kauth_cred_gid2guid
	cmp	r0, #0
	bne	.L57
	mov	r0, r9
	add	r1, sp, #44
	bl	kauth_guid_equal
	cmp	r0, #0
	beq	.L57
	b	.L56
.L246:
	mov	r1, r7
	ldr	r2, [r4, #28]
	ldr	r0, .L251+268
	str	r5, [sp, #24]
	bl	KAUTH_DEBUG
	b	.L16
.L248:
	ldr	r3, [sp, #12]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L29
	ldr	r7, [sp, #76]
	b	.L28
.L235:
	ldr	r3, [sp, #8]
	add	r0, sp, #48
	ldr	r1, [r3]
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L57
	add	r9, r4, #24
	add	r7, sp, #72
	mov	r0, r9
	mov	r1, r7
	bl	kauth_guid_equal
	cmp	r0, #0
	bne	.L56
	b	.L94
.L32:
	ldr	r1, [r9]
	add	r0, sp, #48
	bl	VATTR_IS_SUPPORTED
	cmp	r0, #0
	beq	.L34
	ldr	r6, [sp, #60]
	b	.L33
.L247:
	mov	r1, r7
	ldr	r0, .L251+272
	str	r5, [sp, #24]
	bl	KAUTH_DEBUG
	b	.L16
.L249:
	ldr	r2, [r4, #28]
	ldr	r0, .L251+276
	mov	r7, r1
	str	r5, [sp, #24]
	bl	KAUTH_DEBUG
	b	.L16
.L250:
	mov	r1, r7
	ldr	r0, .L251+280
	bl	KAUTH_DEBUG
	ldr	r3, .L251+216
	ldr	r7, [r3]
	b	.L4
.L231:
	bl	__stack_chk_fail
.L34:
	ldr	r0, .L251+284
	bl	KAUTH_DEBUG
	ldr	r3, .L251+76
	ldr	r7, [r3]
	b	.L4
.L89:
	add	r9, r4, #24
	add	r7, sp, #72
	mov	r0, r9
	mov	r1, r7
	bl	kauth_guid_equal
	cmp	r0, #0
	bne	.L83
	b	.L217
.L252:
	.align	2
.L251:
	.word	.LC39
	.word	VNODE_ATTR_RDONLY
	.word	va_uid
	.word	va_mode
	.word	va_gid
	.word	va_uuuid
	.word	va_guuid
	.word	.LC1
	.word	va_create_time
	.word	va_change_time
	.word	.LC2
	.word	va_flags
	.word	va_acl
	.word	va_data_size
	.word	.LC6
	.word	.LC9
	.word	KAUTH_VNODE_CHECKIMMUTABLE
	.word	KAUTH_VNODE_WRITE_ATTRIBUTES
	.word	.LC0
	.word	EINVAL
	.word	VA_UTIMES_NULL
	.word	.LC10
	.word	.LC8
	.word	KAUTH_VNODE_WRITE_DATA
	.word	va_modify_time
	.word	va_access_time
	.word	va_backup_time
	.word	va_addedtime
	.word	.LC4
	.word	.LC3
	.word	.LC7
	.word	.LC28
	.word	S_ISUID
	.word	S_ISGID
	.word	.LC34
	.word	kauth_null_guid
	.word	va_encoding
	.word	KAUTH_VNODE_WRITE_SECURITY
	.word	.LC37
	.word	.LC5
	.word	EISDIR
	.word	.LC35
	.word	.LC12
	.word	.LC13
	.word	.LC32
	.word	.LC11
	.word	EACCES
	.word	.LC20
	.word	UF_SETTABLE
	.word	SF_SETTABLE
	.word	KAUTH_VNODE_NOIMMUTABLE
	.word	.LC31
	.word	KAUTH_VNODE_TAKE_OWNERSHIP
	.word	.LC15
	.word	EPERM
	.word	.LC22
	.word	.LC14
	.word	.LC19
	.word	.LC23
	.word	.LC25
	.word	.LC33
	.word	.LC26
	.word	.LC38
	.word	.LC27
	.word	.LC30
	.word	.LC36
	.word	.LC21
	.word	.LC24
	.word	.LC29
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.size	vnode_authattr, .-vnode_authattr
	.comm	va_uuuid,4,4
	.comm	va_uid,4,4
	.comm	va_modify_time,4,4
	.comm	va_mode,4,4
	.comm	va_guuid,4,4
	.comm	va_gid,4,4
	.comm	va_flags,4,4
	.comm	va_encoding,4,4
	.comm	va_data_size,4,4
	.comm	va_create_time,4,4
	.comm	va_change_time,4,4
	.comm	va_backup_time,4,4
	.comm	va_addedtime,4,4
	.comm	va_acl,4,4
	.comm	va_access_time,4,4
	.comm	kauth_null_guid,4,4
	.comm	VNODE_ATTR_RDONLY,4,4
	.comm	VA_UTIMES_NULL,4,4
	.comm	UF_SETTABLE,4,4
	.comm	S_ISUID,4,4
	.comm	S_ISGID,4,4
	.comm	SF_SETTABLE,4,4
	.comm	KAUTH_VNODE_WRITE_SECURITY,4,4
	.comm	KAUTH_VNODE_WRITE_DATA,4,4
	.comm	KAUTH_VNODE_WRITE_ATTRIBUTES,4,4
	.comm	KAUTH_VNODE_TAKE_OWNERSHIP,4,4
	.comm	KAUTH_VNODE_NOIMMUTABLE,4,4
	.comm	KAUTH_VNODE_CHECKIMMUTABLE,4,4
	.comm	EPERM,4,4
	.comm	EISDIR,4,4
	.comm	EINVAL,4,4
	.comm	EACCES,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
