Re: [PATCH v1] ACPI/IORT: fix IORT Reserved Memory Range node mapping error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is v2, not v1.

Please update the subject.

"ACPI/IORT: Remove erroneous id_count check in iort_node_get_rmr_info()"

On Mon, Jul 17, 2023 at 06:18:58PM +0800, Guanghui Feng wrote:
> In the ARM IORT specifications DEN 0049E.d, the recommended ID mapping format:
> Field		Note Description
> --------------------------------
> Input base	The lowest value in the input range
> Number of IDs	The number of IDs in the range "minus" one
> 
> When there is only one id mapping in the Reserved Memory Range
> (RMR) node, the node filed: "Number of IDs" is zero and
> iort_node_get_rmr_info will not analyse id mapping. This is
> not in compliance with the regulations.

Please replace this commit log with:

"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".

Add a:

Fixes: 491cf4a6735a ("ACPI/IORT: Add support to retrieve IORT RMR reserved regions")

Bump version up to v3 and resend.

Thanks,
Lorenzo

> 
> Signed-off-by: Guanghui Feng <guanghuifeng@xxxxxxxxxxxxxxxxx>
> ---
>  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,
>  	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
> 



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux