e1000_xmit_frame() uses __pskb_pull_tail() to pull up to 4 bytes of
payload into the head for the 82544 TSO workaround.  It already checks
the result.  Switch to pskb_may_pull(), which takes the length the head
should end up with and checks it against the skb, so this driver no
longer calls __pskb_pull_tail() directly.

Assisted-by: LLM
Signed-off-by: Josef Bacik <[email protected]>
---
 drivers/net/ethernet/intel/e1000/e1000_main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c 
b/drivers/net/ethernet/intel/e1000/e1000_main.c
index d7f5c6f16142..3a55b211f5a6 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -3155,9 +3155,8 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
                                    & 4)
                                        break;
                                pull_size = min((unsigned int)4, skb->data_len);
-                               if (!__pskb_pull_tail(skb, pull_size)) {
-                                       e_err(drv, "__pskb_pull_tail "
-                                             "failed.\n");
+                               if (!pskb_may_pull(skb, len + pull_size)) {
+                                       e_err(drv, "pskb_may_pull failed.\n");
                                        dev_kfree_skb_any(skb);
                                        return NETDEV_TX_OK;
                                }

-- 
2.55.0

Reply via email to