On Thu, Jul 07, 2016 at 06:34:45PM +0200, Maxime Leroy wrote: > In mlx5 rx function, the packet_type and ol_flags mbuf fields are not > properly initialized when no rx offload feature is enabled (checksum, l2 > tun checksum, vlan_strip, crc). Thus, these fields can have a value > different of 0 depending on their value when the mbuf was freed. > > This can result in an incorrect application behavior if invalid > ol_flags/ptype are set, or memory corruptions if IND_ATTACHED_MBUF is > set in ol_flags. > > Fixes: 081f7eae242e ("mlx5: process offload flags only when requested") > > Signed-off-by: Maxime Leroy <maxime.leroy at 6wind.com> > --- > drivers/net/mlx5/mlx5_rxtx.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c > index 0c352f3f..4132fd74 100644 > --- a/drivers/net/mlx5/mlx5_rxtx.c > +++ b/drivers/net/mlx5/mlx5_rxtx.c > @@ -1599,6 +1599,8 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, > uint16_t pkts_n) > pkt = seg; > assert(len >= (rxq->crc_present << 2)); > /* Update packet information. */ > + pkt->packet_type = 0; > + pkt->ol_flags = 0; > if (rxq->csum | rxq->csum_l2tun | rxq->vlan_strip | > rxq->crc_present) { > if (rxq->csum) { > -- > 2.1.4 >
Acked-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com> -- Adrien Mazarguil 6WIND