BUG: unable to handle kernel paging request at ffffc7ff81000398 (sys_kexec_load)
Eric W. Biederman
ebiederm at xmission.com
Sat Jan 28 15:54:43 EST 2012
Sasha Levin <levinsasha928 at gmail.com> writes:
> On Sat, 2012-01-21 at 20:49 -0800, Eric W. Biederman wrote:
>> 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.
>
> I did some work into investigating it today, looks like it's simple to trigger it using the following code:
>
> #include <fcntl.h>
> int main(void)
> {
> char dummy[4096] = {0};
> syscall(246, 0xffffffff81008000, 1, dummy, 2);
> return 0;
> }
>
> I'll continue trying to figure out whats wrong, but hopefully this
> lead will help in reproducing it easily.
Yes that helps, and that matches the backtrace.
So the question becomes why does a strange entry point address cause problems.
Eric
More information about the kexec
mailing list