On Wed, Jul 05, 2017 at 02:49:22PM +0300, Vasily Philipov wrote:
> In debug mode, all mbuf ol_flags are temporarily enabled while sitting in
> the Rx queue to detect otherwise silent data corruption, however some of
> them are special (indirect and control) and must be cleared before
> returning mbufs to the pool to avoid crashing.
> 
> Fixes: 7fae69eeff13 ("mlx4: new poll mode driver")
> CC: sta...@dpdk.org
> 
> Signed-off-by: Vasily Philipov <vasi...@mellanox.com>

Thanks Vasily, except for the minor nit below,

Acked-by: Adrien Mazarguil <adrien.mazarg...@6wind.com>

> ---
>  drivers/net/mlx4/mlx4.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
> index 16cafae..03c5c98 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -3008,6 +3008,13 @@ struct txq_mp2mr_mbuf_check_data {
>                       NB_SEGS(rep) = 0x2a;
>                       PORT(rep) = 0x2a;
>                       rep->ol_flags = -1;
> +                     /*
> +                      * Clear special flags in membuf to avoid

"membuf" => "mbuf"

> +                      * crashing while freeing.
> +                      */
> +                     rep->ol_flags &=
> +                             ~(uint64_t)(IND_ATTACHED_MBUF |
> +                                         CTRL_MBUF_FLAG);
>  #endif
>                       assert(rep->buf_len == seg->buf_len);
>                       /* Reconfigure sge to use rep instead of seg. */
> -- 
> 1.8.3.1
> 

-- 
Adrien Mazarguil
6WIND

Reply via email to