Re: 4.14.9 doesn't boot (regression)

From: Toralf FÃrster
Date: Sat Dec 30 2017 - 03:33:14 EST


On 12/30/2017 01:10 AM, Andy Lutomirski wrote:
> Toralf, can you send the complete output of:
>
> objdump -dr arch/x86/kernel/traps.o
>
> From the build tree of a nonworking kernel?

I attached it.

FWIW:

tfoerste@t44 ~/devel/linux $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/6.4.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-6.4.0/work/gcc-6.4.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/6.4.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo Hardened 6.4.0 p1.1' --enable-esp --enable-libstdcxx-time --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libmpx --enable-vtable-verify --enable-libvtv --disable-libquadmath --enable-lto --without-isl --disable-libsanitizer --enable-default-pie --enable-default-ssp
Thread model: posix
gcc version 6.4.0 (Gentoo Hardened 6.4.0 p1.1)

--
Toralf
PGP C4EACDDE 0076E94E

arch/x86/kernel/traps.o: file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <do_trap>:
0: 41 57 push %r15
2: 41 56 push %r14
4: 41 55 push %r13
6: 41 54 push %r12
8: 55 push %rbp
9: 53 push %rbx
a: 48 81 ec 28 10 00 00 sub $0x1028,%rsp
11: 48 83 0c 24 00 orq $0x0,(%rsp)
16: 48 81 c4 20 10 00 00 add $0x1020,%rsp
1d: 65 48 8b 2c 25 00 00 mov %gs:0x0,%rbp
24: 00 00
22: R_X86_64_32S current_task
26: f6 81 88 00 00 00 03 testb $0x3,0x88(%rcx)
2d: 4c 63 ef movslq %edi,%r13
30: 41 89 f6 mov %esi,%r14d
33: 48 89 14 24 mov %rdx,(%rsp)
37: 49 89 cc mov %rcx,%r12
3a: 4d 89 c7 mov %r8,%r15
3d: 4c 89 cb mov %r9,%rbx
40: 75 3b jne 7d <do_trap+0x7d>
42: 44 89 ee mov %r13d,%esi
45: 48 89 cf mov %rcx,%rdi
48: e8 00 00 00 00 callq 4d <do_trap+0x4d>
49: R_X86_64_PC32 fixup_exception-0x4
4d: 85 c0 test %eax,%eax
4f: 74 0f je 60 <do_trap+0x60>
51: 48 83 c4 08 add $0x8,%rsp
55: 5b pop %rbx
56: 5d pop %rbp
57: 41 5c pop %r12
59: 41 5d pop %r13
5b: 41 5e pop %r14
5d: 41 5f pop %r15
5f: c3 retq
60: 48 8b 3c 24 mov (%rsp),%rdi
64: 4c 89 bd c0 09 00 00 mov %r15,0x9c0(%rbp)
6b: 4c 89 fa mov %r15,%rdx
6e: 4c 89 e6 mov %r12,%rsi
71: 4c 89 ad b8 09 00 00 mov %r13,0x9b8(%rbp)
78: e8 00 00 00 00 callq 7d <do_trap+0x7d>
79: R_X86_64_PC32 die-0x4
7d: 8b 05 00 00 00 00 mov 0x0(%rip),%eax # 83 <do_trap+0x83>
7f: R_X86_64_PC32 show_unhandled_signals-0x4
83: 4c 89 bd c0 09 00 00 mov %r15,0x9c0(%rbp)
8a: 4c 89 ad b8 09 00 00 mov %r13,0x9b8(%rbp)
91: 85 c0 test %eax,%eax
93: 75 28 jne bd <do_trap+0xbd>
95: 48 85 db test %rbx,%rbx
98: b8 01 00 00 00 mov $0x1,%eax
9d: 48 89 ea mov %rbp,%rdx
a0: 48 0f 44 d8 cmove %rax,%rbx
a4: 48 83 c4 08 add $0x8,%rsp
a8: 44 89 f7 mov %r14d,%edi
ab: 48 89 de mov %rbx,%rsi
ae: 5b pop %rbx
af: 5d pop %rbp
b0: 41 5c pop %r12
b2: 41 5d pop %r13
b4: 41 5e pop %r14
b6: 41 5f pop %r15
b8: e9 00 00 00 00 jmpq bd <do_trap+0xbd>
b9: R_X86_64_PC32 force_sig_info-0x4
bd: 44 89 f6 mov %r14d,%esi
c0: 48 89 ef mov %rbp,%rdi
c3: e8 00 00 00 00 callq c8 <do_trap+0xc8>
c4: R_X86_64_PC32 unhandled_signal-0x4
c8: 85 c0 test %eax,%eax
ca: 74 c9 je 95 <do_trap+0x95>
cc: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
cf: R_X86_64_32S .rodata+0x28
d3: e8 00 00 00 00 callq d8 <do_trap+0xd8>
d4: R_X86_64_PC32 __printk_ratelimit-0x4
d8: 85 c0 test %eax,%eax
da: 74 b9 je 95 <do_trap+0x95>
dc: 8b 95 c8 04 00 00 mov 0x4c8(%rbp),%edx
e2: 41 57 push %r15
e4: 48 8d b5 70 06 00 00 lea 0x670(%rbp),%rsi
eb: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
ee: R_X86_64_32S .rodata.str1.8
f2: 4d 8b 8c 24 98 00 00 mov 0x98(%r12),%r9
f9: 00
fa: 4d 8b 84 24 80 00 00 mov 0x80(%r12),%r8
101: 00
102: 48 8b 4c 24 08 mov 0x8(%rsp),%rcx
107: e8 00 00 00 00 callq 10c <do_trap+0x10c>
108: R_X86_64_PC32 printk-0x4
10c: 49 8b b4 24 80 00 00 mov 0x80(%r12),%rsi
113: 00
114: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
117: R_X86_64_32S .rodata.str1.1
11b: e8 00 00 00 00 callq 120 <do_trap+0x120>
11c: R_X86_64_PC32 print_vma_addr-0x4
120: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
123: R_X86_64_32S .rodata.str1.1+0x7
127: e8 00 00 00 00 callq 12c <do_trap+0x12c>
128: R_X86_64_PC32 printk-0x4
12c: 5a pop %rdx
12d: e9 63 ff ff ff jmpq 95 <do_trap+0x95>
132: 0f 1f 40 00 nopl 0x0(%rax)
136: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
13d: 00 00 00

0000000000000140 <math_error>:
140: 41 56 push %r14
142: 41 55 push %r13
144: 41 54 push %r12
146: 55 push %rbp
147: 53 push %rbx
148: 48 81 ec a8 10 00 00 sub $0x10a8,%rsp
14f: 48 83 0c 24 00 orq $0x0,(%rsp)
154: 48 81 c4 20 10 00 00 add $0x1020,%rsp
15b: 49 c7 c4 00 00 00 00 mov $0x0,%r12
15e: R_X86_64_32S .rodata.str1.1+0xb
162: 41 b9 08 00 00 00 mov $0x8,%r9d
168: 65 4c 8b 2c 25 00 00 mov %gs:0x0,%r13
16f: 00 00
16d: R_X86_64_32S current_task
171: 65 48 8b 04 25 28 00 mov %gs:0x28,%rax
178: 00 00
17a: 48 89 84 24 80 00 00 mov %rax,0x80(%rsp)
181: 00
182: 31 c0 xor %eax,%eax
184: 48 63 ea movslq %edx,%rbp
187: 48 c7 c0 00 00 00 00 mov $0x0,%rax
18a: R_X86_64_32S .rodata.str1.1+0x19
18e: 48 63 de movslq %esi,%rbx
191: 83 fd 10 cmp $0x10,%ebp
194: 48 89 fa mov %rdi,%rdx
197: 49 89 fe mov %rdi,%r14
19a: 4c 0f 45 e0 cmovne %rax,%r12
19e: 41 89 e8 mov %ebp,%r8d
1a1: 48 89 d9 mov %rbx,%rcx
1a4: bf 08 00 00 00 mov $0x8,%edi
1a9: 4c 89 e6 mov %r12,%rsi
1ac: e8 00 00 00 00 callq 1b1 <math_error+0x71>
1ad: R_X86_64_PC32 notify_die-0x4
1b1: 3d 01 80 00 00 cmp $0x8001,%eax
1b6: 74 27 je 1df <math_error+0x9f>
1b8: 41 f6 86 91 00 00 00 testb $0x2,0x91(%r14)
1bf: 02
1c0: 74 01 je 1c3 <math_error+0x83>
1c2: fb sti
1c3: 41 f6 86 88 00 00 00 testb $0x3,0x88(%r14)
1ca: 03
1cb: 75 39 jne 206 <math_error+0xc6>
1cd: 89 ee mov %ebp,%esi
1cf: 4c 89 f7 mov %r14,%rdi
1d2: e8 00 00 00 00 callq 1d7 <math_error+0x97>
1d3: R_X86_64_PC32 fixup_exception-0x4
1d7: 85 c0 test %eax,%eax
1d9: 0f 84 89 00 00 00 je 268 <math_error+0x128>
1df: 48 8b 84 24 80 00 00 mov 0x80(%rsp),%rax
1e6: 00
1e7: 65 48 33 04 25 28 00 xor %gs:0x28,%rax
1ee: 00 00
1f0: 0f 85 93 00 00 00 jne 289 <math_error+0x149>
1f6: 48 81 c4 88 00 00 00 add $0x88,%rsp
1fd: 5b pop %rbx
1fe: 5d pop %rbp
1ff: 41 5c pop %r12
201: 41 5d pop %r13
203: 41 5e pop %r14
205: c3 retq
206: 4d 8d a5 00 0a 00 00 lea 0xa00(%r13),%r12
20d: 4c 89 e7 mov %r12,%rdi
210: e8 00 00 00 00 callq 215 <math_error+0xd5>
211: R_X86_64_PC32 fpu__save-0x4
215: 48 63 c5 movslq %ebp,%rax
218: 89 ee mov %ebp,%esi
21a: 4c 89 e7 mov %r12,%rdi
21d: 49 89 85 b8 09 00 00 mov %rax,0x9b8(%r13)
224: 49 89 9d c0 09 00 00 mov %rbx,0x9c0(%r13)
22b: 49 8b 86 80 00 00 00 mov 0x80(%r14),%rax
232: c7 04 24 08 00 00 00 movl $0x8,(%rsp)
239: c7 44 24 04 00 00 00 movl $0x0,0x4(%rsp)
240: 00
241: 48 89 44 24 10 mov %rax,0x10(%rsp)
246: e8 00 00 00 00 callq 24b <math_error+0x10b>
247: R_X86_64_PC32 fpu__exception_code-0x4
24b: 85 c0 test %eax,%eax
24d: 89 44 24 08 mov %eax,0x8(%rsp)
251: 74 8c je 1df <math_error+0x9f>
253: 4c 89 ea mov %r13,%rdx
256: 48 89 e6 mov %rsp,%rsi
259: bf 08 00 00 00 mov $0x8,%edi
25e: e8 00 00 00 00 callq 263 <math_error+0x123>
25f: R_X86_64_PC32 force_sig_info-0x4
263: e9 77 ff ff ff jmpq 1df <math_error+0x9f>
268: 49 89 9d c0 09 00 00 mov %rbx,0x9c0(%r13)
26f: 48 89 da mov %rbx,%rdx
272: 4c 89 f6 mov %r14,%rsi
275: 4c 89 e7 mov %r12,%rdi
278: 49 89 ad b8 09 00 00 mov %rbp,0x9b8(%r13)
27f: e8 00 00 00 00 callq 284 <math_error+0x144>
280: R_X86_64_PC32 die-0x4
284: e9 56 ff ff ff jmpq 1df <math_error+0x9f>
289: e8 00 00 00 00 callq 28e <math_error+0x14e>
28a: R_X86_64_PC32 __stack_chk_fail-0x4
28e: 66 90 xchg %ax,%ax

0000000000000290 <fixup_bug.part.8>:
290: 53 push %rbx
291: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
298: 48 83 0c 24 00 orq $0x0,(%rsp)
29d: 48 81 c4 20 10 00 00 add $0x1020,%rsp
2a4: 48 89 fb mov %rdi,%rbx
2a7: 48 8b bf 80 00 00 00 mov 0x80(%rdi),%rdi
2ae: 48 89 de mov %rbx,%rsi
2b1: e8 00 00 00 00 callq 2b6 <fixup_bug.part.8+0x26>
2b2: R_X86_64_PC32 report_bug-0x4
2b6: 83 f8 01 cmp $0x1,%eax
2b9: 75 0a jne 2c5 <fixup_bug.part.8+0x35>
2bb: 48 83 83 80 00 00 00 addq $0x2,0x80(%rbx)
2c2: 02
2c3: 5b pop %rbx
2c4: c3 retq
2c5: 31 c0 xor %eax,%eax
2c7: 5b pop %rbx
2c8: c3 retq
2c9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)

00000000000002d0 <do_error_trap.part.9>:
2d0: 41 56 push %r14
2d2: 41 55 push %r13
2d4: 41 54 push %r12
2d6: 55 push %rbp
2d7: 53 push %rbx
2d8: 48 81 ec a8 10 00 00 sub $0x10a8,%rsp
2df: 48 83 0c 24 00 orq $0x0,(%rsp)
2e4: 48 81 c4 20 10 00 00 add $0x1020,%rsp
2eb: 49 89 d5 mov %rdx,%r13
2ee: 45 89 c1 mov %r8d,%r9d
2f1: 48 89 fa mov %rdi,%rdx
2f4: 48 89 fd mov %rdi,%rbp
2f7: 49 89 f6 mov %rsi,%r14
2fa: 48 89 cb mov %rcx,%rbx
2fd: 65 48 8b 04 25 28 00 mov %gs:0x28,%rax
304: 00 00
306: 48 89 84 24 80 00 00 mov %rax,0x80(%rsp)
30d: 00
30e: 31 c0 xor %eax,%eax
310: 45 89 c4 mov %r8d,%r12d
313: bf 08 00 00 00 mov $0x8,%edi
318: 41 89 c8 mov %ecx,%r8d
31b: 48 89 f1 mov %rsi,%rcx
31e: 4c 89 ee mov %r13,%rsi
321: e8 00 00 00 00 callq 326 <do_error_trap.part.9+0x56>
322: R_X86_64_PC32 notify_die-0x4
326: 3d 01 80 00 00 cmp $0x8001,%eax
32b: 74 30 je 35d <do_error_trap.part.9+0x8d>
32d: f6 85 91 00 00 00 02 testb $0x2,0x91(%rbp)
334: 75 4a jne 380 <do_error_trap.part.9+0xb0>
336: 83 fb 06 cmp $0x6,%ebx
339: 74 4b je 386 <do_error_trap.part.9+0xb6>
33b: 83 fb 11 cmp $0x11,%ebx
33e: 74 54 je 394 <do_error_trap.part.9+0xc4>
340: 85 db test %ebx,%ebx
342: 41 b9 01 00 00 00 mov $0x1,%r9d
348: 74 6b je 3b5 <do_error_trap.part.9+0xe5>
34a: 4d 89 f0 mov %r14,%r8
34d: 48 89 e9 mov %rbp,%rcx
350: 4c 89 ea mov %r13,%rdx
353: 44 89 e6 mov %r12d,%esi
356: 89 df mov %ebx,%edi
358: e8 a3 fc ff ff callq 0 <do_trap>
35d: 48 8b 84 24 80 00 00 mov 0x80(%rsp),%rax
364: 00
365: 65 48 33 04 25 28 00 xor %gs:0x28,%rax
36c: 00 00
36e: 75 53 jne 3c3 <do_error_trap.part.9+0xf3>
370: 48 81 c4 88 00 00 00 add $0x88,%rsp
377: 5b pop %rbx
378: 5d pop %rbp
379: 41 5c pop %r12
37b: 41 5d pop %r13
37d: 41 5e pop %r14
37f: c3 retq
380: fb sti
381: 83 fb 06 cmp $0x6,%ebx
384: 75 b5 jne 33b <do_error_trap.part.9+0x6b>
386: 48 8b 85 80 00 00 00 mov 0x80(%rbp),%rax
38d: ba 02 00 00 00 mov $0x2,%edx
392: eb 07 jmp 39b <do_error_trap.part.9+0xcb>
394: 31 c0 xor %eax,%eax
396: ba 01 00 00 00 mov $0x1,%edx
39b: 44 89 24 24 mov %r12d,(%rsp)
39f: 49 89 e1 mov %rsp,%r9
3a2: c7 44 24 04 00 00 00 movl $0x0,0x4(%rsp)
3a9: 00
3aa: 89 54 24 08 mov %edx,0x8(%rsp)
3ae: 48 89 44 24 10 mov %rax,0x10(%rsp)
3b3: eb 95 jmp 34a <do_error_trap.part.9+0x7a>
3b5: 48 8b 85 80 00 00 00 mov 0x80(%rbp),%rax
3bc: ba 01 00 00 00 mov $0x1,%edx
3c1: eb d8 jmp 39b <do_error_trap.part.9+0xcb>
3c3: e8 00 00 00 00 callq 3c8 <do_error_trap.part.9+0xf8>
3c4: R_X86_64_PC32 __stack_chk_fail-0x4
3c8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
3cf: 00

00000000000003d0 <do_error_trap>:
3d0: 53 push %rbx
3d1: 48 81 ec 40 10 00 00 sub $0x1040,%rsp
3d8: 48 83 0c 24 00 orq $0x0,(%rsp)
3dd: 48 81 c4 20 10 00 00 add $0x1020,%rsp
3e4: f6 87 88 00 00 00 03 testb $0x3,0x88(%rdi)
3eb: 48 89 fb mov %rdi,%rbx
3ee: 75 05 jne 3f5 <do_error_trap+0x25>
3f0: 83 f9 06 cmp $0x6,%ecx
3f3: 74 0d je 402 <do_error_trap+0x32>
3f5: 48 83 c4 20 add $0x20,%rsp
3f9: 48 89 df mov %rbx,%rdi
3fc: 5b pop %rbx
3fd: e9 ce fe ff ff jmpq 2d0 <do_error_trap.part.9>
402: 44 89 44 24 1c mov %r8d,0x1c(%rsp)
407: 48 89 4c 24 10 mov %rcx,0x10(%rsp)
40c: 48 89 54 24 08 mov %rdx,0x8(%rsp)
411: 48 89 34 24 mov %rsi,(%rsp)
415: e8 76 fe ff ff callq 290 <fixup_bug.part.8>
41a: 48 8b 34 24 mov (%rsp),%rsi
41e: 85 c0 test %eax,%eax
420: 48 8b 54 24 08 mov 0x8(%rsp),%rdx
425: 48 8b 4c 24 10 mov 0x10(%rsp),%rcx
42a: 44 8b 44 24 1c mov 0x1c(%rsp),%r8d
42f: 74 c4 je 3f5 <do_error_trap+0x25>
431: 48 83 c4 20 add $0x20,%rsp
435: 5b pop %rbx
436: c3 retq
437: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
43e: 00 00

0000000000000440 <ist_enter>:
440: f6 87 88 00 00 00 03 testb $0x3,0x88(%rdi)
447: 74 01 je 44a <ist_enter+0xa>
449: c3 retq
44a: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
451: 48 83 0c 24 00 orq $0x0,(%rsp)
456: 48 81 c4 20 10 00 00 add $0x1020,%rsp
45d: e8 00 00 00 00 callq 462 <ist_enter+0x22>
45e: R_X86_64_PC32 rcu_nmi_enter-0x4
462: c3 retq
463: 0f 1f 00 nopl (%rax)
466: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
46d: 00 00 00

0000000000000470 <ist_exit>:
470: f6 87 88 00 00 00 03 testb $0x3,0x88(%rdi)
477: 74 01 je 47a <ist_exit+0xa>
479: c3 retq
47a: e9 00 00 00 00 jmpq 47f <ist_exit+0xf>
47b: R_X86_64_PC32 rcu_nmi_exit-0x4
47f: 90 nop

0000000000000480 <ist_begin_non_atomic>:
480: f6 87 88 00 00 00 03 testb $0x3,0x88(%rdi)
487: 74 15 je 49e <ist_begin_non_atomic+0x1e>
489: 65 48 8b 04 25 00 00 mov %gs:0x0,%rax
490: 00 00
48e: R_X86_64_32S cpu_tss_rw+0xc
492: 48 29 e0 sub %rsp,%rax
495: 48 3d ff 3f 00 00 cmp $0x3fff,%rax
49b: 77 03 ja 4a0 <ist_begin_non_atomic+0x20>
49d: c3 retq
49e: 0f 0b ud2
4a0: 0f 0b ud2
4a2: 0f 1f 40 00 nopl 0x0(%rax)
4a6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
4ad: 00 00 00

00000000000004b0 <ist_end_non_atomic>:
4b0: c3 retq
4b1: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
4b6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
4bd: 00 00 00

00000000000004c0 <is_valid_bugaddr>:
4c0: 48 81 ec 30 10 00 00 sub $0x1030,%rsp
4c7: 48 83 0c 24 00 orq $0x0,(%rsp)
4cc: 48 81 c4 20 10 00 00 add $0x1020,%rsp
4d3: 65 48 8b 04 25 28 00 mov %gs:0x28,%rax
4da: 00 00
4dc: 48 89 44 24 08 mov %rax,0x8(%rsp)
4e1: 31 c0 xor %eax,%eax
4e3: 48 b8 ff ef ff ff ff movabs $0x7fffffffefff,%rax
4ea: 7f 00 00
4ed: 48 39 c7 cmp %rax,%rdi
4f0: 77 17 ja 509 <is_valid_bugaddr+0x49>
4f2: 31 c0 xor %eax,%eax
4f4: 48 8b 4c 24 08 mov 0x8(%rsp),%rcx
4f9: 65 48 33 0c 25 28 00 xor %gs:0x28,%rcx
500: 00 00
502: 75 38 jne 53c <is_valid_bugaddr+0x7c>
504: 48 83 c4 10 add $0x10,%rsp
508: c3 retq
509: 48 89 fe mov %rdi,%rsi
50c: ba 02 00 00 00 mov $0x2,%edx
511: 48 8d 7c 24 06 lea 0x6(%rsp),%rdi
516: e8 00 00 00 00 callq 51b <is_valid_bugaddr+0x5b>
517: R_X86_64_PC32 probe_kernel_read-0x4
51b: 48 85 c0 test %rax,%rax
51e: 75 d2 jne 4f2 <is_valid_bugaddr+0x32>
520: 0f b7 54 24 06 movzwl 0x6(%rsp),%edx
525: 66 81 fa 0f ff cmp $0xff0f,%dx
52a: 0f 94 c0 sete %al
52d: 66 81 fa 0f 0b cmp $0xb0f,%dx
532: 0f 94 c2 sete %dl
535: 09 d0 or %edx,%eax
537: 0f b6 c0 movzbl %al,%eax
53a: eb b8 jmp 4f4 <is_valid_bugaddr+0x34>
53c: e8 00 00 00 00 callq 541 <is_valid_bugaddr+0x81>
53d: R_X86_64_PC32 __stack_chk_fail-0x4
541: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
546: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
54d: 00 00 00

0000000000000550 <fixup_bug>:
550: 83 fe 06 cmp $0x6,%esi
553: 74 03 je 558 <fixup_bug+0x8>
555: 31 c0 xor %eax,%eax
557: c3 retq
558: e9 33 fd ff ff jmpq 290 <fixup_bug.part.8>
55d: 0f 1f 00 nopl (%rax)

0000000000000560 <do_divide_error>:
560: 41 b8 08 00 00 00 mov $0x8,%r8d
566: 31 c9 xor %ecx,%ecx
568: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
56b: R_X86_64_32S .rodata.str1.1+0x40
56f: e9 5c fe ff ff jmpq 3d0 <do_error_trap>
574: 66 90 xchg %ax,%ax
576: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
57d: 00 00 00

0000000000000580 <do_overflow>:
580: 41 b8 0b 00 00 00 mov $0xb,%r8d
586: b9 04 00 00 00 mov $0x4,%ecx
58b: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
58e: R_X86_64_32S .rodata.str1.1+0x4d
592: e9 39 fe ff ff jmpq 3d0 <do_error_trap>
597: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
59e: 00 00

00000000000005a0 <do_invalid_op>:
5a0: 41 b8 04 00 00 00 mov $0x4,%r8d
5a6: b9 06 00 00 00 mov $0x6,%ecx
5ab: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
5ae: R_X86_64_32S .rodata.str1.1+0x56
5b2: e9 19 fe ff ff jmpq 3d0 <do_error_trap>
5b7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
5be: 00 00

00000000000005c0 <do_coprocessor_segment_overrun>:
5c0: 41 b8 08 00 00 00 mov $0x8,%r8d
5c6: b9 09 00 00 00 mov $0x9,%ecx
5cb: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
5ce: R_X86_64_32S .rodata.str1.1+0x65
5d2: e9 f9 fd ff ff jmpq 3d0 <do_error_trap>
5d7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
5de: 00 00

00000000000005e0 <do_invalid_TSS>:
5e0: 41 b8 0b 00 00 00 mov $0xb,%r8d
5e6: b9 0a 00 00 00 mov $0xa,%ecx
5eb: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
5ee: R_X86_64_32S .rodata.str1.1+0x81
5f2: e9 d9 fd ff ff jmpq 3d0 <do_error_trap>
5f7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
5fe: 00 00

0000000000000600 <do_segment_not_present>:
600: 41 b8 07 00 00 00 mov $0x7,%r8d
606: b9 0b 00 00 00 mov $0xb,%ecx
60b: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
60e: R_X86_64_32S .rodata.str1.1+0x8d
612: e9 b9 fd ff ff jmpq 3d0 <do_error_trap>
617: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
61e: 00 00

0000000000000620 <do_stack_segment>:
620: 41 b8 07 00 00 00 mov $0x7,%r8d
626: b9 0c 00 00 00 mov $0xc,%ecx
62b: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
62e: R_X86_64_32S .rodata.str1.1+0xa1
632: e9 99 fd ff ff jmpq 3d0 <do_error_trap>
637: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
63e: 00 00

0000000000000640 <do_alignment_check>:
640: 41 b8 07 00 00 00 mov $0x7,%r8d
646: b9 11 00 00 00 mov $0x11,%ecx
64b: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
64e: R_X86_64_32S .rodata.str1.1+0xaf
652: e9 79 fd ff ff jmpq 3d0 <do_error_trap>
657: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
65e: 00 00

0000000000000660 <handle_stack_overflow>:
660: 55 push %rbp
661: 53 push %rbx
662: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
669: 48 83 0c 24 00 orq $0x0,(%rsp)
66e: 48 81 c4 20 10 00 00 add $0x1020,%rsp
675: 65 48 8b 04 25 00 00 mov %gs:0x0,%rax
67c: 00 00
67a: R_X86_64_32S current_task
67e: 48 89 f5 mov %rsi,%rbp
681: 48 89 d6 mov %rdx,%rsi
684: 48 8b 50 40 mov 0x40(%rax),%rdx
688: 48 89 fb mov %rdi,%rbx
68b: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
68e: R_X86_64_32S .rodata.str1.8+0x30
692: 48 8d 8a ff 3f 00 00 lea 0x3fff(%rdx),%rcx
699: e8 00 00 00 00 callq 69e <handle_stack_overflow+0x3e>
69a: R_X86_64_PC32 printk-0x4
69e: 48 89 df mov %rbx,%rdi
6a1: 31 d2 xor %edx,%edx
6a3: 48 89 ee mov %rbp,%rsi
6a6: e8 00 00 00 00 callq 6ab <handle_stack_overflow+0x4b>
6a7: R_X86_64_PC32 die-0x4
6ab: 48 89 df mov %rbx,%rdi
6ae: e8 00 00 00 00 callq 6b3 <handle_stack_overflow+0x53>
6af: R_X86_64_PC32 panic-0x4
6b3: 0f 1f 00 nopl (%rax)
6b6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
6bd: 00 00 00

00000000000006c0 <do_double_fault>:
6c0: 41 54 push %r12
6c2: 55 push %rbp
6c3: 53 push %rbx
6c4: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
6cb: 48 83 0c 24 00 orq $0x0,(%rsp)
6d0: 48 81 c4 20 10 00 00 add $0x1020,%rsp
6d7: 65 4c 8b 24 25 00 00 mov %gs:0x0,%r12
6de: 00 00
6dc: R_X86_64_32S current_task
6e0: f6 87 88 00 00 00 03 testb $0x3,0x88(%rdi)
6e7: 48 89 fb mov %rdi,%rbx
6ea: 48 89 f5 mov %rsi,%rbp
6ed: 75 05 jne 6f4 <do_double_fault+0x34>
6ef: e8 00 00 00 00 callq 6f4 <do_double_fault+0x34>
6f0: R_X86_64_PC32 rcu_nmi_enter-0x4
6f4: 41 b9 0b 00 00 00 mov $0xb,%r9d
6fa: 41 b8 08 00 00 00 mov $0x8,%r8d
700: 48 89 e9 mov %rbp,%rcx
703: 48 89 da mov %rbx,%rdx
706: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
709: R_X86_64_32S .rodata+0x18
70d: bf 08 00 00 00 mov $0x8,%edi
712: e8 00 00 00 00 callq 717 <do_double_fault+0x57>
713: R_X86_64_PC32 notify_die-0x4
717: 49 89 ac 24 c0 09 00 mov %rbp,0x9c0(%r12)
71e: 00
71f: 49 c7 84 24 b8 09 00 movq $0x8,0x9b8(%r12)
726: 00 08 00 00 00
72b: 0f 20 d2 mov %cr2,%rdx
72e: 48 89 d0 mov %rdx,%rax
731: 48 f7 d0 not %rax
734: 49 03 44 24 40 add 0x40(%r12),%rax
739: 48 3d ff 0f 00 00 cmp $0xfff,%rax
73f: 77 0f ja 750 <do_double_fault+0x90>
741: 48 89 de mov %rbx,%rsi
744: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
747: R_X86_64_32S .rodata.str1.8+0x70
74b: e8 00 00 00 00 callq 750 <do_double_fault+0x90>
74c: R_X86_64_PC32 handle_stack_overflow-0x4
750: 48 89 ee mov %rbp,%rsi
753: 48 89 df mov %rbx,%rdi
756: 49 c7 c4 00 00 00 00 mov $0x0,%r12
759: R_X86_64_32S .rodata+0x18
75d: e8 00 00 00 00 callq 762 <do_double_fault+0xa2>
75e: R_X86_64_PC32 df_debug-0x4
762: 48 89 ea mov %rbp,%rdx
765: 48 89 de mov %rbx,%rsi
768: 4c 89 e7 mov %r12,%rdi
76b: e8 00 00 00 00 callq 770 <do_double_fault+0xb0>
76c: R_X86_64_PC32 die-0x4
770: eb f0 jmp 762 <do_double_fault+0xa2>
772: 0f 1f 40 00 nopl 0x0(%rax)
776: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
77d: 00 00 00

0000000000000780 <do_bounds>:
780: 55 push %rbp
781: 53 push %rbx
782: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
789: 48 83 0c 24 00 orq $0x0,(%rsp)
78e: 48 81 c4 20 10 00 00 add $0x1020,%rsp
795: 41 b9 0b 00 00 00 mov $0xb,%r9d
79b: 41 b8 05 00 00 00 mov $0x5,%r8d
7a1: 48 89 f1 mov %rsi,%rcx
7a4: 48 89 fa mov %rdi,%rdx
7a7: 48 89 fb mov %rdi,%rbx
7aa: 48 89 f5 mov %rsi,%rbp
7ad: bf 08 00 00 00 mov $0x8,%edi
7b2: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
7b5: R_X86_64_32S .rodata.str1.1+0xbf
7b9: e8 00 00 00 00 callq 7be <do_bounds+0x3e>
7ba: R_X86_64_PC32 notify_die-0x4
7be: 3d 01 80 00 00 cmp $0x8001,%eax
7c3: 74 51 je 816 <do_bounds+0x96>
7c5: f6 83 91 00 00 00 02 testb $0x2,0x91(%rbx)
7cc: 75 2a jne 7f8 <do_bounds+0x78>
7ce: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
7d5: 74 2b je 802 <do_bounds+0x82>
7d7: 49 89 e8 mov %rbp,%r8
7da: 48 89 d9 mov %rbx,%rcx
7dd: 5b pop %rbx
7de: 45 31 c9 xor %r9d,%r9d
7e1: 5d pop %rbp
7e2: be 0b 00 00 00 mov $0xb,%esi
7e7: bf 05 00 00 00 mov $0x5,%edi
7ec: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
7ef: R_X86_64_32S .rodata.str1.1+0xbf
7f3: e9 08 f8 ff ff jmpq 0 <do_trap>
7f8: fb sti
7f9: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
800: 75 d5 jne 7d7 <do_bounds+0x57>
802: 48 89 ea mov %rbp,%rdx
805: 48 89 de mov %rbx,%rsi
808: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
80b: R_X86_64_32S .rodata.str1.1+0xbf
80f: e8 00 00 00 00 callq 814 <do_bounds+0x94>
810: R_X86_64_PC32 die-0x4
814: eb c1 jmp 7d7 <do_bounds+0x57>
816: 5b pop %rbx
817: 5d pop %rbp
818: c3 retq
819: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)

0000000000000820 <do_general_protection>:
820: 41 55 push %r13
822: 41 54 push %r12
824: 55 push %rbp
825: 53 push %rbx
826: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
82d: 48 83 0c 24 00 orq $0x0,(%rsp)
832: 48 81 c4 20 10 00 00 add $0x1020,%rsp
839: f6 87 91 00 00 00 02 testb $0x2,0x91(%rdi)
840: 48 89 fb mov %rdi,%rbx
843: 49 89 f5 mov %rsi,%r13
846: 74 01 je 849 <do_general_protection+0x29>
848: fb sti
849: e9 00 00 00 00 jmpq 84e <do_general_protection+0x2e>
84a: R_X86_64_PC32 .altinstr_aux-0x4
84e: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
855: 75 21 jne 878 <do_general_protection+0x58>
857: 65 4c 8b 24 25 00 00 mov %gs:0x0,%r12
85e: 00 00
85c: R_X86_64_32S current_task
860: be 0d 00 00 00 mov $0xd,%esi
865: 48 89 df mov %rbx,%rdi
868: e8 00 00 00 00 callq 86d <do_general_protection+0x4d>
869: R_X86_64_PC32 fixup_exception-0x4
86d: 85 c0 test %eax,%eax
86f: 74 5c je 8cd <do_general_protection+0xad>
871: 5b pop %rbx
872: 5d pop %rbp
873: 41 5c pop %r12
875: 41 5d pop %r13
877: c3 retq
878: 48 89 df mov %rbx,%rdi
87b: e8 00 00 00 00 callq 880 <do_general_protection+0x60>
87c: R_X86_64_PC32 fixup_umip_exception-0x4
880: 84 c0 test %al,%al
882: 75 ed jne 871 <do_general_protection+0x51>
884: 65 48 8b 2c 25 00 00 mov %gs:0x0,%rbp
88b: 00 00
889: R_X86_64_32S current_task
88d: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
894: 49 89 ec mov %rbp,%r12
897: 74 c7 je 860 <do_general_protection+0x40>
899: 8b 05 00 00 00 00 mov 0x0(%rip),%eax # 89f <do_general_protection+0x7f>
89b: R_X86_64_PC32 show_unhandled_signals-0x4
89f: 4c 89 ad c0 09 00 00 mov %r13,0x9c0(%rbp)
8a6: 48 c7 85 b8 09 00 00 movq $0xd,0x9b8(%rbp)
8ad: 0d 00 00 00
8b1: 85 c0 test %eax,%eax
8b3: 75 72 jne 927 <do_general_protection+0x107>
8b5: 5b pop %rbx
8b6: 48 89 ea mov %rbp,%rdx
8b9: be 01 00 00 00 mov $0x1,%esi
8be: bf 0b 00 00 00 mov $0xb,%edi
8c3: 5d pop %rbp
8c4: 41 5c pop %r12
8c6: 41 5d pop %r13
8c8: e9 00 00 00 00 jmpq 8cd <do_general_protection+0xad>
8c9: R_X86_64_PC32 force_sig_info-0x4
8cd: 4d 89 ac 24 c0 09 00 mov %r13,0x9c0(%r12)
8d4: 00
8d5: 41 b9 0b 00 00 00 mov $0xb,%r9d
8db: 4c 89 e9 mov %r13,%rcx
8de: 48 89 da mov %rbx,%rdx
8e1: 41 b8 0d 00 00 00 mov $0xd,%r8d
8e7: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
8ea: R_X86_64_32S .rodata.str1.1+0xc6
8ee: bf 09 00 00 00 mov $0x9,%edi
8f3: 49 c7 84 24 b8 09 00 movq $0xd,0x9b8(%r12)
8fa: 00 0d 00 00 00
8ff: e8 00 00 00 00 callq 904 <do_general_protection+0xe4>
900: R_X86_64_PC32 notify_die-0x4
904: 3d 01 80 00 00 cmp $0x8001,%eax
909: 0f 84 62 ff ff ff je 871 <do_general_protection+0x51>
90f: 4c 89 ea mov %r13,%rdx
912: 48 89 de mov %rbx,%rsi
915: 5b pop %rbx
916: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
919: R_X86_64_32S .rodata.str1.1+0xc6
91d: 5d pop %rbp
91e: 41 5c pop %r12
920: 41 5d pop %r13
922: e9 00 00 00 00 jmpq 927 <do_general_protection+0x107>
923: R_X86_64_PC32 die-0x4
927: be 0b 00 00 00 mov $0xb,%esi
92c: 48 89 ef mov %rbp,%rdi
92f: e8 00 00 00 00 callq 934 <do_general_protection+0x114>
930: R_X86_64_PC32 unhandled_signal-0x4
934: 85 c0 test %eax,%eax
936: 0f 84 79 ff ff ff je 8b5 <do_general_protection+0x95>
93c: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
93f: R_X86_64_32S .rodata
943: e8 00 00 00 00 callq 948 <do_general_protection+0x128>
944: R_X86_64_PC32 __printk_ratelimit-0x4
948: 85 c0 test %eax,%eax
94a: 0f 84 65 ff ff ff je 8b5 <do_general_protection+0x95>
950: 8b 95 c8 04 00 00 mov 0x4c8(%rbp),%edx
956: 48 8d b5 70 06 00 00 lea 0x670(%rbp),%rsi
95d: 4d 89 e9 mov %r13,%r9
960: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
963: R_X86_64_32S .rodata.str1.8+0x98
967: 48 8b 8b 80 00 00 00 mov 0x80(%rbx),%rcx
96e: 4c 8b 83 98 00 00 00 mov 0x98(%rbx),%r8
975: e8 00 00 00 00 callq 97a <do_general_protection+0x15a>
976: R_X86_64_PC32 printk-0x4
97a: 48 8b b3 80 00 00 00 mov 0x80(%rbx),%rsi
981: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
984: R_X86_64_32S .rodata.str1.1
988: e8 00 00 00 00 callq 98d <do_general_protection+0x16d>
989: R_X86_64_PC32 print_vma_addr-0x4
98d: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
990: R_X86_64_32S .rodata.str1.1+0x7
994: e8 00 00 00 00 callq 999 <do_general_protection+0x179>
995: R_X86_64_PC32 printk-0x4
999: e9 17 ff ff ff jmpq 8b5 <do_general_protection+0x95>
99e: 66 90 xchg %ax,%ax

00000000000009a0 <do_int3>:
9a0: 55 push %rbp
9a1: 53 push %rbx
9a2: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
9a9: 48 83 0c 24 00 orq $0x0,(%rsp)
9ae: 48 81 c4 20 10 00 00 add $0x1020,%rsp
9b5: 48 89 fb mov %rdi,%rbx
9b8: 48 89 f5 mov %rsi,%rbp
9bb: e8 00 00 00 00 callq 9c0 <do_int3+0x20>
9bc: R_X86_64_PC32 poke_int3_handler-0x4
9c0: 85 c0 test %eax,%eax
9c2: 75 7d jne a41 <do_int3+0xa1>
9c4: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
9cb: 74 7e je a4b <do_int3+0xab>
9cd: 41 b9 05 00 00 00 mov $0x5,%r9d
9d3: 41 b8 03 00 00 00 mov $0x3,%r8d
9d9: 48 89 e9 mov %rbp,%rcx
9dc: 48 89 da mov %rbx,%rdx
9df: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
9e2: R_X86_64_32S .rodata.str1.1+0xdf
9e6: bf 02 00 00 00 mov $0x2,%edi
9eb: e8 00 00 00 00 callq 9f0 <do_int3+0x50>
9ec: R_X86_64_PC32 notify_die-0x4
9f0: 3d 01 80 00 00 cmp $0x8001,%eax
9f5: 74 41 je a38 <do_int3+0x98>
9f7: 65 ff 05 00 00 00 00 incl %gs:0x0(%rip) # 9fe <do_int3+0x5e>
9fa: R_X86_64_PC32 debug_stack_usage-0x4
9fe: f6 83 91 00 00 00 02 testb $0x2,0x91(%rbx)
a05: 74 01 je a08 <do_int3+0x68>
a07: fb sti
a08: 45 31 c9 xor %r9d,%r9d
a0b: 49 89 e8 mov %rbp,%r8
a0e: 48 89 d9 mov %rbx,%rcx
a11: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
a14: R_X86_64_32S .rodata.str1.1+0xdf
a18: be 05 00 00 00 mov $0x5,%esi
a1d: bf 03 00 00 00 mov $0x3,%edi
a22: e8 d9 f5 ff ff callq 0 <do_trap>
a27: f6 83 91 00 00 00 02 testb $0x2,0x91(%rbx)
a2e: 74 01 je a31 <do_int3+0x91>
a30: fa cli
a31: 65 ff 0d 00 00 00 00 decl %gs:0x0(%rip) # a38 <do_int3+0x98>
a34: R_X86_64_PC32 debug_stack_usage-0x4
a38: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
a3f: 74 03 je a44 <do_int3+0xa4>
a41: 5b pop %rbx
a42: 5d pop %rbp
a43: c3 retq
a44: 5b pop %rbx
a45: 5d pop %rbp
a46: e9 00 00 00 00 jmpq a4b <do_int3+0xab>
a47: R_X86_64_PC32 rcu_nmi_exit-0x4
a4b: e8 00 00 00 00 callq a50 <do_int3+0xb0>
a4c: R_X86_64_PC32 rcu_nmi_enter-0x4
a50: e9 78 ff ff ff jmpq 9cd <do_int3+0x2d>
a55: 90 nop
a56: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
a5d: 00 00 00

0000000000000a60 <sync_regs>:
a60: 65 48 8b 0d 00 00 00 mov %gs:0x0(%rip),%rcx # a68 <sync_regs+0x8>
a67: 00
a64: R_X86_64_PC32 cpu_tss_rw+0x8
a68: 48 81 e9 a8 00 00 00 sub $0xa8,%rcx
a6f: 48 39 f9 cmp %rdi,%rcx
a72: 74 24 je a98 <sync_regs+0x38>
a74: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
a7b: 48 83 0c 24 00 orq $0x0,(%rsp)
a80: 48 81 c4 20 10 00 00 add $0x1020,%rsp
a87: ba a8 00 00 00 mov $0xa8,%edx
a8c: 48 89 fe mov %rdi,%rsi
a8f: 48 89 cf mov %rcx,%rdi
a92: e8 00 00 00 00 callq a97 <sync_regs+0x37>
a93: R_X86_64_PC32 memcpy-0x4
a97: c3 retq
a98: 48 89 c8 mov %rcx,%rax
a9b: c3 retq
a9c: 0f 1f 40 00 nopl 0x0(%rax)

0000000000000aa0 <fixup_bad_iret>:
aa0: 41 54 push %r12
aa2: 55 push %rbp
aa3: 53 push %rbx
aa4: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
aab: 48 83 0c 24 00 orq $0x0,(%rsp)
ab0: 48 81 c4 20 10 00 00 add $0x1020,%rsp
ab7: ba 28 00 00 00 mov $0x28,%edx
abc: 65 48 8b 2d 00 00 00 mov %gs:0x0(%rip),%rbp # ac4 <fixup_bad_iret+0x24>
ac3: 00
ac0: R_X86_64_PC32 cpu_tss_rw
ac4: 48 8b b7 a0 00 00 00 mov 0xa0(%rdi),%rsi
acb: 48 8d 9d 50 ff ff ff lea -0xb0(%rbp),%rbx
ad2: 49 89 fc mov %rdi,%r12
ad5: 48 8d bb 88 00 00 00 lea 0x88(%rbx),%rdi
adc: e8 00 00 00 00 callq ae1 <fixup_bad_iret+0x41>
add: R_X86_64_PC32 memmove-0x4
ae1: ba 88 00 00 00 mov $0x88,%edx
ae6: 4c 89 e6 mov %r12,%rsi
ae9: 48 89 df mov %rbx,%rdi
aec: e8 00 00 00 00 callq af1 <fixup_bad_iret+0x51>
aed: R_X86_64_PC32 memmove-0x4
af1: f6 45 e0 03 testb $0x3,-0x20(%rbp)
af5: 74 08 je aff <fixup_bad_iret+0x5f>
af7: 48 89 d8 mov %rbx,%rax
afa: 5b pop %rbx
afb: 5d pop %rbp
afc: 41 5c pop %r12
afe: c3 retq
aff: 0f 0b ud2
b01: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
b06: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
b0d: 00 00 00

0000000000000b10 <do_debug>:
b10: 41 55 push %r13
b12: 41 54 push %r12
b14: 55 push %rbp
b15: 53 push %rbx
b16: 48 81 ec 30 10 00 00 sub $0x1030,%rsp
b1d: 48 83 0c 24 00 orq $0x0,(%rsp)
b22: 48 81 c4 20 10 00 00 add $0x1020,%rsp
b29: 65 48 8b 2c 25 00 00 mov %gs:0x0,%rbp
b30: 00 00
b2e: R_X86_64_32S current_task
b32: 65 48 8b 04 25 28 00 mov %gs:0x28,%rax
b39: 00 00
b3b: 48 89 44 24 08 mov %rax,0x8(%rsp)
b40: 31 c0 xor %eax,%eax
b42: f6 87 88 00 00 00 03 testb $0x3,0x88(%rdi)
b49: 48 89 fb mov %rdi,%rbx
b4c: 49 89 f4 mov %rsi,%r12
b4f: 0f 84 38 01 00 00 je c8d <do_debug+0x17d>
b55: 0f 21 f0 mov %db6,%rax
b58: 31 d2 xor %edx,%edx
b5a: 0f 23 f2 mov %rdx,%db6
b5d: 25 0f f0 00 00 and $0xf00f,%eax
b62: 48 89 04 24 mov %rax,(%rsp)
b66: 48 8d 45 03 lea 0x3(%rbp),%rax
b6a: f0 80 20 fd lock andb $0xfd,(%rax)
b6e: 48 8b 83 88 00 00 00 mov 0x88(%rbx),%rax
b75: 48 8b 14 24 mov (%rsp),%rdx
b79: 83 e0 03 and $0x3,%eax
b7c: 0f 84 15 01 00 00 je c97 <do_debug+0x187>
b82: 48 85 d2 test %rdx,%rdx
b85: 48 89 95 a0 09 00 00 mov %rdx,0x9a0(%rbp)
b8c: 45 89 e0 mov %r12d,%r8d
b8f: 48 89 e1 mov %rsp,%rcx
b92: 41 0f 94 c5 sete %r13b
b96: 48 85 c0 test %rax,%rax
b99: 41 b9 05 00 00 00 mov $0x5,%r9d
b9f: 0f 95 c0 setne %al
ba2: 48 89 da mov %rbx,%rdx
ba5: bf 03 00 00 00 mov $0x3,%edi
baa: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
bad: R_X86_64_32S .rodata.str1.1+0xe4
bb1: 41 21 c5 and %eax,%r13d
bb4: e8 00 00 00 00 callq bb9 <do_debug+0xa9>
bb5: R_X86_64_PC32 notify_die-0x4
bb9: 3d 01 80 00 00 cmp $0x8001,%eax
bbe: 74 6b je c2b <do_debug+0x11b>
bc0: 65 ff 05 00 00 00 00 incl %gs:0x0(%rip) # bc7 <do_debug+0xb7>
bc3: R_X86_64_PC32 debug_stack_usage-0x4
bc7: f6 83 91 00 00 00 02 testb $0x2,0x91(%rbx)
bce: 74 01 je bd1 <do_debug+0xc1>
bd0: fb sti
bd1: f6 44 24 01 40 testb $0x40,0x1(%rsp)
bd6: 74 26 je bfe <do_debug+0xee>
bd8: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
bdf: 75 1d jne bfe <do_debug+0xee>
be1: 0f ff (bad)
be3: 48 81 a5 a0 09 00 00 andq $0xffffffffffffbfff,0x9a0(%rbp)
bea: ff bf ff ff
bee: f0 80 4d 00 10 lock orb $0x10,0x0(%rbp)
bf3: 48 81 a3 90 00 00 00 andq $0xfffffffffffffeff,0x90(%rbx)
bfa: ff fe ff ff
bfe: 48 8b 85 a0 09 00 00 mov 0x9a0(%rbp),%rax
c05: b9 02 00 00 00 mov $0x2,%ecx
c0a: f6 c4 40 test $0x40,%ah
c0d: 74 4c je c5b <do_debug+0x14b>
c0f: a9 0f 40 00 00 test $0x400f,%eax
c14: 75 5e jne c74 <do_debug+0x164>
c16: 45 84 ed test %r13b,%r13b
c19: 75 59 jne c74 <do_debug+0x164>
c1b: f6 83 91 00 00 00 02 testb $0x2,0x91(%rbx)
c22: 75 34 jne c58 <do_debug+0x148>
c24: 65 ff 0d 00 00 00 00 decl %gs:0x0(%rip) # c2b <do_debug+0x11b>
c27: R_X86_64_PC32 debug_stack_usage-0x4
c2b: f6 83 88 00 00 00 03 testb $0x3,0x88(%rbx)
c32: 75 05 jne c39 <do_debug+0x129>
c34: e8 00 00 00 00 callq c39 <do_debug+0x129>
c35: R_X86_64_PC32 rcu_nmi_exit-0x4
c39: 48 8b 44 24 08 mov 0x8(%rsp),%rax
c3e: 65 48 33 04 25 28 00 xor %gs:0x28,%rax
c45: 00 00
c47: 0f 85 8c 00 00 00 jne cd9 <do_debug+0x1c9>
c4d: 48 83 c4 10 add $0x10,%rsp
c51: 5b pop %rbx
c52: 5d pop %rbp
c53: 41 5c pop %r12
c55: 41 5d pop %r13
c57: c3 retq
c58: fa cli
c59: eb c9 jmp c24 <do_debug+0x114>
c5b: 48 89 c2 mov %rax,%rdx
c5e: 83 e2 0f and $0xf,%edx
c61: 48 83 fa 01 cmp $0x1,%rdx
c65: 19 c9 sbb %ecx,%ecx
c67: 83 e1 fd and $0xfffffffd,%ecx
c6a: 83 c1 04 add $0x4,%ecx
c6d: a9 0f 40 00 00 test $0x400f,%eax
c72: 74 a2 je c16 <do_debug+0x106>
c74: 44 89 e2 mov %r12d,%edx
c77: 48 89 de mov %rbx,%rsi
c7a: 48 89 ef mov %rbp,%rdi
c7d: e8 00 00 00 00 callq c82 <do_debug+0x172>
c7e: R_X86_64_PC32 send_sigtrap-0x4
c82: f6 83 91 00 00 00 02 testb $0x2,0x91(%rbx)
c89: 74 99 je c24 <do_debug+0x114>
c8b: eb cb jmp c58 <do_debug+0x148>
c8d: e8 00 00 00 00 callq c92 <do_debug+0x182>
c8e: R_X86_64_PC32 rcu_nmi_enter-0x4
c92: e9 be fe ff ff jmpq b55 <do_debug+0x45>
c97: f6 c6 40 test $0x40,%dh
c9a: 0f 84 e2 fe ff ff je b82 <do_debug+0x72>
ca0: 48 8b b3 80 00 00 00 mov 0x80(%rbx),%rsi
ca7: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
caa: R_X86_64_32S entry_SYSENTER_compat
cae: 48 c7 c1 00 00 00 00 mov $0x0,%rcx
cb1: R_X86_64_32S __end_entry_SYSENTER_compat
cb5: 48 29 f9 sub %rdi,%rcx
cb8: 48 29 fe sub %rdi,%rsi
cbb: 48 39 ce cmp %rcx,%rsi
cbe: 0f 83 be fe ff ff jae b82 <do_debug+0x72>
cc4: 80 e6 bf and $0xbf,%dh
cc7: 48 85 d2 test %rdx,%rdx
cca: 48 89 14 24 mov %rdx,(%rsp)
cce: 0f 84 57 ff ff ff je c2b <do_debug+0x11b>
cd4: e9 a9 fe ff ff jmpq b82 <do_debug+0x72>
cd9: e8 00 00 00 00 callq cde <do_debug+0x1ce>
cda: R_X86_64_PC32 __stack_chk_fail-0x4
cde: 66 90 xchg %ax,%ax

0000000000000ce0 <do_coprocessor_error>:
ce0: ba 10 00 00 00 mov $0x10,%edx
ce5: e9 56 f4 ff ff jmpq 140 <math_error>
cea: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)

0000000000000cf0 <do_simd_coprocessor_error>:
cf0: ba 13 00 00 00 mov $0x13,%edx
cf5: e9 46 f4 ff ff jmpq 140 <math_error>
cfa: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)

0000000000000d00 <do_spurious_interrupt_bug>:
d00: f6 87 91 00 00 00 02 testb $0x2,0x91(%rdi)
d07: 74 01 je d0a <do_spurious_interrupt_bug+0xa>
d09: fb sti
d0a: c3 retq
d0b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)

0000000000000d10 <do_device_not_available>:
d10: 53 push %rbx
d11: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
d18: 48 83 0c 24 00 orq $0x0,(%rsp)
d1d: 48 81 c4 20 10 00 00 add $0x1020,%rsp
d24: 0f 20 c3 mov %cr0,%rbx
d27: f6 c3 08 test $0x8,%bl
d2a: 75 13 jne d3f <do_device_not_available+0x2f>
d2c: 5b pop %rbx
d2d: 48 89 f2 mov %rsi,%rdx
d30: 48 89 fe mov %rdi,%rsi
d33: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
d36: R_X86_64_32S .rodata.str1.1+0xf9
d3a: e9 00 00 00 00 jmpq d3f <do_device_not_available+0x2f>
d3b: R_X86_64_PC32 die-0x4
d3f: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
d42: R_X86_64_32S .rodata.str1.1+0xea
d46: e8 00 00 00 00 callq d4b <do_device_not_available+0x3b>
d47: R_X86_64_PC32 __warn_printk-0x4
d4b: 0f ff (bad)
d4d: 48 83 e3 f7 and $0xfffffffffffffff7,%rbx
d51: 0f 22 c3 mov %rbx,%cr0
d54: 5b pop %rbx
d55: c3 retq

Disassembly of section .altinstr_replacement:

0000000000000000 <.altinstr_replacement>:
0: e9 00 00 00 00 jmpq 5 <do_trap+0x5>
1: R_X86_64_PC32 .text+0x880

Disassembly of section .altinstr_aux:

0000000000000000 <.altinstr_aux>:
0: f6 05 00 00 00 00 04 testb $0x4,0x0(%rip) # 7 <.altinstr_aux+0x7>
2: R_X86_64_PC32 boot_cpu_data+0x4f
7: 0f 85 00 00 00 00 jne d <.altinstr_aux+0xd>
9: R_X86_64_PC32 .text+0x84a
d: e9 00 00 00 00 jmpq 12 <do_trap+0x12>
e: R_X86_64_PC32 .text+0x880

Disassembly of section .init.text:

0000000000000000 <trap_init>:
0: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
7: 48 83 0c 24 00 orq $0x0,(%rsp)
c: 48 81 c4 20 10 00 00 add $0x1020,%rsp
13: e8 00 00 00 00 callq 18 <trap_init+0x18>
14: R_X86_64_PC32 setup_cpu_entry_areas-0x4
18: e8 00 00 00 00 callq 1d <trap_init+0x1d>
19: R_X86_64_PC32 idt_setup_traps-0x4
1d: 48 be 00 00 00 00 00 movabs $0x0,%rsi
24: 00 00 00
1f: R_X86_64_64 idt_table+0x80000000
27: 48 03 35 00 00 00 00 add 0x0(%rip),%rsi # 2e <trap_init+0x2e>
2a: R_X86_64_PC32 phys_base-0x4
2e: 48 ba 61 01 00 00 00 movabs $0x8000000000000161,%rdx
35: 00 00 80
38: 48 bf 00 00 00 00 80 movabs $0xfffffe8000000000,%rdi
3f: fe ff ff
42: e8 00 00 00 00 callq 47 <trap_init+0x47>
43: R_X86_64_PC32 cea_set_pte-0x4
47: 48 b8 00 00 00 00 80 movabs $0xfffffe8000000000,%rax
4e: fe ff ff
51: 48 89 05 00 00 00 00 mov %rax,0x0(%rip) # 58 <trap_init+0x58>
54: R_X86_64_PC32 idt_descr-0x2
58: e8 00 00 00 00 callq 5d <trap_init+0x5d>
59: R_X86_64_PC32 cpu_init-0x4
5d: e8 00 00 00 00 callq 62 <trap_init+0x62>
5e: R_X86_64_PC32 idt_setup_ist_traps-0x4
62: ff 15 00 00 00 00 callq *0x0(%rip) # 68 <trap_init+0x68>
64: R_X86_64_PC32 x86_init+0x64
68: e9 00 00 00 00 jmpq 6d <.LC5+0x45>
69: R_X86_64_PC32 idt_setup_debugidt_traps-0x4