From: Karsten Graul Date: Fri, 8 Apr 2022 15:10:34 +0000 (+0200) Subject: net/smc: Fix NULL pointer dereference in smc_pnet_find_ib() X-Git-Tag: baikal/aarch64/sdk6.1~4221^2~15^2~1 X-Git-Url: https://git.baikalelectronics.ru/?a=commitdiff_plain;h=f36cebd9d1455669731d32e6fb3536ea41703211;p=kernel.git net/smc: Fix NULL pointer dereference in smc_pnet_find_ib() dev_name() was called with dev.parent as argument but without to NULL-check it before. Solve this by checking the pointer before the call to dev_name(). Fixes: 191982f0d1e7 ("net/smc: allow PCI IDs as ib device names in the pnet table") Reported-by: syzbot+03e3e228510223dabd34@syzkaller.appspotmail.com Signed-off-by: Karsten Graul Signed-off-by: Jakub Kicinski --- diff --git a/net/smc/smc_pnet.c b/net/smc/smc_pnet.c index 7984f88834720..7055ed10e3162 100644 --- a/net/smc/smc_pnet.c +++ b/net/smc/smc_pnet.c @@ -311,8 +311,9 @@ static struct smc_ib_device *smc_pnet_find_ib(char *ib_name) list_for_each_entry(ibdev, &smc_ib_devices.list, list) { if (!strncmp(ibdev->ibdev->name, ib_name, sizeof(ibdev->ibdev->name)) || - !strncmp(dev_name(ibdev->ibdev->dev.parent), ib_name, - IB_DEVICE_NAME_MAX - 1)) { + (ibdev->ibdev->dev.parent && + !strncmp(dev_name(ibdev->ibdev->dev.parent), ib_name, + IB_DEVICE_NAME_MAX - 1))) { goto out; } }