acpi_resource bug?

John Baldwin jhb at freebsd.org
Mon Feb 14 18:38:07 UTC 2011


On Monday, February 14, 2011 1:30:18 pm Jung-uk Kim wrote:
> On Monday 14 February 2011 10:29 am, Matthew Fleming wrote:
> > On Mon, Feb 14, 2011 at 6:24 AM, John Baldwin <jhb at freebsd.org> 
> wrote:
> > > On Sunday, February 13, 2011 2:46:07 pm Matthew Fleming wrote:
> > >> I'm not very familiar with the acpi code, but we have seen an
> > >> intermittent issue on boot:
> > >>
> > >> 1) should the length of the bcopy() be changed to either respect
> > >> res->Length or the actual length of the ACPI_RESOURCE_DATA for
> > >> the type?
> > >
> > > It should just use res->Length:
> >
> > Is there a guarantee that res->Length is <= sizeof(ACPI_RESOURCE) ?
> 
> No.  Please try the attached patch (after your r218685).

I think your patch is correct, but are you saying that ACPICA will return a 
resource with a size that doesn't match its type?

ACPI_RESOURCE_DATA is a union of all the various resource types, and it does 
contain both ACPI_RESOURCE_IRQ and ACPI_RESOURCE_EXTENDED_IRQ, so it's hard
to see how res->Length would be greater than the size of ACPI_RESOURCE.

-- 
John Baldwin


More information about the freebsd-current mailing list