[PATCH] ACPI: HMAT: Mark hmat_set_default_dram_perf() as __init

From: Nathan Chancellor
Date: Wed Jul 10 2024 - 12:34:37 EST


After commit 4dc70b711dbc ("memory tier: consolidate the initialization
of memory tiers"), there is a modpost warning when
hmat_set_default_dram_perf() is not inlined into its callsite, as it
appears that default_dram_nodes may be accessed after its memory has
been freed.

WARNING: modpost: vmlinux: section mismatch in reference: hmat_set_default_dram_perf+0x18 (section: .text) -> default_dram_nodes (section: .init.data)

The single callsite, hmat_init(), is __init, so this warning is not a
problem in reality but it is easily solvable by marking
hmat_set_default_dram_perf() as __init, which should have been done when
this function was added in commit 3718c02dbd4c ("acpi, hmat: calculate
abstract distance with HMAT").

Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202406292310.hlRATeZJ-lkp@xxxxxxxxx/
Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
---
I left off a fixes tag as I assume this is going to be squashed into the
former change mentioned above, as it is still in mm-unstable, but feel
free to add one if the patch is going to be standalone.
---
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 a2f9e7a4b479..ca0c0ea3e1ef 100644
--- a/drivers/acpi/numa/hmat.c
+++ b/drivers/acpi/numa/hmat.c
@@ -933,7 +933,7 @@ static int hmat_callback(struct notifier_block *self,
return NOTIFY_OK;
}

-static int hmat_set_default_dram_perf(void)
+static __init int hmat_set_default_dram_perf(void)
{
int rc;
int nid, pxm;

---
base-commit: 17bcc624e67da6383060ee24483db77aa17276aa
change-id: 20240710-fix-modpost-warning-default_dram_nodes-38b6faffe3da

Best regards,
--
Nathan Chancellor <nathan@xxxxxxxxxx>