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
..
Kconfig tipc: Eliminate configuration for maximum number of cluster nodes 2011-03-13 16:35:17 -04:00
Makefile
addr.c tipc: Eliminate configuration for maximum number of cluster nodes 2011-03-13 16:35:17 -04:00
addr.h tipc: make zone/cluster mask constants a define 2011-05-10 16:03:54 -04:00
bcast.c tipc: clear 'next'-pointer of message fragments before reassembly 2014-07-28 07:06:45 -07:00
bcast.h tipc: Major redesign of broadcast link ACK/NACK algorithms 2012-02-06 16:59:18 -05:00
bearer.c tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
bearer.h tipc: rename struct bearer_name to struct tipc_bearer_names 2011-12-29 21:53:30 -05:00
config.c tipc: Eliminate support for tipc_mode global variable 2012-02-24 17:05:17 -05:00
config.h tipc: Remove unused link event tracking code 2011-09-17 22:55:15 -04:00
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 tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
eth_media.c tipc: fix lockdep warning during bearer initialization 2013-09-14 06:02:11 -07:00
handler.c
link.c tipc: Eliminate obsolete code for re-sending a message 2012-02-29 11:45:01 -05:00
link.h tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
log.c tipc: nuke the delimit static inline function. 2012-02-24 17:05:14 -05:00
log.h
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 tipc: manually inline net_start/stop, make assoc. vars static 2011-03-13 16:35:17 -04:00
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 tipc: Cosmetic changes to node subscription code 2011-03-13 16:35:16 -04:00
node_subscr.h tipc: Cosmetic changes to node subscription code 2011-03-13 16:35:16 -04:00
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 net: two vzalloc() cleanups 2011-12-19 16:01:38 -05:00
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 tipc: rename struct subscription to struct tipc_subscription 2011-12-29 21:53:29 -05:00