mirror of https://github.com/torvalds/linux.git
When obtaining one or more optional resets, non-existent resets are stored as NULL pointers, and all related error and cleanup paths need to take this into account. Currently only reset_control_put() and reset_control_bulk_put() get this right. All of __reset_control_bulk_get(), of_reset_control_array_get(), and reset_control_array_put() lack the proper checking, causing NULL pointer dereferences on failure or release. Fix this by moving the existing check from reset_control_bulk_put() to __reset_control_put_internal(), so it applies to all callers. The double check in reset_control_put() doesn't hurt. Fixes: |
||
|---|---|---|
| .. | ||
| hisilicon | ||
| starfive | ||
| sti | ||
| tegra | ||
| Kconfig | ||
| Makefile | ||
| core.c | ||
| reset-a10sr.c | ||
| reset-ath79.c | ||
| reset-axs10x.c | ||
| reset-bcm6345.c | ||
| reset-berlin.c | ||
| reset-brcmstb-rescal.c | ||
| reset-brcmstb.c | ||
| reset-hsdk.c | ||
| reset-imx7.c | ||
| reset-intel-gw.c | ||
| reset-k210.c | ||
| reset-lantiq.c | ||
| reset-lpc18xx.c | ||
| reset-ma35d1.c | ||
| reset-meson-audio-arb.c | ||
| reset-meson.c | ||
| reset-microchip-sparx5.c | ||
| reset-mpfs.c | ||
| reset-npcm.c | ||
| reset-pistachio.c | ||
| reset-qcom-aoss.c | ||
| reset-qcom-pdc.c | ||
| reset-raspberrypi.c | ||
| reset-rzg2l-usbphy-ctrl.c | ||
| reset-scmi.c | ||
| reset-simple.c | ||
| reset-socfpga.c | ||
| reset-sunplus.c | ||
| reset-sunxi.c | ||
| reset-ti-sci.c | ||
| reset-ti-syscon.c | ||
| reset-tn48m.c | ||
| reset-tps380x.c | ||
| reset-uniphier-glue.c | ||
| reset-uniphier.c | ||
| reset-zynq.c | ||
| reset-zynqmp.c | ||