Re: [PATCH] ACPI/IORT: Increase allocation size up to sizeof(struct acpi_iort_node)

Robin Murphy
2023-02-01T16:16:00Z

On 2023-02-01 02:12, Alexey V. Vissarionov wrote:
> The node is a pointer to struct acpi_iort_node, so it's just 4 or 8
> bytes, while the structure itself is several times bigger.

That is indeed true. Something that is also true is that "&node" is of
type "struct acpi_iort_node **", and is a pointer to a pointer object.
One of these facts is more relevant to this code than the other.

> Found by ALT Linux Team (altlinux.org) and Linux Verification Center
> (linuxtesting.org) using SVACE.

If your tool really thinks we should be copying 17 bytes out of an
8-byte object, please fix it before "verifying" any more code.

Thanks,
Robin.

> Signed-off-by: Alexey V. Vissarionov <gremlin@altlinux.org>
> Fixes: 24e516049360 ("ACPI/IORT: Add support for PMCG")
>
> ---
>
> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
> index 38fb84974f352cc8..edb94b52bf3a21ce 100644
> --- a/drivers/acpi/arm64/iort.c
> +++ b/drivers/acpi/arm64/iort.c
> @@ -1832,7 +1832,8 @@ static int __init iort_add_platform_device(struct acpi_iort_node *node,
> if (ops->dev_add_platdata)
> ret = ops->dev_add_platdata(pdev);
> else
> - ret = platform_device_add_data(pdev, &node, sizeof(node));
> + ret = platform_device_add_data(pdev, &node,
> + sizeof(struct acpi_iort_node));
>
> if (ret)
> goto dev_put;
>
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel