linux/net/tipc
Erik Hugne a715b49e79 tipc: reassembly failures should cause link reset
If appending a received fragment to the pending fragment chain
in a unicast link fails, the current code tries to force a retransmission
of the fragment by decrementing the 'next received sequence number'
field in the link. This is done under the assumption that the failure
is caused by an out-of-memory situation, an assumption that does
not hold true after the previous patch in this series.

A failure to append a fragment can now only be caused by a protocol
violation by the sending peer, and it must hence be assumed that it
is either malicious or buggy.  Either way, the correct behavior is now
to reset the link instead of trying to revert its sequence number.
So, this is what we do in this commit.

Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-11-07 18:30:11 -05:00
..
Kconfig tipc: add InfiniBand media type 2013-04-17 14:18:33 -04:00
Makefile tipc: introduce new TIPC server infrastructure 2013-06-17 15:53:00 -07:00
addr.c tipc: compress out gratuitous extra carriage returns 2012-04-30 15:53:56 -04:00
addr.h tipc: compress out gratuitous extra carriage returns 2012-04-30 15:53:56 -04:00
bcast.c tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
bcast.h tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
bearer.c tipc: avoid unnecessary lookup for tipc bearer instance 2013-10-18 13:20:43 -04:00
bearer.h tipc: avoid unnecessary lookup for tipc bearer instance 2013-10-18 13:20:43 -04:00
config.c tipc: convert config_lock from spinlock to mutex 2013-06-17 15:53:01 -07:00
config.h tipc: Optimize re-initialization of configuration service 2012-04-26 17:19:07 -04:00
core.c tipc: convert configuration server to use new server facility 2013-06-17 15:53:00 -07:00
core.h net: misc: Remove extern from function prototypes 2013-10-19 19:12:11 -04:00
discover.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
discover.h tipc: rename struct link* to struct tipc_link* 2011-12-29 21:53:30 -05:00
eth_media.c tipc: correct return value of recv_msg routine 2013-10-18 13:20:43 -04:00
handler.c tipc: do not use tasklet_disable before tasklet_kill 2012-11-03 15:10:14 -04:00
ib_media.c tipc: correct return value of recv_msg routine 2013-10-18 13:20:43 -04:00
link.c tipc: reassembly failures should cause link reset 2013-11-07 18:30:11 -05:00
link.h tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
log.c tipc: remove print_buf and deprecated log buffer code 2012-07-13 19:34:43 -04:00
msg.c tipc: remove iovec length parameter from all sending functions 2013-10-18 13:20:42 -04:00
msg.h tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
name_distr.c tipc: eliminate an unnecessary cast of node variable 2012-11-22 14:33:28 -05:00
name_distr.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
name_table.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
name_table.h tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
net.c tipc: change tipc_net_start routine return value type 2012-08-20 02:26:30 -07:00
net.h tipc: change tipc_net_start routine return value type 2012-08-20 02:26:30 -07:00
netlink.c net-next: replace obsolete NLMSG_* with type safe nlmsg_* 2013-03-28 14:25:25 -04:00
node.c tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
node.h tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
node_subscr.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
node_subscr.h tipc: compress out gratuitous extra carriage returns 2012-04-30 15:53:56 -04:00
port.c tipc: remove iovec length parameter from all sending functions 2013-10-18 13:20:42 -04:00
port.h tipc: remove iovec length parameter from all sending functions 2013-10-18 13:20:42 -04:00
ref.c tipc: use standard printk shortcut macros (pr_err etc.) 2012-07-13 19:24:44 -04:00
ref.h tipc: cleanup function namespace 2010-10-16 11:13:24 -07:00
server.c tipc: fix oops when creating server socket fails 2013-08-01 15:54:33 -07:00
server.h tipc: introduce new TIPC server infrastructure 2013-06-17 15:53:00 -07:00
socket.c tipc: silence sparse warnings 2013-10-18 13:20:42 -04:00
subscr.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
subscr.h tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
sysctl.c tipc: change socket buffer overflow control to respect sk_rcvbuf 2013-06-17 15:53:00 -07:00