<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend" style="color: inherit;"></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div id="divRplyFwdMsg" dir="ltr" style="color: inherit;"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b> Medvedkin, Vladimir <vladimir.medvedkin@intel.com><br>
<b>Sent:</b> Monday 11 November 2024 5:46 pm<br>
<b>To:</b> Richardson, Bruce <bruce.richardson@intel.com>; dev@dpdk.org <dev@dpdk.org><br>
<b>Cc:</b> stable@dpdk.org <stable@dpdk.org>; Connolly, Padraig J <padraig.j.connolly@intel.com>; Stokes, Ian <ian.stokes@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Kevin Liu <kevinx.liu@intel.com><br>
<b>Subject:</b> Re: [PATCH] net/iavf: add segment-length check to Tx prep</span>
<div> </div>
</div>
<div class="elementToProof" style="font-size: 11pt;">Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com><br>
<br>
On 11/11/2024 16:42, Bruce Richardson wrote:<br>
> In the Tx prep function, the metadata checks were only checking the<br>
> packet length and ignoring the data length. For single-buffer packets we<br>
> can quickly check that the data length is the packet length.<br>
><br>
> Fixes: 19ee91c6bd9a ("net/iavf: check illegal packet sizes")<br>
> Cc: stable@dpdk.org<br>
><br>
> Reported-by: Padraig Connolly <padraig.j.connolly@intel.com><br>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com><br>
> ---<br>
> drivers/net/iavf/iavf_rxtx.c | 6 +++++-<br>
> 1 file changed, 5 insertions(+), 1 deletion(-)<br>
><br>
> diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c<br>
> index 4850b9e381..6a093c6746 100644<br>
> --- a/drivers/net/iavf/iavf_rxtx.c<br>
> +++ b/drivers/net/iavf/iavf_rxtx.c<br>
> @@ -3677,7 +3677,11 @@ iavf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,<br>
> return i;<br>
> }<br>
> <br>
> - if (m->pkt_len < IAVF_TX_MIN_PKT_LEN) {<br>
> + /* valid packets are greater than min size, and single-buffer pkts<br>
> + * must have data_len == pkt_len<br>
> + */<br>
> + if (m->pkt_len < IAVF_TX_MIN_PKT_LEN ||<br>
> + (m->nb_segs == 1 && m->data_len != m->pkt_len)) {<br>
> rte_errno = EINVAL;<br>
> return i;<br>
> }<br>
<br>
--<br>
Regards,<br>
Vladimir</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Tested-by: Padraig Connolly <padraig.j.connolly@intel.com></div>
</body>
</html>