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 --- 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