[PATCH] PCI: rockchip-dwc: Potential error pointer dereference in probe
Robin Murphy
robin.murphy at arm.com
Fri Aug 13 08:00:45 PDT 2021
On 2021-08-13 15:32, Mark Brown wrote:
> On Fri, Aug 13, 2021 at 03:01:10PM +0100, Robin Murphy wrote:
>
>> Indeed I've thought before that it would be nice if regulators worked like
>> GPIOs, where the absence of an optional one does give you NULL, and most of
>> the API is also NULL-safe. Probably a pretty big job though...
>
> It also encourages *really* bad practice with error handling, and in
> general there are few use cases for optional regulators where there's
> not some other actions that need to be taken in the case where the
> supply isn't there (elimintating some operating points or features,
> reconfiguring power internally and so on). If we genuninely don't need
> to do anything special one wonders why we're trying to turn the power on
> in the first place.
Sure, once you get into it, regulators are arguably a rather deeper area
than GPIOs, so in terms of the NULL-safe aspect anything beyond
enable/disable - for the sake of keeping trivial usage simple - would be
pretty questionable for sure.
A lot of the usage of regulator_get_optional() seems to be just making
sure some external thing is powered between probe() and remove() if it's
not hard-wired already, so maybe something like a
devm_regulator_get_optional_enabled() could be an answer to that
argument without even touching the underlying API.
Robin.
More information about the Linux-rockchip
mailing list