diff mbox series

[v2] kexec: move machine_kexec_post_load() to public interface

Message ID 20210219195142.13571-1-pasha.tatashin@soleen.com (mailing list archive)
State New, archived
Headers show
Series [v2] kexec: move machine_kexec_post_load() to public interface | expand

Commit Message

Pasha Tatashin Feb. 19, 2021, 7:51 p.m. UTC
machine_kexec_post_load() is called after kexec load is finished. It must
declared in public header not in kexec_internal.h

Fixes the following compiler warning:

arch/arm64/kernel/machine_kexec.c:62:5: warning: no previous prototype for
function 'machine_kexec_post_load' [-Wmissing-prototypes]
   int machine_kexec_post_load(struct kimage *kimage)

Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/linux-arm-kernel/202102030727.gqTokACH-lkp@intel.com
Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
---
 include/linux/kexec.h   | 2 ++
 kernel/kexec_internal.h | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Will Deacon Feb. 22, 2021, 2:29 p.m. UTC | #1
On Fri, 19 Feb 2021 14:51:42 -0500, Pavel Tatashin wrote:
> machine_kexec_post_load() is called after kexec load is finished. It must
> declared in public header not in kexec_internal.h
> 
> Fixes the following compiler warning:
> 
> arch/arm64/kernel/machine_kexec.c:62:5: warning: no previous prototype for
> function 'machine_kexec_post_load' [-Wmissing-prototypes]
>    int machine_kexec_post_load(struct kimage *kimage)

Applied to arm64 (for-next/fixes), thanks!

[1/1] kexec: move machine_kexec_post_load() to public interface
      https://git.kernel.org/arm64/c/2596b6ae412b

Cheers,
Eric W. Biederman Feb. 23, 2021, 5:16 a.m. UTC | #2
Will Deacon <will@kernel.org> writes:

> On Fri, 19 Feb 2021 14:51:42 -0500, Pavel Tatashin wrote:
>> machine_kexec_post_load() is called after kexec load is finished. It must
>> declared in public header not in kexec_internal.h
>> 
>> Fixes the following compiler warning:
>> 
>> arch/arm64/kernel/machine_kexec.c:62:5: warning: no previous prototype for
>> function 'machine_kexec_post_load' [-Wmissing-prototypes]
>>    int machine_kexec_post_load(struct kimage *kimage)
>
> Applied to arm64 (for-next/fixes), thanks!
>
> [1/1] kexec: move machine_kexec_post_load() to public interface
>       https://git.kernel.org/arm64/c/2596b6ae412b

As you have already applied this it seems a bit late,
but I will mention that change could legitimately have the following
tag.

Fixes: de68e4daea90 ("kexec: add machine_kexec_post_load()")

So far arm64 is the only implementation of that hook.

Eric
Will Deacon Feb. 23, 2021, 9:45 a.m. UTC | #3
On Mon, Feb 22, 2021 at 11:16:38PM -0600, Eric W. Biederman wrote:
> Will Deacon <will@kernel.org> writes:
> 
> > On Fri, 19 Feb 2021 14:51:42 -0500, Pavel Tatashin wrote:
> >> machine_kexec_post_load() is called after kexec load is finished. It must
> >> declared in public header not in kexec_internal.h
> >> 
> >> Fixes the following compiler warning:
> >> 
> >> arch/arm64/kernel/machine_kexec.c:62:5: warning: no previous prototype for
> >> function 'machine_kexec_post_load' [-Wmissing-prototypes]
> >>    int machine_kexec_post_load(struct kimage *kimage)
> >
> > Applied to arm64 (for-next/fixes), thanks!
> >
> > [1/1] kexec: move machine_kexec_post_load() to public interface
> >       https://git.kernel.org/arm64/c/2596b6ae412b
> 
> As you have already applied this it seems a bit late,
> but I will mention that change could legitimately have the following
> tag.
> 
> Fixes: de68e4daea90 ("kexec: add machine_kexec_post_load()")
> 
> So far arm64 is the only implementation of that hook.

I added 'Fixes: 4c3c31230c91 ("arm64: kexec: move relocation function
setup")' when I applied the patch, so at least it's clearly marked as a
fix.

Will
diff mbox series

Patch

diff --git a/include/linux/kexec.h b/include/linux/kexec.h
index 9e93bef52968..3671b845cf28 100644
--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -309,6 +309,8 @@  extern void machine_kexec_cleanup(struct kimage *image);
 extern int kernel_kexec(void);
 extern struct page *kimage_alloc_control_pages(struct kimage *image,
 						unsigned int order);
+int machine_kexec_post_load(struct kimage *image);
+
 extern void __crash_kexec(struct pt_regs *);
 extern void crash_kexec(struct pt_regs *);
 int kexec_should_crash(struct task_struct *);
diff --git a/kernel/kexec_internal.h b/kernel/kexec_internal.h
index 39d30ccf8d87..48aaf2ac0d0d 100644
--- a/kernel/kexec_internal.h
+++ b/kernel/kexec_internal.h
@@ -13,8 +13,6 @@  void kimage_terminate(struct kimage *image);
 int kimage_is_destination_range(struct kimage *image,
 				unsigned long start, unsigned long end);
 
-int machine_kexec_post_load(struct kimage *image);
-
 extern struct mutex kexec_mutex;
 
 #ifdef CONFIG_KEXEC_FILE