NTB: fix pointer math issues
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 23 Jan 2013 19:26:05 +0000 (22:26 +0300)
committerJon Mason <jon.mason@intel.com>
Wed, 15 May 2013 17:57:29 +0000 (10:57 -0700)
->remote_rx_info and ->rx_info are struct ntb_rx_info pointers.  If we
add sizeof(struct ntb_rx_info) then it goes too far.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jon Mason <jon.mason@intel.com>
drivers/ntb/ntb_transport.c

index 74c5812..00f5e80 100644 (file)
@@ -486,7 +486,7 @@ static void ntb_transport_setup_qp_mw(struct ntb_transport *nt,
                             (qp_num / NTB_NUM_MW * rx_size);
        rx_size -= sizeof(struct ntb_rx_info);
 
-       qp->rx_buff = qp->remote_rx_info + sizeof(struct ntb_rx_info);
+       qp->rx_buff = qp->remote_rx_info + 1;
        qp->rx_max_frame = min(transport_mtu, rx_size);
        qp->rx_max_entry = rx_size / qp->rx_max_frame;
        qp->rx_index = 0;
@@ -780,7 +780,7 @@ static void ntb_transport_init_queue(struct ntb_transport *nt,
                      (qp_num / NTB_NUM_MW * tx_size);
        tx_size -= sizeof(struct ntb_rx_info);
 
-       qp->tx_mw = qp->rx_info + sizeof(struct ntb_rx_info);
+       qp->tx_mw = qp->rx_info + 1;
        qp->tx_max_frame = min(transport_mtu, tx_size);
        qp->tx_max_entry = tx_size / qp->tx_max_frame;
        qp->tx_index = 0;