[dpdk-dev] [dpdk-stable] [PATCH v3 1/5] net/tap: fix mbuf double free when writev fails
wangyunjian
wangyunjian at huawei.com
Fri Apr 10 03:41:19 CEST 2020
> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Thursday, April 9, 2020 10:51 PM
> To: wangyunjian <wangyunjian at huawei.com>
> Cc: Ferruh Yigit <ferruh.yigit at intel.com>; dev at dpdk.org;
> keith.wiles at intel.com; Lilijun (Jerry) <jerry.lilijun at huawei.com>; xudingke
> <xudingke at huawei.com>; stable at dpdk.org
> Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH v3 1/5] net/tap: fix mbuf double
> free when writev fails
>
> On Thu, 9 Apr 2020 08:03:23 +0000
> wangyunjian <wangyunjian at huawei.com> wrote:
>
> > error = tap_write_mbufs(txq, num_mbufs, mbuf,
> > &num_packets, &num_tx_bytes); if (error == -1) {
> > txq->stats.errs++;
> > /* free tso mbufs */
> > for (j = 0; j < ret; j++)
> > rte_pktmbuf_free(mbuf[j]);
> > break;
> > }
>
> There is a free bulk, and normally each buf counts against errors.
>
> if (error == -1) {
> txq->stats.errs += num_packets;
I think to consider only the original packet number, not sent packets.
> rte_pktmbuf_free_bulk(mbuf, num_packets);
Thanks for your suggestion, will include it in next version.
Yunjian
> break;
> }
More information about the dev
mailing list