Skip to content

Commit

Permalink
NTB: variable dereferenced before check
Browse files Browse the repository at this point in the history
Correct instances of variable dereferencing before checking its value on
the functions exported to the client drivers.  Also, add sanity checks
for all exported functions.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jon Mason <jon.mason@intel.com>
  • Loading branch information
Jon Mason committed May 15, 2013
1 parent f722406 commit 186f27f
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions drivers/ntb/ntb_transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -1210,12 +1210,14 @@ EXPORT_SYMBOL_GPL(ntb_transport_create_queue);
*/
void ntb_transport_free_queue(struct ntb_transport_qp *qp)
{
struct pci_dev *pdev = ntb_query_pdev(qp->ndev);
struct pci_dev *pdev;
struct ntb_queue_entry *entry;

if (!qp)
return;

pdev = ntb_query_pdev(qp->ndev);

cancel_delayed_work_sync(&qp->link_work);

ntb_unregister_db_callback(qp->ndev, qp->qp_num);
Expand Down Expand Up @@ -1371,12 +1373,13 @@ EXPORT_SYMBOL_GPL(ntb_transport_link_up);
*/
void ntb_transport_link_down(struct ntb_transport_qp *qp)
{
struct pci_dev *pdev = ntb_query_pdev(qp->ndev);
struct pci_dev *pdev;
int rc, val;

if (!qp)
return;

pdev = ntb_query_pdev(qp->ndev);
qp->client_ready = NTB_LINK_DOWN;

rc = ntb_read_local_spad(qp->ndev, QP_LINKS, &val);
Expand Down Expand Up @@ -1408,6 +1411,9 @@ EXPORT_SYMBOL_GPL(ntb_transport_link_down);
*/
bool ntb_transport_link_query(struct ntb_transport_qp *qp)
{
if (!qp)
return false;

return qp->qp_link == NTB_LINK_UP;
}
EXPORT_SYMBOL_GPL(ntb_transport_link_query);
Expand All @@ -1422,6 +1428,9 @@ EXPORT_SYMBOL_GPL(ntb_transport_link_query);
*/
unsigned char ntb_transport_qp_num(struct ntb_transport_qp *qp)
{
if (!qp)
return 0;

return qp->qp_num;
}
EXPORT_SYMBOL_GPL(ntb_transport_qp_num);
Expand All @@ -1436,6 +1445,9 @@ EXPORT_SYMBOL_GPL(ntb_transport_qp_num);
*/
unsigned int ntb_transport_max_size(struct ntb_transport_qp *qp)
{
if (!qp)
return 0;

return qp->tx_max_frame - sizeof(struct ntb_payload_header);
}
EXPORT_SYMBOL_GPL(ntb_transport_max_size);

0 comments on commit 186f27f

Please sign in to comment.