The skb_cow() is placed before the address mutation and, thanks to the short-circuit, only runs when the interlink skb can alias a live consumer: master-originated frames, or ring frames the master also consumes (is_local_dest and not is_local_exclusive). The zero-copy ring paths keep their behavior. On allocation failure the frame is dropped with rx_dropped accounting, matching the tagged-frame creation failure path. Reads correctly to me.
Reviewed-by: Ali Ahmet Memis <[email protected]>
