Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH] ACPI: check zero length in acpi_rs_get_aml_length | Date | Wed, 16 Jan 2013 14:49:32 +0100 |
| |
Hi,
On Wednesday, January 16, 2013 12:15:28 PM Jiri Slaby wrote: > There is a bug somewhere in the code that does not set the resource > length. This makes the loop in acpi_rs_get_aml_length to loop forever. > So it is a good thing to have the check even if the bug is fixed.
This needs to go through ACPICA upstream (Bob CCed).
> Signed-off-by: Jiri Slaby <jslaby@suse.cz> > --- > drivers/acpi/acpica/rscalc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/acpi/acpica/rscalc.c b/drivers/acpi/acpica/rscalc.c > index da178b4..c128f2e 100644 > --- a/drivers/acpi/acpica/rscalc.c > +++ b/drivers/acpi/acpica/rscalc.c > @@ -198,7 +198,8 @@ acpi_rs_get_aml_length(struct acpi_resource * resource, acpi_size * size_needed) > > /* Validate the descriptor type */ > > - if (resource->type > ACPI_RESOURCE_TYPE_MAX) { > + if (resource->type > ACPI_RESOURCE_TYPE_MAX || > + WARN_ON(!resource->length)) {
So this cannot be a WARN_ON().
> return_ACPI_STATUS(AE_AML_INVALID_RESOURCE_TYPE); > } >
Thanks, Rafael
-- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
| |