From: <dan.carpenter@oracle.com>
To: varun@chelsio.com
Cc: linux-scsi@vger.kernel.org
Subject: [bug report] scsi: cxgb4i: Add support for iSCSI segmentation offload
Date: Mon, 20 Jul 2020 13:28:46 +0300 [thread overview]
Message-ID: <20200720102846.GA29932@mwanda> (raw)
Hello Varun Prakash,
The patch e33c2482289b: "scsi: cxgb4i: Add support for iSCSI
segmentation offload" from Jun 29, 2020, leads to the following
static checker warning:
drivers/scsi/cxgbi/libcxgbi.c:1902 cxgbi_conn_alloc_pdu() warn: 'tdata' can't be NULL.
drivers/scsi/cxgbi/libcxgbi.c:2158 cxgbi_conn_init_pdu() warn: 'tdata' can't be NULL.
drivers/scsi/cxgbi/libcxgbi.c:2374 cxgbi_conn_xmit_pdu() warn: 'tdata' can't be NULL.
drivers/scsi/cxgbi/libcxgbi.c
1885 int cxgbi_conn_alloc_pdu(struct iscsi_task *task, u8 op)
1886 {
1887 struct iscsi_conn *conn = task->conn;
1888 struct iscsi_session *session = task->conn->session;
1889 struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
1890 struct cxgbi_conn *cconn = tcp_conn->dd_data;
1891 struct cxgbi_device *cdev = cconn->chba->cdev;
1892 struct cxgbi_sock *csk = cconn->cep ? cconn->cep->csk : NULL;
1893 struct iscsi_tcp_task *tcp_task = task->dd_data;
1894 struct cxgbi_task_data *tdata = iscsi_task_cxgbi_data(task);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#define iscsi_task_cxgbi_data(task) \
((task)->dd_data + sizeof(struct iscsi_tcp_task))
1895 struct scsi_cmnd *sc = task->sc;
1896 u32 headroom = SKB_TX_ISCSI_PDU_HEADER_MAX;
1897 u32 max_txdata_len = conn->max_xmit_dlength;
1898 u32 iso_tx_rsvd = 0, local_iso_info = 0;
1899 u32 last_tdata_offset, last_tdata_count;
1900 int err = 0;
1901
1902 if (!tcp_task || !tdata) {
^^^^^^
If ->dd_data is negative sizeof(struct iscsi_tcp_task) then we are
toasted. That's an error pointer. These sorts of extra NULL checking
generate a warning because maybe we intended to check a different
variable or IS_ERR(task->dd_data) or something. The checker can't know.
1903 pr_err("task 0x%p, tcp_task 0x%p, tdata 0x%p.\n",
1904 task, tcp_task, tdata);
1905 return -ENOMEM;
1906 }
regards,
dan carpenter
next reply other threads:[~2020-07-20 10:28 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-20 10:28 dan.carpenter [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-07-10 14:17 [bug report] scsi: cxgb4i: Add support for iSCSI segmentation offload dan.carpenter
2020-07-10 14:29 ` Dan Carpenter
2020-07-13 16:41 ` Varun Prakash
2020-07-10 14:14 dan.carpenter
2020-07-13 16:25 ` Varun Prakash
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200720102846.GA29932@mwanda \
--to=dan.carpenter@oracle.com \
--cc=linux-scsi@vger.kernel.org \
--cc=varun@chelsio.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).