On Thu, Sep 10, 2020 at 10:04:24AM +0530, Anmol Karn wrote: > Prevent hci_phy_link_complete_evt() from dereferencing 'hcon->amp_mgr' > as NULL. Fix it by adding pointer check for it. > > Reported-and-tested-by: syzbot+0bef568258653cff2...@syzkaller.appspotmail.com > Link: https://syzkaller.appspot.com/bug?extid=0bef568258653cff272f > Signed-off-by: Anmol Karn <anmol.karan...@gmail.com> > --- > net/bluetooth/hci_event.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c > index 4b7fc430793c..871e16804433 100644 > --- a/net/bluetooth/hci_event.c > +++ b/net/bluetooth/hci_event.c > @@ -4936,6 +4936,11 @@ static void hci_phy_link_complete_evt(struct hci_dev > *hdev, > return; > } > > + if (IS_ERR_OR_NULL(hcon->amp_mgr)) { > + hci_dev_unlock(hdev); > + return; > + } > +
In patches that fix a NULL pointer dereference, please include a brief explanation of why the pointer can be NULL, including what it means semantically; and why the proposed change is the best fix for the problem. Also, why IS_ERR_OR_NULL()? - Eric