drivers/staging/greybus/bootrom.c:298:35-39: ERROR: fw is NULL but dereferenced.

From: kbuild test robot
Date: Sat Nov 26 2016 - 18:14:25 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a0d60e62ea5c88a9823410e9d0929a513e29dea2
commit: f44dd184634d401f5cf88a6d8b4a60d5ff4f417f Merge greybus driver tree into 4.8-rc6
date: 10 weeks ago


coccinelle warnings: (new ones prefixed by >>)

>> drivers/staging/greybus/bootrom.c:298:35-39: ERROR: fw is NULL but dereferenced.

vim +298 drivers/staging/greybus/bootrom.c

90f1b617 drivers/staging/greybus/firmware.c Viresh Kumar 2015-08-12 282 dev_err(dev, "%s: error allocating response\n", __func__);
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 283 ret = -ENOMEM;
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 284 goto unlock;
90f1b617 drivers/staging/greybus/firmware.c Viresh Kumar 2015-08-12 285 }
90f1b617 drivers/staging/greybus/firmware.c Viresh Kumar 2015-08-12 286
90f1b617 drivers/staging/greybus/firmware.c Viresh Kumar 2015-08-12 287 firmware_response = op->response->payload;
98645a9c drivers/staging/greybus/firmware.c Johan Hovold 2015-11-19 288 memcpy(firmware_response->data, fw->data + offset, size);
90f1b617 drivers/staging/greybus/firmware.c Viresh Kumar 2015-08-12 289
fc41c2da drivers/staging/greybus/firmware.c Eli Sennesh 2016-01-08 290 dev_dbg(dev, "responding with firmware (offs = %u, size = %u)\n", offset,
fc41c2da drivers/staging/greybus/firmware.c Eli Sennesh 2016-01-08 291 size);
fc41c2da drivers/staging/greybus/firmware.c Eli Sennesh 2016-01-08 292
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 293 unlock:
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 294 mutex_unlock(&bootrom->mutex);
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 295
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 296 queue_work:
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 297 /* Refresh timeout */
a4293e1d drivers/staging/greybus/bootrom.c Viresh Kumar 2016-06-22 @298 if (!ret && (offset + size == fw->size))
a4293e1d drivers/staging/greybus/bootrom.c Viresh Kumar 2016-06-22 299 next_request = NEXT_REQ_READY_TO_BOOT;
a4293e1d drivers/staging/greybus/bootrom.c Viresh Kumar 2016-06-22 300 else
a4293e1d drivers/staging/greybus/bootrom.c Viresh Kumar 2016-06-22 301 next_request = NEXT_REQ_GET_FIRMWARE;
a4293e1d drivers/staging/greybus/bootrom.c Viresh Kumar 2016-06-22 302
dbb8cfeb drivers/staging/greybus/bootrom.c Viresh Kumar 2016-06-22 303 gb_bootrom_set_timeout(bootrom, next_request, NEXT_REQ_TIMEOUT_MS);
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 304
a956d939 drivers/staging/greybus/bootrom.c Viresh Kumar 2016-05-09 305 return ret;
90f1b617 drivers/staging/greybus/firmware.c Viresh Kumar 2015-08-12 306 }

:::::: The code at line 298 was first introduced by commit
:::::: a4293e1d4e6416477976ee3bd248589d3fc4bb19 greybus: bootrom: Enhance timeout error message

:::::: TO: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
:::::: CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation