diff mbox series

[-next] acpi/numa/hmat: fix a section mismatch

Message ID 20191111213426.1415-1-cai@lca.pw (mailing list archive)
State Mainlined, archived
Headers show
Series [-next] acpi/numa/hmat: fix a section mismatch | expand

Commit Message

Qian Cai Nov. 11, 2019, 9:34 p.m. UTC
The commit cf8741ac57ed ("ACPI: NUMA: HMAT: Register "soft reserved"
memory as an "hmem" device") introduced a linker warning,

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

Since hmat_register_target() is also called from hmat_callback(), and
then register_hotmemory_notifier() where it should not be freed when
hmat_init() is done, it indicates the annotation of
hmat_register_target_devices() is incorrect.

Fixes: cf8741ac57ed ("ACPI: NUMA: HMAT: Register "soft reserved" memory as an "hmem" device")
Signed-off-by: Qian Cai <cai@lca.pw>
---
 drivers/acpi/numa/hmat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rafael J. Wysocki Nov. 12, 2019, 9:01 a.m. UTC | #1
On Mon, Nov 11, 2019 at 10:34 PM Qian Cai <cai@lca.pw> wrote:
>
> The commit cf8741ac57ed ("ACPI: NUMA: HMAT: Register "soft reserved"
> memory as an "hmem" device") introduced a linker warning,
>
> WARNING: vmlinux.o(.text+0x64ec3c): Section mismatch in reference from
> the function hmat_register_target() to the function
> .init.text:hmat_register_target_devices()
> The function hmat_register_target() references
> the function __init hmat_register_target_devices().
> This is often because hmat_register_target lacks a __init
> annotation or the annotation of hmat_register_target_devices is wrong.
>
> Since hmat_register_target() is also called from hmat_callback(), and
> then register_hotmemory_notifier() where it should not be freed when
> hmat_init() is done, it indicates the annotation of
> hmat_register_target_devices() is incorrect.
>
> Fixes: cf8741ac57ed ("ACPI: NUMA: HMAT: Register "soft reserved" memory as an "hmem" device")
> Signed-off-by: Qian Cai <cai@lca.pw>

Applying with minor modifications of the subject and changelog, thanks!

> ---
>  drivers/acpi/numa/hmat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c
> index 42cafeaac336..600ae3babd15 100644
> --- a/drivers/acpi/numa/hmat.c
> +++ b/drivers/acpi/numa/hmat.c
> @@ -694,7 +694,7 @@ static void hmat_register_target_device(struct memory_target *target,
>         memregion_free(id);
>  }
>
> -static __init void hmat_register_target_devices(struct memory_target *target)
> +static void hmat_register_target_devices(struct memory_target *target)
>  {
>         struct resource *res;
>
> --
> 2.21.0 (Apple Git-122.2)
>
diff mbox series

Patch

diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c
index 42cafeaac336..600ae3babd15 100644
--- a/drivers/acpi/numa/hmat.c
+++ b/drivers/acpi/numa/hmat.c
@@ -694,7 +694,7 @@  static void hmat_register_target_device(struct memory_target *target,
 	memregion_free(id);
 }
 
-static __init void hmat_register_target_devices(struct memory_target *target)
+static void hmat_register_target_devices(struct memory_target *target)
 {
 	struct resource *res;