Re: [PATCH] acpi / apei: fix NULL deref during init

From: Borislav Petkov
Date: Fri Dec 14 2018 - 15:24:16 EST


On Fri, Dec 14, 2018 at 07:15:14PM +0100, Thomas Schoebel-Theuer wrote:
> Reason is a conditional initialization of variable arch_res, which happens
> only under a specific precondition. When the condition is false, the
> variable remains uninitialized.

Are you talking about the precondition

if (arch_apei_filter_addr)

?

Because apei_resources_fini() happens under the same condition check and
if arch_apei_filter_addr was false, it should not become true, all of a
sudden. Or?

Or does that function ptr get set in the meantime on your machine? I.e., this
hackery:

#define set_apei_filter() (arch_apei_filter_addr = pci_mmcfg_for_each_region)

being called in pci_mmcfg_early_init()...

?

Hmmm.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.