* [PATCH] net/iavf: add segment-length check to Tx prep
@ 2024-11-11 16:42 Bruce Richardson
2024-11-11 17:46 ` Medvedkin, Vladimir
0 siblings, 1 reply; 2+ messages in thread
From: Bruce Richardson @ 2024-11-11 16:42 UTC (permalink / raw)
To: dev
Cc: Bruce Richardson, stable, Padraig Connolly, Vladimir Medvedkin,
Ian Stokes, Qi Zhang, Kevin Liu
In the Tx prep function, the metadata checks were only checking the
packet length and ignoring the data length. For single-buffer packets we
can quickly check that the data length is the packet length.
Fixes: 19ee91c6bd9a ("net/iavf: check illegal packet sizes")
Cc: stable@dpdk.org
Reported-by: Padraig Connolly <padraig.j.connolly@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/iavf/iavf_rxtx.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 4850b9e381..6a093c6746 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -3677,7 +3677,11 @@ iavf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
return i;
}
- if (m->pkt_len < IAVF_TX_MIN_PKT_LEN) {
+ /* valid packets are greater than min size, and single-buffer pkts
+ * must have data_len == pkt_len
+ */
+ if (m->pkt_len < IAVF_TX_MIN_PKT_LEN ||
+ (m->nb_segs == 1 && m->data_len != m->pkt_len)) {
rte_errno = EINVAL;
return i;
}
--
2.43.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] net/iavf: add segment-length check to Tx prep
2024-11-11 16:42 [PATCH] net/iavf: add segment-length check to Tx prep Bruce Richardson
@ 2024-11-11 17:46 ` Medvedkin, Vladimir
0 siblings, 0 replies; 2+ messages in thread
From: Medvedkin, Vladimir @ 2024-11-11 17:46 UTC (permalink / raw)
To: Bruce Richardson, dev
Cc: stable, Padraig Connolly, Ian Stokes, Qi Zhang, Kevin Liu
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
On 11/11/2024 16:42, Bruce Richardson wrote:
> In the Tx prep function, the metadata checks were only checking the
> packet length and ignoring the data length. For single-buffer packets we
> can quickly check that the data length is the packet length.
>
> Fixes: 19ee91c6bd9a ("net/iavf: check illegal packet sizes")
> Cc: stable@dpdk.org
>
> Reported-by: Padraig Connolly <padraig.j.connolly@intel.com>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> drivers/net/iavf/iavf_rxtx.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
> index 4850b9e381..6a093c6746 100644
> --- a/drivers/net/iavf/iavf_rxtx.c
> +++ b/drivers/net/iavf/iavf_rxtx.c
> @@ -3677,7 +3677,11 @@ iavf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
> return i;
> }
>
> - if (m->pkt_len < IAVF_TX_MIN_PKT_LEN) {
> + /* valid packets are greater than min size, and single-buffer pkts
> + * must have data_len == pkt_len
> + */
> + if (m->pkt_len < IAVF_TX_MIN_PKT_LEN ||
> + (m->nb_segs == 1 && m->data_len != m->pkt_len)) {
> rte_errno = EINVAL;
> return i;
> }
--
Regards,
Vladimir
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-11-11 17:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-11 16:42 [PATCH] net/iavf: add segment-length check to Tx prep Bruce Richardson
2024-11-11 17:46 ` Medvedkin, Vladimir
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).