summaryrefslogtreecommitdiffstats
path: root/net/sctp/sm_statetable.c
diff options
context:
space:
mode:
authorIlan Tayari <ilant@mellanox.com>2017-04-19 21:26:07 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-05-03 08:36:36 -0700
commit7ab89b176b7a6c9366e4c3c309bf69be652e9baa (patch)
tree26f266165f92a2fb6b6e0a2d0225f1c8cd4c36e2 /net/sctp/sm_statetable.c
parentfcbf5a71a646f03f731d67ad86acfaac2511d29a (diff)
downloadlinux-stable-7ab89b176b7a6c9366e4c3c309bf69be652e9baa.tar.gz
linux-stable-7ab89b176b7a6c9366e4c3c309bf69be652e9baa.tar.bz2
linux-stable-7ab89b176b7a6c9366e4c3c309bf69be652e9baa.zip
gso: Validate assumption of frag_list segementation
[ Upstream commit 43170c4e0ba709c79130c3fe5a41e66279950cd0 ] Commit 07b26c9454a2 ("gso: Support partial splitting at the frag_list pointer") assumes that all SKBs in a frag_list (except maybe the last one) contain the same amount of GSO payload. This assumption is not always correct, resulting in the following warning message in the log: skb_segment: too many frags For example, mlx5 driver in Striding RQ mode creates some RX SKBs with one frag, and some with 2 frags. After GRO, the frag_list SKBs end up having different amounts of payload. If this frag_list SKB is then forwarded, the aforementioned assumption is violated. Validate the assumption, and fall back to software GSO if it not true. Change-Id: Ia03983f4a47b6534dd987d7a2aad96d54d46d212 Fixes: 07b26c9454a2 ("gso: Support partial splitting at the frag_list pointer") Signed-off-by: Ilan Tayari <ilant@mellanox.com> Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sctp/sm_statetable.c')
0 files changed, 0 insertions, 0 deletions