IB/ipath: sysfs and ipathfs support for core driver
Hello Bryan O'Sullivan,
This is a semi-automatic email about new static checker warnings.
The patch 3e9b4a5eb4ae: "IB/ipath: sysfs and ipathfs support for core driver" from Mar 29, 2006, leads to the following Smatch complaint:
drivers/infiniband/hw/ipath/ipath_fs.c:285 remove_file()
error: we previously assumed 'tmp->d_inode' could be null (see line 281)
drivers/infiniband/hw/ipath/ipath_fs.c
280 spin_lock(&tmp->d_lock);
281 if (!(d_unhashed(tmp) && tmp->d_inode)) {
^^^^^^^^^^^^We allow that ->d_inode to be NULL.
282 dget_dlock(tmp);
283 __d_drop(tmp);
284 spin_unlock(&tmp->d_lock);
285 simple_unlink(parent->d_inode, tmp);
^^^But we dereference it inside the call to simple_unlink(). This code is probably cut-and-pasted from configfs because I reported a bug in that code as well yesterday but haven't heard back.
286 } else 287 spin_unlock(&tmp->d_lock);
drivers/infiniband/hw/qib/qib_fs.c
458 spin_lock(&tmp->d_lock);
459 if (!(d_unhashed(tmp) && tmp->d_inode)) {
^^^^^^^^^^^^
460 __d_drop(tmp);
461 spin_unlock(&tmp->d_lock);
462 simple_unlink(parent->d_inode, tmp);
^^^And another one here in qib_fs.c.
463 } else {
464 spin_unlock(&tmp->d_lock);regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html