⬢ DragonFlyBSD Kernel Audit
DF-2489 / ad_attach_stock_disasm.txt
← back to finding ↓ download raw
/boot/kernel/kernel:     file format elf64-x86-64


Disassembly of section .text:

ffffffff80328d30 <ad_attach>:
ffffffff80328d30:	55                   	push   %rbp
ffffffff80328d31:	48 89 e5             	mov    %rsp,%rbp
ffffffff80328d34:	41 57                	push   %r15
ffffffff80328d36:	41 56                	push   %r14
ffffffff80328d38:	41 55                	push   %r13
ffffffff80328d3a:	41 54                	push   %r12
ffffffff80328d3c:	53                   	push   %rbx
ffffffff80328d3d:	48 89 fb             	mov    %rdi,%rbx
ffffffff80328d40:	48 81 ec f8 00 00 00 	sub    $0xf8,%rsp
ffffffff80328d47:	e8 f4 43 36 00       	callq  ffffffff8068d140 <device_get_parent>
ffffffff80328d4c:	48 89 c7             	mov    %rax,%rdi
ffffffff80328d4f:	e8 9c 47 36 00       	callq  ffffffff8068d4f0 <device_get_softc>
ffffffff80328d54:	48 89 df             	mov    %rbx,%rdi
ffffffff80328d57:	49 89 c6             	mov    %rax,%r14
ffffffff80328d5a:	e8 91 47 36 00       	callq  ffffffff8068d4f0 <device_get_softc>
ffffffff80328d5f:	48 89 df             	mov    %rbx,%rdi
ffffffff80328d62:	49 89 c4             	mov    %rax,%r12
ffffffff80328d65:	e8 16 48 36 00       	callq  ffffffff8068d580 <device_get_ivars>
ffffffff80328d6a:	49 89 c5             	mov    %rax,%r13
ffffffff80328d6d:	b8 11 00 00 00       	mov    $0x11,%eax
ffffffff80328d72:	4d 85 ed             	test   %r13,%r13
ffffffff80328d75:	74 19                	je     ffffffff80328d90 <ad_attach+0x60>
ffffffff80328d77:	48 8d 65 d8          	lea    -0x28(%rbp),%rsp
ffffffff80328d7b:	5b                   	pop    %rbx
ffffffff80328d7c:	41 5c                	pop    %r12
ffffffff80328d7e:	41 5d                	pop    %r13
ffffffff80328d80:	41 5e                	pop    %r14
ffffffff80328d82:	41 5f                	pop    %r15
ffffffff80328d84:	5d                   	pop    %rbp
ffffffff80328d85:	c3                   	retq   
ffffffff80328d86:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
ffffffff80328d8d:	00 00 00 
ffffffff80328d90:	ba 02 12 00 00       	mov    $0x1202,%edx
ffffffff80328d95:	48 c7 c6 40 e5 05 81 	mov    $0xffffffff8105e540,%rsi
ffffffff80328d9c:	bf e8 05 00 00       	mov    $0x5e8,%edi
ffffffff80328da1:	e8 1a e0 32 00       	callq  ffffffff80656dc0 <_kmalloc>
ffffffff80328da6:	48 8d 78 08          	lea    0x8(%rax),%rdi
ffffffff80328daa:	48 89 c1             	mov    %rax,%rcx
ffffffff80328dad:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
ffffffff80328db4:	49 89 c7             	mov    %rax,%r15
ffffffff80328db7:	48 83 e7 f8          	and    $0xfffffffffffffff8,%rdi
ffffffff80328dbb:	4c 89 fe             	mov    %r15,%rsi
ffffffff80328dbe:	48 c7 80 e0 05 00 00 	movq   $0x0,0x5e0(%rax)
ffffffff80328dc5:	00 00 00 00 
ffffffff80328dc9:	4c 89 e8             	mov    %r13,%rax
ffffffff80328dcc:	48 29 f9             	sub    %rdi,%rcx
ffffffff80328dcf:	81 c1 e8 05 00 00    	add    $0x5e8,%ecx
ffffffff80328dd5:	c1 e9 03             	shr    $0x3,%ecx
ffffffff80328dd8:	f3 48 ab             	rep stos %rax,%es:(%rdi)
ffffffff80328ddb:	48 89 df             	mov    %rbx,%rdi
ffffffff80328dde:	e8 ad 47 36 00       	callq  ffffffff8068d590 <device_set_ivars>
ffffffff80328de3:	48 89 df             	mov    %rbx,%rdi
ffffffff80328de6:	e8 05 47 36 00       	callq  ffffffff8068d4f0 <device_get_softc>
ffffffff80328deb:	48 89 df             	mov    %rbx,%rdi
ffffffff80328dee:	49 89 c5             	mov    %rax,%r13
ffffffff80328df1:	e8 8a 47 36 00       	callq  ffffffff8068d580 <device_get_ivars>
ffffffff80328df6:	41 f6 45 76 01       	testb  $0x1,0x76(%r13)
ffffffff80328dfb:	74 0e                	je     ffffffff80328e0b <ad_attach+0xdb>
ffffffff80328dfd:	41 0f b7 55 7a       	movzwl 0x7a(%r13),%edx
ffffffff80328e02:	66 85 d2             	test   %dx,%dx
ffffffff80328e05:	0f 85 85 03 00 00    	jne    ffffffff80329190 <ad_attach+0x460>
ffffffff80328e0b:	41 0f b7 55 12       	movzwl 0x12(%r13),%edx
ffffffff80328e10:	88 50 08             	mov    %dl,0x8(%rax)
ffffffff80328e13:	41 0f b7 75 18       	movzwl 0x18(%r13),%esi
ffffffff80328e18:	0f b6 d2             	movzbl %dl,%edx
ffffffff80328e1b:	40 88 70 09          	mov    %sil,0x9(%rax)
ffffffff80328e1f:	40 0f b6 f6          	movzbl %sil,%esi
ffffffff80328e23:	41 0f b7 4d 0e       	movzwl 0xe(%r13),%ecx
ffffffff80328e28:	0f af d6             	imul   %esi,%edx
ffffffff80328e2b:	0f af d1             	imul   %ecx,%edx
ffffffff80328e2e:	48 63 d2             	movslq %edx,%rdx
ffffffff80328e31:	48 89 10             	mov    %rdx,(%rax)
ffffffff80328e34:	41 0f b7 b5 ac 00 00 	movzwl 0xac(%r13),%esi
ffffffff80328e3b:	00 
ffffffff80328e3c:	41 8b 8d 84 00 00 00 	mov    0x84(%r13),%ecx
ffffffff80328e43:	66 83 fe ff          	cmp    $0xffff,%si
ffffffff80328e47:	74 18                	je     ffffffff80328e61 <ad_attach+0x131>
ffffffff80328e49:	ba 0f 00 00 00       	mov    $0xf,%edx
ffffffff80328e4e:	66 90                	xchg   %ax,%ax
ffffffff80328e50:	0f a3 d6             	bt     %edx,%esi
ffffffff80328e53:	0f 82 5a 03 00 00    	jb     ffffffff803291b3 <ad_attach+0x483>
ffffffff80328e59:	83 ea 01             	sub    $0x1,%edx
ffffffff80328e5c:	83 fa ff             	cmp    $0xffffffff,%edx
ffffffff80328e5f:	75 ef                	jne    ffffffff80328e50 <ad_attach+0x120>
ffffffff80328e61:	41 83 8d 34 02 00 00 	orl    $0x1,0x234(%r13)
ffffffff80328e68:	01 
ffffffff80328e69:	66 41 81 7d 0e ff 3f 	cmpw   $0x3fff,0xe(%r13)
ffffffff80328e70:	89 ca                	mov    %ecx,%edx
ffffffff80328e72:	0f 84 f8 02 00 00    	je     ffffffff80329170 <ad_attach+0x440>
ffffffff80328e78:	48 39 10             	cmp    %rdx,(%rax)
ffffffff80328e7b:	0f 82 ef 02 00 00    	jb     ffffffff80329170 <ad_attach+0x440>
ffffffff80328e81:	49 8b 95 d4 00 00 00 	mov    0xd4(%r13),%rdx
ffffffff80328e88:	41 f6 85 b3 00 00 00 	testb  $0x4,0xb3(%r13)
ffffffff80328e8f:	04 
ffffffff80328e90:	74 0d                	je     ffffffff80328e9f <ad_attach+0x16f>
ffffffff80328e92:	48 81 fa ff ff ff 0f 	cmp    $0xfffffff,%rdx
ffffffff80328e99:	0f 87 e1 02 00 00    	ja     ffffffff80329180 <ad_attach+0x450>
ffffffff80328e9f:	48 89 df             	mov    %rbx,%rdi
ffffffff80328ea2:	e8 b9 fc ff ff       	callq  ffffffff80328b60 <ad_init>
ffffffff80328ea7:	48 89 df             	mov    %rbx,%rdi
ffffffff80328eaa:	e8 71 43 36 00       	callq  ffffffff8068d220 <device_get_unit>
ffffffff80328eaf:	48 83 ec 08          	sub    $0x8,%rsp
ffffffff80328eb3:	b9 00 02 00 00       	mov    $0x200,%ecx
ffffffff80328eb8:	41 b9 20 00 00 00    	mov    $0x20,%r9d
ffffffff80328ebe:	68 10 01 00 00       	pushq  $0x110
ffffffff80328ec3:	89 c2                	mov    %eax,%edx
ffffffff80328ec5:	49 8d 7f 18          	lea    0x18(%r15),%rdi
ffffffff80328ec9:	41 b8 02 00 00 00    	mov    $0x2,%r8d
ffffffff80328ecf:	48 c7 c6 c2 f5 c3 80 	mov    $0xffffffff80c3f5c2,%rsi
ffffffff80328ed6:	e8 d5 94 36 00       	callq  ffffffff806923b0 <devstat_add_entry>
ffffffff80328edb:	49 8d 87 e0 00 00 00 	lea    0xe0(%r15),%rax
ffffffff80328ee2:	48 89 df             	mov    %rbx,%rdi
ffffffff80328ee5:	49 89 c5             	mov    %rax,%r13
ffffffff80328ee8:	48 89 85 00 ff ff ff 	mov    %rax,-0x100(%rbp)
ffffffff80328eef:	e8 2c 43 36 00       	callq  ffffffff8068d220 <device_get_unit>
ffffffff80328ef4:	48 c7 c2 c0 e6 05 81 	mov    $0xffffffff8105e6c0,%rdx
ffffffff80328efb:	4c 89 ee             	mov    %r13,%rsi
ffffffff80328efe:	89 c7                	mov    %eax,%edi
ffffffff80328f00:	e8 db b1 36 00       	callq  ffffffff806940e0 <disk_create>
ffffffff80328f05:	ba 00 00 01 00       	mov    $0x10000,%edx
ffffffff80328f0a:	48 89 98 98 00 00 00 	mov    %rbx,0x98(%rax)
ffffffff80328f11:	49 8b 8e d8 01 00 00 	mov    0x1d8(%r14),%rcx
ffffffff80328f18:	5e                   	pop    %rsi
ffffffff80328f19:	5f                   	pop    %rdi
ffffffff80328f1a:	48 85 c9             	test   %rcx,%rcx
ffffffff80328f1d:	74 03                	je     ffffffff80328f22 <ad_attach+0x1f2>
ffffffff80328f1f:	8b 51 64             	mov    0x64(%rcx),%edx
ffffffff80328f22:	89 90 b8 00 00 00    	mov    %edx,0xb8(%rax)
ffffffff80328f28:	b9 06 00 00 00       	mov    $0x6,%ecx
ffffffff80328f2d:	48 8d bd 18 ff ff ff 	lea    -0xe8(%rbp),%rdi
ffffffff80328f34:	41 0f b6 57 09       	movzbl 0x9(%r15),%edx
ffffffff80328f39:	49 89 87 e0 05 00 00 	mov    %rax,0x5e0(%r15)
ffffffff80328f40:	31 c0                	xor    %eax,%eax
ffffffff80328f42:	f3 48 ab             	rep stos %rax,%es:(%rdi)
ffffffff80328f45:	41 0f b6 4f 08       	movzbl 0x8(%r15),%ecx
ffffffff80328f4a:	49 8b 07             	mov    (%r15),%rax
ffffffff80328f4d:	48 89 df             	mov    %rbx,%rdi
ffffffff80328f50:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%rbp)
ffffffff80328f56:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%rbp)
ffffffff80328f5c:	0f af ca             	imul   %edx,%ecx
ffffffff80328f5f:	31 d2                	xor    %edx,%edx
ffffffff80328f61:	48 89 85 20 ff ff ff 	mov    %rax,-0xe0(%rbp)
ffffffff80328f68:	c7 85 28 ff ff ff 00 	movl   $0x200,-0xd8(%rbp)
ffffffff80328f6f:	02 00 00 
ffffffff80328f72:	48 63 f1             	movslq %ecx,%rsi
ffffffff80328f75:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%rbp)
ffffffff80328f7b:	48 f7 f6             	div    %rsi
ffffffff80328f7e:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%rbp)
ffffffff80328f84:	49 8d 44 24 20       	lea    0x20(%r12),%rax
ffffffff80328f89:	48 89 85 48 ff ff ff 	mov    %rax,-0xb8(%rbp)
ffffffff80328f90:	e8 8b 42 36 00       	callq  ffffffff8068d220 <device_get_unit>
ffffffff80328f95:	48 c7 c6 c5 f5 c3 80 	mov    $0xffffffff80c3f5c5,%rsi
ffffffff80328f9c:	48 89 df             	mov    %rbx,%rdi
ffffffff80328f9f:	89 c2                	mov    %eax,%edx
ffffffff80328fa1:	e8 6a 40 36 00       	callq  ffffffff8068d010 <device_add_child>
ffffffff80328fa6:	48 89 df             	mov    %rbx,%rdi
ffffffff80328fa9:	e8 22 68 36 00       	callq  ffffffff8068f7d0 <bus_generic_attach>
ffffffff80328fae:	48 89 df             	mov    %rbx,%rdi
ffffffff80328fb1:	e8 8a 41 36 00       	callq  ffffffff8068d140 <device_get_parent>
ffffffff80328fb6:	48 89 c7             	mov    %rax,%rdi
ffffffff80328fb9:	e8 32 45 36 00       	callq  ffffffff8068d4f0 <device_get_softc>
ffffffff80328fbe:	48 89 df             	mov    %rbx,%rdi
ffffffff80328fc1:	48 89 85 f8 fe ff ff 	mov    %rax,-0x108(%rbp)
ffffffff80328fc8:	e8 23 45 36 00       	callq  ffffffff8068d4f0 <device_get_softc>
ffffffff80328fcd:	48 89 df             	mov    %rbx,%rdi
ffffffff80328fd0:	49 89 c5             	mov    %rax,%r13
ffffffff80328fd3:	e8 a8 45 36 00       	callq  ffffffff8068d580 <device_get_ivars>
ffffffff80328fd8:	4d 8d 75 42          	lea    0x42(%r13),%r14
ffffffff80328fdc:	be 20 00 00 00       	mov    $0x20,%esi
ffffffff80328fe1:	4c 89 f7             	mov    %r14,%rdi
ffffffff80328fe4:	49 89 c7             	mov    %rax,%r15
ffffffff80328fe7:	e8 94 bf 6a 00       	callq  ffffffff809d4f80 <index>
ffffffff80328fec:	48 85 c0             	test   %rax,%rax
ffffffff80328fef:	0f 84 2b 02 00 00    	je     ffffffff80329220 <ad_attach+0x4f0>
ffffffff80328ff5:	4c 29 f0             	sub    %r14,%rax
ffffffff80328ff8:	4c 89 f6             	mov    %r14,%rsi
ffffffff80328ffb:	4c 63 c0             	movslq %eax,%r8
ffffffff80328ffe:	48                   	rex.W
ffffffff80328fff:	89                   	.byte 0x89