Skip to content

Instantly share code, notes, and snippets.

@EgorBot
Created September 23, 2024 00:28
Show Gist options
  • Save EgorBot/fdc0d4cf63b91d473e3515145984fe9b to your computer and use it in GitHub Desktop.
Save EgorBot/fdc0d4cf63b91d473e3515145984fe9b to your computer and use it in GitHub Desktop.
diff_asm_bf4d7420.asm
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
crng_make_state() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbca33a00 <load0>:
0.37 nop
cmp rdx,0x20
↓ ja 97
push rbp
mov rbp,rsp
0.06 push r15
0.09 mov r15,rdi
push r14
0.12 mov r14,rsi
push r13
0.06 push r12
mov r12,rdx
0.01 push rbx
0.05 xchg ax,ax
27: pushf
0.17 pop rbx
0.69 cli
mov r13,0x308a0
mov rax,QWORD PTR [rip+0x23c9808]
add r13,QWORD PTR gs:[rip+0x435e5fe0]
cmp QWORD PTR [r13+0x20],rax
↓ jne 99
46: mov rcx,r12
mov rdx,r14
mov rsi,r15
mov rdi,r13
→ call crng_fast_key_erasure
and bh,0x2
↓ je 5d
sti
5d: pop rbx
98.16 pop r12
pop r13
pop r14
0.22 pop r15
pop rbp
← ret
int3
int3
int3
int3
cmp DWORD PTR [rip+0x1c05c41],0x1
↑ ja 27
mov rdi,0xffffffffbedfd248
→ call _raw_spin_lock_irqsave
mov r13,rax
xchg ax,ax
86: mov rsi,r13
mov rdi,0xffffffffbedfd248
→ call _raw_spin_unlock_irqrestore
↑ jmp 27
97: ud2
99: mov rdi,0xffffffffbedfd248
→ call _raw_spin_lock
mov ecx,0x20
mov rdx,r13
mov rsi,r15
mov rdi,0xffffffffbedfd220
→ call crng_fast_key_erasure
mov rax,QWORD PTR [rip+0x23c977d]
mov rdi,0xffffffffbedfd248
mov QWORD PTR [r13+0x20],rax
→ call __raw_callee_save___pv_queued_spin_unlock
nop
↑ jmp 46
mov eax,DWORD PTR [rip+0x1c05bd5]
cmp eax,0x1
↑ ja 86
test eax,eax
↓ je 111
e8: mov rsi,r15
mov rcx,r12
mov rdx,r14
mov rdi,0xffffffffbedfd220
→ call crng_fast_key_erasure
mov rsi,r13
mov rdi,0xffffffffbedfd248
→ call _raw_spin_unlock_irqrestore
↑ jmp 5d
111: mov rdi,0xffffffffbedfd220
→ call extract_entropy.constprop.0
↑ jmp e8
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
read() /usr/lib/x86_64-linux-gnu/libc.so.6
Percent
Disassembly of section .text:
00000000001147d0 <__read@@GLIBC_2.2.5>:
endbr64
mov eax,DWORD PTR fs:0x18
test eax,eax
↓ jne 20
syscall
cmp rax,0xfffffffffffff000
↓ ja 70
← ret
nop
0.01 20: sub rsp,0x28
mov QWORD PTR [rsp+0x18],rdx
1.07 mov QWORD PTR [rsp+0x10],rsi
mov DWORD PTR [rsp+0x8],edi
0.01 → call __libc_alloca_cutoff@@GLIBC_PRIVATE+0x50
mov rdx,QWORD PTR [rsp+0x18]
mov rsi,QWORD PTR [rsp+0x10]
mov r8d,eax
0.06 mov edi,DWORD PTR [rsp+0x8]
0.33 xor eax,eax
syscall
95.27 cmp rax,0xfffffffffffff000
↓ ja 88
1.75 54: mov edi,r8d
mov QWORD PTR [rsp+0x8],rax
1.50 → call __libc_alloca_cutoff@@GLIBC_PRIVATE+0xc0
mov rax,QWORD PTR [rsp+0x8]
add rsp,0x28
← ret
nop
70: mov rdx,QWORD PTR [rip+0x1055c9]
neg eax
mov DWORD PTR fs:[rdx],eax
mov rax,0xffffffffffffffff
← ret
nop
88: mov rdx,QWORD PTR [rip+0x1055b1]
neg eax
mov DWORD PTR fs:[rdx],eax
mov rax,0xffffffffffffffff
↑ jmp 54
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
do_syscall_64() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbd0b9de0 <load0>:
push rbp
mov rbp,rsp
push r13
mov r13d,esi
push r12
push rbx
mov rbx,rdi
xchg ax,ax
mov eax,DWORD PTR gs:[rip+0x42f5fc88]
and eax,0x3ff
add rax,0xf
and eax,0x7f8
sub rsp,rax
lea rax,[rsp+0xf]
and rax,0xfffffffffffffff0
movsxd r12,r13d
nop
3a: nop
3f: sti
mov rax,QWORD PTR gs:0x32d40
96.32 mov rdx,QWORD PTR [rax+0x8]
1.33 test dl,0x3f
↓ jne 121
1.28 cmp r12d,0x1cd
↓ ja 13f
63: mov eax,r12d
cmp rax,0x1ce
sbb rax,rax
0.92 mov esi,r12d
mov rdi,rbx
and esi,eax
→ call x64_sys_call
0.12 mov QWORD PTR [rbx+0x50],rax
0.02 80: mov rdi,rbx
0.02 → call syscall_exit_to_user_mode
mov rax,QWORD PTR [rbx+0x80]
cmp QWORD PTR [rbx+0x58],rax
↓ jne 110
mov rdx,QWORD PTR [rbx+0x90]
cmp QWORD PTR [rbx+0x30],rdx
↓ jne 110
cmp QWORD PTR [rbx+0x88],0x33
↓ jne 110
cmp QWORD PTR [rbx+0xa0],0x2b
↓ jne 110
movabs rcx,0xfffffffffff000
cmp rax,rcx
↓ jae 110
test edx,0x10100
sete al
lea rsp,[rbp-0x18]
pop rbx
pop r12
pop r13
pop rbp
← ret
int3
int3
int3
int3
mov rax,0x2efa8
add rax,QWORD PTR gs:[rip+0x42f5fb54]
mov eax,DWORD PTR [rax]
and eax,0x3
cmp eax,0x2
↑ je 3a
ud2
↑ jmp 3a
mov edi,0x2
→ call __ct_user_exit
↑ jmp 3f
110: lea rsp,[rbp-0x18]
xor eax,eax
pop rbx
pop r12
pop r13
pop rbp
← ret
int3
int3
int3
int3
121: mov rsi,r12
mov rdi,rbx
→ call syscall_trace_enter
mov r12,rax
mov r13d,eax
cmp r12d,0x1cd
↑ jbe 63
13f: cmp r13d,0xffffffff
↑ je 80
mov QWORD PTR [rbx+0x50],0xffffffffffffffda
↑ jmp 80
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
_copy_to_iter() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbc79fab0 <load0>:
2.40 push rbp
mov rbp,rsp
push r15
1.27 push r14
push r13
mov r13,rdi
push r12
1.23 mov r12,rdx
push rbx
mov rbx,rsi
sub rsp,0x58
1.23 movzx r14d,BYTE PTR [rdx+0x2]
mov rax,QWORD PTR gs:0x28
mov QWORD PTR [rbp-0x30],rax
1.23 xor eax,eax
cmp r14b,0x1
→ ja _copy_to_iter.cold
and r14d,0x1
↓ jne ec
mov rax,QWORD PTR [r12+0x18]
0.58 movzx edx,BYTE PTR [r12]
cmp rax,rbx
cmovbe rbx,rax
1.25 test rbx,rbx
↓ je f3
0.28 test dl,dl
↓ jne f8
0.22 mov rdx,QWORD PTR [r12+0x8]
mov rdi,QWORD PTR [r12+0x10]
0.17 mov rcx,rbx
xor esi,esi
0.26 add rdi,rdx
add rcx,rdi
0.89 setb sil
0.24 test rcx,rcx
↓ js 1aa
0.39 test rsi,rsi
↓ jne 1aa
0.39 stac
20.64 mov rcx,rbx
mov rsi,r13
rep movs BYTE PTR es:[rdi],BYTE PTR ds:[rsi]
29.27 nop
clac
19.16 mov rdx,QWORD PTR [r12+0x8]
6.10 mov r14,rbx
mov rax,QWORD PTR [r12+0x18]
1.32 sub r14,rcx
add rdx,r14
0.07 b3: add rcx,rax
1.40 mov QWORD PTR [r12+0x8],rdx
1.75 sub rcx,rbx
mov QWORD PTR [r12+0x18],rcx
3.15 c3: mov rax,QWORD PTR [rbp-0x30]
sub rax,QWORD PTR gs:0x28
1.23 ↓ jne 56c
1.47 add rsp,0x58
mov rax,r14
pop rbx
pop r12
1.36 pop r13
0.02 pop r14
pop r15
pop rbp
1.01 ← ret
int3
int3
int3
int3
ec: ud2
xor r14d,r14d
↑ jmp c3
f3: xor r14d,r14d
↑ jmp c3
f8: cmp dl,0x1
↓ jne 1ce
mov rax,QWORD PTR [r12+0x10]
mov r9,QWORD PTR [r12+0x8]
xor r14d,r14d
lea r8,[rax+0x10]
↓ jmp 11b
114: add r8,0x10
xor r9d,r9d
11b: mov rax,QWORD PTR [r8-0x8]
lea r11,[r8-0x10]
mov r10,r8
mov rdx,rax
sub rdx,r9
cmp rdx,rbx
cmova rdx,rbx
test rdx,rdx
↑ je 114
mov rdi,QWORD PTR [r8-0x10]
mov rcx,rdx
xor esi,esi
add rdi,r9
add rcx,rdi
setb sil
test rcx,rcx
↓ js 1b5
test rsi,rsi
↓ jne 1b5
stac
lea rsi,[r13+r14*1+0x0]
mov rcx,rdx
rep movs BYTE PTR es:[rdi],BYTE PTR ds:[rsi]
nop
clac
mov rax,rdx
sub rbx,rdx
sub rax,rcx
add rbx,rcx
add r14,rax
add rax,r9
cmp QWORD PTR [r8-0x8],rax
↓ ja 1c6
test rbx,rbx
↑ jne 114
185: mov rax,r10
sub rax,QWORD PTR [r12+0x10]
sub QWORD PTR [r12+0x18],r14
sar rax,0x4
mov QWORD PTR [r12+0x10],r10
sub QWORD PTR [r12+0x20],rax
mov QWORD PTR [r12+0x8],rbx
↑ jmp c3
1aa: mov rcx,rbx
xor r14d,r14d
↑ jmp b3
1b5: cmp rax,r9
↑ jbe 114
mov rbx,r9
mov r10,r11
↑ jmp 185
1c6: mov rbx,rax
mov r10,r11
↑ jmp 185
1ce: cmp dl,0x2
↓ je 1f5
cmp dl,0x3
↓ je 312
cmp dl,0x4
↓ je 3c7
sub rax,rbx
mov r14,rbx
mov QWORD PTR [r12+0x18],rax
↑ jmp c3
1f5: mov r9,QWORD PTR [r12+0x10]
mov r8,QWORD PTR [r12+0x8]
xor r14d,r14d
mov r10d,0x1000
↓ jmp 247
20a: test dl,0x4
↓ jne 2fb
test edx,edx
↓ je 229
movzx ecx,BYTE PTR [rsi]
mov BYTE PTR [rax],cl
test dl,0x2
↓ jne 3ad
225: mov ecx,DWORD PTR [r9+0x8]
229: add r8,rdx
sub rbx,rdx
add r14,rdx
cmp r8,rcx
↓ jb 23e
add r9,0x10
xor r8d,r8d
23e: test rbx,rbx
↓ je 2d6
247: mov eax,DWORD PTR [r9+0xc]
mov ecx,DWORD PTR [r9+0x8]
mov rdi,r10
add rax,r8
mov rdx,rcx
mov rsi,rax
sub rdx,r8
and esi,0xfff
cmp rdx,rbx
cmova rdx,rbx
sub rdi,rsi
cmp rdx,rdi
cmova rdx,rdi
shr rax,0xc
shl rax,0x6
add rax,QWORD PTR [r9]
sub rax,QWORD PTR [rip+0x13094d9]
sar rax,0x6
shl rax,0xc
add rax,QWORD PTR [rip+0x13094da]
add rax,rsi
lea rsi,[r13+r14*1+0x0]
cmp edx,0x8
↑ jb 20a
mov rcx,QWORD PTR [rsi]
mov QWORD PTR [rax],rcx
mov ecx,edx
mov rdi,QWORD PTR [rsi+rcx*1-0x8]
mov QWORD PTR [rax+rcx*1-0x8],rdi
lea rdi,[rax+0x8]
and rdi,0xfffffffffffffff8
sub rax,rdi
sub rsi,rax
add eax,edx
shr eax,0x3
mov ecx,eax
rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
↑ jmp 225
2d6: mov rax,r9
sub rax,QWORD PTR [r12+0x10]
sub QWORD PTR [r12+0x18],r14
sar rax,0x4
mov QWORD PTR [r12+0x10],r9
sub QWORD PTR [r12+0x20],rax
mov QWORD PTR [r12+0x8],r8
↑ jmp c3
2fb: mov ecx,DWORD PTR [rsi]
mov DWORD PTR [rax],ecx
mov ecx,edx
mov esi,DWORD PTR [rsi+rcx*1-0x4]
mov DWORD PTR [rax+rcx*1-0x4],esi
mov ecx,DWORD PTR [r9+0x8]
↑ jmp 229
312: mov rax,QWORD PTR [r12+0x10]
mov r8,QWORD PTR [r12+0x8]
xor r14d,r14d
mov rsi,r13
lea r15,[rax+0x10]
↓ jmp 334
328: lea rsi,[r13+r14*1+0x0]
32d: add r15,0x10
xor r8d,r8d
334: mov rdx,QWORD PTR [r15-0x8]
lea rax,[r15-0x10]
mov QWORD PTR [rbp-0x80],rax
sub rdx,r8
cmp rdx,rbx
cmova rdx,rbx
test rdx,rdx
↑ je 32d
mov rdi,r8
add rdi,QWORD PTR [r15-0x10]
mov QWORD PTR [rbp-0x78],r8
mov QWORD PTR [rbp-0x70],rdx
→ call __memcpy
mov rdx,QWORD PTR [rbp-0x70]
mov r8,QWORD PTR [rbp-0x78]
add r14,rdx
lea rax,[r8+rdx*1]
sub rbx,rdx
cmp rax,QWORD PTR [r15-0x8]
↓ jb 3c2
test rbx,rbx
↑ jne 328
mov QWORD PTR [rbp-0x80],r15
384: mov rsi,QWORD PTR [rbp-0x80]
sub QWORD PTR [r12+0x18],r14
mov QWORD PTR [r12+0x8],rbx
mov rax,rsi
sub rax,QWORD PTR [r12+0x10]
mov QWORD PTR [r12+0x10],rsi
sar rax,0x4
sub QWORD PTR [r12+0x20],rax
↑ jmp c3
3ad: mov ecx,edx
movzx esi,WORD PTR [rsi+rcx*1-0x2]
mov WORD PTR [rax+rcx*1-0x2],si
mov ecx,DWORD PTR [r9+0x8]
↑ jmp 229
3c2: mov rbx,rax
↑ jmp 384
3c7: mov rax,QWORD PTR [r12+0x8]
add rax,QWORD PTR [r12+0x20]
mov DWORD PTR [rbp-0x58],0x0
mov rsi,rax
mov QWORD PTR [rbp-0x70],rax
mov rax,QWORD PTR [r12+0x10]
mov QWORD PTR [rbp-0x50],0x3
mov QWORD PTR [rbp-0x68],rax
mov rax,rsi
shr rax,0xc
mov QWORD PTR [rbp-0x48],0x0
mov QWORD PTR [rbp-0x60],rax
mov QWORD PTR [rbp-0x40],0x0
mov QWORD PTR [rbp-0x38],0x0
or rsi,0xffffffffffffffff
lea rdi,[rbp-0x68]
xor r14d,r14d
→ call xas_find
mov r8,rax
test rax,rax
↓ je 55d
42f: cmp r8,0x406
↓ je 548
cmp r8,0x402
↓ je 540
test r8b,0x1
↓ jne 599
mov eax,DWORD PTR [r8+0x30]
and eax,0xf0000800
cmp eax,0xf0000000
↓ je 595
mov rax,QWORD PTR [rbp-0x70]
mov rdi,r8
mov QWORD PTR [rbp-0x78],r8
lea r15,[r14+rax*1]
→ call folio_size
mov rdi,QWORD PTR [rbp-0x78]
sub rax,0x1
and r15,rax
→ call folio_size
mov r8,QWORD PTR [rbp-0x78]
mov r9d,0x1000
sub rax,r15
cmp rax,rbx
mov rdx,rax
cmova rdx,rbx
test rdx,rdx
↓ jne 4da
↓ jmp 548
4ac: test al,0x4
↓ jne 571
test eax,eax
↓ je 4c6
movzx edi,BYTE PTR [rsi]
mov BYTE PTR [rcx],dil
test al,0x2
↓ jne 584
4c6: add r14,rax
sub rbx,rax
↓ je 55d
add r15,rax
sub rdx,rax
↓ je 548
4da: mov rcx,r15
mov rax,r9
lea rsi,[r13+r14*1+0x0]
and ecx,0xfff
sub rax,rcx
mov rcx,r8
cmp rax,rdx
cmova rax,rdx
sub rcx,QWORD PTR [rip+0x1309261]
sar rcx,0x6
shl rcx,0xc
add rcx,QWORD PTR [rip+0x1309262]
add rcx,r15
cmp eax,0x8
↑ jb 4ac
mov rdi,QWORD PTR [rsi]
mov QWORD PTR [rcx],rdi
mov edi,eax
mov r10,QWORD PTR [rsi+rdi*1-0x8]
mov QWORD PTR [rcx+rdi*1-0x8],r10
lea rdi,[rcx+0x8]
and rdi,0xfffffffffffffff8
sub rcx,rdi
sub rsi,rcx
add ecx,eax
shr ecx,0x3
rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
↑ jmp 4c6
540: mov QWORD PTR [rbp-0x50],0x3
548: lea rdi,[rbp-0x68]
→ call xas_next_entry.constprop.0
mov r8,rax
test rax,rax
↑ jne 42f
55d: add QWORD PTR [r12+0x8],r14
sub QWORD PTR [r12+0x18],r14
↑ jmp c3
56c: → call __stack_chk_fail
571: mov edi,DWORD PTR [rsi]
mov DWORD PTR [rcx],edi
mov edi,eax
mov esi,DWORD PTR [rsi+rdi*1-0x4]
mov DWORD PTR [rcx+rdi*1-0x4],esi
↑ jmp 4c6
584: mov edi,eax
movzx esi,WORD PTR [rsi+rdi*1-0x2]
mov WORD PTR [rcx+rdi*1-0x2],si
↑ jmp 4c6
595: ud2
↑ jmp 55d
599: ud2
↑ jmp 55d
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
__fdget_pos() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbc4a9cc0 <load0>:
3.27 nop
push rbp
mov rax,QWORD PTR gs:0x32d40
0.80 mov rbp,rsp
0.56 push r12
push rbx
0.21 sub rsp,0x8
1.34 mov r12,QWORD PTR [rax+0xbc0]
4.51 mov eax,DWORD PTR [r12]
8.13 mov ebx,edi
cmp eax,0x1
↓ jne b5
mov rax,QWORD PTR [r12+0x20]
mov edx,DWORD PTR [rax]
cmp rbx,rdx
sbb rdx,rdx
mov rax,QWORD PTR [rax+0x8]
and rbx,rdx
lea rax,[rax+rbx*8]
mov rax,QWORD PTR [rax]
and rax,rdx
↓ je a6
test BYTE PTR [rax+0x15],0x40
↓ jne a6
55: mov rdi,rax
and rdi,0xfffffffffffffffc
↓ jne 6b
5e: add rsp,0x8
pop rbx
pop r12
4.37 pop rbp
← ret
int3
int3
int3
int3
6b: test BYTE PTR [rdi+0x15],0x80
↑ je 5e
mov rdx,QWORD PTR [rdi+0x18]
cmp rdx,0x1
↓ jle 117
7f: or rax,0x2
add rdi,0x20
mov QWORD PTR [rbp-0x18],rax
→ call mutex_lock
mov rax,QWORD PTR [rbp-0x18]
add rsp,0x8
pop rbx
pop r12
pop rbp
← ret
int3
int3
int3
int3
a1: → call fput
a6: add rsp,0x8
xor eax,eax
pop rbx
pop r12
pop rbp
← ret
int3
int3
int3
int3
1.81 b5: mov rcx,QWORD PTR [r12+0x20]
mov edx,DWORD PTR [rcx]
7.83 cmp rbx,rdx
1.69 sbb rdx,rdx
1.72 mov rax,QWORD PTR [rcx+0x8]
0.12 mov rsi,rdx
and rsi,rbx
2.00 lea r8,[rax+rsi*8]
2.07 mov rax,QWORD PTR [r8]
9.21 and rax,rdx
1.76 mov rdi,rax
↑ je a6
1.90 mov rax,QWORD PTR [rax+0x18]
6.77 lea rdx,[rdi+0x18]
test rax,rax
↑ je b5
2.23 e8: lea rsi,[rax+0x1]
1.27 lock cmpxchg QWORD PTR [rdx],rsi
33.19 ↓ jne 135
1.83 mov rax,QWORD PTR [r8]
cmp rdi,rax
↓ jne 12e
mov rax,QWORD PTR [r12+0x20]
cmp rcx,rax
↓ jne 12e
test BYTE PTR [rdi+0x15],0x40
↑ jne a1
mov rax,rdi
or rax,0x1
1.39 ↑ jmp 55
117: mov rdx,QWORD PTR [rdi+0xb0]
cmp QWORD PTR [rdx+0x38],0x0
↑ jne 7f
↑ jmp 5e
12e: → call fput
↑ jmp b5
135: test rax,rax
↑ jne e8
↑ jmp b5
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
get_random_bytes_user() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbca348c0 <load0>:
2.37 nop
push rbp
mov rbp,rsp
2.28 push r15
push r14
push r13
2.06 push r12
push rbx
1.93 sub rsp,0x88
mov rax,QWORD PTR gs:0x28
mov QWORD PTR [rbp-0x30],rax
2.23 xor eax,eax
cmp QWORD PTR [rdi+0x18],0x0
6.94 ↓ je 141
1.40 lea r14,[rbp-0xb0]
0.66 mov r13,rdi
lea r12,[rbp-0x70]
xor ebx,ebx
mov edx,0x20
0.52 lea rsi,[rbp-0xa0]
mov rdi,r14
→ call crng_make_state
2.06 mov r15,QWORD PTR gs:0x32d40
cmp QWORD PTR [r13+0x18],0x20
0.58 ↓ jbe 128
6b: mov edx,0x14
mov rsi,r12
mov rdi,r14
→ call chacha_block_generic
mov eax,DWORD PTR [rbp-0x80]
test eax,eax
↓ je 11f
86: mov rdx,r13
mov esi,0x40
mov rdi,r12
→ call _copy_to_iter
add rbx,rax
cmp QWORD PTR [r13+0x18],0x0
↓ je b8
cmp rax,0x40
↓ jne b8
test ebx,0xfff
↑ jne 6b
mov rax,QWORD PTR [r15]
test eax,0x20000
↓ je 105
b8: xor eax,eax
mov rdi,r12
mov ecx,0x8
rep stos QWORD PTR es:[rdi],rax
2.17 c5: xor eax,eax
mov rdi,r14
mov ecx,0x8
rep stos QWORD PTR es:[rdi],rax
46.96 mov rax,0xfffffffffffffff2
3.55 test rbx,rbx
0.11 cmovne rax,rbx
4.10 e0: mov rdx,QWORD PTR [rbp-0x30]
5.51 sub rdx,QWORD PTR gs:0x28
↓ jne 145
6.96 add rsp,0x88
pop rbx
2.34 pop r12
pop r13
1.84 pop r14
pop r15
1.32 pop rbp
← ret
int3
int3
int3
int3
105: mov rax,QWORD PTR [r15]
test al,0x4
↑ jne b8
xchg ax,ax
10e: → call __cond_resched
↑ jmp 6b
→ call __klp_sched_try_switch
↑ jmp 10e
11f: add DWORD PTR [rbp-0x7c],0x1
↑ jmp 86
2.01 128: mov rdx,r13
mov esi,0x20
lea rdi,[rbp-0xa0]
→ call _copy_to_iter
0.08 mov rbx,rax
↑ jmp c5
141: xor eax,eax
↑ jmp e0
145: → call __stack_chk_fail
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
valuetype System.Guid [System.Private.CoreLib] System.Guid::CreateVersion7(valuetype System.DateTimeOffset)[OptimizedTier1]() /tmp/jitted-59088-7258.so
Percent
Disassembly of section .text:
0000000000000080 <valuetype System.Guid [System.Private.CoreLib] System.Guid::CreateVersion7(valuetype System.DateTimeOffset)[OptimizedTier1]>:
4.87 push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp,0x88
2.12 vzeroupper
lea rbp,[rsp+0xb0]
mov QWORD PTR [rbp-0x38],rdi
mov QWORD PTR [rbp-0x30],rsi
lea rdi,[rbp-0xa0]
2.22 → call valuetype System.Guid [System.Private.CoreLib] System.Guid::CreateVersion7(valuetype System.DateTimeOffset)[OptimizedTier1]+0x7d95d9d0
mov rbx,rax
mov rdi,rsp
1.93 mov QWORD PTR [rbp-0x88],rdi
0.03 mov rdi,rbp
mov QWORD PTR [rbp-0x78],rdi
lea rdi,[rbp-0x52]
mov esi,0xa
movabs rax,0x72762b7de4e8
mov QWORD PTR [rbp-0x90],rax
lea rax,[rip+0x1f]
2.38 mov QWORD PTR [rbp-0x80],rax
lea rax,[rbp-0xa0]
mov QWORD PTR [rbx+0x8],rax
mov BYTE PTR [rbx+0x4],0x0
2.06 movabs rax,0x7276a9dd9160
→ call rax
2.94 mov BYTE PTR [rbx+0x4],0x1
2.42 movabs rcx,0x7276a9d05bc0
cmp DWORD PTR [rcx],0x0
4.61 ↓ je a3
movabs rdi,0x7276a9ce0568
→ call QWORD PTR [rdi]
2.32 a3: mov rdi,QWORD PTR [rbp-0x98]
mov QWORD PTR [rbx+0x8],rdi
2.42 test eax,eax
↓ jne 162
movsx rbx,WORD PTR [rbp-0x52]
mov rdi,QWORD PTR [rbp-0x50]
mov QWORD PTR [rbp-0x40],rdi
2.42 lea rdi,[rbp-0x38]
movabs rax,0x72762c10e238
→ call QWORD PTR [rax]
mov r15,rax
test r15,r15
↓ jl 13b
2.58 mov rdi,r15
sar rdi,0x10
movsx r15,r15w
0.03 and ebx,0xffff0fff
or ebx,0x7000
movsx rbx,bx
rex movzx esi,BYTE PTR [rbp-0x40]
and esi,0xffffff3f
2.87 or esi,0x80
mov BYTE PTR [rbp-0x40],sil
0.03 mov DWORD PTR [rbp-0x48],edi
2.68 mov WORD PTR [rbp-0x44],r15w
mov WORD PTR [rbp-0x42],bx
vmovups xmm0,XMMWORD PTR [rbp-0x48]
43.12 vmovups XMMWORD PTR [rbp-0x68],xmm0
5.88 mov rax,QWORD PTR [rbp-0x68]
7.51 mov rdx,QWORD PTR [rbp-0x60]
add rsp,0x88
pop rbx
pop r12
pop r13
pop r14
pop r15
2.55 pop rbp
← ret
13b: mov edi,0x1885
movabs rsi,0x72762a644000
→ call valuetype System.Guid [System.Private.CoreLib] System.Guid::CreateVersion7(valuetype System.DateTimeOffset)[OptimizedTier1]+0x7d954970
mov rsi,rax
mov rdi,r15
movabs rax,0x72762c1ac6f0
→ call QWORD PTR [rax]
int3
162: movabs rdi,0x72762bf05600
→ call valuetype System.Guid [System.Private.CoreLib] System.Guid::CreateVersion7(valuetype System.DateTimeOffset)[OptimizedTier1]+0x7d9540b0
mov rbx,rax
mov rdi,rbx
movabs rax,0x72762c1ac720
→ call QWORD PTR [rax]
mov rdi,rbx
→ call valuetype System.Guid [System.Private.CoreLib] System.Guid::CreateVersion7(valuetype System.DateTimeOffset)[OptimizedTier1]+0x7d95a850
int3
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
apparmor_file_permission() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbc6c3770 <load0>:
nop
3.29 mov rax,QWORD PTR [rip+0x270ec3c]
8.63 cmp QWORD PTR [rdi+0xa0],rax
↓ je 16a
4.97 push rbp
0.29 mov r8d,esi
mov rcx,rdi
mov rax,QWORD PTR gs:0x32d40
4.75 mov rbp,rsp
push r13
1.21 push r12
1.76 push rbx
1.17 sub rsp,0x10
mov rsi,QWORD PTR [rax+0xb68]
10.24 movsxd rax,DWORD PTR [rip+0x13fe7ad] # 0xffffffffbdac1f60
mov rdx,QWORD PTR [rsi+0x80]
14.88 mov r12,QWORD PTR [rdx+rax*1]
13.16 test BYTE PTR [r12+0x41],0x8
18.35 ↓ jne c0
2.82 test r12,r12
setne bl
5c: mov r13,QWORD PTR gs:0x32d40
mov rsi,QWORD PTR [r13+0xb68]
mov rdx,r12
xor r9d,r9d
mov rdi,0xffffffffbd9d3708
→ call aa_file_perm
mov rcx,QWORD PTR [r13+0xb68]
1.97 movsxd rdx,DWORD PTR [rip+0x13fe764] # 0xffffffffbdac1f60
mov rcx,QWORD PTR [rcx+0x80]
0.88 cmp QWORD PTR [rcx+rdx*1],r12
↓ je b1
test bl,bl
↓ je b1
mov edx,0xffffffff
lock xadd DWORD PTR [r12],edx
cmp edx,0x1
↓ je 12c
test edx,edx
↓ jle 117
11.63 b1: add rsp,0x10
pop rbx
pop r12
pop r13
pop rbp
← ret
int3
int3
int3
int3
c0: test r12,r12
↓ je 154
mov rdi,QWORD PTR [r12+0x30]
ce: mov r12,QWORD PTR [rdi+0x8]
test r12,r12
↓ je 14d
mov edx,DWORD PTR [r12]
db: test edx,edx
↑ je ce
lea esi,[rdx+0x1]
mov eax,edx
lock cmpxchg DWORD PTR [r12],esi
sete bl
↓ jne 149
or edx,esi
↓ js f8
↑ jmp 5c
f8: xor esi,esi
mov rdi,r12
mov QWORD PTR [rbp-0x28],rcx
mov DWORD PTR [rbp-0x1c],r8d
→ call refcount_warn_saturate
mov r8d,DWORD PTR [rbp-0x1c]
mov rcx,QWORD PTR [rbp-0x28]
↑ jmp 5c
117: mov esi,0x3
mov rdi,r12
mov DWORD PTR [rbp-0x1c],eax
→ call refcount_warn_saturate
mov eax,DWORD PTR [rbp-0x1c]
↑ jmp b1
12c: mov DWORD PTR [rbp-0x1c],eax
mov rdi,r12
→ call aa_label_kref
mov eax,DWORD PTR [rbp-0x1c]
add rsp,0x10
pop rbx
pop r12
pop r13
pop rbp
← ret
int3
int3
int3
int3
149: mov edx,eax
↑ jmp db
14d: xor ebx,ebx
↑ jmp 5c
154: xor r9d,r9d
xor edx,edx
mov rdi,0xffffffffbd9d3708
→ call aa_file_perm
↑ jmp b1
16a: mov eax,0xfffffff3
← ret
int3
int3
int3
int3
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
vfs_read() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbc47d200 <load0>:
2.96 nop
push rbp
mov rbp,rsp
push r15
mov r15,rsi
push r14
push r13
2.58 push r12
push rbx
sub rsp,0x68
mov rax,QWORD PTR gs:0x28
mov QWORD PTR [rbp-0x30],rax
mov eax,DWORD PTR [rdi+0x14]
mov esi,eax
2.23 and esi,0x1
mov DWORD PTR [rbp-0x8c],esi
↓ je 31c
test eax,0x20000
↓ je 328
mov rax,rdx
mov rbx,rdx
xor edx,edx
add rax,r15
2.73 setb dl
test rax,rax
↓ js 283
test rdx,rdx
↓ jne 283
mov r14,rcx
mov rsi,rdi
mov r13,rdi
mov rcx,rbx
mov rdx,r14
3.27 xor edi,edi
→ call rw_verify_area
movsxd r12,eax
0.31 test r12,r12
↓ jne c9
mov eax,0x7ffff000
mov rcx,QWORD PTR [r13+0xb0]
2.35 cmp rbx,rax
cmovbe rax,rbx
mov rdx,rax
0.31 mov rax,QWORD PTR [rcx+0x10]
0.12 test rax,rax
↓ je 10f
mov rcx,r14
mov rsi,r15
mov rdi,r13
→ call __x86_indirect_thunk_rax
mov r12,rax
2.08 b3: test r12,r12
↓ jg f2
b8: mov rax,QWORD PTR gs:0x32d40
0.27 add QWORD PTR [rax+0xd10],0x1
3.65 c9: mov rax,QWORD PTR [rbp-0x30]
0.15 sub rax,QWORD PTR gs:0x28
↓ jne 33e
lea rsp,[rbp-0x28]
0.04 mov rax,r12
0.69 pop rbx
0.27 pop r12
0.23 pop r13
0.46 pop r14
2.73 pop r15
0.23 pop rbp
0.15 ← ret
int3
int3
int3
int3
1.58 f2: test BYTE PTR [r13+0x17],0x4
0.04 ↓ je 231
fd: mov rax,QWORD PTR gs:0x32d40
2.27 add QWORD PTR [rax+0xd00],r12
4.65 ↑ jmp b8
10f: cmp QWORD PTR [rcx+0x20],0x0
0.08 ↓ je 28f
2.38 mov r9,QWORD PTR gs:0x32d40
mov rax,QWORD PTR [r9+0xce0]
0.04 mov edi,DWORD PTR [r13+0x0]
test rax,rax
↓ je 315
movzx eax,WORD PTR [rax+0xc]
test ax,0xe000
↓ jne 19c
mov eax,DWORD PTR [r9+0x70]
sub eax,0x64
movsxd rsi,eax
sar eax,0x1f
imul rsi,rsi,0x66666667
sar rsi,0x21
sub esi,eax
mov eax,DWORD PTR [r9+0x40c]
cmp eax,0x5
↓ je 334
lea r9d,[rax-0x1]
cmp r9d,0x1
setbe r9b
cmp eax,0x6
sete al
or r9d,eax
mov eax,0x2
movzx r9d,r9b
sub eax,r9d
18c: shl eax,0xd
or eax,esi
cmp esi,0x8
mov esi,0xffffe000
cmovae eax,esi
0.04 19c: mov QWORD PTR [rbp-0x40],0x0
mov QWORD PTR [rbp-0x58],0x0
3.04 mov QWORD PTR [rbp-0x50],0x0
mov QWORD PTR [rbp-0x48],0x0
mov QWORD PTR [rbp-0x38],0x0
mov QWORD PTR [rbp-0x60],r13
mov DWORD PTR [rbp-0x40],edi
0.27 mov WORD PTR [rbp-0x3c],ax
test r14,r14
↓ je 2cd
mov rax,QWORD PTR [r14]
3.58 mov QWORD PTR [rbp-0x78],r15
lea rdi,[rbp-0x60]
lea rsi,[rbp-0x88]
mov QWORD PTR [rbp-0x68],0x1
1.23 mov QWORD PTR [rbp-0x58],rax
0.12 mov rax,QWORD PTR [rcx+0x20]
2.92 mov QWORD PTR [rbp-0x88],0x0
mov QWORD PTR [rbp-0x80],0x0
1.96 mov QWORD PTR [rbp-0x70],rdx
0.27 → call __x86_indirect_thunk_rax
6.42 mov r12,rax
cmp rax,0xfffffffffffffdef
↓ je 313
mov rax,QWORD PTR [rbp-0x58]
10.08 mov QWORD PTR [r14],rax
5.65 ↑ jmp b3
2.96 231: mov rdi,QWORD PTR [r13+0xa0]
0.12 mov r9,QWORD PTR [rdi+0x30]
0.23 mov rax,QWORD PTR [r9+0x28]
1.50 mov rax,QWORD PTR [rax+0x438]
13.77 test rax,rax
↑ je fd
3.35 movzx eax,WORD PTR [r9]
add r13,0x98
and ax,0xf000
cmp ax,0x4000
↓ je 29b
265: cmp rdi,QWORD PTR [rdi+0x18]
↓ je 2ad
mov esi,DWORD PTR [rbp-0x8c]
mov ecx,0x1
mov rdx,r13
3.31 → call __fsnotify_parent
↑ jmp fd
283: mov r12,0xfffffffffffffff2
↑ jmp c9
28f: mov r12,0xffffffffffffffea
↑ jmp b8
29b: mov DWORD PTR [rbp-0x8c],0x40000001
test DWORD PTR [rdi],0x4000
↑ jne 265
2ad: push 0x0
mov edi,DWORD PTR [rbp-0x8c]
xor r8d,r8d
xor ecx,ecx
mov edx,0x1
mov rsi,r13
→ call fsnotify
pop rax
↑ jmp fd
2cd: mov QWORD PTR [rbp-0x78],r15
lea rsi,[rbp-0x88]
lea rdi,[rbp-0x60]
mov QWORD PTR [rbp-0x68],0x1
mov rax,QWORD PTR [rcx+0x20]
mov QWORD PTR [rbp-0x88],0x0
mov QWORD PTR [rbp-0x80],0x0
mov QWORD PTR [rbp-0x70],rdx
→ call __x86_indirect_thunk_rax
mov r12,rax
cmp rax,0xfffffffffffffdef
↑ jne b3
313: ud2
0.08 315: xor eax,eax
0.27 ↑ jmp 19c
31c: mov r12,0xfffffffffffffff7
↑ jmp c9
328: mov r12,0xffffffffffffffea
↑ jmp c9
334: mov eax,0x3
↑ jmp 18c
33e: → call __stack_chk_fail
data16 cs nop WORD PTR [rax+rax*1+0x0]
xchg ax,ax
Samples: 96K of event 'cpu-clock', 11999 Hz, Event count (approx.): 8058978000, [percent: local period]
urandom_read_iter() /proc/kcore
Percent
Disassembly of section load0:
ffffffffbca35740 <load0>:
38.03 nop
3.62 push rbp
29.40 mov rbp,rsp
push r12
6.04 mov r12,rsi
xchg ax,ax
10: xchg ax,ax
12: mov rdi,r12
3.25 → call get_random_bytes_user
6.58 mov r12,QWORD PTR [rbp-0x8]
10.20 leave
2.87 ← ret
int3
int3
int3
int3
cmp DWORD PTR [rip+0x1c03f49],0x1
↑ ja 10
→ call try_to_generate_entropy
↑ jmp 10
cmp DWORD PTR [rip+0x1c03f39],0x1
↑ ja 12
mov edx,DWORD PTR [rip+0x1c03f2d]
mov eax,DWORD PTR [rip+0x1ada0bb]
test edx,edx
↓ jne 68
test eax,eax
↓ jle 92
mov rsi,0xffffffffbd4dab20
mov rdi,0xffffffffbe50fd00
→ call ___ratelimit
test eax,eax
↑ je 12
68: mov rdx,QWORD PTR [r12+0x18]
mov rdi,0xffffffffbda20eb0
sub DWORD PTR [rip+0x1ada089],0x1
mov rsi,QWORD PTR gs:0x32d40
add rsi,0xb78
→ call _printk
↑ jmp 12
92: add DWORD PTR [rip+0x1ada537],0x1
↑ jmp 12
xchg ax,ax
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment