From: Hyong Youb Kim Date: Fri, 29 Jun 2018 09:29:41 +0000 (-0700) Subject: net/enic: check maximum packet size in Tx prepare handler X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=5a12c387405a657aba23645fd864ac0771437fd5;p=dpdk.git net/enic: check maximum packet size in Tx prepare handler The default tx handler checks the maximum packet size. Check it in the prepare handler too. WQ stops working if the app/driver tries to send oversized packets, so these checks are unavoidable. Signed-off-by: Hyong Youb Kim Reviewed-by: John Daley --- diff --git a/drivers/net/enic/enic_rxtx.c b/drivers/net/enic/enic_rxtx.c index 7dec486fe2..04a77fcb46 100644 --- a/drivers/net/enic/enic_rxtx.c +++ b/drivers/net/enic/enic_rxtx.c @@ -563,6 +563,10 @@ uint16_t enic_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, for (i = 0; i != nb_pkts; i++) { m = tx_pkts[i]; + if (unlikely(m->pkt_len > ENIC_TX_MAX_PKT_SIZE)) { + rte_errno = EINVAL; + return i; + } ol_flags = m->ol_flags; if (ol_flags & wq->tx_offload_notsup_mask) { rte_errno = ENOTSUP;