2021-06-08 12:31:25

by Joerg Roedel

[permalink] [raw]
Subject: [PATCH] iommu/amd: Fix section mismatch warning for detect_ivrs()

From: Joerg Roedel <[email protected]>

A recent commit introduced this section mismatch warning:

WARNING: modpost: vmlinux.o(.text.unlikely+0x22a1f): Section mismatch in reference from the function detect_ivrs() to the variable .init.data:amd_iommu_force_enable

The reason is that detect_ivrs() is not marked __init while it should
be, because it is only called from another __init function. Mark
detect_ivrs() __init to get rid of the warning.

Fixes: b1e650db2cc4 ("iommu/amd: Add amd_iommu=force_enable option")
Signed-off-by: Joerg Roedel <[email protected]>
---
drivers/iommu/amd/init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
index 4e4fb0f4e412..46280e6e1535 100644
--- a/drivers/iommu/amd/init.c
+++ b/drivers/iommu/amd/init.c
@@ -2817,7 +2817,7 @@ static int amd_iommu_enable_interrupts(void)
return ret;
}

-static bool detect_ivrs(void)
+static bool __init detect_ivrs(void)
{
struct acpi_table_header *ivrs_base;
acpi_status status;
--
2.31.1


2021-06-08 13:54:20

by Deucher, Alexander

[permalink] [raw]
Subject: RE: [PATCH] iommu/amd: Fix section mismatch warning for detect_ivrs()

[AMD Public Use]

> -----Original Message-----
> From: Joerg Roedel <[email protected]>
> Sent: Tuesday, June 8, 2021 8:29 AM
> To: Joerg Roedel <[email protected]>; Will Deacon <[email protected]>
> Cc: Deucher, Alexander <[email protected]>;
> [email protected]; [email protected]; Joerg
> Roedel <[email protected]>
> Subject: [PATCH] iommu/amd: Fix section mismatch warning for
> detect_ivrs()
>
> From: Joerg Roedel <[email protected]>
>
> A recent commit introduced this section mismatch warning:
>
> WARNING: modpost: vmlinux.o(.text.unlikely+0x22a1f): Section
> mismatch in reference from the function detect_ivrs() to the variable
> .init.data:amd_iommu_force_enable
>
> The reason is that detect_ivrs() is not marked __init while it should be,
> because it is only called from another __init function. Mark
> detect_ivrs() __init to get rid of the warning.
>
> Fixes: b1e650db2cc4 ("iommu/amd: Add amd_iommu=force_enable
> option")
> Signed-off-by: Joerg Roedel <[email protected]>

Acked-by: Alex Deucher <[email protected]>

> ---
> drivers/iommu/amd/init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c index
> 4e4fb0f4e412..46280e6e1535 100644
> --- a/drivers/iommu/amd/init.c
> +++ b/drivers/iommu/amd/init.c
> @@ -2817,7 +2817,7 @@ static int amd_iommu_enable_interrupts(void)
> return ret;
> }
>
> -static bool detect_ivrs(void)
> +static bool __init detect_ivrs(void)
> {
> struct acpi_table_header *ivrs_base;
> acpi_status status;
> --
> 2.31.1