Message ID | 20180329190543.25118-1-bauerman@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | bf8a1abc3ddbd6e9a8312ea7d96e5dd89c140f18 |
Headers | show |
Series | powerpc: kexec_file: Fix error code when trying to load kdump kernel | expand |
On Thu, Mar 29, 2018 at 04:05:43PM -0300, Thiago Jung Bauermann wrote: > kexec_file_load() on powerpc doesn't support kdump kernels yet, so it > returns -ENOTSUPP in that case. > > I've recently learned that this errno is internal to the kernel and isn't > supposed to be exposed to userspace. Therefore, change to -EOPNOTSUPP which > is defined in an uapi header. > > This does indeed make kexec-tools happier. Before the patch, on ppc64le: > > # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz > kexec_file_load failed: Unknown error 524 > > After the patch: > > # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz > kexec_file_load failed: Operation not supported > > Fixes: a0458284f062 ("powerpc: Add support code for kexec_file_load()") > Reported-by: Dave Young <dyoung@redhat.com> > Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> Reviewed-by: Simon Horman <horms@verge.net.au>
On 03/29/18 at 04:05pm, Thiago Jung Bauermann wrote: > kexec_file_load() on powerpc doesn't support kdump kernels yet, so it > returns -ENOTSUPP in that case. > > I've recently learned that this errno is internal to the kernel and isn't > supposed to be exposed to userspace. Therefore, change to -EOPNOTSUPP which > is defined in an uapi header. > > This does indeed make kexec-tools happier. Before the patch, on ppc64le: > > # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz > kexec_file_load failed: Unknown error 524 > > After the patch: > > # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz > kexec_file_load failed: Operation not supported > > Fixes: a0458284f062 ("powerpc: Add support code for kexec_file_load()") > Reported-by: Dave Young <dyoung@redhat.com> > Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> > --- > arch/powerpc/kernel/machine_kexec_file_64.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > This is a minor issue, but since it's a simple patch it might be worth > applying it to stable branches. > > This is the kexec-tools thread where this problem was brought up: > > https://lists.infradead.org/pipermail/kexec/2018-March/020346.html > > And this is an instance of a similar fix being applied elsewhere in the > kernel, for the same reasons: > > https://patchwork.kernel.org/patch/8490791/ > > The test shown in the commit log was made using Hari Bathini's patch > adding kexec_file_load() support to kexec-tools in ppc64. > > diff --git a/arch/powerpc/kernel/machine_kexec_file_64.c b/arch/powerpc/kernel/machine_kexec_file_64.c > index e4395f937d63..45e0b7d5f200 100644 > --- a/arch/powerpc/kernel/machine_kexec_file_64.c > +++ b/arch/powerpc/kernel/machine_kexec_file_64.c > @@ -43,7 +43,7 @@ int arch_kexec_kernel_image_probe(struct kimage *image, void *buf, > > /* We don't support crash kernels yet. */ > if (image->type == KEXEC_TYPE_CRASH) > - return -ENOTSUPP; > + return -EOPNOTSUPP; > > for (i = 0; i < ARRAY_SIZE(kexec_file_loaders); i++) { > fops = kexec_file_loaders[i]; > > > _______________________________________________ > kexec mailing list > kexec@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec Reviewed-by: Dave Young <dyoung@redhat.com> Thanks Dave
On Thu, 2018-03-29 at 19:05:43 UTC, Thiago Jung Bauermann wrote: > kexec_file_load() on powerpc doesn't support kdump kernels yet, so it > returns -ENOTSUPP in that case. > > I've recently learned that this errno is internal to the kernel and isn't > supposed to be exposed to userspace. Therefore, change to -EOPNOTSUPP which > is defined in an uapi header. > > This does indeed make kexec-tools happier. Before the patch, on ppc64le: > > # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz > kexec_file_load failed: Unknown error 524 > > After the patch: > > # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz > kexec_file_load failed: Operation not supported > > Fixes: a0458284f062 ("powerpc: Add support code for kexec_file_load()") > Reported-by: Dave Young <dyoung@redhat.com> > Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> > Reviewed-by: Simon Horman <horms@verge.net.au> > Reviewed-by: Dave Young <dyoung@redhat.com> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/bf8a1abc3ddbd6e9a8312ea7d96e5d cheers
diff --git a/arch/powerpc/kernel/machine_kexec_file_64.c b/arch/powerpc/kernel/machine_kexec_file_64.c index e4395f937d63..45e0b7d5f200 100644 --- a/arch/powerpc/kernel/machine_kexec_file_64.c +++ b/arch/powerpc/kernel/machine_kexec_file_64.c @@ -43,7 +43,7 @@ int arch_kexec_kernel_image_probe(struct kimage *image, void *buf, /* We don't support crash kernels yet. */ if (image->type == KEXEC_TYPE_CRASH) - return -ENOTSUPP; + return -EOPNOTSUPP; for (i = 0; i < ARRAY_SIZE(kexec_file_loaders); i++) { fops = kexec_file_loaders[i];
kexec_file_load() on powerpc doesn't support kdump kernels yet, so it returns -ENOTSUPP in that case. I've recently learned that this errno is internal to the kernel and isn't supposed to be exposed to userspace. Therefore, change to -EOPNOTSUPP which is defined in an uapi header. This does indeed make kexec-tools happier. Before the patch, on ppc64le: # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz kexec_file_load failed: Unknown error 524 After the patch: # ~bauermann/src/kexec-tools/build/sbin/kexec -s -p /boot/vmlinuz kexec_file_load failed: Operation not supported Fixes: a0458284f062 ("powerpc: Add support code for kexec_file_load()") Reported-by: Dave Young <dyoung@redhat.com> Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> --- arch/powerpc/kernel/machine_kexec_file_64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) This is a minor issue, but since it's a simple patch it might be worth applying it to stable branches. This is the kexec-tools thread where this problem was brought up: https://lists.infradead.org/pipermail/kexec/2018-March/020346.html And this is an instance of a similar fix being applied elsewhere in the kernel, for the same reasons: https://patchwork.kernel.org/patch/8490791/ The test shown in the commit log was made using Hari Bathini's patch adding kexec_file_load() support to kexec-tools in ppc64.