lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20201112170546.GA26282@e121166-lin.cambridge.arm.com>
Date:   Thu, 12 Nov 2020 17:05:46 +0000
From:   Lorenzo Pieralisi <lorenzo.pieralisi@....com>
To:     Baolin Wang <baolin.wang@...ux.alibaba.com>
Cc:     Will Deacon <will@...nel.org>, catalin.marinas@....com,
        baolin.wang7@...il.com, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org, Jonathan.Cameron@...wei.com
Subject: Re: [PATCH] arm64: PCI: Validate the node before setting node id for
 root bus

[+Jonathan]

On Mon, Nov 09, 2020 at 08:27:09PM +0800, Baolin Wang wrote:

[...]

> I did some investigation for this issue. I am sorry I made some
> misleading description in the commit message. The issue is, when we
> want to disable the NUMA from firmware, we usually just remove the SRAT
> table from the BIOS. But the devices' proximity domain information is
> still remain in the ACPI tables.

I understand and it should not.

> For example, the IORT table still contains the proximity domain
> information for the SMMU devices, so in this case, the SMMU devices still
> can get incorrect NUMA nodes if we remove the SRAT table. But
> the SMMU devices will validate the numa node in
> arm_smmu_v3_set_proximity() to avoid this issue.
> 
> static int  __init arm_smmu_v3_set_proximity(struct device *dev,
> 					      struct acpi_iort_node *node)
> {
> 	struct acpi_iort_smmu_v3 *smmu;
> 
> 	smmu = (struct acpi_iort_smmu_v3 *)node->node_data;
> 	if (smmu->flags & ACPI_IORT_SMMU_V3_PXM_VALID) {
> 		int dev_node = pxm_to_node(smmu->pxm);
> 
> 		if (dev_node != NUMA_NO_NODE && !node_online(dev_node))
> 			return -EINVAL;
> 
> 		set_dev_node(dev, dev_node);
> 		pr_info("SMMU-v3[%llx] Mapped to Proximity domain %d\n",
> 			smmu->base_address,
> 			smmu->pxm);
> 	}
> 	return 0;
> }
> 
> So similar with SMMU devices, the DSDT table will still contain the PCI
> root host devices' proximity domain though we already remove the SRAT
> table. So I think we still need this validation in
> pcibios_root_bridge_prepare() to avoid this issue like other devices did.
No. The right thing to do is to fix the PXM handling and that's what
Jonathan did:

https://lore.kernel.org/linux-mm/20200818142430.1156547-2-Jonathan.Cameron@huawei.com

Can you try booting with v5.10-rc* and report back the *full* boot log
please ?

> I can update the commit message in next version if you think this is
> reasonable. Thanks.

See above.

Thanks,
Lorenzo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ