On 21.04.2016 15:00, Geert Uytterhoeven wrote:
On Thu, Apr 21, 2016 at 12:24 PM, Dirk Behme <[email protected]> wrote:
In case thermal_zone_xxx_register() returns an error, priv->zone
isn't NULL any more, but contains the error code.

This is passed to thermal_zone_device_unregister(), then. This checks
for priv->zone being NULL, but the error code is != NULL. So it works
with the error code as a pointer. Crashing immediately.

To fix this, reset priv->zone to NULL before entering
rcar_gen3_thermal_remove().

Alternatively, you could prevent a non-valid zone pointer from ever
ending up in priv->zone by assigning the zone to a temporary variable,
and only storing that in priv->zone after the error check.

Signed-off-by: Dirk Behme <[email protected]>

Regardless of the above
Reviewed-by: Geert Uytterhoeven <[email protected]>


Could this be applied, then?


Best regards

Dirk

Reply via email to