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

From: Lorenzo Pieralisi
Date: Thu Jul 27 2023 - 09:39:37 EST


[+Catalin, Will]

On Mon, Jul 17, 2023 at 07:33:45PM +0800, Guanghui Feng wrote:
> 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")
> Signed-off-by: Guanghui Feng <guanghuifeng@xxxxxxxxxxxxxxxxx>
> ---
> drivers/acpi/arm64/iort.c | 3 ---
> 1 file changed, 3 deletions(-)

Acked-by: Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>

Catalin/Will,

can you pick this up please ?

Thanks,
Lorenzo

> 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,
> 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)
> --
> 1.8.3.1
>