Messages in this thread | | | Subject | Re: [PATCH v2 1/1] mux: mux-core: Add NULL check for dev->of_node | From | "Kuppuswamy, Sathyanarayanan" <> | Date | Sat, 8 Jul 2017 16:12:42 -0700 |
| |
Hi Peter,
On 7/8/2017 2:00 PM, Peter Rosin wrote: > On 2017-07-07 23:46, sathyanarayanan.kuppuswamy@linux.intel.com wrote: >> From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> >> >> If dev->of_node is NULL, then calling mux_control_get() >> function can lead to NULL pointer exception. So adding >> a NULL check for dev->of_node. >> >> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> > Do you have a driver that might call mux_control_get and not have any > of_node? For non-device tree drivers, this case is valid. I hit this issue when I was working on Intel USB MUX driver. > If not, I don't see the point of this check. Since this is an API for other consumers, I think its better to have some sanity checks.
If a non device tree driver call this API , I think its better to fail with some error no instead of creating null pointer exception. > > Cheers, > peda > >> --- >> drivers/mux/mux-core.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> Changes since v1: >> * Removed dummy new line. >> >> diff --git a/drivers/mux/mux-core.c b/drivers/mux/mux-core.c >> index 90b8995..924c983 100644 >> --- a/drivers/mux/mux-core.c >> +++ b/drivers/mux/mux-core.c >> @@ -438,6 +438,9 @@ struct mux_control *mux_control_get(struct device *dev, const char *mux_name) >> int index = 0; >> int ret; >> >> + if (!np) >> + return ERR_PTR(-ENODEV); >> + >> if (mux_name) { >> index = of_property_match_string(np, "mux-control-names", >> mux_name); >>
| |