Re: Linux 6.18.17 -- build regression
From: Richard Narron
Date: Sat Mar 14 2026 - 11:01:14 EST
On Fri, 13 Mar 2026, Cal Peake wrote:
> On Fri, 13 Mar 2026, Richard Narron wrote:
>
> > On Thu, 12 Mar 2026, Sasha Levin wrote:
> >
> > > Could you please confirm that cherry-picking 93d0fcdddc9e ("cxl/acpi: Fix
> > > CXL_ACPI and CXL_PMEM Kconfig tristate mismatch") fixes the issue you're
> > > seeing?
> > >
> > Hello Sasha,
> >
> > Patrick Volkerding found a patch that worked for me:
> >
> > https://lore.kernel.org/lkml/20260302200429.803417-1-gourry@xxxxxxxxxx/
> >
> > In drivers/cxl/acpi.c
> > static int cxl_acpi_probe(struct platform_device *pdev)
> > it changes IS_ENABLED(CONFIG_CXL_PMEM)
> > to IS_REACHABLE(CONFIG_CXL_PMEM)
> >
>
> Hi Richard, Pat,
>
> Below is the commit that Sasha pointed me to that fixes the issue for me
> if you'd like to have a look.
>
> --
> Cal Peake
>
> >From 93d0fcdddc9e7be9d4f42acbe57bc90dbb0fe75d Mon Sep 17 00:00:00 2001
> From: Keith Busch <kbusch@xxxxxxxxxx>
> Date: Thu, 5 Mar 2026 12:40:56 -0800
> Subject: cxl/acpi: Fix CXL_ACPI and CXL_PMEM Kconfig tristate mismatch
>
> Commit e7e222ad73d9 ("cxl: Move devm_cxl_add_nvdimm_bridge() to
> cxl_pmem.ko") moves devm_cxl_add_nvdimm_bridge() into the cxl_pmem file,
> which has independent config compile options for built-in or module. The
> call from cxl_acpi_probe() is guarded by IS_ENABLED(CONFIG_CXL_PMEM),
> which evaluates to true for both =y and =m.
>
> When CONFIG_CXL_PMEM=m, a built-in cxl_acpi attempts to reference a
> symbol exported by a module, which fails to link. CXL_PMEM cannot simply
> be promoted to =y in this configuration because it depends on LIBNVDIMM,
> which may itself be =m.
>
> Add a Kconfig dependency to prevent CXL_ACPI from being built-in when
> CXL_PMEM is a module. This contrains CXL_ACPI to =m when CXL_PMEM=m,
> while still allowing CXL_ACPI to be freely configured when CXL_PMEM is
> either built-in or disabled.
>
> [ dj: Fix up commit reference formatting. ]
>
> Fixes: e7e222ad73d9 ("cxl: Move devm_cxl_add_nvdimm_bridge() to cxl_pmem.ko")
> Signed-off-by: Keith Busch <kbusch@xxxxxxxxxx>
> Reviewed-by: Jonathan Cameron <jonathan.cameron@xxxxxxxxxx>
> Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> Link: https://patch.msgid.link/20260305204057.1516948-1-kbusch@xxxxxxxx
> Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> ---
> drivers/cxl/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cxl/Kconfig b/drivers/cxl/Kconfig
> index 4589bf11d3fe00..80aeb0d556bd76 100644
> --- a/drivers/cxl/Kconfig
> +++ b/drivers/cxl/Kconfig
> @@ -59,6 +59,7 @@ config CXL_ACPI
> tristate "CXL ACPI: Platform Support"
> depends on ACPI
> depends on ACPI_NUMA
> + depends on CXL_PMEM || !CXL_PMEM
> default CXL_BUS
> select ACPI_TABLE_LIB
> select ACPI_HMAT
> --
> cgit 1.2.3-korg
>
>
Hi Cal and Sasha,
I tested the patch and it gave me a clean build.
Patrick found a "no-patch" configuration solution:
Change CXL_ACPI=y to CXL_ACPI=m
which I also tested and it also gave me a clean build.