Hi Dan,
Thanks for the sharing out this warning msg.
On 07/08/18 13:07, Dan Carpenter wrote:
Hello Srinivas Kandagatla,
This is a semi-automatic email about new static checker warnings.
The patch 917809e2280b: "slimbus: ngd: Add qcom SLIMBus NGD driver" from Jun 19, 2018, leads to the following Smatch complaint:
drivers/slimbus/qcom-ngd-ctrl.c:867 qcom_slim_ngd_xfer_msg() warn: variable dereferenced before check 'txn->msg' (see line 791)
drivers/slimbus/qcom-ngd-ctrl.c 790 791 if (txn->msg->num_bytes > SLIM_MSGQ_BUF_LEN || ^^^^^^^^^ Dereference
792 txn->rl > SLIM_MSGQ_BUF_LEN) { 793 dev_err(ctrl->dev, "msg exeeds HW limit\n");
...
866 867 if (txn->msg && txn->msg->wbuf) ^^^^^^^^
This check is too late.
To be honest this function should not be invoked with txn->msg being NULL. I can see that slim_val_inf_sanity() enforces this, but we can add an additional check in slim_do_transfer() for this not to happen in case slim_do_transfer() is invoked directly.
Check in this ngd driver is totally redundant. I will try to send a cleanup patch for this once rc1 is out.
thanks, srini
868 memcpy(puc, txn->msg->wbuf, txn->msg->num_bytes); 869
regards, dan carpenter