net: decouple skb_frag_t from struct bio_vec
authorJens Axboe <axboe@kernel.dk>
Tue, 12 Oct 2021 13:15:13 +0000 (07:15 -0600)
committerJens Axboe <axboe@kernel.dk>
Sun, 18 Dec 2022 18:20:05 +0000 (11:20 -0700)
commit82aff30d83ab627504928ba869a970226c8af4ae
tree8c97994c990ce4bfa2c174a4f50bfea5dd8adf7d
parentdd002cc8aef74b6a0fa1e4c579eb84047ef2aa8a
net: decouple skb_frag_t from struct bio_vec

There are some hidden dependencies between the size of skb_frag_t, and
hence also struct bio_vec, which causes network data corruption when
the bio_vec is changed. This is at least true on igb, unsure how many
drivers it affects or if it's a core feature that igb just happens to
use.

Since nothing ever came of the skb_frag_t and bio_vec unification, just
add a private skb_frag_struct instead that has the same layout as the
bio_vec.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/skbuff.h