[kbuild] drivers/most/core.c:1287 most_register_interface() error: we previously assumed 'iface' could be null (see line 1285)

From: Dan Carpenter
Date: Mon Jun 01 2020 - 15:54:09 EST


Hi Christian,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162
commit: b276527539188f1f61c082ebef27803db93e536d staging: most: move core files out of the staging area
date: 10 weeks ago

config: mips-randconfig-m031-20200601 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

smatch warnings:
drivers/most/core.c:1287 most_register_interface() error: we previously assumed 'iface' could be null (see line 1285)

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b276527539188f1f61c082ebef27803db93e536d
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout b276527539188f1f61c082ebef27803db93e536d
vim +/iface +1287 drivers/most/core.c

4d5f022f3a664e drivers/staging/most/core.c Christian Gromm 2017-11-21 1279 int most_register_interface(struct most_interface *iface)
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1280 {
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1281 unsigned int i;
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1282 int id;
fcb7fad82e23f6 drivers/staging/most/core.c Christian Gromm 2017-11-21 1283 struct most_channel *c;
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1284
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 @1285 if (!iface || !iface->enqueue || !iface->configure ||
^^^^^^
Check for NULL.

57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1286 !iface->poison_channel || (iface->num_channels > MAX_CHANNELS)) {
6a82c775812944 drivers/staging/most/core.c Christian Gromm 2020-01-23 @1287 dev_err(iface->dev, "Bad interface or channel overflow\n");
^^^^^^^^^^
Dereference. "iface" can't be NULL. Just delete the check.

4d5f022f3a664e drivers/staging/most/core.c Christian Gromm 2017-11-21 1288 return -EINVAL;
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1289 }
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1290
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1291 id = ida_simple_get(&mdev_id, 0, 0, GFP_KERNEL);
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1292 if (id < 0) {
b7935e52dd9869 drivers/staging/most/core.c Christian Gromm 2020-01-23 1293 dev_err(iface->dev, "Failed to allocate device ID\n");
4d5f022f3a664e drivers/staging/most/core.c Christian Gromm 2017-11-21 1294 return id;
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1295 }
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1296

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@xxxxxxxxxxxx
To unsubscribe send an email to kbuild-leave@xxxxxxxxxxxx