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