[dpdk-dev] [PATCH] net/mlx4: fix mbuf poisoning in debug code
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Wed Jul 5 16:35:47 CEST 2017
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: stable at dpdk.org
>
> Signed-off-by: Vasily Philipov <vasilyf at mellanox.com>
Thanks Vasily, except for the minor nit below,
Acked-by: Adrien Mazarguil <adrien.mazarguil at 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
More information about the dev
mailing list