tipc: mark head of reassembly buffer as non-linear
authorJon Paul Maloy <jon.maloy@ericsson.com>
Wed, 14 May 2014 09:39:11 +0000 (05:39 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 14 May 2014 19:19:48 +0000 (15:19 -0400)
commit5074ab89c555dd130ceeac129546670423d634b8
treeb4f5a56a3c2e8eecfec5465491bb6f79f596ac77
parentec37dcd382b4f3673bfbf36ccd348ef48f98ffe3
tipc: mark head of reassembly buffer as non-linear

The message reassembly function does not update the 'len' and 'data_len'
fields of the head skbuff correctly when fragments are chained to it.
This may sometimes lead to obsure errors, such as fragment reordering
when we receive fragments which are cloned buffers.

This commit fixes this, by ensuring that the two fields are updated
correctly.

Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Reviewed-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/link.c