https://bugs.dpdk.org/show_bug.cgi?id=347

            Bug ID: 347
           Summary: TAPPMD frees buffers it fails to send
           Product: DPDK
           Version: 19.08
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: harry.wa...@gmail.com
  Target Milestone: ---

static uint16_t
pmd_tx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
.
.
                tap_write_mbufs(txq, num_mbufs, mbuf,
                                &num_packets, &num_tx_bytes);
                num_tx++;
                /* free original mbuf */
                rte_pktmbuf_free(mbuf_in);
.
.


If tap_write_mbufs fails to send packets ( i.e. num_packets < num_mbufs )

In my situation I'm sending exactly one packet and it fails to send,
num_packets is passed out as zero, pmd_tx_burst frees the original buffer and
returns 1 back.

I then free the buffer because tx_burst returned zero, and this returns in a
double free.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to