remarkable-linux/net/tipc
Parthasarathy Bhuvaragan 05ff837897 tipc: fix socket flow control accounting error at tipc_recv_stream
Until now in tipc_recv_stream(), we update the received
unacknowledged bytes based on a stack variable and not based on the
actual message size.
If the user buffer passed at tipc_recv_stream() is smaller than the
received skb, the size variable in stack differs from the actual
message size in the skb. This leads to a flow control accounting
error causing permanent congestion.

In this commit, we fix this accounting error by always using the
size of the incoming message.

Fixes: 10724cc7bb ("tipc: redesign connection-level flow control")
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-04-25 11:45:38 -04:00
..
addr.c
addr.h
bcast.c tipc: make replicast a user selectable option 2017-01-20 12:10:17 -05:00
bcast.h tipc: make replicast a user selectable option 2017-01-20 12:10:17 -05:00
bearer.c tipc: add function for checking broadcast support in bearer 2017-01-20 12:10:15 -05:00
bearer.h tipc: add function for checking broadcast support in bearer 2017-01-20 12:10:15 -05:00
core.c netns: make struct pernet_operations::id unsigned int 2016-11-18 10:59:15 -05:00
core.h netns: make struct pernet_operations::id unsigned int 2016-11-18 10:59:15 -05:00
discover.c tipc: allocate user memory with GFP_KERNEL flag 2017-01-16 13:31:53 -05:00
discover.h
eth_media.c
ib_media.c
Kconfig
link.c tipc: make replicast a user selectable option 2017-01-20 12:10:17 -05:00
link.h
Makefile
monitor.c tipc: improve sanity check for received domain records 2016-11-25 20:06:18 -05:00
monitor.h
msg.c tipc: introduce replicast as transport option for multicast 2017-01-20 12:10:17 -05:00
msg.h tipc: introduce replicast as transport option for multicast 2017-01-20 12:10:17 -05:00
name_distr.c tipc: allocate user memory with GFP_KERNEL flag 2017-01-16 13:31:53 -05:00
name_distr.h
name_table.c tipc: add functionality to lookup multicast destination nodes 2017-01-20 12:10:16 -05:00
name_table.h tipc: add functionality to lookup multicast destination nodes 2017-01-20 12:10:16 -05:00
net.c tipc: Fix tipc_sk_reinit race conditions 2017-02-17 12:28:35 -05:00
net.h
netlink.c genetlink: mark families as __ro_after_init 2016-10-27 16:16:09 -04:00
netlink.h
netlink_compat.c genetlink: mark families as __ro_after_init 2016-10-27 16:16:09 -04:00
node.c tipc: move premature initilalization of stack variables 2017-02-24 11:42:54 -05:00
node.h tipc: make replicast a user selectable option 2017-01-20 12:10:17 -05:00
server.c tipc: fix cleanup at module unload 2017-01-24 16:14:58 -05:00
server.h
socket.c tipc: fix socket flow control accounting error at tipc_recv_stream 2017-04-25 11:45:38 -04:00
socket.h
subscr.c tipc: fix nametbl deadlock at tipc_nametbl_unsubscribe 2017-03-22 11:59:16 -07:00
subscr.h tipc: add subscription refcount to avoid invalid delete 2017-01-24 16:14:57 -05:00
sysctl.c
udp_media.c tipc: add function for checking broadcast support in bearer 2017-01-20 12:10:15 -05:00
udp_media.h