[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181214222236.GK11710@zn.tnic>
Date: Fri, 14 Dec 2018 23:22:36 +0100
From: Borislav Petkov <bp@...en8.de>
To: Thomas Schoebel-Theuer <tst@...oebel-theuer.de>
Cc: linux-kernel@...r.kernel.org, Laura Abbott <labbott@...hat.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Len Brown <lenb@...nel.org>, Tony Luck <tony.luck@...el.com>,
linux-acpi@...r.kernel.org
Subject: Re: [PATCH] acpi / apei: fix NULL deref during init
On Fri, Dec 14, 2018 at 10:27:25PM +0100, Thomas Schoebel-Theuer wrote:
> please take a look at the stacktrace. For some reason, and only at that
> specific hardware, the condition is false, there but later the indicated
> error exit is taken whose message you can see immediately before the stack
> trace.
Yes, but if you say "for some reason", then we still don't know what
the root cause is. So before we do any fixing, let's find out what the
problem is first.
Can you pls run this debugging hunk ontop of -rc6, on the box and send
me full dmesg? Privately is fine too.
Thx.
---
diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c
index 7389db538c30..5166639b7280 100644
--- a/arch/x86/pci/mmconfig-shared.c
+++ b/arch/x86/pci/mmconfig-shared.c
@@ -667,6 +667,9 @@ void __init pci_mmcfg_early_init(void)
acpi_sfi_table_parse(ACPI_SIG_MCFG, pci_parse_mcfg);
__pci_mmcfg_init(1);
+ pr_info("%s: setting apei filter\n", __func__);
+ dump_stack();
+
set_apei_filter();
}
}
diff --git a/drivers/acpi/apei/apei-base.c b/drivers/acpi/apei/apei-base.c
index da370e1d31f4..e87b183ca73d 100644
--- a/drivers/acpi/apei/apei-base.c
+++ b/drivers/acpi/apei/apei-base.c
@@ -494,6 +494,9 @@ int apei_resources_request(struct apei_resources *resources,
if (rc)
goto nvs_res_fini;
+ pr_info("%s: 1, arch_apei_filter_addr: 0x%px\n",
+ __func__, arch_apei_filter_addr);
+
if (arch_apei_filter_addr) {
apei_resources_init(&arch_res);
rc = apei_get_arch_resources(&arch_res);
@@ -552,6 +555,9 @@ int apei_resources_request(struct apei_resources *resources,
release_mem_region(res->start, res->end - res->start);
}
arch_res_fini:
+ pr_info("%s: arch_res_fini, arch_apei_filter_addr: 0x%px\n",
+ __func__, arch_apei_filter_addr);
+
if (arch_apei_filter_addr)
apei_resources_fini(&arch_res);
nvs_res_fini:
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
Powered by blists - more mailing lists