Messages in this thread | | | From | (Eric W. Biederman) | Date | Fri, 23 May 2008 17:36:26 -0700 | Subject | Re: correction to compat_sys_kexec_load |
| |
Bernhard Walle <bwalle@suse.de> writes:
> * ebiederm@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
| |