Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit cc0f868d authored by Dan Carpenter's avatar Dan Carpenter Committed by Jon Mason
Browse files

NTB: fix pointer math issues



->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: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarJon Mason <jon.mason@intel.com>
parent ad3e2751
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -486,7 +486,7 @@ static void ntb_transport_setup_qp_mw(struct ntb_transport *nt,
			     (qp_num / NTB_NUM_MW * rx_size);
			     (qp_num / NTB_NUM_MW * rx_size);
	rx_size -= sizeof(struct ntb_rx_info);
	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_frame = min(transport_mtu, rx_size);
	qp->rx_max_entry = rx_size / qp->rx_max_frame;
	qp->rx_max_entry = rx_size / qp->rx_max_frame;
	qp->rx_index = 0;
	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);
		      (qp_num / NTB_NUM_MW * tx_size);
	tx_size -= sizeof(struct ntb_rx_info);
	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_frame = min(transport_mtu, tx_size);
	qp->tx_max_entry = tx_size / qp->tx_max_frame;
	qp->tx_max_entry = tx_size / qp->tx_max_frame;
	qp->tx_index = 0;
	qp->tx_index = 0;