drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 7 +++++++ 1 file changed, 7 insertions(+)
Implement packet length validation before submitting packets to
the hardware to prevent MAXLEN_ERR.
Fixes: 3184fb5ba96e ("octeontx2-vf: Virtual function driver support")
Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
---
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
index 8a8b598bd389..766237cd86c3 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
@@ -394,6 +394,13 @@ static netdev_tx_t otx2vf_xmit(struct sk_buff *skb, struct net_device *netdev)
struct otx2_snd_queue *sq;
struct netdev_queue *txq;
+ /* Check for minimum and maximum packet length */
+ if (skb->len <= ETH_HLEN ||
+ (!skb_shinfo(skb)->gso_size && skb->len > vf->tx_max_pktlen)) {
+ dev_kfree_skb(skb);
+ return NETDEV_TX_OK;
+ }
+
sq = &vf->qset.sq[qidx];
txq = netdev_get_tx_queue(netdev, qidx);
--
2.34.1
On Wed, Jul 02, 2025 at 04:35:18PM +0530, Hariprasad Kelam wrote: > Implement packet length validation before submitting packets to > the hardware to prevent MAXLEN_ERR. > > Fixes: 3184fb5ba96e ("octeontx2-vf: Virtual function driver support") > Signed-off-by: Hariprasad Kelam <hkelam@marvell.com> > --- > drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > index 8a8b598bd389..766237cd86c3 100644 > --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > @@ -394,6 +394,13 @@ static netdev_tx_t otx2vf_xmit(struct sk_buff *skb, struct net_device *netdev) > struct otx2_snd_queue *sq; > struct netdev_queue *txq; > > + /* Check for minimum and maximum packet length */ > + if (skb->len <= ETH_HLEN || > + (!skb_shinfo(skb)->gso_size && skb->len > vf->tx_max_pktlen)) { > + dev_kfree_skb(skb); > + return NETDEV_TX_OK; > + } Hi Hariprasad, I see the same check in otx2_xmit(). But I wonder if in that case and this one the rx drop counter for the netdev should be incremented. Also, do you need this check in rvu_rep_xmit() too? > + > sq = &vf->qset.sq[qidx]; > txq = netdev_get_tx_queue(netdev, qidx); > > -- > 2.34.1 > >
On 2025-07-04 at 20:45:11, Simon Horman (horms@kernel.org) wrote: > On Wed, Jul 02, 2025 at 04:35:18PM +0530, Hariprasad Kelam wrote: > > Implement packet length validation before submitting packets to > > the hardware to prevent MAXLEN_ERR. > > > > Fixes: 3184fb5ba96e ("octeontx2-vf: Virtual function driver support") > > Signed-off-by: Hariprasad Kelam <hkelam@marvell.com> > > --- > > drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > > index 8a8b598bd389..766237cd86c3 100644 > > --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > > @@ -394,6 +394,13 @@ static netdev_tx_t otx2vf_xmit(struct sk_buff *skb, struct net_device *netdev) > > struct otx2_snd_queue *sq; > > struct netdev_queue *txq; > > > > + /* Check for minimum and maximum packet length */ > > + if (skb->len <= ETH_HLEN || > > + (!skb_shinfo(skb)->gso_size && skb->len > vf->tx_max_pktlen)) { > > + dev_kfree_skb(skb); > > + return NETDEV_TX_OK; > > + } > > Hi Hariprasad, > > I see the same check in otx2_xmit(). > But I wonder if in that case and this one the rx drop counter for the > netdev should be incremented. > Assuming its tx_drop counter, Will add suggested change in V2. > Also, do you need this check in rvu_rep_xmit() too? > ACK, will add this check in V2. THanks, Hariprasad k > > + > > sq = &vf->qset.sq[qidx]; > > txq = netdev_get_tx_queue(netdev, qidx); > > > > -- > > 2.34.1 > > > > >
On Tue, Jul 08, 2025 at 03:07:08PM +0530, Hariprasad Kelam wrote: > On 2025-07-04 at 20:45:11, Simon Horman (horms@kernel.org) wrote: > > On Wed, Jul 02, 2025 at 04:35:18PM +0530, Hariprasad Kelam wrote: > > > Implement packet length validation before submitting packets to > > > the hardware to prevent MAXLEN_ERR. > > > > > > Fixes: 3184fb5ba96e ("octeontx2-vf: Virtual function driver support") > > > Signed-off-by: Hariprasad Kelam <hkelam@marvell.com> > > > --- > > > drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 7 +++++++ > > > 1 file changed, 7 insertions(+) > > > > > > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > > > index 8a8b598bd389..766237cd86c3 100644 > > > --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > > > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c > > > @@ -394,6 +394,13 @@ static netdev_tx_t otx2vf_xmit(struct sk_buff *skb, struct net_device *netdev) > > > struct otx2_snd_queue *sq; > > > struct netdev_queue *txq; > > > > > > + /* Check for minimum and maximum packet length */ > > > + if (skb->len <= ETH_HLEN || > > > + (!skb_shinfo(skb)->gso_size && skb->len > vf->tx_max_pktlen)) { > > > + dev_kfree_skb(skb); > > > + return NETDEV_TX_OK; > > > + } > > > > Hi Hariprasad, > > > > I see the same check in otx2_xmit(). > > But I wonder if in that case and this one the rx drop counter for the > > netdev should be incremented. > > > Assuming its tx_drop counter, Will add suggested change in V2. Yes, I think so. > > Also, do you need this check in rvu_rep_xmit() too? > > > ACK, will add this check in V2. Thanks. ...
© 2016 - 2025 Red Hat, Inc.