]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
of: kexec: Mark ima_{free,stable}_kexec_buffer() as __init
authorNathan Chancellor <nathan@kernel.org>
Tue, 5 Sep 2023 20:36:11 +0000 (13:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Sep 2023 10:22:30 +0000 (12:22 +0200)
commit7039aa1be9ccaf411a2292858903312370b9be7b
treeeb91f98df4e861fe796578954e31861f26236e26
parent759d51eda2d0556ebd7372aac70815b84da51cd3
of: kexec: Mark ima_{free,stable}_kexec_buffer() as __init

This commit has no direct upstream equivalent.

After commit d48016d74836 ("mm,ima,kexec,of: use memblock_free_late from
ima_free_kexec_buffer") in 5.15, there is a modpost warning for certain
configurations:

  WARNING: modpost: vmlinux.o(.text+0xb14064): Section mismatch in reference from the function ima_free_kexec_buffer() to the function .init.text:__memblock_free_late()
  The function ima_free_kexec_buffer() references
  the function __init __memblock_free_late().
  This is often because ima_free_kexec_buffer lacks a __init
  annotation or the annotation of __memblock_free_late is wrong.

In mainline, there is no issue because ima_free_kexec_buffer() is marked
as __init, which was done as part of commit b69a2afd5afc ("x86/kexec:
Carry forward IMA measurement log on kexec") in 6.0, which is not
suitable for stable.

Mark ima_free_kexec_buffer() and its single caller
ima_load_kexec_buffer() as __init in 5.15, as ima_load_kexec_buffer() is
only called from ima_init(), which is __init, clearing up the warning.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/kexec.c
include/linux/of.h
security/integrity/ima/ima.h
security/integrity/ima/ima_kexec.c