Re: [patch] NTB: fix pointer math issues
On Wed, Jan 23, 2013 at 10:26:05PM +0300, Dan Carpenter wrote: > ->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. Good catch, I'll add it to me pending patch queue. Thanks, Jon > > Signed-off-by: Dan Carpenter > --- > > diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c > index e0bdfd7..676ee16 100644 > --- a/drivers/ntb/ntb_transport.c > +++ b/drivers/ntb/ntb_transport.c > @@ -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; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [patch] NTB: fix pointer math issues
On Wed, Jan 23, 2013 at 10:26:05PM +0300, Dan Carpenter wrote: -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. Good catch, I'll add it to me pending patch queue. Thanks, Jon Signed-off-by: Dan Carpenter dan.carpen...@oracle.com --- diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c index e0bdfd7..676ee16 100644 --- a/drivers/ntb/ntb_transport.c +++ b/drivers/ntb/ntb_transport.c @@ -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; -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[patch] 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: Dan Carpenter --- diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c index e0bdfd7..676ee16 100644 --- a/drivers/ntb/ntb_transport.c +++ b/drivers/ntb/ntb_transport.c @@ -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; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[patch] 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: Dan Carpenter dan.carpen...@oracle.com --- diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c index e0bdfd7..676ee16 100644 --- a/drivers/ntb/ntb_transport.c +++ b/drivers/ntb/ntb_transport.c @@ -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; -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/