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>
Thu, 17 Feb 2022 16:41:49 +0000 (09:41 -0700)
commit1b8e963bdfac74d318f1e08229438695ce41a3eb
tree821331d36cee98cc45c8acc3bd08370d4ab5f8df
parentb27dc7ae39cb21a695b171d27c49435338a8b5e8
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