[lvc-project] [PATCH] ACPICA: fix largest possible resource descriptor index
Fedor Pchelkin
pchelkin at ispras.ru
Wed Aug 6 21:50:43 MSK 2025
Hey Dmitry,
On Wed, 06. Aug 19:13, Dmitry Antipov wrote:
> ACPI_RESOURCE_NAME_LARGE_MAX should be equal to the last actually
> used resource descriptor index (ACPI_RESOURCE_NAME_CLOCK_INPUT).
> Otherwise 'resource_index' in 'acpi_ut_validate_resource()' may be
> clamped incorrectly and resulting value may issue an out-of-bounds
> access for 'acpi_gbl_resource_types' array. Compile tested only.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: 520d4a0ee5b6 ("ACPICA: add support for ClockInput resource (v6.5)")
> Signed-off-by: Dmitry Antipov <dmantipov at yandex.ru>
> ---
ACPICA patches should go through the separate Github project [1] first.
Please see [2] and [3] for examples.
[1]: https://github.com/acpica/acpica
[2]: https://docs.kernel.org/driver-api/acpi/linuxized-acpica.html
[3]: https://lore.kernel.org/acpica-devel/CAJZ5v0i7LYzF13M0qdeYWXZ7uO6HUpAS7pE5RJnOAJtKB8o88A@mail.gmail.com/T/#u
> drivers/acpi/acpica/aclocal.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
> index 0c41f0097e8d..f98640086f4e 100644
> --- a/drivers/acpi/acpica/aclocal.h
> +++ b/drivers/acpi/acpica/aclocal.h
> @@ -1141,7 +1141,7 @@ struct acpi_port_info {
> #define ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION 0x91
> #define ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG 0x92
> #define ACPI_RESOURCE_NAME_CLOCK_INPUT 0x93
> -#define ACPI_RESOURCE_NAME_LARGE_MAX 0x94
> +#define ACPI_RESOURCE_NAME_LARGE_MAX 0x93
I think some brief comment in the code explaining the reasoning for such a
definition for the MAX value would be worth it.
Though another way is to tweak the check inside acpi_ut_validate_resource()
to have '>=':
if (resource_type > ACPI_RESOURCE_NAME_LARGE_MAX) {
goto invalid_resource;
}
Maybe that'd be a bit clearer?
Thanks!
>
> /*****************************************************************************
> *
> --
> 2.50.1
More information about the lvc-project
mailing list