[PATCH v5 4/5] kexec: Add option to fall back to KEXEC_LOAD when KEXEC_FILE_LOAD is not supported

Simon Horman horms at verge.net.au
Wed Mar 28 00:42:42 PDT 2018


On Wed, Mar 28, 2018 at 08:53:53AM +0800, Dave Young wrote:
> On 03/27/18 at 01:01pm, Michal Suchánek wrote:
> > On Tue, 27 Mar 2018 18:06:19 +0800
> > Dave Young <dyoung at redhat.com> wrote:
> > 
> > > On 03/26/18 at 07:38pm, Michal Suchánek wrote:
> > > > On Mon, 26 Mar 2018 17:12:10 +0800
> > > > Dave Young <dyoung at redhat.com> wrote:
> > > >   
> > > > > On 03/26/18 at 05:08pm, Dave Young wrote:  
> > > > > > On 03/20/18 at 04:56pm, Michal Suchanek wrote:    
> > 
> > > > > > Hmm, this is still used in latest version.  kernel does not
> > > > > > return such error number,  I might not say clearly previously.
> > > > > > Please check the kernel code, the only one place I know is
> > > > > > because no kdump support in power kexec_file:
> > > > > > arch/powerpc/kernel/machine_kexec_file_64.c
> > > > > > 
> > > > > >         /* We don't support crash kernels yet. */
> > > > > >         if (image->type == KEXEC_TYPE_CRASH)
> > > > > >                 return -ENOTSUPP;
> > > > > > 
> > > > > > So I suggest not checking this as well since -ENOTSUPP is not
> > > > > > populated in userspace headers, and -ENOTSUP is not used at all.
> > > > > > 
> > > > > > Also as I mentioned in another reply -EINVAL and -ENOEXEC is
> > > > > > also not ncessary.
> > > > > > 
> > > > > > For -ENOTSUP, maybe someone can submit a patch to switch to
> > > > > > -ENOTSUPP so that userspace can check it.
> > > > > > Ccing Thiago and Hari for the -ENOTSUPP errno issue.    
> > > > > 
> > > > > Oops for the hurry reply,  I means -ENOTSUPP might be able to
> > > > > replaced with -EOPNOTSUPP, a similar change like this:
> > > > > https://patchwork.kernel.org/patch/8490791/  
> > > > 
> > > > Thanks for catching this. In Linux ENOTSUPP with extra P is
> > > > different from EOPNOTSUPP and ENOTSUP (single P). Since we are
> > > > talking to the kernel and it returns the double P ENOTSUPP we need
> > > > to define it in kexec as well. And we should check ENOTSUP with
> > > > single P in case somebody some day thinks that returning undefined
> > > > error codes to userspace is not nice like in the patch above.  
> > > 
> > > I'm not sure if we can define it in kexec-tools since they are used
> > > in kernel only.. 
> > 
> > We define the KEXEC_FILE_LOAD syscall numbers so why not ENOTSUPP?
> 
> They are different syscall number is persistent but internal errnos are
> not supposed to be so.

It sounds to me that the kernel needs to be updated and that upstream
kexec-tools can't support ENOTSUPP.



More information about the kexec mailing list