From: Thomas Monjalon <thomas@monjalon.net>
To: Aaron Conole <aconole@redhat.com>
Cc: stable@dpdk.org, "John Daley (johndale)" <johndale@cisco.com>,
dev@dpdk.org, Bruce Richardson <bruce.richardson@intel.com>
Subject: Re: [dpdk-stable] [PATCH] enic: check for nb_free > 0
Date: Thu, 03 Aug 2017 22:58:31 +0200 [thread overview]
Message-ID: <7771250.dkQc2fQUgz@xps> (raw)
In-Reply-To: <1a29ffbed0e442798d0e29b5af90f1fc@XCH-RCD-007.cisco.com>
> > Occasionally, the amount of packets to free from the work queue ends
> > perfectly on a boundary to have nb_free = 0 and pool = 0. This causes a
> > segfault as follows:
> >
> > (gdb) bt
> > #0 rte_mempool_default_cache (mp=<optimized out>, mp=<optimized
> > out>,
> > lcore_id=<optimized out>)
> > at /usr/src/debug/openvswitch-2.6.1/dpdk-16.11/x86_64-native-
> > linuxapp-gcc/include/rte_mempool.h:1017
> > #1 rte_mempool_put_bulk (n=0, obj_table=0x7f10deff2530, mp=0x0)
> > at /usr/src/debug/openvswitch-2.6.1/dpdk-16.11/x86_64-native-
> > linuxapp-gcc/include/rte_mempool.h:1174
> > #2 enic_free_wq_bufs (wq=wq@entry=0x7efabffcd5b0,
> > completed_index=completed_index@entry=33)
> > at /usr/src/debug/openvswitch-2.6.1/dpdk-
> > 16.11/drivers/net/enic/enic_rxtx.c:429
> > #3 0x00007f11e9c86e17 in enic_cleanup_wq (enic=<optimized out>,
> > wq=wq@entry=0x7efabffcd5b0)
> > at /usr/src/debug/openvswitch-2.6.1/dpdk-
> > 16.11/drivers/net/enic/enic_rxtx.c:442
> > #4 0x00007f11e9c86e5f in enic_xmit_pkts (tx_queue=0x7efabffcd5b0,
> > tx_pkts=0x7f10deffb1a8, nb_pkts=<optimized out>)
> > at /usr/src/debug/openvswitch-2.6.1/dpdk-
> > 16.11/drivers/net/enic/enic_rxtx.c:470
> > #5 0x00007f11e9e147ad in rte_eth_tx_burst (nb_pkts=<optimized out>,
> > tx_pkts=0x7f10deffb1a8, queue_id=0, port_id=<optimized out>)
> >
> > This commit makes the enic wq driver match other drivers who call the bulk
> > free, by checking that there are actual packets to free.
> >
> > Fixes: 36935afbc53c ("net/enic: refactor Tx mbuf recycling")
> > CC: stable@dpdk.org
> > Reported-by: Vincent S. Cojot <vcojot@redhat.com>
> > Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1468631
> > Signed-off-by: Aaron Conole <aconole@redhat.com>
>
> Reviewed-by: John Daley <johndale@cisco.com>
Applied, thanks
With more context in the title:
net/enic: fix crash when freeing 0 packet to mempool
prev parent reply other threads:[~2017-08-03 20:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-02 18:02 [PATCH] enic: check for nb_free > 0 Aaron Conole
2017-08-02 18:34 ` John Daley (johndale)
2017-08-03 20:58 ` Thomas Monjalon [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7771250.dkQc2fQUgz@xps \
--to=thomas@monjalon.net \
--cc=aconole@redhat.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=johndale@cisco.com \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.