Message ID | 20180724111413.4056-1-horms+renesas@verge.net.au (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Eduardo Valentin |
Headers | show |
Series | thermal: rcar_thermal: avoid NULL dereference in absense of IRQ resources | expand |
On Tue, Jul 24, 2018 at 1:15 PM Simon Horman <horms+renesas@verge.net.au> wrote: > Ensure that the base address used by a call to rcar_thermal_common_write() > may be NULL if the SOC supports interrupts for use with the thermal device > but none are defined in DT as is the case for R-Car H1 (r8a7779). Guard > against this condition to prevent a NULL dereference when the device is > probed. > > Tested on: > * R-Mobile APE6 (r8a73a4) / APE6EVM > * R-Car H1 (r8a7779) / Marzen > * R-Car H2 (r8a7790) / Lager > * R-Car M2-W (r8a7791) / Koelsch > * R-Car M2-N (r8a7793) / Gose > * R-Car D3 ES1.0 (r8a77995) / Draak > > Fixes: 1969d9dc2079 ("thermal: rcar_thermal: add r8a77995 support") > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert
diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c index 45fb284d4c11..e77e63070e99 100644 --- a/drivers/thermal/rcar_thermal.c +++ b/drivers/thermal/rcar_thermal.c @@ -598,7 +598,7 @@ static int rcar_thermal_probe(struct platform_device *pdev) enr_bits |= 3 << (i * 8); } - if (enr_bits) + if (common->base && enr_bits) rcar_thermal_common_write(common, ENR, enr_bits); dev_info(dev, "%d sensor probed\n", i);
Ensure that the base address used by a call to rcar_thermal_common_write() may be NULL if the SOC supports interrupts for use with the thermal device but none are defined in DT as is the case for R-Car H1 (r8a7779). Guard against this condition to prevent a NULL dereference when the device is probed. Tested on: * R-Mobile APE6 (r8a73a4) / APE6EVM * R-Car H1 (r8a7779) / Marzen * R-Car H2 (r8a7790) / Lager * R-Car M2-W (r8a7791) / Koelsch * R-Car M2-N (r8a7793) / Gose * R-Car D3 ES1.0 (r8a77995) / Draak Fixes: 1969d9dc2079 ("thermal: rcar_thermal: add r8a77995 support") Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- Based on v4.18-rc6 --- drivers/thermal/rcar_thermal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)