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, 27 Mar 2022 21:15:46 +0000 (15:15 -0600)
commit61c70b63a35f6a88997777aa0ff0cf5e7a5471bc
tree44ef771a293cdeb3b3210d8b2aa0b0114042d528
parent3194b2264155a7bf34dad5386a14bcbdab72d7cd
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