Re: [PATCH -next v2] ia64: make IA64_MCA_RECOVERY bool instead of tristate

From: Eric W. Biederman
Date: Mon Jan 24 2022 - 22:01:38 EST


Randy Dunlap <rdunlap@xxxxxxxxxxxxx> writes:

> In linux-next, IA64_MCA_RECOVERY uses the (new) function make_task_dead(),
> which is not exported for use by modules. Instead of exporting it for
> one user, convert IA64_MCA_RECOVERY to be a bool Kconfig symbol.
>
> In a config file from "kernel test robot <lkp@xxxxxxxxx>" for a
> different problem, this linker error was exposed when
> CONFIG_IA64_MCA_RECOVERY=m.
>
> Fixes this build error:
>
> ERROR: modpost: "make_task_dead" [arch/ia64/kernel/mca_recovery.ko] undefined!

Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>

I looked and ia64_unreg_MCA_extension has no synchronization so I don't
think it has ever been safe to this code when built as a module.


> Fixes: 0e25498f8cd4 ("exit: Add and use make_task_dead.")
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: linux-ia64@xxxxxxxxxxxxxxx
> Cc: Tony Luck <tony.luck@xxxxxxxxx>
> Cc: kernel test robot <lkp@xxxxxxxxx>
> Suggested-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> ---
> v1 was [PATCH -next] exit: export make_task_dead().
> Christoph suggests and prefers that IA64 MCA recovery code just be
> forced to be builtin if it is enabled.
>
> arch/ia64/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-next-20220121.orig/arch/ia64/Kconfig
> +++ linux-next-20220121/arch/ia64/Kconfig
> @@ -318,7 +318,7 @@ config ARCH_PROC_KCORE_TEXT
> depends on PROC_KCORE
>
> config IA64_MCA_RECOVERY
> - tristate "MCA recovery from errors other than TLB."
> + bool "MCA recovery from errors other than TLB."
>
> config IA64_PALINFO
> tristate "/proc/pal support"