]> git.baikalelectronics.ru Git - kernel.git/commit
tipc: fix bug in multicast/broadcast message reassembly
authorJon Paul Maloy <jon.maloy@ericsson.com>
Sat, 5 Jul 2014 17:44:13 +0000 (13:44 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 8 Jul 2014 22:55:09 +0000 (15:55 -0700)
commit43a3f7d7d01c6cd6c391737dfebd1f27d4513167
treed25dfe81b741b6a8757ff1eea5143b1c3a801e7c
parent867fd092265c8394a52d2108224b29d9978ead50
tipc: fix bug in multicast/broadcast message reassembly

Since commit 76d6c2d61b0ef1d75432239fd63e24c5f9019fbb ("tipc: rename and
move message reassembly function") reassembly of long broadcast messages
has been broken. This is because we test for a non-NULL return value
of the *buf parameter as criteria for succesful reassembly. However, this
parameter is left defined even after reception of the first fragment,
when reassebly is still incomplete. This leads to a kernel crash as soon
as a the first fragment of a long broadcast message is received.

We fix this with this commit, by implementing a stricter behavior of the
function and its return values.

This commit should be applied to both net and net-next.

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/msg.c