On Thu, Nov 29, 2012 at 4:10 PM, Rafael J. Wysocki <[email protected]> wrote:
> From: Rafael J. Wysocki <[email protected]>
>
> During resume from system suspend the 'data' field of
> struct pnp_dev in pnpacpi_set_resources() may be a stale pointer,
> due to removal of the associated ACPI device node object in the
> previous suspend-resume cycle.  This happens, for example, if a
> dockable machine is booted in the docking station and then suspended
> and resumed and suspended again.  If that happens,
> pnpacpi_build_resource_template() called from pnpacpi_set_resources()
> attempts to use that pointer and crashes.
>
> However, pnpacpi_set_resources() actually checks the device's ACPI
> handle, attempts to find the ACPI device node object attached to it
> and returns an error code if that fails, so in fact it knows what the
> correct value of dev->data should be.  Use this observation to update
> dev->data with the correct value if necessary and dump a call trace
> if that's the case (once).
>
> We still need to fix the root cause of this issue, but preventing
> systems from crashing because of it is an improvement too.
>
> Reported-and-tested-by: Zdenek Kabelac <[email protected]>
> References: https://bugzilla.kernel.org/show_bug.cgi?id=51071
> Signed-off-by: Rafael J. Wysocki <[email protected]>

Any reason why this shouldn't go into stable releases?

-- Shuah
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to