2019-07-29 16:00:37

by Vasily Gorbik

[permalink] [raw]
Subject: [PATCH] kexec: restore arch_kexec_kernel_image_probe declaration

arch_kexec_kernel_image_probe function declaration has been removed by
commit 9ec4ecef0af7 ("kexec_file,x86,powerpc: factor out kexec_file_ops
functions"). Still this function is overridden by couple of architectures
and proper prototype declaration is therefore important, so bring it
back. This fixes the following sparse warning on s390:
arch/s390/kernel/machine_kexec_file.c:333:5: warning: symbol 'arch_kexec_kernel_image_probe' was not declared. Should it be static?

Signed-off-by: Vasily Gorbik <[email protected]>
---
include/linux/kexec.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/include/linux/kexec.h b/include/linux/kexec.h
index 1740fe36b5b7..f7529d120920 100644
--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -183,6 +183,8 @@ int kexec_purgatory_get_set_symbol(struct kimage *image, const char *name,
bool get_value);
void *kexec_purgatory_get_symbol_addr(struct kimage *image, const char *name);

+int __weak arch_kexec_kernel_image_probe(struct kimage *image, void *buf,
+ unsigned long buf_len);
void * __weak arch_kexec_kernel_image_load(struct kimage *image);
int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
Elf_Shdr *section,
--
2.21.0


2019-07-30 11:28:25

by Dave Young

[permalink] [raw]
Subject: Re: [PATCH] kexec: restore arch_kexec_kernel_image_probe declaration

On 07/29/19 at 02:14pm, Vasily Gorbik wrote:
> arch_kexec_kernel_image_probe function declaration has been removed by
> commit 9ec4ecef0af7 ("kexec_file,x86,powerpc: factor out kexec_file_ops
> functions"). Still this function is overridden by couple of architectures
> and proper prototype declaration is therefore important, so bring it
> back. This fixes the following sparse warning on s390:
> arch/s390/kernel/machine_kexec_file.c:333:5: warning: symbol 'arch_kexec_kernel_image_probe' was not declared. Should it be static?
>
> Signed-off-by: Vasily Gorbik <[email protected]>
> ---
> include/linux/kexec.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/include/linux/kexec.h b/include/linux/kexec.h
> index 1740fe36b5b7..f7529d120920 100644
> --- a/include/linux/kexec.h
> +++ b/include/linux/kexec.h
> @@ -183,6 +183,8 @@ int kexec_purgatory_get_set_symbol(struct kimage *image, const char *name,
> bool get_value);
> void *kexec_purgatory_get_symbol_addr(struct kimage *image, const char *name);
>
> +int __weak arch_kexec_kernel_image_probe(struct kimage *image, void *buf,
> + unsigned long buf_len);
> void * __weak arch_kexec_kernel_image_load(struct kimage *image);
> int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
> Elf_Shdr *section,
> --
> 2.21.0
>

Acked-by: Dave Young <[email protected]>

Thanks
Dave

2019-07-30 11:54:26

by Bhupesh Sharma

[permalink] [raw]
Subject: Re: [PATCH] kexec: restore arch_kexec_kernel_image_probe declaration

Hi Vasily,

On Mon, Jul 29, 2019 at 5:44 PM Vasily Gorbik <[email protected]> wrote:
>
> arch_kexec_kernel_image_probe function declaration has been removed by
> commit 9ec4ecef0af7 ("kexec_file,x86,powerpc: factor out kexec_file_ops
> functions"). Still this function is overridden by couple of architectures
> and proper prototype declaration is therefore important, so bring it
> back. This fixes the following sparse warning on s390:
> arch/s390/kernel/machine_kexec_file.c:333:5: warning: symbol 'arch_kexec_kernel_image_probe' was not declared. Should it be static?

May be it would be better to add a 'Fixes:' tag here (but may be it
can be added while picking it into the tree). With the above minor
nitpick:

Reviewed-by: Bhupesh Sharma <[email protected]>

Thanks,
Bhupesh

> Signed-off-by: Vasily Gorbik <[email protected]>
> ---
> include/linux/kexec.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/include/linux/kexec.h b/include/linux/kexec.h
> index 1740fe36b5b7..f7529d120920 100644
> --- a/include/linux/kexec.h
> +++ b/include/linux/kexec.h
> @@ -183,6 +183,8 @@ int kexec_purgatory_get_set_symbol(struct kimage *image, const char *name,
> bool get_value);
> void *kexec_purgatory_get_symbol_addr(struct kimage *image, const char *name);
>
> +int __weak arch_kexec_kernel_image_probe(struct kimage *image, void *buf,
> + unsigned long buf_len);
> void * __weak arch_kexec_kernel_image_load(struct kimage *image);
> int __weak arch_kexec_apply_relocations_add(struct purgatory_info *pi,
> Elf_Shdr *section,
> --
> 2.21.0
>
>
> _______________________________________________
> kexec mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/kexec