android_kernel_google_msm/net/tipc
Jon Paul Maloy d1558f713d tipc: clear 'next'-pointer of message fragments before reassembly
[ Upstream commit 999417549c ]

If the 'next' pointer of the last fragment buffer in a message is not
zeroed before reassembly, we risk ending up with a corrupt message,
since the reassembly function itself isn't doing this.

Currently, when a buffer is retrieved from the deferred queue of the
broadcast link, the next pointer is not cleared, with the result as
described above.

This commit corrects this, and thereby fixes a bug that may occur when
long broadcast messages are transmitted across dual interfaces. The bug
has been present since 40ba3cdf54 ("tipc:
message reassembly using fragment chain")

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

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-28 07:06:45 -07:00
..
addr.c
addr.h
bcast.c tipc: clear 'next'-pointer of message fragments before reassembly 2014-07-28 07:06:45 -07:00
bcast.h
bearer.c tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
bearer.h
config.c tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
config.h
core.c tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
core.h tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
discover.c tipc: Eliminate trivial buffer manipulation helper routines 2012-02-24 17:05:16 -05:00
discover.h
eth_media.c tipc: fix lockdep warning during bearer initialization 2013-09-14 06:02:11 -07:00
handler.c
Kconfig
link.c tipc: Eliminate obsolete code for re-sending a message 2012-02-29 11:45:01 -05:00
link.h
log.c tipc: nuke the delimit static inline function. 2012-02-24 17:05:14 -05:00
log.h
Makefile
msg.c tipc: Eliminate trivial buffer manipulation helper routines 2012-02-24 17:05:16 -05:00
msg.h tipc: Remove duplicate check of message destination node 2012-02-24 17:05:14 -05:00
name_distr.c tipc: Eliminate trivial buffer manipulation helper routines 2012-02-24 17:05:16 -05:00
name_distr.h
name_table.c tipc: Revert name table translation optimization 2012-02-24 17:05:17 -05:00
name_table.h tipc: Simplify enforcement of reserved name type prohibition 2012-02-24 17:05:14 -05:00
net.c tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
net.h
netlink.c
node.c tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
node.h tipc: Hide internal details of node table implementation 2012-02-24 17:05:15 -05:00
node_subscr.c
node_subscr.h
port.c tipc: Optimize setting of immutable payload message header fields 2012-02-29 11:45:35 -05:00
port.h tipc: Un-inline port routine for processing incoming messages 2012-02-29 11:44:32 -05:00
ref.c
ref.h
socket.c net: rework recvmsg handler msg_name and msg_namelen logic 2013-12-08 07:29:41 -08:00
subscr.c tipc: Simplify enforcement of reserved name type prohibition 2012-02-24 17:05:14 -05:00
subscr.h