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] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 18 Jul 2023 09:52:11 +0200
From:   Lorenzo Pieralisi <lpieralisi@...nel.org>
To:     Guanghui Feng <guanghuifeng@...ux.alibaba.com>
Cc:     guohanjun@...wei.com, sudeep.holla@....com, rafael@...nel.org,
        linux-acpi@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org, baolin.wang@...ux.alibaba.com,
        alikernel-developer@...ux.alibaba.com, will@...nel.org,
        catalin.marinas@....com, shameerali.kolothum.thodi@...wei.com
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:
> 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@...ux.alibaba.com>
> ---
>  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)

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) ?

Thanks,
Lorenzo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ