Message ID | 20210303192614.759729-1-bjorn.andersson@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Commit | d05a12f0478cbae41f26f62af767e86bd550ffb9 |
Headers | show |
Series | usb: dwc3: Flip condition guarding power_supply_put() | expand |
On Wed, Mar 03, 2021 at 11:26:14AM -0800, Bjorn Andersson wrote: > The condition guarding the power_supply_put() calls in error and > removal paths are backwards, resulting in a guaranteed NULL pointer > dereference if no power supply was acquired. > > Fixes: 59fa3def35de ("usb: dwc3: add a power supply for current control") > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- > drivers/usb/dwc3/core.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Already fixed: d05a12f0478c ("usb: dwc3: Fix dereferencing of null dwc->usb_psy") thanks, greg k-h
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index d15f065849cd..94fdbe502ce9 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -1628,7 +1628,7 @@ static int dwc3_probe(struct platform_device *pdev) assert_reset: reset_control_assert(dwc->reset); - if (!dwc->usb_psy) + if (dwc->usb_psy) power_supply_put(dwc->usb_psy); return ret; @@ -1653,7 +1653,7 @@ static int dwc3_remove(struct platform_device *pdev) dwc3_free_event_buffers(dwc); dwc3_free_scratch_buffers(dwc); - if (!dwc->usb_psy) + if (dwc->usb_psy) power_supply_put(dwc->usb_psy); return 0;
The condition guarding the power_supply_put() calls in error and removal paths are backwards, resulting in a guaranteed NULL pointer dereference if no power supply was acquired. Fixes: 59fa3def35de ("usb: dwc3: add a power supply for current control") Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- drivers/usb/dwc3/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)