Re: [PATCH net 1/3] igc: pad preemptible packets before reserving TX timestamps

From: Paul Moses

Date: Tue Oct 27 2026 - 12:17:35 EST


> [Severity: Low]
> Does this description match the tree this patch applies to?

It needs to be clear that it is affected by that commit.

> [Severity: High]
> With this patch applied on its own, igc_request_tx_tstamp() still runs
> before igc_tso() and igc_tx_csum(). Can the same shared skb problem come
> up here?
>
> When a GSO skb with a cloned header (for example with a packet tap or tc
> mirred active) is hardware timestamped:
>
> igc_xmit_frame_ring()
> igc_request_tx_tstamp()
> tstamp->skb = skb_get(skb);
> igc_tso()
> skb_cow_head(skb, 0)
> __skb_cow()
> pskb_expand_head()
> BUG_ON(skb_shared(skb));
>
> igc_tx_csum() can reach pskb_expand_head() the same way, through
> skb_checksum_help()->skb_ensure_writable(), on a cloned skb.
>
> The next patch in this series, "igc: prepare TSO and checksum offloads
> before TX timestamps", moves igc_tso() and igc_tx_csum() ahead of the
> timestamp reservation. That fixes this by the end of the series. Should
> the two patches be backported together, since this one alone leaves the
> TSO and checksum paths exposed?
>

Yes, I maybe need to research how to properly denote this