Re: BUG_ON in skb_segment, after bpf_skb_change_proto was applied
From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2019-08-27 12:10:39
On 8/27/19 1:42 PM, Shmulik Ladkani wrote: [...]
- Another thing that puzzles me is that we hit the BUG_ON rather rarely and cannot yet reproduce synthetically. If skb_segment's handling of skbs with a frag_list (that have gso_size mangled) is broken, I'd expect to hit this more often... Any ideas? - Suppose going for a rewrite, care to elaborate what's exactly missing in skb_segment's logic? I must admit I do not fully understand all the different code flows in this function, it seems to support many different input skbs - any assistance is highly appreciated.
Given first point above wrt hitting rarely, it would be good to first get a better understanding for writing a reproducer. Back then Yonghong added one to the BPF kernel test suite [0], so it would be desirable to extend it for the case you're hitting. Given NAT64 use-case is needed and used by multiple parties, we should try to (fully) fix it generically. Thanks, Daniel [0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=76db8087c4c991dcd17f5ea8ac0eafd0696ab450
Shmulik