From: Sasha Levin <levinsasha928@gmail.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Dave Jones <davej@redhat.com>,
kexec@lists.infradead.org,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: BUG: unable to handle kernel paging request at ffffc7ff81000398 (sys_kexec_load)
Date: Sun, 22 Jan 2012 02:18:45 -0500 [thread overview]
Message-ID: <1327216725.32115.7.camel@lappy> (raw)
In-Reply-To: <m1lip0s5nt.fsf@fess.ebiederm.org>
[-- Attachment #1: Type: text/plain, Size: 1061 bytes --]
On Sat, 2012-01-21 at 20:49 -0800, Eric W. Biederman wrote:
> Sasha Levin <levinsasha928@gmail.com> writes:
>
> > Hi All,
> >
> > I got the following BUG() while running trinity within KVM tool.
> >
> > It looks like the result of a kexec_load(), but I couldn't find any
> > mention of it in the logs - which is strange since logs are supposed
> > to be flushed before actual syscall runs.
>
> Interesting.
>
> The fact that this happens in native_set_pte would suggest that we are
> trying to write to a page table that does not exist. So this might
> be a layer below kexec_load that has the problem.
>
> Do you have the kernel you were testing? A disassembly of the
> native_set_pte, machine_kexec_prepare and sys_kexec_load
> would be interesting, for attempting to trace this back to what went
> wrong.
Yup, It's a pretty simple build of linux-next from today.
From what I gather, native_set_pte is a simple short function, it also
gets inlined so the disassembly is pretty trivial. I've attached
disassembly of other two functions.
--
Sasha.
[-- Attachment #2: disasm.txt --]
[-- Type: text/plain, Size: 43074 bytes --]
0000000000000c00 <sys_kexec_load>:
c00: 55 push %rbp
c01: 48 89 e5 mov %rsp,%rbp
c04: 48 81 ec 90 00 00 00 sub $0x90,%rsp
c0b: 48 89 5d d8 mov %rbx,-0x28(%rbp)
c0f: 4c 89 6d e8 mov %r13,-0x18(%rbp)
c13: 4c 89 75 f0 mov %r14,-0x10(%rbp)
c17: 4c 89 7d f8 mov %r15,-0x8(%rbp)
c1b: 4c 89 65 e0 mov %r12,-0x20(%rbp)
c1f: 49 89 d7 mov %rdx,%r15
c22: 49 89 fe mov %rdi,%r14
c25: 48 89 f3 mov %rsi,%rbx
c28: 49 89 cd mov %rcx,%r13
c2b: bf 16 00 00 00 mov $0x16,%edi
c30: e8 00 00 00 00 callq c35 <sys_kexec_load+0x35>
c35: 89 c2 mov %eax,%edx
c37: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
c3e: 84 d2 test %dl,%dl
c40: 75 1e jne c60 <sys_kexec_load+0x60>
c42: 48 8b 5d d8 mov -0x28(%rbp),%rbx
c46: 4c 8b 65 e0 mov -0x20(%rbp),%r12
c4a: 4c 8b 6d e8 mov -0x18(%rbp),%r13
c4e: 4c 8b 75 f0 mov -0x10(%rbp),%r14
c52: 4c 8b 7d f8 mov -0x8(%rbp),%r15
c56: c9 leaveq
c57: c3 retq
c58: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
c5f: 00
c60: b0 ea mov $0xea,%al
c62: 41 f7 c5 fc ff 00 00 test $0xfffc,%r13d
c69: 75 d7 jne c42 <sys_kexec_load+0x42>
c6b: 4c 89 ea mov %r13,%rdx
c6e: 81 e2 00 00 ff ff and $0xffff0000,%edx
c74: 74 09 je c7f <sys_kexec_load+0x7f>
c76: 48 81 fa 00 00 3e 00 cmp $0x3e0000,%rdx
c7d: 75 c3 jne c42 <sys_kexec_load+0x42>
c7f: 48 c7 c0 ea ff ff ff mov $0xffffffffffffffea,%rax
c86: 48 83 fb 10 cmp $0x10,%rbx
c8a: 77 b6 ja c42 <sys_kexec_load+0x42>
c8c: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
c93: e8 00 00 00 00 callq c98 <sys_kexec_load+0x98>
c98: 89 c2 mov %eax,%edx
c9a: 48 c7 c0 f0 ff ff ff mov $0xfffffffffffffff0,%rax
ca1: 85 d2 test %edx,%edx
ca3: 74 9d je c42 <sys_kexec_load+0x42>
ca5: 48 c7 45 a0 00 00 00 movq $0x0,-0x60(%rbp)
cac: 00
cad: 44 89 e8 mov %r13d,%eax
cb0: 83 e0 01 and $0x1,%eax
cb3: 89 45 94 mov %eax,-0x6c(%rbp)
cb6: 48 c7 c0 00 00 00 00 mov $0x0,%rax
cbd: 48 0f 44 45 a0 cmove -0x60(%rbp),%rax
cc2: 45 31 e4 xor %r12d,%r12d
cc5: 48 89 45 a0 mov %rax,-0x60(%rbp)
cc9: 48 85 db test %rbx,%rbx
ccc: 0f 84 04 03 00 00 je fd6 <sys_kexec_load+0x3d6>
cd2: 41 f6 c5 01 test $0x1,%r13b
cd6: 0f 84 fd 03 00 00 je 10d9 <sys_kexec_load+0x4d9>
cdc: 31 c0 xor %eax,%eax
cde: 83 7d 94 00 cmpl $0x0,-0x6c(%rbp)
ce2: 0f 85 75 01 00 00 jne e5d <sys_kexec_load+0x25d>
ce8: 49 89 c4 mov %rax,%r12
ceb: 41 80 e5 02 and $0x2,%r13b
cef: 74 09 je cfa <sys_kexec_load+0xfa>
cf1: 41 80 8c 24 78 02 00 orb $0x2,0x278(%r12)
cf8: 00 02
cfa: 4c 89 e7 mov %r12,%rdi
cfd: e8 00 00 00 00 callq d02 <sys_kexec_load+0x102>
d02: 85 c0 test %eax,%eax
d04: 0f 85 95 01 00 00 jne e9f <sys_kexec_load+0x29f>
d0a: 4d 89 e5 mov %r12,%r13
d0d: 48 c7 45 98 00 00 00 movq $0x0,-0x68(%rbp)
d14: 00
d15: 48 89 5d 80 mov %rbx,-0x80(%rbp)
d19: 41 f6 84 24 78 02 00 testb $0x1,0x278(%r12)
d20: 00 01
d22: 0f 85 bc 02 00 00 jne fe4 <sys_kexec_load+0x3e4>
d28: 49 8b 45 40 mov 0x40(%r13),%rax
d2c: 4c 89 e7 mov %r12,%rdi
d2f: 48 89 45 b8 mov %rax,-0x48(%rbp)
d33: 49 8b 45 48 mov 0x48(%r13),%rax
d37: 48 89 45 b0 mov %rax,-0x50(%rbp)
d3b: 4d 8b 75 50 mov 0x50(%r13),%r14
d3f: 4d 8b 7d 58 mov 0x58(%r13),%r15
d43: 4c 89 f3 mov %r14,%rbx
d46: 48 81 e3 00 f0 ff ff and $0xfffffffffffff000,%rbx
d4d: 48 89 de mov %rbx,%rsi
d50: 48 83 ce 01 or $0x1,%rsi
d54: e8 c7 f8 ff ff callq 620 <kimage_add_entry>
d59: 83 f8 00 cmp $0x0,%eax
d5c: 0f 85 15 04 00 00 jne 1177 <sys_kexec_load+0x577>
d62: 49 89 5c 24 18 mov %rbx,0x18(%r12)
d67: 4c 89 6d a8 mov %r13,-0x58(%rbp)
d6b: 4d 85 ff test %r15,%r15
d6e: 0f 84 1a 02 00 00 je f8e <sys_kexec_load+0x38e>
d74: 4c 89 f2 mov %r14,%rdx
d77: be d2 00 02 00 mov $0x200d2,%esi
d7c: 4c 89 e7 mov %r12,%rdi
d7f: e8 dc f5 ff ff callq 360 <kimage_alloc_page>
d84: 48 85 c0 test %rax,%rax
d87: 0f 84 39 03 00 00 je 10c6 <sys_kexec_load+0x4c6>
d8d: 48 bb 00 00 00 00 00 movabs $0x160000000000,%rbx
d94: 16 00 00
d97: 4c 89 e7 mov %r12,%rdi
d9a: 48 8d 1c 18 lea (%rax,%rbx,1),%rbx
d9e: 48 c1 fb 06 sar $0x6,%rbx
da2: 48 c1 e3 0c shl $0xc,%rbx
da6: 48 89 de mov %rbx,%rsi
da9: 48 83 ce 08 or $0x8,%rsi
dad: e8 6e f8 ff ff callq 620 <kimage_add_entry>
db2: 83 f8 00 cmp $0x0,%eax
db5: 0f 85 cd 01 00 00 jne f88 <sys_kexec_load+0x388>
dbb: 49 81 44 24 18 00 10 addq $0x1000,0x18(%r12)
dc2: 00 00
dc4: 31 d2 xor %edx,%edx
dc6: be 32 00 00 00 mov $0x32,%esi
dcb: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
dd2: e8 00 00 00 00 callq dd7 <sys_kexec_load+0x1d7>
dd7: 48 b8 00 00 00 00 00 movabs $0xffff880000000000,%rax
dde: 88 ff ff
de1: 48 8d 04 03 lea (%rbx,%rax,1),%rax
de5: bb 00 10 00 00 mov $0x1000,%ebx
dea: 48 89 c7 mov %rax,%rdi
ded: 48 89 85 78 ff ff ff mov %rax,-0x88(%rbp)
df4: e8 00 00 00 00 callq df9 <sys_kexec_load+0x1f9>
df9: 4c 8b 6d b0 mov -0x50(%rbp),%r13
dfd: 4c 89 f7 mov %r14,%rdi
e00: 81 e7 ff 0f 00 00 and $0xfff,%edi
e06: 48 29 fb sub %rdi,%rbx
e09: 48 89 bd 70 ff ff ff mov %rdi,-0x90(%rbp)
e10: 4c 39 fb cmp %r15,%rbx
e13: 49 0f 47 df cmova %r15,%rbx
e17: 48 3b 5d b0 cmp -0x50(%rbp),%rbx
e1b: 4c 0f 46 eb cmovbe %rbx,%r13
e1f: e8 00 00 00 00 callq e24 <sys_kexec_load+0x224>
e24: 48 8b 85 78 ff ff ff mov -0x88(%rbp),%rax
e2b: 48 8b bd 70 ff ff ff mov -0x90(%rbp),%rdi
e32: 44 89 ea mov %r13d,%edx
e35: 48 8d 3c 38 lea (%rax,%rdi,1),%rdi
e39: 48 8b 75 b8 mov -0x48(%rbp),%rsi
e3d: e8 00 00 00 00 callq e42 <sys_kexec_load+0x242>
e42: 85 c0 test %eax,%eax
e44: 0f 85 12 01 00 00 jne f5c <sys_kexec_load+0x35c>
e4a: 4c 29 6d b0 sub %r13,-0x50(%rbp)
e4e: 49 01 de add %rbx,%r14
e51: 48 01 5d b8 add %rbx,-0x48(%rbp)
e55: 49 29 df sub %rbx,%r15
e58: e9 0e ff ff ff jmpq d6b <sys_kexec_load+0x16b>
e5d: 4c 89 e7 mov %r12,%rdi
e60: 48 87 3d 00 00 00 00 xchg %rdi,0x0(%rip) # e67 <sys_kexec_load+0x267>
e67: e8 f4 f3 ff ff callq 260 <kimage_free>
e6c: 48 c7 45 c8 00 00 00 movq $0x0,-0x38(%rbp)
e73: 00
e74: b8 9d ff ff ff mov $0xffffff9d,%eax
e79: 4c 3b 35 00 00 00 00 cmp 0x0(%rip),%r14 # e80 <sys_kexec_load+0x280>
e80: 73 44 jae ec6 <sys_kexec_load+0x2c6>
e82: 89 85 78 ff ff ff mov %eax,-0x88(%rbp)
e88: 48 8b 7d c8 mov -0x38(%rbp),%rdi
e8c: 45 31 e4 xor %r12d,%r12d
e8f: e8 00 00 00 00 callq e94 <sys_kexec_load+0x294>
e94: e8 00 00 00 00 callq e99 <sys_kexec_load+0x299>
e99: 8b 85 78 ff ff ff mov -0x88(%rbp),%eax
e9f: 89 85 78 ff ff ff mov %eax,-0x88(%rbp)
ea5: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
eac: e8 00 00 00 00 callq eb1 <sys_kexec_load+0x2b1>
eb1: 4c 89 e7 mov %r12,%rdi
eb4: e8 a7 f3 ff ff callq 260 <kimage_free>
eb9: 8b 85 78 ff ff ff mov -0x88(%rbp),%eax
ebf: 48 98 cltq
ec1: e9 7c fd ff ff jmpq c42 <sys_kexec_load+0x42>
ec6: 4c 3b 35 00 00 00 00 cmp 0x0(%rip),%r14 # ecd <sys_kexec_load+0x2cd>
ecd: 77 b3 ja e82 <sys_kexec_load+0x282>
ecf: 48 8d 7d c8 lea -0x38(%rbp),%rdi
ed3: 4c 89 f9 mov %r15,%rcx
ed6: 48 89 da mov %rbx,%rdx
ed9: 4c 89 f6 mov %r14,%rsi
edc: e8 1f f8 ff ff callq 700 <do_kimage_alloc>
ee1: 85 c0 test %eax,%eax
ee3: 75 9d jne e82 <sys_kexec_load+0x282>
ee5: 4c 8b 65 c8 mov -0x38(%rbp),%r12
ee9: 48 8b 0d 00 00 00 00 mov 0x0(%rip),%rcx # ef0 <sys_kexec_load+0x2f0>
ef0: 4c 89 e0 mov %r12,%rax
ef3: 41 80 8c 24 78 02 00 orb $0x1,0x278(%r12)
efa: 00 01
efc: 49 89 8c 24 70 02 00 mov %rcx,0x270(%r12)
f03: 00
f04: 48 8b 3d 00 00 00 00 mov 0x0(%rip),%rdi # f0b <sys_kexec_load+0x30b>
f0b: 31 d2 xor %edx,%edx
f0d: 48 8b 70 50 mov 0x50(%rax),%rsi
f11: 4c 8b 40 58 mov 0x58(%rax),%r8
f15: 48 39 f1 cmp %rsi,%rcx
f18: 77 4c ja f66 <sys_kexec_load+0x366>
f1a: 4a 8d 74 06 ff lea -0x1(%rsi,%r8,1),%rsi
f1f: 48 39 fe cmp %rdi,%rsi
f22: 77 42 ja f66 <sys_kexec_load+0x366>
f24: 48 ff c2 inc %rdx
f27: 48 83 c0 20 add $0x20,%rax
f2b: 48 39 d3 cmp %rdx,%rbx
f2e: 77 dd ja f0d <sys_kexec_load+0x30d>
f30: 4c 89 e7 mov %r12,%rdi
f33: be 01 00 00 00 mov $0x1,%esi
f38: e8 00 00 00 00 callq f3d <sys_kexec_load+0x33d>
f3d: 49 89 44 24 28 mov %rax,0x28(%r12)
f42: 4c 8b 65 c8 mov -0x38(%rbp),%r12
f46: 49 83 7c 24 28 00 cmpq $0x0,0x28(%r12)
f4c: 74 22 je f70 <sys_kexec_load+0x370>
f4e: e8 00 00 00 00 callq f53 <sys_kexec_load+0x353>
f53: e9 93 fd ff ff jmpq ceb <sys_kexec_load+0xeb>
f58: 4c 8b 65 a8 mov -0x58(%rbp),%r12
f5c: b8 f2 ff ff ff mov $0xfffffff2,%eax
f61: e9 39 ff ff ff jmpq e9f <sys_kexec_load+0x29f>
f66: b8 9d ff ff ff mov $0xffffff9d,%eax
f6b: e9 12 ff ff ff jmpq e82 <sys_kexec_load+0x282>
f70: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
f77: 31 c0 xor %eax,%eax
f79: e8 00 00 00 00 callq f7e <sys_kexec_load+0x37e>
f7e: b8 f4 ff ff ff mov $0xfffffff4,%eax
f83: e9 fa fe ff ff jmpq e82 <sys_kexec_load+0x282>
f88: 0f 8d 36 fe ff ff jge dc4 <sys_kexec_load+0x1c4>
f8e: 4c 8b 6d a8 mov -0x58(%rbp),%r13
f92: 85 c0 test %eax,%eax
f94: 0f 85 05 ff ff ff jne e9f <sys_kexec_load+0x29f>
f9a: 48 ff 45 98 incq -0x68(%rbp)
f9e: 49 83 c5 20 add $0x20,%r13
fa2: 48 8b 45 98 mov -0x68(%rbp),%rax
fa6: 48 39 45 80 cmp %rax,-0x80(%rbp)
faa: 0f 87 69 fd ff ff ja d19 <sys_kexec_load+0x119>
fb0: 49 8b 44 24 08 mov 0x8(%r12),%rax
fb5: 48 83 38 00 cmpq $0x0,(%rax)
fb9: 74 09 je fc4 <sys_kexec_load+0x3c4>
fbb: 48 83 c0 08 add $0x8,%rax
fbf: 49 89 44 24 08 mov %rax,0x8(%r12)
fc4: 48 c7 00 04 00 00 00 movq $0x4,(%rax)
fcb: 83 7d 94 00 cmpl $0x0,-0x6c(%rbp)
fcf: 74 05 je fd6 <sys_kexec_load+0x3d6>
fd1: e8 00 00 00 00 callq fd6 <sys_kexec_load+0x3d6>
fd6: 48 8b 45 a0 mov -0x60(%rbp),%rax
fda: 4c 87 20 xchg %r12,(%rax)
fdd: 31 c0 xor %eax,%eax
fdf: e9 bb fe ff ff jmpq e9f <sys_kexec_load+0x29f>
fe4: 49 8b 45 40 mov 0x40(%r13),%rax
fe8: 48 89 45 b0 mov %rax,-0x50(%rbp)
fec: 4d 8b 75 48 mov 0x48(%r13),%r14
ff0: 49 8b 5d 58 mov 0x58(%r13),%rbx
ff4: 49 8b 45 50 mov 0x50(%r13),%rax
ff8: 4c 89 65 a8 mov %r12,-0x58(%rbp)
ffc: 48 89 45 b8 mov %rax,-0x48(%rbp)
1000: 48 85 db test %rbx,%rbx
1003: 0f 84 c7 00 00 00 je 10d0 <sys_kexec_load+0x4d0>
1009: 4c 8b 65 b8 mov -0x48(%rbp),%r12
100d: 48 b8 00 00 00 00 00 movabs $0xffffea0000000000,%rax
1014: ea ff ff
1017: 49 c1 ec 0c shr $0xc,%r12
101b: 49 c1 e4 06 shl $0x6,%r12
101f: 49 8d 04 04 lea (%r12,%rax,1),%rax
1023: 48 85 c0 test %rax,%rax
1026: 0f 84 96 00 00 00 je 10c2 <sys_kexec_load+0x4c2>
102c: 31 d2 xor %edx,%edx
102e: be 32 00 00 00 mov $0x32,%esi
1033: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
103a: 41 bf 00 10 00 00 mov $0x1000,%r15d
1040: e8 00 00 00 00 callq 1045 <sys_kexec_load+0x445>
1045: 4c 89 e2 mov %r12,%rdx
1048: 48 b8 00 00 00 00 00 movabs $0xffff880000000000,%rax
104f: 88 ff ff
1052: 48 c1 e2 06 shl $0x6,%rdx
1056: 48 01 c2 add %rax,%rdx
1059: 48 8b 45 b8 mov -0x48(%rbp),%rax
105d: 25 ff 0f 00 00 and $0xfff,%eax
1062: 48 01 c2 add %rax,%rdx
1065: 49 29 c7 sub %rax,%r15
1068: 48 89 55 88 mov %rdx,-0x78(%rbp)
106c: 49 39 df cmp %rbx,%r15
106f: 4c 0f 47 fb cmova %rbx,%r15
1073: 4d 89 fc mov %r15,%r12
1076: 4d 39 f7 cmp %r14,%r15
1079: 76 17 jbe 1092 <sys_kexec_load+0x492>
107b: 48 8b 7d 88 mov -0x78(%rbp),%rdi
107f: 4c 89 fa mov %r15,%rdx
1082: 4c 01 f7 add %r14,%rdi
1085: 4c 29 f2 sub %r14,%rdx
1088: 31 f6 xor %esi,%esi
108a: 4d 89 f4 mov %r14,%r12
108d: e8 00 00 00 00 callq 1092 <sys_kexec_load+0x492>
1092: e8 00 00 00 00 callq 1097 <sys_kexec_load+0x497>
1097: 44 89 e2 mov %r12d,%edx
109a: 48 8b 75 b0 mov -0x50(%rbp),%rsi
109e: 48 8b 7d 88 mov -0x78(%rbp),%rdi
10a2: e8 00 00 00 00 callq 10a7 <sys_kexec_load+0x4a7>
10a7: 85 c0 test %eax,%eax
10a9: 0f 85 a9 fe ff ff jne f58 <sys_kexec_load+0x358>
10af: 4d 29 e6 sub %r12,%r14
10b2: 4c 01 7d b8 add %r15,-0x48(%rbp)
10b6: 4c 01 7d b0 add %r15,-0x50(%rbp)
10ba: 4c 29 fb sub %r15,%rbx
10bd: e9 3e ff ff ff jmpq 1000 <sys_kexec_load+0x400>
10c2: 4c 8b 65 a8 mov -0x58(%rbp),%r12
10c6: b8 f4 ff ff ff mov $0xfffffff4,%eax
10cb: e9 cf fd ff ff jmpq e9f <sys_kexec_load+0x29f>
10d0: 4c 8b 65 a8 mov -0x58(%rbp),%r12
10d4: e9 c1 fe ff ff jmpq f9a <sys_kexec_load+0x39a>
10d9: 48 c7 45 c8 00 00 00 movq $0x0,-0x38(%rbp)
10e0: 00
10e1: 48 8d 7d c8 lea -0x38(%rbp),%rdi
10e5: 4c 89 f9 mov %r15,%rcx
10e8: 48 89 da mov %rbx,%rdx
10eb: 4c 89 f6 mov %r14,%rsi
10ee: e8 0d f6 ff ff callq 700 <do_kimage_alloc>
10f3: 85 c0 test %eax,%eax
10f5: 75 51 jne 1148 <sys_kexec_load+0x548>
10f7: 4c 8b 65 c8 mov -0x38(%rbp),%r12
10fb: be 01 00 00 00 mov $0x1,%esi
1100: 4c 89 e7 mov %r12,%rdi
1103: e8 00 00 00 00 callq 1108 <sys_kexec_load+0x508>
1108: 49 89 44 24 28 mov %rax,0x28(%r12)
110d: 4c 8b 75 c8 mov -0x38(%rbp),%r14
1111: 49 83 7e 28 00 cmpq $0x0,0x28(%r14)
1116: 74 4a je 1162 <sys_kexec_load+0x562>
1118: 31 f6 xor %esi,%esi
111a: 4c 89 f7 mov %r14,%rdi
111d: e8 00 00 00 00 callq 1122 <sys_kexec_load+0x522>
1122: 49 89 46 30 mov %rax,0x30(%r14)
1126: 48 8b 45 c8 mov -0x38(%rbp),%rax
112a: 48 83 78 30 00 cmpq $0x0,0x30(%rax)
112f: 0f 85 b3 fb ff ff jne ce8 <sys_kexec_load+0xe8>
1135: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
113c: 31 c0 xor %eax,%eax
113e: e8 00 00 00 00 callq 1143 <sys_kexec_load+0x543>
1143: b8 f4 ff ff ff mov $0xfffffff4,%eax
1148: 89 85 78 ff ff ff mov %eax,-0x88(%rbp)
114e: 48 8b 7d c8 mov -0x38(%rbp),%rdi
1152: e8 00 00 00 00 callq 1157 <sys_kexec_load+0x557>
1157: 8b 85 78 ff ff ff mov -0x88(%rbp),%eax
115d: e9 3d fd ff ff jmpq e9f <sys_kexec_load+0x29f>
1162: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
1169: 31 c0 xor %eax,%eax
116b: e8 00 00 00 00 callq 1170 <sys_kexec_load+0x570>
1170: b8 f4 ff ff ff mov $0xfffffff4,%eax
1175: eb d1 jmp 1148 <sys_kexec_load+0x548>
1177: 0f 8d ea fb ff ff jge d67 <sys_kexec_load+0x167>
117d: 0f 1f 00 nopl (%rax)
1180: e9 0d fe ff ff jmpq f92 <sys_kexec_load+0x392>
1185: 66 66 2e 0f 1f 84 00 data32 nopw %cs:0x0(%rax,%rax,1)
118c: 00 00 00 00
0000000000000040 <machine_kexec_prepare>:
40: 55 push %rbp
41: 48 b9 00 00 00 00 00 movabs $0x160000000000,%rcx
48: 16 00 00
4b: 48 89 e5 mov %rsp,%rbp
4e: 48 89 c8 mov %rcx,%rax
51: 41 57 push %r15
53: 48 ba 00 00 00 00 00 movabs $0xffff880000000000,%rdx
5a: 88 ff ff
5d: 41 56 push %r14
5f: 41 55 push %r13
61: 41 54 push %r12
63: 53 push %rbx
64: 48 83 ec 58 sub $0x58,%rsp
68: 48 89 7d c0 mov %rdi,-0x40(%rbp)
6c: 48 03 47 28 add 0x28(%rdi),%rax
70: 48 c1 f8 06 sar $0x6,%rax
74: 48 c1 e0 0c shl $0xc,%rax
78: 48 01 d0 add %rdx,%rax
7b: 48 89 45 98 mov %rax,-0x68(%rbp)
7f: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 86 <machine_kexec_prepare+0x46>
86: 48 c1 e0 0c shl $0xc,%rax
8a: 48 89 45 b8 mov %rax,-0x48(%rbp)
8e: 48 85 c0 test %rax,%rax
91: 0f 84 b1 07 00 00 je 848 <machine_kexec_prepare+0x808>
97: 48 8b 7d 98 mov -0x68(%rbp),%rdi
9b: 48 c7 45 a8 00 00 00 movq $0x0,-0x58(%rbp)
a2: 00
a3: 48 89 7d a0 mov %rdi,-0x60(%rbp)
a7: 31 f6 xor %esi,%esi
a9: 48 8b 7d c0 mov -0x40(%rbp),%rdi
ad: e8 00 00 00 00 callq b2 <machine_kexec_prepare+0x72>
b2: 48 85 c0 test %rax,%rax
b5: 0f 84 c1 05 00 00 je 67c <machine_kexec_prepare+0x63c>
bb: 48 ba 00 00 00 00 00 movabs $0x160000000000,%rdx
c2: 16 00 00
c5: 48 bf 00 00 00 00 00 movabs $0xffff880000000000,%rdi
cc: 88 ff ff
cf: 48 01 d0 add %rdx,%rax
d2: 4c 8b 75 a8 mov -0x58(%rbp),%r14
d6: 48 c1 f8 06 sar $0x6,%rax
da: 49 81 e6 00 f0 ff ff and $0xfffffffffffff000,%r14
e1: 48 c1 e0 0c shl $0xc,%rax
e5: 48 01 c7 add %rax,%rdi
e8: 48 b8 00 00 00 00 80 movabs $0x8000000000,%rax
ef: 00 00 00
f2: 48 89 7d 90 mov %rdi,-0x70(%rbp)
f6: 4c 01 f0 add %r14,%rax
f9: 48 89 7d c8 mov %rdi,-0x38(%rbp)
fd: 48 89 45 b0 mov %rax,-0x50(%rbp)
101: 49 39 c6 cmp %rax,%r14
104: 0f 83 22 01 00 00 jae 22c <machine_kexec_prepare+0x1ec>
10a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
110: 4c 39 75 b8 cmp %r14,-0x48(%rbp)
114: 0f 86 12 01 00 00 jbe 22c <machine_kexec_prepare+0x1ec>
11a: 31 f6 xor %esi,%esi
11c: 48 8b 7d c0 mov -0x40(%rbp),%rdi
120: e8 00 00 00 00 callq 125 <machine_kexec_prepare+0xe5>
125: 48 85 c0 test %rax,%rax
128: 0f 84 4e 05 00 00 je 67c <machine_kexec_prepare+0x63c>
12e: 49 bf 00 00 00 00 00 movabs $0x160000000000,%r15
135: 16 00 00
138: 48 ba 00 00 00 00 00 movabs $0xffff880000000000,%rdx
13f: 88 ff ff
142: 4e 8d 3c 38 lea (%rax,%r15,1),%r15
146: 4c 89 f3 mov %r14,%rbx
149: 49 c1 ff 06 sar $0x6,%r15
14d: 48 81 e3 00 f0 ff ff and $0xfffffffffffff000,%rbx
154: 49 c1 e7 0c shl $0xc,%r15
158: 4c 8d ab 00 00 00 40 lea 0x40000000(%rbx),%r13
15f: 49 01 d7 add %rdx,%r15
162: 4c 39 eb cmp %r13,%rbx
165: 73 6b jae 1d2 <machine_kexec_prepare+0x192>
167: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 16f <machine_kexec_prepare+0x12f>
16e: 00
16f: 0f 84 1b 05 00 00 je 690 <machine_kexec_prepare+0x650>
175: 48 89 df mov %rbx,%rdi
178: 4d 89 fc mov %r15,%r12
17b: 48 81 cf e3 01 00 00 or $0x1e3,%rdi
182: eb 20 jmp 1a4 <machine_kexec_prepare+0x164>
184: 0f 1f 40 00 nopl 0x0(%rax)
188: 49 83 c4 08 add $0x8,%r12
18c: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 194 <machine_kexec_prepare+0x154>
193: 00
194: 0f 84 f6 04 00 00 je 690 <machine_kexec_prepare+0x650>
19a: 48 89 df mov %rbx,%rdi
19d: 48 81 cf e3 01 00 00 or $0x1e3,%rdi
1a4: ff 14 25 00 00 00 00 callq *0x0
1ab: 48 89 c6 mov %rax,%rsi
1ae: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 1b6 <machine_kexec_prepare+0x176>
1b5: 00
1b6: 0f 84 d6 04 00 00 je 692 <machine_kexec_prepare+0x652>
1bc: 4c 89 e7 mov %r12,%rdi
1bf: ff 14 25 00 00 00 00 callq *0x0
1c6: 48 81 c3 00 00 20 00 add $0x200000,%rbx
1cd: 49 39 dd cmp %rbx,%r13
1d0: 77 b6 ja 188 <machine_kexec_prepare+0x148>
1d2: 4c 89 ff mov %r15,%rdi
1d5: e8 00 00 00 00 callq 1da <machine_kexec_prepare+0x19a>
1da: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 1e2 <machine_kexec_prepare+0x1a2>
1e1: 00
1e2: 0f 84 5e 06 00 00 je 846 <machine_kexec_prepare+0x806>
1e8: 48 89 c7 mov %rax,%rdi
1eb: 48 83 cf 63 or $0x63,%rdi
1ef: ff 14 25 00 00 00 00 callq *0x0
1f6: 48 89 c6 mov %rax,%rsi
1f9: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 201 <machine_kexec_prepare+0x1c1>
200: 00
201: 0f 84 28 06 00 00 je 82f <machine_kexec_prepare+0x7ef>
207: 48 83 45 c8 08 addq $0x8,-0x38(%rbp)
20c: 48 8b 7d c8 mov -0x38(%rbp),%rdi
210: 48 83 ef 08 sub $0x8,%rdi
214: ff 14 25 00 00 00 00 callq *0x0
21b: 49 81 c6 00 00 00 40 add $0x40000000,%r14
222: 4c 39 75 b0 cmp %r14,-0x50(%rbp)
226: 0f 87 e4 fe ff ff ja 110 <machine_kexec_prepare+0xd0>
22c: 4c 39 75 b0 cmp %r14,-0x50(%rbp)
230: 76 65 jbe 297 <machine_kexec_prepare+0x257>
232: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 23a <machine_kexec_prepare+0x1fa>
239: 00
23a: 0f 84 06 06 00 00 je 846 <machine_kexec_prepare+0x806>
240: 48 8b 5d c8 mov -0x38(%rbp),%rbx
244: 48 8b 55 c8 mov -0x38(%rbp),%rdx
248: 48 83 c3 08 add $0x8,%rbx
24c: 4c 8b 65 b0 mov -0x50(%rbp),%r12
250: eb 15 jmp 267 <machine_kexec_prepare+0x227>
252: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 25a <machine_kexec_prepare+0x21a>
259: 00
25a: 0f 84 e6 05 00 00 je 846 <machine_kexec_prepare+0x806>
260: 48 89 da mov %rbx,%rdx
263: 48 83 c3 08 add $0x8,%rbx
267: 31 ff xor %edi,%edi
269: ff 14 25 00 00 00 00 callq *0x0
270: 48 89 c6 mov %rax,%rsi
273: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 27b <machine_kexec_prepare+0x23b>
27a: 00
27b: 0f 84 ae 05 00 00 je 82f <machine_kexec_prepare+0x7ef>
281: 48 89 d7 mov %rdx,%rdi
284: ff 14 25 00 00 00 00 callq *0x0
28b: 49 81 c6 00 00 00 40 add $0x40000000,%r14
292: 4d 39 f4 cmp %r14,%r12
295: 77 bb ja 252 <machine_kexec_prepare+0x212>
297: 48 8b 7d 90 mov -0x70(%rbp),%rdi
29b: e8 00 00 00 00 callq 2a0 <machine_kexec_prepare+0x260>
2a0: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 2a8 <machine_kexec_prepare+0x268>
2a7: 00
2a8: 0f 84 96 05 00 00 je 844 <machine_kexec_prepare+0x804>
2ae: 48 89 c6 mov %rax,%rsi
2b1: 48 83 ce 63 or $0x63,%rsi
2b5: 48 89 f7 mov %rsi,%rdi
2b8: ff 14 25 00 00 00 00 callq *0x0
2bf: 48 89 c6 mov %rax,%rsi
2c2: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 2ca <machine_kexec_prepare+0x28a>
2c9: 00
2ca: 0f 84 8d 05 00 00 je 85d <machine_kexec_prepare+0x81d>
2d0: 48 83 45 a0 08 addq $0x8,-0x60(%rbp)
2d5: 48 8b 7d a0 mov -0x60(%rbp),%rdi
2d9: 48 83 ef 08 sub $0x8,%rdi
2dd: ff 14 25 00 00 00 00 callq *0x0
2e4: 48 b8 00 00 00 00 80 movabs $0x8000000000,%rax
2eb: 00 00 00
2ee: 48 ba ff ff ff ff ff movabs $0xffffffffffff,%rdx
2f5: ff 00 00
2f8: 48 01 45 a8 add %rax,-0x58(%rbp)
2fc: 48 39 55 a8 cmp %rdx,-0x58(%rbp)
300: 77 0e ja 310 <machine_kexec_prepare+0x2d0>
302: 48 8b 7d a8 mov -0x58(%rbp),%rdi
306: 48 39 7d b8 cmp %rdi,-0x48(%rbp)
30a: 0f 87 97 fd ff ff ja a7 <machine_kexec_prepare+0x67>
310: 48 8b 5d a0 mov -0x60(%rbp),%rbx
314: 49 bd ff ff ff ff ff movabs $0xffffffffffff,%r13
31b: ff 00 00
31e: 45 31 e4 xor %r12d,%r12d
321: 49 be 00 00 00 00 80 movabs $0x8000000000,%r14
328: 00 00 00
32b: 4c 8b 7d a8 mov -0x58(%rbp),%r15
32f: eb 3a jmp 36b <machine_kexec_prepare+0x32b>
331: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 339 <machine_kexec_prepare+0x2f9>
338: 00
339: 0f 84 05 05 00 00 je 844 <machine_kexec_prepare+0x804>
33f: 4c 89 e7 mov %r12,%rdi
342: ff 14 25 00 00 00 00 callq *0x0
349: 48 89 c6 mov %rax,%rsi
34c: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 354 <machine_kexec_prepare+0x314>
353: 00
354: 0f 84 03 05 00 00 je 85d <machine_kexec_prepare+0x81d>
35a: 48 89 df mov %rbx,%rdi
35d: ff 14 25 00 00 00 00 callq *0x0
364: 4d 01 f7 add %r14,%r15
367: 48 83 c3 08 add $0x8,%rbx
36b: 4d 39 ef cmp %r13,%r15
36e: 76 c1 jbe 331 <machine_kexec_prepare+0x2f1>
370: 48 8b 45 c0 mov -0x40(%rbp),%rax
374: 48 8b 58 20 mov 0x20(%rax),%rbx
378: 48 81 e3 00 00 e0 ff and $0xffffffffffe00000,%rbx
37f: 49 89 dc mov %rbx,%r12
382: 49 c1 ec 24 shr $0x24,%r12
386: 41 81 e4 f8 0f 00 00 and $0xff8,%r12d
38d: 4c 03 65 98 add -0x68(%rbp),%r12
391: 41 f6 04 24 01 testb $0x1,(%r12)
396: 0f 84 16 04 00 00 je 7b2 <machine_kexec_prepare+0x772>
39c: 49 8b 04 24 mov (%r12),%rax
3a0: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 3a8 <machine_kexec_prepare+0x368>
3a7: 00
3a8: 0f 84 02 04 00 00 je 7b0 <machine_kexec_prepare+0x770>
3ae: 48 89 c7 mov %rax,%rdi
3b1: ff 14 25 00 00 00 00 callq *0x0
3b8: 49 bd 00 00 00 00 00 movabs $0xffff880000000000,%r13
3bf: 88 ff ff
3c2: 48 89 da mov %rbx,%rdx
3c5: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
3cc: 3f 00 00
3cf: 48 c1 ea 1b shr $0x1b,%rdx
3d3: 48 21 c8 and %rcx,%rax
3d6: 81 e2 f8 0f 00 00 and $0xff8,%edx
3dc: 4c 01 ea add %r13,%rdx
3df: 4c 8d 24 02 lea (%rdx,%rax,1),%r12
3e3: 41 f6 04 24 01 testb $0x1,(%r12)
3e8: 0f 84 46 03 00 00 je 734 <machine_kexec_prepare+0x6f4>
3ee: 49 8b 04 24 mov (%r12),%rax
3f2: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 3fa <machine_kexec_prepare+0x3ba>
3f9: 00
3fa: 0f 84 32 03 00 00 je 732 <machine_kexec_prepare+0x6f2>
400: 48 89 c7 mov %rax,%rdi
403: ff 14 25 00 00 00 00 callq *0x0
40a: 48 b9 00 00 00 00 00 movabs $0xffff880000000000,%rcx
411: 88 ff ff
414: 48 89 da mov %rbx,%rdx
417: 48 c1 ea 12 shr $0x12,%rdx
41b: 81 e2 f8 0f 00 00 and $0xff8,%edx
421: 48 01 ca add %rcx,%rdx
424: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
42b: 3f 00 00
42e: 48 21 c8 and %rcx,%rax
431: 48 01 c2 add %rax,%rdx
434: f6 02 01 testb $0x1,(%rdx)
437: 0f 84 57 02 00 00 je 694 <machine_kexec_prepare+0x654>
43d: 48 8b 55 c0 mov -0x40(%rbp),%rdx
441: 49 c7 c4 00 00 00 00 mov $0x0,%r12
448: 48 b8 00 00 00 00 00 movabs $0x160000000000,%rax
44f: 16 00 00
452: 4c 89 e3 mov %r12,%rbx
455: 48 03 42 28 add 0x28(%rdx),%rax
459: 48 c1 eb 24 shr $0x24,%rbx
45d: 48 c1 f8 06 sar $0x6,%rax
461: 48 ba 00 00 00 00 00 movabs $0xffff880000000000,%rdx
468: 88 ff ff
46b: 48 c1 e0 0c shl $0xc,%rax
46f: 81 e3 f8 0f 00 00 and $0xff8,%ebx
475: 48 8d bc 10 00 10 00 lea 0x1000(%rax,%rdx,1),%rdi
47c: 00
47d: e8 00 00 00 00 callq 482 <machine_kexec_prepare+0x442>
482: 48 03 5d 98 add -0x68(%rbp),%rbx
486: 49 89 c5 mov %rax,%r13
489: f6 03 01 testb $0x1,(%rbx)
48c: 75 60 jne 4ee <machine_kexec_prepare+0x4ae>
48e: bf d0 00 00 00 mov $0xd0,%edi
493: e8 00 00 00 00 callq 498 <machine_kexec_prepare+0x458>
498: 48 85 c0 test %rax,%rax
49b: 0f 84 90 03 00 00 je 831 <machine_kexec_prepare+0x7f1>
4a1: 48 8b 55 c0 mov -0x40(%rbp),%rdx
4a5: 48 89 c7 mov %rax,%rdi
4a8: 48 89 82 80 02 00 00 mov %rax,0x280(%rdx)
4af: e8 00 00 00 00 callq 4b4 <machine_kexec_prepare+0x474>
4b4: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 4bc <machine_kexec_prepare+0x47c>
4bb: 00
4bc: 0f 84 82 03 00 00 je 844 <machine_kexec_prepare+0x804>
4c2: 48 89 c6 mov %rax,%rsi
4c5: 48 83 ce 63 or $0x63,%rsi
4c9: 48 89 f7 mov %rsi,%rdi
4cc: ff 14 25 00 00 00 00 callq *0x0
4d3: 48 89 c6 mov %rax,%rsi
4d6: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 4de <machine_kexec_prepare+0x49e>
4dd: 00
4de: 0f 84 79 03 00 00 je 85d <machine_kexec_prepare+0x81d>
4e4: 48 89 df mov %rbx,%rdi
4e7: ff 14 25 00 00 00 00 callq *0x0
4ee: 48 8b 03 mov (%rbx),%rax
4f1: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 4f9 <machine_kexec_prepare+0x4b9>
4f8: 00
4f9: 0f 84 b1 02 00 00 je 7b0 <machine_kexec_prepare+0x770>
4ff: 48 89 c7 mov %rax,%rdi
502: ff 14 25 00 00 00 00 callq *0x0
509: 48 b9 00 00 00 00 00 movabs $0xffff880000000000,%rcx
510: 88 ff ff
513: 4c 89 e2 mov %r12,%rdx
516: 48 c1 ea 1b shr $0x1b,%rdx
51a: 81 e2 f8 0f 00 00 and $0xff8,%edx
520: 48 01 ca add %rcx,%rdx
523: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
52a: 3f 00 00
52d: 48 21 c8 and %rcx,%rax
530: 48 8d 1c 02 lea (%rdx,%rax,1),%rbx
534: f6 03 01 testb $0x1,(%rbx)
537: 75 60 jne 599 <machine_kexec_prepare+0x559>
539: bf d0 00 00 00 mov $0xd0,%edi
53e: e8 00 00 00 00 callq 543 <machine_kexec_prepare+0x503>
543: 48 85 c0 test %rax,%rax
546: 0f 84 e5 02 00 00 je 831 <machine_kexec_prepare+0x7f1>
54c: 48 8b 55 c0 mov -0x40(%rbp),%rdx
550: 48 89 c7 mov %rax,%rdi
553: 48 89 82 88 02 00 00 mov %rax,0x288(%rdx)
55a: e8 00 00 00 00 callq 55f <machine_kexec_prepare+0x51f>
55f: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 567 <machine_kexec_prepare+0x527>
566: 00
567: 0f 84 d9 02 00 00 je 846 <machine_kexec_prepare+0x806>
56d: 48 89 c6 mov %rax,%rsi
570: 48 83 ce 63 or $0x63,%rsi
574: 48 89 f7 mov %rsi,%rdi
577: ff 14 25 00 00 00 00 callq *0x0
57e: 48 89 c6 mov %rax,%rsi
581: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 589 <machine_kexec_prepare+0x549>
588: 00
589: 0f 84 a0 02 00 00 je 82f <machine_kexec_prepare+0x7ef>
58f: 48 89 df mov %rbx,%rdi
592: ff 14 25 00 00 00 00 callq *0x0
599: 48 8b 03 mov (%rbx),%rax
59c: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 5a4 <machine_kexec_prepare+0x564>
5a3: 00
5a4: 0f 84 88 01 00 00 je 732 <machine_kexec_prepare+0x6f2>
5aa: 48 89 c7 mov %rax,%rdi
5ad: ff 14 25 00 00 00 00 callq *0x0
5b4: 48 b9 00 00 00 00 00 movabs $0xffff880000000000,%rcx
5bb: 88 ff ff
5be: 4c 89 e2 mov %r12,%rdx
5c1: 48 c1 ea 12 shr $0x12,%rdx
5c5: 81 e2 f8 0f 00 00 and $0xff8,%edx
5cb: 48 01 ca add %rcx,%rdx
5ce: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
5d5: 3f 00 00
5d8: 48 21 c8 and %rcx,%rax
5db: 48 8d 1c 02 lea (%rdx,%rax,1),%rbx
5df: f6 03 01 testb $0x1,(%rbx)
5e2: 0f 84 e9 00 00 00 je 6d1 <machine_kexec_prepare+0x691>
5e8: 48 8b 13 mov (%rbx),%rdx
5eb: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 5f3 <machine_kexec_prepare+0x5b3>
5f2: 00
5f3: 0f 84 d6 00 00 00 je 6cf <machine_kexec_prepare+0x68f>
5f9: 48 89 d7 mov %rdx,%rdi
5fc: ff 14 25 00 00 00 00 callq *0x0
603: 48 89 c2 mov %rax,%rdx
606: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 60e <machine_kexec_prepare+0x5ce>
60d: 00
60e: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 615 <machine_kexec_prepare+0x5d5>
615: 0f 84 b2 00 00 00 je 6cd <machine_kexec_prepare+0x68d>
61b: 4c 89 ee mov %r13,%rsi
61e: 25 63 01 00 00 and $0x163,%eax
623: 48 81 e6 00 f0 ff ff and $0xfffffffffffff000,%rsi
62a: 48 09 c6 or %rax,%rsi
62d: 48 89 f7 mov %rsi,%rdi
630: ff 14 25 00 00 00 00 callq *0x0
637: 48 89 c6 mov %rax,%rsi
63a: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 642 <machine_kexec_prepare+0x602>
641: 00
642: 0f 84 83 00 00 00 je 6cb <machine_kexec_prepare+0x68b>
648: 49 c1 ec 09 shr $0x9,%r12
64c: 48 b8 00 f0 ff ff ff movabs $0x3ffffffff000,%rax
653: 3f 00 00
656: 41 81 e4 f8 0f 00 00 and $0xff8,%r12d
65d: 48 21 c2 and %rax,%rdx
660: 48 bf 00 00 00 00 00 movabs $0xffff880000000000,%rdi
667: 88 ff ff
66a: 49 8d 3c 3c lea (%r12,%rdi,1),%rdi
66e: 48 01 d7 add %rdx,%rdi
671: ff 14 25 00 00 00 00 callq *0x0
678: 31 c0 xor %eax,%eax
67a: eb 05 jmp 681 <machine_kexec_prepare+0x641>
67c: b8 f4 ff ff ff mov $0xfffffff4,%eax
681: 48 83 c4 58 add $0x58,%rsp
685: 5b pop %rbx
686: 41 5c pop %r12
688: 41 5d pop %r13
68a: 41 5e pop %r14
68c: 41 5f pop %r15
68e: c9 leaveq
68f: c3 retq
690: 0f 0b ud2
692: 0f 0b ud2
694: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 69c <machine_kexec_prepare+0x65c>
69b: 00
69c: 74 f2 je 690 <machine_kexec_prepare+0x650>
69e: 48 81 cb e3 01 00 00 or $0x1e3,%rbx
6a5: 48 89 df mov %rbx,%rdi
6a8: ff 14 25 00 00 00 00 callq *0x0
6af: 48 89 c6 mov %rax,%rsi
6b2: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 6ba <machine_kexec_prepare+0x67a>
6b9: 00
6ba: 74 d6 je 692 <machine_kexec_prepare+0x652>
6bc: 48 89 d7 mov %rdx,%rdi
6bf: ff 14 25 00 00 00 00 callq *0x0
6c6: e9 72 fd ff ff jmpq 43d <machine_kexec_prepare+0x3fd>
6cb: 0f 0b ud2
6cd: 0f 0b ud2
6cf: 0f 0b ud2
6d1: bf d0 00 00 00 mov $0xd0,%edi
6d6: e8 00 00 00 00 callq 6db <machine_kexec_prepare+0x69b>
6db: 48 85 c0 test %rax,%rax
6de: 0f 84 4d 01 00 00 je 831 <machine_kexec_prepare+0x7f1>
6e4: 48 8b 55 c0 mov -0x40(%rbp),%rdx
6e8: 48 89 c7 mov %rax,%rdi
6eb: 48 89 82 90 02 00 00 mov %rax,0x290(%rdx)
6f2: e8 00 00 00 00 callq 6f7 <machine_kexec_prepare+0x6b7>
6f7: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 6ff <machine_kexec_prepare+0x6bf>
6fe: 00
6ff: 74 8f je 690 <machine_kexec_prepare+0x650>
701: 48 89 c6 mov %rax,%rsi
704: 48 83 ce 63 or $0x63,%rsi
708: 48 89 f7 mov %rsi,%rdi
70b: ff 14 25 00 00 00 00 callq *0x0
712: 48 89 c6 mov %rax,%rsi
715: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 71d <machine_kexec_prepare+0x6dd>
71c: 00
71d: 0f 84 6f ff ff ff je 692 <machine_kexec_prepare+0x652>
723: 48 89 df mov %rbx,%rdi
726: ff 14 25 00 00 00 00 callq *0x0
72d: e9 b6 fe ff ff jmpq 5e8 <machine_kexec_prepare+0x5a8>
732: 0f 0b ud2
734: 31 f6 xor %esi,%esi
736: 48 8b 7d c0 mov -0x40(%rbp),%rdi
73a: e8 00 00 00 00 callq 73f <machine_kexec_prepare+0x6ff>
73f: 48 85 c0 test %rax,%rax
742: 0f 84 34 ff ff ff je 67c <machine_kexec_prepare+0x63c>
748: 48 ba 00 00 00 00 00 movabs $0x160000000000,%rdx
74f: 16 00 00
752: 48 01 d0 add %rdx,%rax
755: 48 c1 f8 06 sar $0x6,%rax
759: 48 c1 e0 0c shl $0xc,%rax
75d: 4e 8d 2c 28 lea (%rax,%r13,1),%r13
761: 4c 89 ef mov %r13,%rdi
764: e8 00 00 00 00 callq 769 <machine_kexec_prepare+0x729>
769: 4c 89 ef mov %r13,%rdi
76c: e8 00 00 00 00 callq 771 <machine_kexec_prepare+0x731>
771: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 779 <machine_kexec_prepare+0x739>
778: 00
779: 0f 84 c7 00 00 00 je 846 <machine_kexec_prepare+0x806>
77f: 48 89 c6 mov %rax,%rsi
782: 48 83 ce 63 or $0x63,%rsi
786: 48 89 f7 mov %rsi,%rdi
789: ff 14 25 00 00 00 00 callq *0x0
790: 48 89 c6 mov %rax,%rsi
793: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 79b <machine_kexec_prepare+0x75b>
79a: 00
79b: 0f 84 8e 00 00 00 je 82f <machine_kexec_prepare+0x7ef>
7a1: 4c 89 e7 mov %r12,%rdi
7a4: ff 14 25 00 00 00 00 callq *0x0
7ab: e9 3e fc ff ff jmpq 3ee <machine_kexec_prepare+0x3ae>
7b0: 0f 0b ud2
7b2: 31 f6 xor %esi,%esi
7b4: 48 89 c7 mov %rax,%rdi
7b7: e8 00 00 00 00 callq 7bc <machine_kexec_prepare+0x77c>
7bc: 48 85 c0 test %rax,%rax
7bf: 0f 84 b7 fe ff ff je 67c <machine_kexec_prepare+0x63c>
7c5: 48 ba 00 00 00 00 00 movabs $0x160000000000,%rdx
7cc: 16 00 00
7cf: 49 bd 00 00 00 00 00 movabs $0xffff880000000000,%r13
7d6: 88 ff ff
7d9: 48 01 d0 add %rdx,%rax
7dc: 48 c1 f8 06 sar $0x6,%rax
7e0: 48 c1 e0 0c shl $0xc,%rax
7e4: 4e 8d 2c 28 lea (%rax,%r13,1),%r13
7e8: 4c 89 ef mov %r13,%rdi
7eb: e8 00 00 00 00 callq 7f0 <machine_kexec_prepare+0x7b0>
7f0: 4c 89 ef mov %r13,%rdi
7f3: e8 00 00 00 00 callq 7f8 <machine_kexec_prepare+0x7b8>
7f8: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 800 <machine_kexec_prepare+0x7c0>
7ff: 00
800: 74 42 je 844 <machine_kexec_prepare+0x804>
802: 48 89 c6 mov %rax,%rsi
805: 48 83 ce 63 or $0x63,%rsi
809: 48 89 f7 mov %rsi,%rdi
80c: ff 14 25 00 00 00 00 callq *0x0
813: 48 89 c6 mov %rax,%rsi
816: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 81e <machine_kexec_prepare+0x7de>
81d: 00
81e: 74 3d je 85d <machine_kexec_prepare+0x81d>
820: 4c 89 e7 mov %r12,%rdi
823: ff 14 25 00 00 00 00 callq *0x0
82a: e9 6d fb ff ff jmpq 39c <machine_kexec_prepare+0x35c>
82f: 0f 0b ud2
831: 48 8b 7d c0 mov -0x40(%rbp),%rdi
835: e8 c6 f7 ff ff callq 0 <free_transition_pgtable>
83a: b8 f4 ff ff ff mov $0xfffffff4,%eax
83f: e9 3d fe ff ff jmpq 681 <machine_kexec_prepare+0x641>
844: 0f 0b ud2
846: 0f 0b ud2
848: 48 8b 45 98 mov -0x68(%rbp),%rax
84c: 48 c7 45 a8 00 00 00 movq $0x0,-0x58(%rbp)
853: 00
854: 48 89 45 a0 mov %rax,-0x60(%rbp)
858: e9 b3 fa ff ff jmpq 310 <machine_kexec_prepare+0x2d0>
85d: 0f 0b ud2
85f: 90 nop
[-- Attachment #3: Type: text/plain, Size: 143 bytes --]
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <levinsasha928@gmail.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Dave Jones <davej@redhat.com>,
kexec@lists.infradead.org,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: BUG: unable to handle kernel paging request at ffffc7ff81000398 (sys_kexec_load)
Date: Sun, 22 Jan 2012 02:18:45 -0500 [thread overview]
Message-ID: <1327216725.32115.7.camel@lappy> (raw)
In-Reply-To: <m1lip0s5nt.fsf@fess.ebiederm.org>
[-- Attachment #1: Type: text/plain, Size: 1062 bytes --]
On Sat, 2012-01-21 at 20:49 -0800, Eric W. Biederman wrote:
> Sasha Levin <levinsasha928@gmail.com> writes:
>
> > Hi All,
> >
> > I got the following BUG() while running trinity within KVM tool.
> >
> > It looks like the result of a kexec_load(), but I couldn't find any
> > mention of it in the logs - which is strange since logs are supposed
> > to be flushed before actual syscall runs.
>
> Interesting.
>
> The fact that this happens in native_set_pte would suggest that we are
> trying to write to a page table that does not exist. So this might
> be a layer below kexec_load that has the problem.
>
> Do you have the kernel you were testing? A disassembly of the
> native_set_pte, machine_kexec_prepare and sys_kexec_load
> would be interesting, for attempting to trace this back to what went
> wrong.
Yup, It's a pretty simple build of linux-next from today.
>From what I gather, native_set_pte is a simple short function, it also
gets inlined so the disassembly is pretty trivial. I've attached
disassembly of other two functions.
--
Sasha.
[-- Attachment #2: disasm.txt --]
[-- Type: text/plain, Size: 43074 bytes --]
0000000000000c00 <sys_kexec_load>:
c00: 55 push %rbp
c01: 48 89 e5 mov %rsp,%rbp
c04: 48 81 ec 90 00 00 00 sub $0x90,%rsp
c0b: 48 89 5d d8 mov %rbx,-0x28(%rbp)
c0f: 4c 89 6d e8 mov %r13,-0x18(%rbp)
c13: 4c 89 75 f0 mov %r14,-0x10(%rbp)
c17: 4c 89 7d f8 mov %r15,-0x8(%rbp)
c1b: 4c 89 65 e0 mov %r12,-0x20(%rbp)
c1f: 49 89 d7 mov %rdx,%r15
c22: 49 89 fe mov %rdi,%r14
c25: 48 89 f3 mov %rsi,%rbx
c28: 49 89 cd mov %rcx,%r13
c2b: bf 16 00 00 00 mov $0x16,%edi
c30: e8 00 00 00 00 callq c35 <sys_kexec_load+0x35>
c35: 89 c2 mov %eax,%edx
c37: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
c3e: 84 d2 test %dl,%dl
c40: 75 1e jne c60 <sys_kexec_load+0x60>
c42: 48 8b 5d d8 mov -0x28(%rbp),%rbx
c46: 4c 8b 65 e0 mov -0x20(%rbp),%r12
c4a: 4c 8b 6d e8 mov -0x18(%rbp),%r13
c4e: 4c 8b 75 f0 mov -0x10(%rbp),%r14
c52: 4c 8b 7d f8 mov -0x8(%rbp),%r15
c56: c9 leaveq
c57: c3 retq
c58: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
c5f: 00
c60: b0 ea mov $0xea,%al
c62: 41 f7 c5 fc ff 00 00 test $0xfffc,%r13d
c69: 75 d7 jne c42 <sys_kexec_load+0x42>
c6b: 4c 89 ea mov %r13,%rdx
c6e: 81 e2 00 00 ff ff and $0xffff0000,%edx
c74: 74 09 je c7f <sys_kexec_load+0x7f>
c76: 48 81 fa 00 00 3e 00 cmp $0x3e0000,%rdx
c7d: 75 c3 jne c42 <sys_kexec_load+0x42>
c7f: 48 c7 c0 ea ff ff ff mov $0xffffffffffffffea,%rax
c86: 48 83 fb 10 cmp $0x10,%rbx
c8a: 77 b6 ja c42 <sys_kexec_load+0x42>
c8c: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
c93: e8 00 00 00 00 callq c98 <sys_kexec_load+0x98>
c98: 89 c2 mov %eax,%edx
c9a: 48 c7 c0 f0 ff ff ff mov $0xfffffffffffffff0,%rax
ca1: 85 d2 test %edx,%edx
ca3: 74 9d je c42 <sys_kexec_load+0x42>
ca5: 48 c7 45 a0 00 00 00 movq $0x0,-0x60(%rbp)
cac: 00
cad: 44 89 e8 mov %r13d,%eax
cb0: 83 e0 01 and $0x1,%eax
cb3: 89 45 94 mov %eax,-0x6c(%rbp)
cb6: 48 c7 c0 00 00 00 00 mov $0x0,%rax
cbd: 48 0f 44 45 a0 cmove -0x60(%rbp),%rax
cc2: 45 31 e4 xor %r12d,%r12d
cc5: 48 89 45 a0 mov %rax,-0x60(%rbp)
cc9: 48 85 db test %rbx,%rbx
ccc: 0f 84 04 03 00 00 je fd6 <sys_kexec_load+0x3d6>
cd2: 41 f6 c5 01 test $0x1,%r13b
cd6: 0f 84 fd 03 00 00 je 10d9 <sys_kexec_load+0x4d9>
cdc: 31 c0 xor %eax,%eax
cde: 83 7d 94 00 cmpl $0x0,-0x6c(%rbp)
ce2: 0f 85 75 01 00 00 jne e5d <sys_kexec_load+0x25d>
ce8: 49 89 c4 mov %rax,%r12
ceb: 41 80 e5 02 and $0x2,%r13b
cef: 74 09 je cfa <sys_kexec_load+0xfa>
cf1: 41 80 8c 24 78 02 00 orb $0x2,0x278(%r12)
cf8: 00 02
cfa: 4c 89 e7 mov %r12,%rdi
cfd: e8 00 00 00 00 callq d02 <sys_kexec_load+0x102>
d02: 85 c0 test %eax,%eax
d04: 0f 85 95 01 00 00 jne e9f <sys_kexec_load+0x29f>
d0a: 4d 89 e5 mov %r12,%r13
d0d: 48 c7 45 98 00 00 00 movq $0x0,-0x68(%rbp)
d14: 00
d15: 48 89 5d 80 mov %rbx,-0x80(%rbp)
d19: 41 f6 84 24 78 02 00 testb $0x1,0x278(%r12)
d20: 00 01
d22: 0f 85 bc 02 00 00 jne fe4 <sys_kexec_load+0x3e4>
d28: 49 8b 45 40 mov 0x40(%r13),%rax
d2c: 4c 89 e7 mov %r12,%rdi
d2f: 48 89 45 b8 mov %rax,-0x48(%rbp)
d33: 49 8b 45 48 mov 0x48(%r13),%rax
d37: 48 89 45 b0 mov %rax,-0x50(%rbp)
d3b: 4d 8b 75 50 mov 0x50(%r13),%r14
d3f: 4d 8b 7d 58 mov 0x58(%r13),%r15
d43: 4c 89 f3 mov %r14,%rbx
d46: 48 81 e3 00 f0 ff ff and $0xfffffffffffff000,%rbx
d4d: 48 89 de mov %rbx,%rsi
d50: 48 83 ce 01 or $0x1,%rsi
d54: e8 c7 f8 ff ff callq 620 <kimage_add_entry>
d59: 83 f8 00 cmp $0x0,%eax
d5c: 0f 85 15 04 00 00 jne 1177 <sys_kexec_load+0x577>
d62: 49 89 5c 24 18 mov %rbx,0x18(%r12)
d67: 4c 89 6d a8 mov %r13,-0x58(%rbp)
d6b: 4d 85 ff test %r15,%r15
d6e: 0f 84 1a 02 00 00 je f8e <sys_kexec_load+0x38e>
d74: 4c 89 f2 mov %r14,%rdx
d77: be d2 00 02 00 mov $0x200d2,%esi
d7c: 4c 89 e7 mov %r12,%rdi
d7f: e8 dc f5 ff ff callq 360 <kimage_alloc_page>
d84: 48 85 c0 test %rax,%rax
d87: 0f 84 39 03 00 00 je 10c6 <sys_kexec_load+0x4c6>
d8d: 48 bb 00 00 00 00 00 movabs $0x160000000000,%rbx
d94: 16 00 00
d97: 4c 89 e7 mov %r12,%rdi
d9a: 48 8d 1c 18 lea (%rax,%rbx,1),%rbx
d9e: 48 c1 fb 06 sar $0x6,%rbx
da2: 48 c1 e3 0c shl $0xc,%rbx
da6: 48 89 de mov %rbx,%rsi
da9: 48 83 ce 08 or $0x8,%rsi
dad: e8 6e f8 ff ff callq 620 <kimage_add_entry>
db2: 83 f8 00 cmp $0x0,%eax
db5: 0f 85 cd 01 00 00 jne f88 <sys_kexec_load+0x388>
dbb: 49 81 44 24 18 00 10 addq $0x1000,0x18(%r12)
dc2: 00 00
dc4: 31 d2 xor %edx,%edx
dc6: be 32 00 00 00 mov $0x32,%esi
dcb: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
dd2: e8 00 00 00 00 callq dd7 <sys_kexec_load+0x1d7>
dd7: 48 b8 00 00 00 00 00 movabs $0xffff880000000000,%rax
dde: 88 ff ff
de1: 48 8d 04 03 lea (%rbx,%rax,1),%rax
de5: bb 00 10 00 00 mov $0x1000,%ebx
dea: 48 89 c7 mov %rax,%rdi
ded: 48 89 85 78 ff ff ff mov %rax,-0x88(%rbp)
df4: e8 00 00 00 00 callq df9 <sys_kexec_load+0x1f9>
df9: 4c 8b 6d b0 mov -0x50(%rbp),%r13
dfd: 4c 89 f7 mov %r14,%rdi
e00: 81 e7 ff 0f 00 00 and $0xfff,%edi
e06: 48 29 fb sub %rdi,%rbx
e09: 48 89 bd 70 ff ff ff mov %rdi,-0x90(%rbp)
e10: 4c 39 fb cmp %r15,%rbx
e13: 49 0f 47 df cmova %r15,%rbx
e17: 48 3b 5d b0 cmp -0x50(%rbp),%rbx
e1b: 4c 0f 46 eb cmovbe %rbx,%r13
e1f: e8 00 00 00 00 callq e24 <sys_kexec_load+0x224>
e24: 48 8b 85 78 ff ff ff mov -0x88(%rbp),%rax
e2b: 48 8b bd 70 ff ff ff mov -0x90(%rbp),%rdi
e32: 44 89 ea mov %r13d,%edx
e35: 48 8d 3c 38 lea (%rax,%rdi,1),%rdi
e39: 48 8b 75 b8 mov -0x48(%rbp),%rsi
e3d: e8 00 00 00 00 callq e42 <sys_kexec_load+0x242>
e42: 85 c0 test %eax,%eax
e44: 0f 85 12 01 00 00 jne f5c <sys_kexec_load+0x35c>
e4a: 4c 29 6d b0 sub %r13,-0x50(%rbp)
e4e: 49 01 de add %rbx,%r14
e51: 48 01 5d b8 add %rbx,-0x48(%rbp)
e55: 49 29 df sub %rbx,%r15
e58: e9 0e ff ff ff jmpq d6b <sys_kexec_load+0x16b>
e5d: 4c 89 e7 mov %r12,%rdi
e60: 48 87 3d 00 00 00 00 xchg %rdi,0x0(%rip) # e67 <sys_kexec_load+0x267>
e67: e8 f4 f3 ff ff callq 260 <kimage_free>
e6c: 48 c7 45 c8 00 00 00 movq $0x0,-0x38(%rbp)
e73: 00
e74: b8 9d ff ff ff mov $0xffffff9d,%eax
e79: 4c 3b 35 00 00 00 00 cmp 0x0(%rip),%r14 # e80 <sys_kexec_load+0x280>
e80: 73 44 jae ec6 <sys_kexec_load+0x2c6>
e82: 89 85 78 ff ff ff mov %eax,-0x88(%rbp)
e88: 48 8b 7d c8 mov -0x38(%rbp),%rdi
e8c: 45 31 e4 xor %r12d,%r12d
e8f: e8 00 00 00 00 callq e94 <sys_kexec_load+0x294>
e94: e8 00 00 00 00 callq e99 <sys_kexec_load+0x299>
e99: 8b 85 78 ff ff ff mov -0x88(%rbp),%eax
e9f: 89 85 78 ff ff ff mov %eax,-0x88(%rbp)
ea5: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
eac: e8 00 00 00 00 callq eb1 <sys_kexec_load+0x2b1>
eb1: 4c 89 e7 mov %r12,%rdi
eb4: e8 a7 f3 ff ff callq 260 <kimage_free>
eb9: 8b 85 78 ff ff ff mov -0x88(%rbp),%eax
ebf: 48 98 cltq
ec1: e9 7c fd ff ff jmpq c42 <sys_kexec_load+0x42>
ec6: 4c 3b 35 00 00 00 00 cmp 0x0(%rip),%r14 # ecd <sys_kexec_load+0x2cd>
ecd: 77 b3 ja e82 <sys_kexec_load+0x282>
ecf: 48 8d 7d c8 lea -0x38(%rbp),%rdi
ed3: 4c 89 f9 mov %r15,%rcx
ed6: 48 89 da mov %rbx,%rdx
ed9: 4c 89 f6 mov %r14,%rsi
edc: e8 1f f8 ff ff callq 700 <do_kimage_alloc>
ee1: 85 c0 test %eax,%eax
ee3: 75 9d jne e82 <sys_kexec_load+0x282>
ee5: 4c 8b 65 c8 mov -0x38(%rbp),%r12
ee9: 48 8b 0d 00 00 00 00 mov 0x0(%rip),%rcx # ef0 <sys_kexec_load+0x2f0>
ef0: 4c 89 e0 mov %r12,%rax
ef3: 41 80 8c 24 78 02 00 orb $0x1,0x278(%r12)
efa: 00 01
efc: 49 89 8c 24 70 02 00 mov %rcx,0x270(%r12)
f03: 00
f04: 48 8b 3d 00 00 00 00 mov 0x0(%rip),%rdi # f0b <sys_kexec_load+0x30b>
f0b: 31 d2 xor %edx,%edx
f0d: 48 8b 70 50 mov 0x50(%rax),%rsi
f11: 4c 8b 40 58 mov 0x58(%rax),%r8
f15: 48 39 f1 cmp %rsi,%rcx
f18: 77 4c ja f66 <sys_kexec_load+0x366>
f1a: 4a 8d 74 06 ff lea -0x1(%rsi,%r8,1),%rsi
f1f: 48 39 fe cmp %rdi,%rsi
f22: 77 42 ja f66 <sys_kexec_load+0x366>
f24: 48 ff c2 inc %rdx
f27: 48 83 c0 20 add $0x20,%rax
f2b: 48 39 d3 cmp %rdx,%rbx
f2e: 77 dd ja f0d <sys_kexec_load+0x30d>
f30: 4c 89 e7 mov %r12,%rdi
f33: be 01 00 00 00 mov $0x1,%esi
f38: e8 00 00 00 00 callq f3d <sys_kexec_load+0x33d>
f3d: 49 89 44 24 28 mov %rax,0x28(%r12)
f42: 4c 8b 65 c8 mov -0x38(%rbp),%r12
f46: 49 83 7c 24 28 00 cmpq $0x0,0x28(%r12)
f4c: 74 22 je f70 <sys_kexec_load+0x370>
f4e: e8 00 00 00 00 callq f53 <sys_kexec_load+0x353>
f53: e9 93 fd ff ff jmpq ceb <sys_kexec_load+0xeb>
f58: 4c 8b 65 a8 mov -0x58(%rbp),%r12
f5c: b8 f2 ff ff ff mov $0xfffffff2,%eax
f61: e9 39 ff ff ff jmpq e9f <sys_kexec_load+0x29f>
f66: b8 9d ff ff ff mov $0xffffff9d,%eax
f6b: e9 12 ff ff ff jmpq e82 <sys_kexec_load+0x282>
f70: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
f77: 31 c0 xor %eax,%eax
f79: e8 00 00 00 00 callq f7e <sys_kexec_load+0x37e>
f7e: b8 f4 ff ff ff mov $0xfffffff4,%eax
f83: e9 fa fe ff ff jmpq e82 <sys_kexec_load+0x282>
f88: 0f 8d 36 fe ff ff jge dc4 <sys_kexec_load+0x1c4>
f8e: 4c 8b 6d a8 mov -0x58(%rbp),%r13
f92: 85 c0 test %eax,%eax
f94: 0f 85 05 ff ff ff jne e9f <sys_kexec_load+0x29f>
f9a: 48 ff 45 98 incq -0x68(%rbp)
f9e: 49 83 c5 20 add $0x20,%r13
fa2: 48 8b 45 98 mov -0x68(%rbp),%rax
fa6: 48 39 45 80 cmp %rax,-0x80(%rbp)
faa: 0f 87 69 fd ff ff ja d19 <sys_kexec_load+0x119>
fb0: 49 8b 44 24 08 mov 0x8(%r12),%rax
fb5: 48 83 38 00 cmpq $0x0,(%rax)
fb9: 74 09 je fc4 <sys_kexec_load+0x3c4>
fbb: 48 83 c0 08 add $0x8,%rax
fbf: 49 89 44 24 08 mov %rax,0x8(%r12)
fc4: 48 c7 00 04 00 00 00 movq $0x4,(%rax)
fcb: 83 7d 94 00 cmpl $0x0,-0x6c(%rbp)
fcf: 74 05 je fd6 <sys_kexec_load+0x3d6>
fd1: e8 00 00 00 00 callq fd6 <sys_kexec_load+0x3d6>
fd6: 48 8b 45 a0 mov -0x60(%rbp),%rax
fda: 4c 87 20 xchg %r12,(%rax)
fdd: 31 c0 xor %eax,%eax
fdf: e9 bb fe ff ff jmpq e9f <sys_kexec_load+0x29f>
fe4: 49 8b 45 40 mov 0x40(%r13),%rax
fe8: 48 89 45 b0 mov %rax,-0x50(%rbp)
fec: 4d 8b 75 48 mov 0x48(%r13),%r14
ff0: 49 8b 5d 58 mov 0x58(%r13),%rbx
ff4: 49 8b 45 50 mov 0x50(%r13),%rax
ff8: 4c 89 65 a8 mov %r12,-0x58(%rbp)
ffc: 48 89 45 b8 mov %rax,-0x48(%rbp)
1000: 48 85 db test %rbx,%rbx
1003: 0f 84 c7 00 00 00 je 10d0 <sys_kexec_load+0x4d0>
1009: 4c 8b 65 b8 mov -0x48(%rbp),%r12
100d: 48 b8 00 00 00 00 00 movabs $0xffffea0000000000,%rax
1014: ea ff ff
1017: 49 c1 ec 0c shr $0xc,%r12
101b: 49 c1 e4 06 shl $0x6,%r12
101f: 49 8d 04 04 lea (%r12,%rax,1),%rax
1023: 48 85 c0 test %rax,%rax
1026: 0f 84 96 00 00 00 je 10c2 <sys_kexec_load+0x4c2>
102c: 31 d2 xor %edx,%edx
102e: be 32 00 00 00 mov $0x32,%esi
1033: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
103a: 41 bf 00 10 00 00 mov $0x1000,%r15d
1040: e8 00 00 00 00 callq 1045 <sys_kexec_load+0x445>
1045: 4c 89 e2 mov %r12,%rdx
1048: 48 b8 00 00 00 00 00 movabs $0xffff880000000000,%rax
104f: 88 ff ff
1052: 48 c1 e2 06 shl $0x6,%rdx
1056: 48 01 c2 add %rax,%rdx
1059: 48 8b 45 b8 mov -0x48(%rbp),%rax
105d: 25 ff 0f 00 00 and $0xfff,%eax
1062: 48 01 c2 add %rax,%rdx
1065: 49 29 c7 sub %rax,%r15
1068: 48 89 55 88 mov %rdx,-0x78(%rbp)
106c: 49 39 df cmp %rbx,%r15
106f: 4c 0f 47 fb cmova %rbx,%r15
1073: 4d 89 fc mov %r15,%r12
1076: 4d 39 f7 cmp %r14,%r15
1079: 76 17 jbe 1092 <sys_kexec_load+0x492>
107b: 48 8b 7d 88 mov -0x78(%rbp),%rdi
107f: 4c 89 fa mov %r15,%rdx
1082: 4c 01 f7 add %r14,%rdi
1085: 4c 29 f2 sub %r14,%rdx
1088: 31 f6 xor %esi,%esi
108a: 4d 89 f4 mov %r14,%r12
108d: e8 00 00 00 00 callq 1092 <sys_kexec_load+0x492>
1092: e8 00 00 00 00 callq 1097 <sys_kexec_load+0x497>
1097: 44 89 e2 mov %r12d,%edx
109a: 48 8b 75 b0 mov -0x50(%rbp),%rsi
109e: 48 8b 7d 88 mov -0x78(%rbp),%rdi
10a2: e8 00 00 00 00 callq 10a7 <sys_kexec_load+0x4a7>
10a7: 85 c0 test %eax,%eax
10a9: 0f 85 a9 fe ff ff jne f58 <sys_kexec_load+0x358>
10af: 4d 29 e6 sub %r12,%r14
10b2: 4c 01 7d b8 add %r15,-0x48(%rbp)
10b6: 4c 01 7d b0 add %r15,-0x50(%rbp)
10ba: 4c 29 fb sub %r15,%rbx
10bd: e9 3e ff ff ff jmpq 1000 <sys_kexec_load+0x400>
10c2: 4c 8b 65 a8 mov -0x58(%rbp),%r12
10c6: b8 f4 ff ff ff mov $0xfffffff4,%eax
10cb: e9 cf fd ff ff jmpq e9f <sys_kexec_load+0x29f>
10d0: 4c 8b 65 a8 mov -0x58(%rbp),%r12
10d4: e9 c1 fe ff ff jmpq f9a <sys_kexec_load+0x39a>
10d9: 48 c7 45 c8 00 00 00 movq $0x0,-0x38(%rbp)
10e0: 00
10e1: 48 8d 7d c8 lea -0x38(%rbp),%rdi
10e5: 4c 89 f9 mov %r15,%rcx
10e8: 48 89 da mov %rbx,%rdx
10eb: 4c 89 f6 mov %r14,%rsi
10ee: e8 0d f6 ff ff callq 700 <do_kimage_alloc>
10f3: 85 c0 test %eax,%eax
10f5: 75 51 jne 1148 <sys_kexec_load+0x548>
10f7: 4c 8b 65 c8 mov -0x38(%rbp),%r12
10fb: be 01 00 00 00 mov $0x1,%esi
1100: 4c 89 e7 mov %r12,%rdi
1103: e8 00 00 00 00 callq 1108 <sys_kexec_load+0x508>
1108: 49 89 44 24 28 mov %rax,0x28(%r12)
110d: 4c 8b 75 c8 mov -0x38(%rbp),%r14
1111: 49 83 7e 28 00 cmpq $0x0,0x28(%r14)
1116: 74 4a je 1162 <sys_kexec_load+0x562>
1118: 31 f6 xor %esi,%esi
111a: 4c 89 f7 mov %r14,%rdi
111d: e8 00 00 00 00 callq 1122 <sys_kexec_load+0x522>
1122: 49 89 46 30 mov %rax,0x30(%r14)
1126: 48 8b 45 c8 mov -0x38(%rbp),%rax
112a: 48 83 78 30 00 cmpq $0x0,0x30(%rax)
112f: 0f 85 b3 fb ff ff jne ce8 <sys_kexec_load+0xe8>
1135: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
113c: 31 c0 xor %eax,%eax
113e: e8 00 00 00 00 callq 1143 <sys_kexec_load+0x543>
1143: b8 f4 ff ff ff mov $0xfffffff4,%eax
1148: 89 85 78 ff ff ff mov %eax,-0x88(%rbp)
114e: 48 8b 7d c8 mov -0x38(%rbp),%rdi
1152: e8 00 00 00 00 callq 1157 <sys_kexec_load+0x557>
1157: 8b 85 78 ff ff ff mov -0x88(%rbp),%eax
115d: e9 3d fd ff ff jmpq e9f <sys_kexec_load+0x29f>
1162: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
1169: 31 c0 xor %eax,%eax
116b: e8 00 00 00 00 callq 1170 <sys_kexec_load+0x570>
1170: b8 f4 ff ff ff mov $0xfffffff4,%eax
1175: eb d1 jmp 1148 <sys_kexec_load+0x548>
1177: 0f 8d ea fb ff ff jge d67 <sys_kexec_load+0x167>
117d: 0f 1f 00 nopl (%rax)
1180: e9 0d fe ff ff jmpq f92 <sys_kexec_load+0x392>
1185: 66 66 2e 0f 1f 84 00 data32 nopw %cs:0x0(%rax,%rax,1)
118c: 00 00 00 00
0000000000000040 <machine_kexec_prepare>:
40: 55 push %rbp
41: 48 b9 00 00 00 00 00 movabs $0x160000000000,%rcx
48: 16 00 00
4b: 48 89 e5 mov %rsp,%rbp
4e: 48 89 c8 mov %rcx,%rax
51: 41 57 push %r15
53: 48 ba 00 00 00 00 00 movabs $0xffff880000000000,%rdx
5a: 88 ff ff
5d: 41 56 push %r14
5f: 41 55 push %r13
61: 41 54 push %r12
63: 53 push %rbx
64: 48 83 ec 58 sub $0x58,%rsp
68: 48 89 7d c0 mov %rdi,-0x40(%rbp)
6c: 48 03 47 28 add 0x28(%rdi),%rax
70: 48 c1 f8 06 sar $0x6,%rax
74: 48 c1 e0 0c shl $0xc,%rax
78: 48 01 d0 add %rdx,%rax
7b: 48 89 45 98 mov %rax,-0x68(%rbp)
7f: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 86 <machine_kexec_prepare+0x46>
86: 48 c1 e0 0c shl $0xc,%rax
8a: 48 89 45 b8 mov %rax,-0x48(%rbp)
8e: 48 85 c0 test %rax,%rax
91: 0f 84 b1 07 00 00 je 848 <machine_kexec_prepare+0x808>
97: 48 8b 7d 98 mov -0x68(%rbp),%rdi
9b: 48 c7 45 a8 00 00 00 movq $0x0,-0x58(%rbp)
a2: 00
a3: 48 89 7d a0 mov %rdi,-0x60(%rbp)
a7: 31 f6 xor %esi,%esi
a9: 48 8b 7d c0 mov -0x40(%rbp),%rdi
ad: e8 00 00 00 00 callq b2 <machine_kexec_prepare+0x72>
b2: 48 85 c0 test %rax,%rax
b5: 0f 84 c1 05 00 00 je 67c <machine_kexec_prepare+0x63c>
bb: 48 ba 00 00 00 00 00 movabs $0x160000000000,%rdx
c2: 16 00 00
c5: 48 bf 00 00 00 00 00 movabs $0xffff880000000000,%rdi
cc: 88 ff ff
cf: 48 01 d0 add %rdx,%rax
d2: 4c 8b 75 a8 mov -0x58(%rbp),%r14
d6: 48 c1 f8 06 sar $0x6,%rax
da: 49 81 e6 00 f0 ff ff and $0xfffffffffffff000,%r14
e1: 48 c1 e0 0c shl $0xc,%rax
e5: 48 01 c7 add %rax,%rdi
e8: 48 b8 00 00 00 00 80 movabs $0x8000000000,%rax
ef: 00 00 00
f2: 48 89 7d 90 mov %rdi,-0x70(%rbp)
f6: 4c 01 f0 add %r14,%rax
f9: 48 89 7d c8 mov %rdi,-0x38(%rbp)
fd: 48 89 45 b0 mov %rax,-0x50(%rbp)
101: 49 39 c6 cmp %rax,%r14
104: 0f 83 22 01 00 00 jae 22c <machine_kexec_prepare+0x1ec>
10a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
110: 4c 39 75 b8 cmp %r14,-0x48(%rbp)
114: 0f 86 12 01 00 00 jbe 22c <machine_kexec_prepare+0x1ec>
11a: 31 f6 xor %esi,%esi
11c: 48 8b 7d c0 mov -0x40(%rbp),%rdi
120: e8 00 00 00 00 callq 125 <machine_kexec_prepare+0xe5>
125: 48 85 c0 test %rax,%rax
128: 0f 84 4e 05 00 00 je 67c <machine_kexec_prepare+0x63c>
12e: 49 bf 00 00 00 00 00 movabs $0x160000000000,%r15
135: 16 00 00
138: 48 ba 00 00 00 00 00 movabs $0xffff880000000000,%rdx
13f: 88 ff ff
142: 4e 8d 3c 38 lea (%rax,%r15,1),%r15
146: 4c 89 f3 mov %r14,%rbx
149: 49 c1 ff 06 sar $0x6,%r15
14d: 48 81 e3 00 f0 ff ff and $0xfffffffffffff000,%rbx
154: 49 c1 e7 0c shl $0xc,%r15
158: 4c 8d ab 00 00 00 40 lea 0x40000000(%rbx),%r13
15f: 49 01 d7 add %rdx,%r15
162: 4c 39 eb cmp %r13,%rbx
165: 73 6b jae 1d2 <machine_kexec_prepare+0x192>
167: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 16f <machine_kexec_prepare+0x12f>
16e: 00
16f: 0f 84 1b 05 00 00 je 690 <machine_kexec_prepare+0x650>
175: 48 89 df mov %rbx,%rdi
178: 4d 89 fc mov %r15,%r12
17b: 48 81 cf e3 01 00 00 or $0x1e3,%rdi
182: eb 20 jmp 1a4 <machine_kexec_prepare+0x164>
184: 0f 1f 40 00 nopl 0x0(%rax)
188: 49 83 c4 08 add $0x8,%r12
18c: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 194 <machine_kexec_prepare+0x154>
193: 00
194: 0f 84 f6 04 00 00 je 690 <machine_kexec_prepare+0x650>
19a: 48 89 df mov %rbx,%rdi
19d: 48 81 cf e3 01 00 00 or $0x1e3,%rdi
1a4: ff 14 25 00 00 00 00 callq *0x0
1ab: 48 89 c6 mov %rax,%rsi
1ae: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 1b6 <machine_kexec_prepare+0x176>
1b5: 00
1b6: 0f 84 d6 04 00 00 je 692 <machine_kexec_prepare+0x652>
1bc: 4c 89 e7 mov %r12,%rdi
1bf: ff 14 25 00 00 00 00 callq *0x0
1c6: 48 81 c3 00 00 20 00 add $0x200000,%rbx
1cd: 49 39 dd cmp %rbx,%r13
1d0: 77 b6 ja 188 <machine_kexec_prepare+0x148>
1d2: 4c 89 ff mov %r15,%rdi
1d5: e8 00 00 00 00 callq 1da <machine_kexec_prepare+0x19a>
1da: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 1e2 <machine_kexec_prepare+0x1a2>
1e1: 00
1e2: 0f 84 5e 06 00 00 je 846 <machine_kexec_prepare+0x806>
1e8: 48 89 c7 mov %rax,%rdi
1eb: 48 83 cf 63 or $0x63,%rdi
1ef: ff 14 25 00 00 00 00 callq *0x0
1f6: 48 89 c6 mov %rax,%rsi
1f9: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 201 <machine_kexec_prepare+0x1c1>
200: 00
201: 0f 84 28 06 00 00 je 82f <machine_kexec_prepare+0x7ef>
207: 48 83 45 c8 08 addq $0x8,-0x38(%rbp)
20c: 48 8b 7d c8 mov -0x38(%rbp),%rdi
210: 48 83 ef 08 sub $0x8,%rdi
214: ff 14 25 00 00 00 00 callq *0x0
21b: 49 81 c6 00 00 00 40 add $0x40000000,%r14
222: 4c 39 75 b0 cmp %r14,-0x50(%rbp)
226: 0f 87 e4 fe ff ff ja 110 <machine_kexec_prepare+0xd0>
22c: 4c 39 75 b0 cmp %r14,-0x50(%rbp)
230: 76 65 jbe 297 <machine_kexec_prepare+0x257>
232: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 23a <machine_kexec_prepare+0x1fa>
239: 00
23a: 0f 84 06 06 00 00 je 846 <machine_kexec_prepare+0x806>
240: 48 8b 5d c8 mov -0x38(%rbp),%rbx
244: 48 8b 55 c8 mov -0x38(%rbp),%rdx
248: 48 83 c3 08 add $0x8,%rbx
24c: 4c 8b 65 b0 mov -0x50(%rbp),%r12
250: eb 15 jmp 267 <machine_kexec_prepare+0x227>
252: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 25a <machine_kexec_prepare+0x21a>
259: 00
25a: 0f 84 e6 05 00 00 je 846 <machine_kexec_prepare+0x806>
260: 48 89 da mov %rbx,%rdx
263: 48 83 c3 08 add $0x8,%rbx
267: 31 ff xor %edi,%edi
269: ff 14 25 00 00 00 00 callq *0x0
270: 48 89 c6 mov %rax,%rsi
273: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 27b <machine_kexec_prepare+0x23b>
27a: 00
27b: 0f 84 ae 05 00 00 je 82f <machine_kexec_prepare+0x7ef>
281: 48 89 d7 mov %rdx,%rdi
284: ff 14 25 00 00 00 00 callq *0x0
28b: 49 81 c6 00 00 00 40 add $0x40000000,%r14
292: 4d 39 f4 cmp %r14,%r12
295: 77 bb ja 252 <machine_kexec_prepare+0x212>
297: 48 8b 7d 90 mov -0x70(%rbp),%rdi
29b: e8 00 00 00 00 callq 2a0 <machine_kexec_prepare+0x260>
2a0: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 2a8 <machine_kexec_prepare+0x268>
2a7: 00
2a8: 0f 84 96 05 00 00 je 844 <machine_kexec_prepare+0x804>
2ae: 48 89 c6 mov %rax,%rsi
2b1: 48 83 ce 63 or $0x63,%rsi
2b5: 48 89 f7 mov %rsi,%rdi
2b8: ff 14 25 00 00 00 00 callq *0x0
2bf: 48 89 c6 mov %rax,%rsi
2c2: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 2ca <machine_kexec_prepare+0x28a>
2c9: 00
2ca: 0f 84 8d 05 00 00 je 85d <machine_kexec_prepare+0x81d>
2d0: 48 83 45 a0 08 addq $0x8,-0x60(%rbp)
2d5: 48 8b 7d a0 mov -0x60(%rbp),%rdi
2d9: 48 83 ef 08 sub $0x8,%rdi
2dd: ff 14 25 00 00 00 00 callq *0x0
2e4: 48 b8 00 00 00 00 80 movabs $0x8000000000,%rax
2eb: 00 00 00
2ee: 48 ba ff ff ff ff ff movabs $0xffffffffffff,%rdx
2f5: ff 00 00
2f8: 48 01 45 a8 add %rax,-0x58(%rbp)
2fc: 48 39 55 a8 cmp %rdx,-0x58(%rbp)
300: 77 0e ja 310 <machine_kexec_prepare+0x2d0>
302: 48 8b 7d a8 mov -0x58(%rbp),%rdi
306: 48 39 7d b8 cmp %rdi,-0x48(%rbp)
30a: 0f 87 97 fd ff ff ja a7 <machine_kexec_prepare+0x67>
310: 48 8b 5d a0 mov -0x60(%rbp),%rbx
314: 49 bd ff ff ff ff ff movabs $0xffffffffffff,%r13
31b: ff 00 00
31e: 45 31 e4 xor %r12d,%r12d
321: 49 be 00 00 00 00 80 movabs $0x8000000000,%r14
328: 00 00 00
32b: 4c 8b 7d a8 mov -0x58(%rbp),%r15
32f: eb 3a jmp 36b <machine_kexec_prepare+0x32b>
331: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 339 <machine_kexec_prepare+0x2f9>
338: 00
339: 0f 84 05 05 00 00 je 844 <machine_kexec_prepare+0x804>
33f: 4c 89 e7 mov %r12,%rdi
342: ff 14 25 00 00 00 00 callq *0x0
349: 48 89 c6 mov %rax,%rsi
34c: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 354 <machine_kexec_prepare+0x314>
353: 00
354: 0f 84 03 05 00 00 je 85d <machine_kexec_prepare+0x81d>
35a: 48 89 df mov %rbx,%rdi
35d: ff 14 25 00 00 00 00 callq *0x0
364: 4d 01 f7 add %r14,%r15
367: 48 83 c3 08 add $0x8,%rbx
36b: 4d 39 ef cmp %r13,%r15
36e: 76 c1 jbe 331 <machine_kexec_prepare+0x2f1>
370: 48 8b 45 c0 mov -0x40(%rbp),%rax
374: 48 8b 58 20 mov 0x20(%rax),%rbx
378: 48 81 e3 00 00 e0 ff and $0xffffffffffe00000,%rbx
37f: 49 89 dc mov %rbx,%r12
382: 49 c1 ec 24 shr $0x24,%r12
386: 41 81 e4 f8 0f 00 00 and $0xff8,%r12d
38d: 4c 03 65 98 add -0x68(%rbp),%r12
391: 41 f6 04 24 01 testb $0x1,(%r12)
396: 0f 84 16 04 00 00 je 7b2 <machine_kexec_prepare+0x772>
39c: 49 8b 04 24 mov (%r12),%rax
3a0: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 3a8 <machine_kexec_prepare+0x368>
3a7: 00
3a8: 0f 84 02 04 00 00 je 7b0 <machine_kexec_prepare+0x770>
3ae: 48 89 c7 mov %rax,%rdi
3b1: ff 14 25 00 00 00 00 callq *0x0
3b8: 49 bd 00 00 00 00 00 movabs $0xffff880000000000,%r13
3bf: 88 ff ff
3c2: 48 89 da mov %rbx,%rdx
3c5: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
3cc: 3f 00 00
3cf: 48 c1 ea 1b shr $0x1b,%rdx
3d3: 48 21 c8 and %rcx,%rax
3d6: 81 e2 f8 0f 00 00 and $0xff8,%edx
3dc: 4c 01 ea add %r13,%rdx
3df: 4c 8d 24 02 lea (%rdx,%rax,1),%r12
3e3: 41 f6 04 24 01 testb $0x1,(%r12)
3e8: 0f 84 46 03 00 00 je 734 <machine_kexec_prepare+0x6f4>
3ee: 49 8b 04 24 mov (%r12),%rax
3f2: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 3fa <machine_kexec_prepare+0x3ba>
3f9: 00
3fa: 0f 84 32 03 00 00 je 732 <machine_kexec_prepare+0x6f2>
400: 48 89 c7 mov %rax,%rdi
403: ff 14 25 00 00 00 00 callq *0x0
40a: 48 b9 00 00 00 00 00 movabs $0xffff880000000000,%rcx
411: 88 ff ff
414: 48 89 da mov %rbx,%rdx
417: 48 c1 ea 12 shr $0x12,%rdx
41b: 81 e2 f8 0f 00 00 and $0xff8,%edx
421: 48 01 ca add %rcx,%rdx
424: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
42b: 3f 00 00
42e: 48 21 c8 and %rcx,%rax
431: 48 01 c2 add %rax,%rdx
434: f6 02 01 testb $0x1,(%rdx)
437: 0f 84 57 02 00 00 je 694 <machine_kexec_prepare+0x654>
43d: 48 8b 55 c0 mov -0x40(%rbp),%rdx
441: 49 c7 c4 00 00 00 00 mov $0x0,%r12
448: 48 b8 00 00 00 00 00 movabs $0x160000000000,%rax
44f: 16 00 00
452: 4c 89 e3 mov %r12,%rbx
455: 48 03 42 28 add 0x28(%rdx),%rax
459: 48 c1 eb 24 shr $0x24,%rbx
45d: 48 c1 f8 06 sar $0x6,%rax
461: 48 ba 00 00 00 00 00 movabs $0xffff880000000000,%rdx
468: 88 ff ff
46b: 48 c1 e0 0c shl $0xc,%rax
46f: 81 e3 f8 0f 00 00 and $0xff8,%ebx
475: 48 8d bc 10 00 10 00 lea 0x1000(%rax,%rdx,1),%rdi
47c: 00
47d: e8 00 00 00 00 callq 482 <machine_kexec_prepare+0x442>
482: 48 03 5d 98 add -0x68(%rbp),%rbx
486: 49 89 c5 mov %rax,%r13
489: f6 03 01 testb $0x1,(%rbx)
48c: 75 60 jne 4ee <machine_kexec_prepare+0x4ae>
48e: bf d0 00 00 00 mov $0xd0,%edi
493: e8 00 00 00 00 callq 498 <machine_kexec_prepare+0x458>
498: 48 85 c0 test %rax,%rax
49b: 0f 84 90 03 00 00 je 831 <machine_kexec_prepare+0x7f1>
4a1: 48 8b 55 c0 mov -0x40(%rbp),%rdx
4a5: 48 89 c7 mov %rax,%rdi
4a8: 48 89 82 80 02 00 00 mov %rax,0x280(%rdx)
4af: e8 00 00 00 00 callq 4b4 <machine_kexec_prepare+0x474>
4b4: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 4bc <machine_kexec_prepare+0x47c>
4bb: 00
4bc: 0f 84 82 03 00 00 je 844 <machine_kexec_prepare+0x804>
4c2: 48 89 c6 mov %rax,%rsi
4c5: 48 83 ce 63 or $0x63,%rsi
4c9: 48 89 f7 mov %rsi,%rdi
4cc: ff 14 25 00 00 00 00 callq *0x0
4d3: 48 89 c6 mov %rax,%rsi
4d6: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 4de <machine_kexec_prepare+0x49e>
4dd: 00
4de: 0f 84 79 03 00 00 je 85d <machine_kexec_prepare+0x81d>
4e4: 48 89 df mov %rbx,%rdi
4e7: ff 14 25 00 00 00 00 callq *0x0
4ee: 48 8b 03 mov (%rbx),%rax
4f1: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 4f9 <machine_kexec_prepare+0x4b9>
4f8: 00
4f9: 0f 84 b1 02 00 00 je 7b0 <machine_kexec_prepare+0x770>
4ff: 48 89 c7 mov %rax,%rdi
502: ff 14 25 00 00 00 00 callq *0x0
509: 48 b9 00 00 00 00 00 movabs $0xffff880000000000,%rcx
510: 88 ff ff
513: 4c 89 e2 mov %r12,%rdx
516: 48 c1 ea 1b shr $0x1b,%rdx
51a: 81 e2 f8 0f 00 00 and $0xff8,%edx
520: 48 01 ca add %rcx,%rdx
523: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
52a: 3f 00 00
52d: 48 21 c8 and %rcx,%rax
530: 48 8d 1c 02 lea (%rdx,%rax,1),%rbx
534: f6 03 01 testb $0x1,(%rbx)
537: 75 60 jne 599 <machine_kexec_prepare+0x559>
539: bf d0 00 00 00 mov $0xd0,%edi
53e: e8 00 00 00 00 callq 543 <machine_kexec_prepare+0x503>
543: 48 85 c0 test %rax,%rax
546: 0f 84 e5 02 00 00 je 831 <machine_kexec_prepare+0x7f1>
54c: 48 8b 55 c0 mov -0x40(%rbp),%rdx
550: 48 89 c7 mov %rax,%rdi
553: 48 89 82 88 02 00 00 mov %rax,0x288(%rdx)
55a: e8 00 00 00 00 callq 55f <machine_kexec_prepare+0x51f>
55f: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 567 <machine_kexec_prepare+0x527>
566: 00
567: 0f 84 d9 02 00 00 je 846 <machine_kexec_prepare+0x806>
56d: 48 89 c6 mov %rax,%rsi
570: 48 83 ce 63 or $0x63,%rsi
574: 48 89 f7 mov %rsi,%rdi
577: ff 14 25 00 00 00 00 callq *0x0
57e: 48 89 c6 mov %rax,%rsi
581: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 589 <machine_kexec_prepare+0x549>
588: 00
589: 0f 84 a0 02 00 00 je 82f <machine_kexec_prepare+0x7ef>
58f: 48 89 df mov %rbx,%rdi
592: ff 14 25 00 00 00 00 callq *0x0
599: 48 8b 03 mov (%rbx),%rax
59c: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 5a4 <machine_kexec_prepare+0x564>
5a3: 00
5a4: 0f 84 88 01 00 00 je 732 <machine_kexec_prepare+0x6f2>
5aa: 48 89 c7 mov %rax,%rdi
5ad: ff 14 25 00 00 00 00 callq *0x0
5b4: 48 b9 00 00 00 00 00 movabs $0xffff880000000000,%rcx
5bb: 88 ff ff
5be: 4c 89 e2 mov %r12,%rdx
5c1: 48 c1 ea 12 shr $0x12,%rdx
5c5: 81 e2 f8 0f 00 00 and $0xff8,%edx
5cb: 48 01 ca add %rcx,%rdx
5ce: 48 b9 00 f0 ff ff ff movabs $0x3ffffffff000,%rcx
5d5: 3f 00 00
5d8: 48 21 c8 and %rcx,%rax
5db: 48 8d 1c 02 lea (%rdx,%rax,1),%rbx
5df: f6 03 01 testb $0x1,(%rbx)
5e2: 0f 84 e9 00 00 00 je 6d1 <machine_kexec_prepare+0x691>
5e8: 48 8b 13 mov (%rbx),%rdx
5eb: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 5f3 <machine_kexec_prepare+0x5b3>
5f2: 00
5f3: 0f 84 d6 00 00 00 je 6cf <machine_kexec_prepare+0x68f>
5f9: 48 89 d7 mov %rdx,%rdi
5fc: ff 14 25 00 00 00 00 callq *0x0
603: 48 89 c2 mov %rax,%rdx
606: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 60e <machine_kexec_prepare+0x5ce>
60d: 00
60e: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 615 <machine_kexec_prepare+0x5d5>
615: 0f 84 b2 00 00 00 je 6cd <machine_kexec_prepare+0x68d>
61b: 4c 89 ee mov %r13,%rsi
61e: 25 63 01 00 00 and $0x163,%eax
623: 48 81 e6 00 f0 ff ff and $0xfffffffffffff000,%rsi
62a: 48 09 c6 or %rax,%rsi
62d: 48 89 f7 mov %rsi,%rdi
630: ff 14 25 00 00 00 00 callq *0x0
637: 48 89 c6 mov %rax,%rsi
63a: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 642 <machine_kexec_prepare+0x602>
641: 00
642: 0f 84 83 00 00 00 je 6cb <machine_kexec_prepare+0x68b>
648: 49 c1 ec 09 shr $0x9,%r12
64c: 48 b8 00 f0 ff ff ff movabs $0x3ffffffff000,%rax
653: 3f 00 00
656: 41 81 e4 f8 0f 00 00 and $0xff8,%r12d
65d: 48 21 c2 and %rax,%rdx
660: 48 bf 00 00 00 00 00 movabs $0xffff880000000000,%rdi
667: 88 ff ff
66a: 49 8d 3c 3c lea (%r12,%rdi,1),%rdi
66e: 48 01 d7 add %rdx,%rdi
671: ff 14 25 00 00 00 00 callq *0x0
678: 31 c0 xor %eax,%eax
67a: eb 05 jmp 681 <machine_kexec_prepare+0x641>
67c: b8 f4 ff ff ff mov $0xfffffff4,%eax
681: 48 83 c4 58 add $0x58,%rsp
685: 5b pop %rbx
686: 41 5c pop %r12
688: 41 5d pop %r13
68a: 41 5e pop %r14
68c: 41 5f pop %r15
68e: c9 leaveq
68f: c3 retq
690: 0f 0b ud2
692: 0f 0b ud2
694: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 69c <machine_kexec_prepare+0x65c>
69b: 00
69c: 74 f2 je 690 <machine_kexec_prepare+0x650>
69e: 48 81 cb e3 01 00 00 or $0x1e3,%rbx
6a5: 48 89 df mov %rbx,%rdi
6a8: ff 14 25 00 00 00 00 callq *0x0
6af: 48 89 c6 mov %rax,%rsi
6b2: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 6ba <machine_kexec_prepare+0x67a>
6b9: 00
6ba: 74 d6 je 692 <machine_kexec_prepare+0x652>
6bc: 48 89 d7 mov %rdx,%rdi
6bf: ff 14 25 00 00 00 00 callq *0x0
6c6: e9 72 fd ff ff jmpq 43d <machine_kexec_prepare+0x3fd>
6cb: 0f 0b ud2
6cd: 0f 0b ud2
6cf: 0f 0b ud2
6d1: bf d0 00 00 00 mov $0xd0,%edi
6d6: e8 00 00 00 00 callq 6db <machine_kexec_prepare+0x69b>
6db: 48 85 c0 test %rax,%rax
6de: 0f 84 4d 01 00 00 je 831 <machine_kexec_prepare+0x7f1>
6e4: 48 8b 55 c0 mov -0x40(%rbp),%rdx
6e8: 48 89 c7 mov %rax,%rdi
6eb: 48 89 82 90 02 00 00 mov %rax,0x290(%rdx)
6f2: e8 00 00 00 00 callq 6f7 <machine_kexec_prepare+0x6b7>
6f7: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 6ff <machine_kexec_prepare+0x6bf>
6fe: 00
6ff: 74 8f je 690 <machine_kexec_prepare+0x650>
701: 48 89 c6 mov %rax,%rsi
704: 48 83 ce 63 or $0x63,%rsi
708: 48 89 f7 mov %rsi,%rdi
70b: ff 14 25 00 00 00 00 callq *0x0
712: 48 89 c6 mov %rax,%rsi
715: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 71d <machine_kexec_prepare+0x6dd>
71c: 00
71d: 0f 84 6f ff ff ff je 692 <machine_kexec_prepare+0x652>
723: 48 89 df mov %rbx,%rdi
726: ff 14 25 00 00 00 00 callq *0x0
72d: e9 b6 fe ff ff jmpq 5e8 <machine_kexec_prepare+0x5a8>
732: 0f 0b ud2
734: 31 f6 xor %esi,%esi
736: 48 8b 7d c0 mov -0x40(%rbp),%rdi
73a: e8 00 00 00 00 callq 73f <machine_kexec_prepare+0x6ff>
73f: 48 85 c0 test %rax,%rax
742: 0f 84 34 ff ff ff je 67c <machine_kexec_prepare+0x63c>
748: 48 ba 00 00 00 00 00 movabs $0x160000000000,%rdx
74f: 16 00 00
752: 48 01 d0 add %rdx,%rax
755: 48 c1 f8 06 sar $0x6,%rax
759: 48 c1 e0 0c shl $0xc,%rax
75d: 4e 8d 2c 28 lea (%rax,%r13,1),%r13
761: 4c 89 ef mov %r13,%rdi
764: e8 00 00 00 00 callq 769 <machine_kexec_prepare+0x729>
769: 4c 89 ef mov %r13,%rdi
76c: e8 00 00 00 00 callq 771 <machine_kexec_prepare+0x731>
771: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 779 <machine_kexec_prepare+0x739>
778: 00
779: 0f 84 c7 00 00 00 je 846 <machine_kexec_prepare+0x806>
77f: 48 89 c6 mov %rax,%rsi
782: 48 83 ce 63 or $0x63,%rsi
786: 48 89 f7 mov %rsi,%rdi
789: ff 14 25 00 00 00 00 callq *0x0
790: 48 89 c6 mov %rax,%rsi
793: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 79b <machine_kexec_prepare+0x75b>
79a: 00
79b: 0f 84 8e 00 00 00 je 82f <machine_kexec_prepare+0x7ef>
7a1: 4c 89 e7 mov %r12,%rdi
7a4: ff 14 25 00 00 00 00 callq *0x0
7ab: e9 3e fc ff ff jmpq 3ee <machine_kexec_prepare+0x3ae>
7b0: 0f 0b ud2
7b2: 31 f6 xor %esi,%esi
7b4: 48 89 c7 mov %rax,%rdi
7b7: e8 00 00 00 00 callq 7bc <machine_kexec_prepare+0x77c>
7bc: 48 85 c0 test %rax,%rax
7bf: 0f 84 b7 fe ff ff je 67c <machine_kexec_prepare+0x63c>
7c5: 48 ba 00 00 00 00 00 movabs $0x160000000000,%rdx
7cc: 16 00 00
7cf: 49 bd 00 00 00 00 00 movabs $0xffff880000000000,%r13
7d6: 88 ff ff
7d9: 48 01 d0 add %rdx,%rax
7dc: 48 c1 f8 06 sar $0x6,%rax
7e0: 48 c1 e0 0c shl $0xc,%rax
7e4: 4e 8d 2c 28 lea (%rax,%r13,1),%r13
7e8: 4c 89 ef mov %r13,%rdi
7eb: e8 00 00 00 00 callq 7f0 <machine_kexec_prepare+0x7b0>
7f0: 4c 89 ef mov %r13,%rdi
7f3: e8 00 00 00 00 callq 7f8 <machine_kexec_prepare+0x7b8>
7f8: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 800 <machine_kexec_prepare+0x7c0>
7ff: 00
800: 74 42 je 844 <machine_kexec_prepare+0x804>
802: 48 89 c6 mov %rax,%rsi
805: 48 83 ce 63 or $0x63,%rsi
809: 48 89 f7 mov %rsi,%rdi
80c: ff 14 25 00 00 00 00 callq *0x0
813: 48 89 c6 mov %rax,%rsi
816: 48 83 3d 00 00 00 00 cmpq $0x0,0x0(%rip) # 81e <machine_kexec_prepare+0x7de>
81d: 00
81e: 74 3d je 85d <machine_kexec_prepare+0x81d>
820: 4c 89 e7 mov %r12,%rdi
823: ff 14 25 00 00 00 00 callq *0x0
82a: e9 6d fb ff ff jmpq 39c <machine_kexec_prepare+0x35c>
82f: 0f 0b ud2
831: 48 8b 7d c0 mov -0x40(%rbp),%rdi
835: e8 c6 f7 ff ff callq 0 <free_transition_pgtable>
83a: b8 f4 ff ff ff mov $0xfffffff4,%eax
83f: e9 3d fe ff ff jmpq 681 <machine_kexec_prepare+0x641>
844: 0f 0b ud2
846: 0f 0b ud2
848: 48 8b 45 98 mov -0x68(%rbp),%rax
84c: 48 c7 45 a8 00 00 00 movq $0x0,-0x58(%rbp)
853: 00
854: 48 89 45 a0 mov %rax,-0x60(%rbp)
858: e9 b3 fa ff ff jmpq 310 <machine_kexec_prepare+0x2d0>
85d: 0f 0b ud2
85f: 90 nop
next prev parent reply other threads:[~2012-01-22 5:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-22 6:06 BUG: unable to handle kernel paging request at ffffc7ff81000398 (sys_kexec_load) Sasha Levin
2012-01-22 6:06 ` Sasha Levin
2012-01-22 4:49 ` Eric W. Biederman
2012-01-22 4:49 ` Eric W. Biederman
2012-01-22 7:18 ` Sasha Levin [this message]
2012-01-22 7:18 ` Sasha Levin
2012-01-28 15:11 ` Sasha Levin
2012-01-28 15:11 ` Sasha Levin
2012-01-28 20:54 ` Eric W. Biederman
2012-01-28 20:54 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1327216725.32115.7.camel@lappy \
--to=levinsasha928@gmail.com \
--cc=davej@redhat.com \
--cc=ebiederm@xmission.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.