Thread (13 messages) 13 messages, 6 authors, 2023-07-28

RE: [PATCH v3] ACPI/IORT: Remove erroneous id_count check in iort_node_get_rmr_info()

From: Shameerali Kolothum Thodi <hidden>
Date: 2023-07-18 08:56:26
Also in: linux-acpi, lkml

-----Original Message-----
From: Lorenzo Pieralisi [mailto:lpieralisi@kernel.org]
Sent: 18 July 2023 08:52
To: Guanghui Feng <redacted>
Cc: Guohanjun (Hanjun Guo) <guohanjun@huawei.com>;
sudeep.holla@arm.com; rafael@kernel.org; linux-acpi@vger.kernel.org;
linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
baolin.wang@linux.alibaba.com; alikernel-developer@linux.alibaba.com;
will@kernel.org; catalin.marinas@arm.com; Shameerali Kolothum Thodi
[off-list ref]
Subject: Re: [PATCH v3] ACPI/IORT: Remove erroneous id_count check in
iort_node_get_rmr_info()

[+Catalin, Will, Shameer]

On Mon, Jul 17, 2023 at 07:33:45PM +0800, Guanghui Feng wrote:
quoted
According to the ARM IORT specifications DEN 0049 issue E,
the "Number of IDs" field in the ID mapping format reports
the number of IDs in the mapping range minus one.

In iort_node_get_rmr_info(), we erroneously skip ID mappings
whose "Number of IDs" equal to 0, resulting in valid mapping
nodes with a single ID to map being skipped, which is wrong.

Fix iort_node_get_rmr_info() by removing the bogus id_count
check.

Fixes: 491cf4a6735a ("ACPI/IORT: Add support to retrieve IORT RMR
reserved regions")
quoted
Signed-off-by: Guanghui Feng <redacted>
---
 drivers/acpi/arm64/iort.c | 3 ---
 1 file changed, 3 deletions(-)
diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
index 3631230..56d8873 100644
--- a/drivers/acpi/arm64/iort.c
+++ b/drivers/acpi/arm64/iort.c
@@ -1007,9 +1007,6 @@ static void iort_node_get_rmr_info(struct
acpi_iort_node *node,
quoted
 	for (i = 0; i < node->mapping_count; i++, map++) {
 		struct acpi_iort_node *parent;

-		if (!map->id_count)
-			continue;
-
 		parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table,
 				      map->output_reference);
 		if (parent != iommu)
Shameer, I know this may look like overkill since the hunk we are
removing is buggy but can you please test this patch on platforms
with RMR to make sure we are not triggering regressions by removing 
it (by the specs that's what should be done but current firmware
is always something to reckon with) ?
Yes, that is a valid fix. Unlikely it will be a problem. Anyway, I have requested
Hanjun to help with the testing as I don't have a test setup with me now.

Hanjun, please help.

Thanks,
Shameer 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help