Should the mutex be held during this check? Do you know if any of the users need changing to IS_ERR_OR_NULL or should the dev member also be checked? I'm not sure if this is true of the BUG_ON macros but I have seen implementations of similar macros that are used in the conditional avoiding the need for a 2nd check. On Fri, Dec 27, 2019 at 10:18 AM Sasha Levin <sashal@xxxxxxxxxx> wrote: > > From: Aditya Pakki <pakki001@xxxxxxx> > > [ Upstream commit 6fc232db9e8cd50b9b83534de9cd91ace711b2d7 ] > > In rfkill_register, the struct rfkill pointer is first derefernced > and then checked for NULL. This patch removes the BUG_ON and returns > an error to the caller in case rfkill is NULL. > > Signed-off-by: Aditya Pakki <pakki001@xxxxxxx> > Link: https://lore.kernel.org/r/20191215153409.21696-1-pakki001@xxxxxxx > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > --- > net/rfkill/core.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/net/rfkill/core.c b/net/rfkill/core.c > index 884027f62783..87c35844d7d9 100644 > --- a/net/rfkill/core.c > +++ b/net/rfkill/core.c > @@ -940,10 +940,13 @@ static void rfkill_sync_work(struct work_struct *work) > int __must_check rfkill_register(struct rfkill *rfkill) > { > static unsigned long rfkill_no; > - struct device *dev = &rfkill->dev; > + struct device *dev; > int error; > > - BUG_ON(!rfkill); > + if (!rfkill) > + return -EINVAL; > + > + dev = &rfkill->dev; > > mutex_lock(&rfkill_global_mutex); > > -- > 2.20.1 >