From 0b6b37f6a2ee1764e8912fe9f57dd4ed2baadecd Mon Sep 17 00:00:00 2001 From: Christian Ehrhardt Date: Mon, 15 Apr 2019 14:36:48 +0200 Subject: New upstream version 18.11.1 Change-Id: I2394f61ba94cc575bf2c55186f14e5d6fba9eec7 Signed-off-by: Christian Ehrhardt --- drivers/net/sfc/sfc_ef10_tx.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/net/sfc/sfc_ef10_tx.c') diff --git a/drivers/net/sfc/sfc_ef10_tx.c b/drivers/net/sfc/sfc_ef10_tx.c index bcd3153f..ff6d5b48 100644 --- a/drivers/net/sfc/sfc_ef10_tx.c +++ b/drivers/net/sfc/sfc_ef10_tx.c @@ -381,6 +381,9 @@ sfc_ef10_xmit_tso_pkt(struct sfc_ef10_txq * const txq, struct rte_mbuf *m_seg, hdr_addr = rte_pktmbuf_mtod(m_seg, uint8_t *); hdr_iova = rte_mbuf_data_iova(m_seg); if (rte_pktmbuf_data_len(m_seg) == header_len) { + /* Cannot send a packet that consists only of header */ + if (unlikely(m_seg->next == NULL)) + return EMSGSIZE; /* * Associate header mbuf with header descriptor * which is located after TSO descriptors. @@ -409,6 +412,10 @@ sfc_ef10_xmit_tso_pkt(struct sfc_ef10_txq * const txq, struct rte_mbuf *m_seg, copied_segs = sfc_tso_prepare_header(hdr_addr, header_len, &m_seg, &in_off); + /* Cannot send a packet that consists only of header */ + if (unlikely(m_seg == NULL)) + return EMSGSIZE; + m_seg_to_free_up_to = m_seg; /* * Reduce the number of needed descriptors by the number of -- cgit 1.2.3-korg