correction to compat_sys_kexec_load

Eric W. Biederman ebiederm at xmission.com
Fri May 23 20:36:26 EDT 2008


Bernhard Walle <bwalle at suse.de> writes:

> * ebiederm at xmission.com (Eric W. Biederman) [2008-05-23 13:14]:
>>
>> What we need to do is fix /sbin/kexec to pass in the correct
>> architecture of the kernel for unload as it does for load.
>
> How should it know that it unloads a 32 bit kernel on a 64 bit system?
> It doesn't have access to the kernel any more once it has been loaded.

The architecture parameter is the architecture of the running kernel
that implements sys_kexec_load.

Because it is a pain for testing and in general impossible we don't
change cpu modes during a kexec.  So a 32bit caller of sys_kexec_load
will need to passing in different code if it is running on a 32bit or
a 64bit kernel.

The trampoline code in /sbin/kexec does change modes on x86 when
appropriate.

Caring if you know the architecture in the unload case is a bit
silly. As there is no real justification for it.  At this
point getting user space fixed so that it works on older kernels
seems important. 

Eric



More information about the kexec mailing list