WSL2-Linux-Kernel/net/tipc
Tung Nguyen c244c092f1 tipc: fix unexpected link reset due to discovery messages
This unexpected behavior is observed:

node 1                    | node 2
------                    | ------
link is established       | link is established
reboot                    | link is reset
up                        | send discovery message
receive discovery message |
link is established       | link is established
send discovery message    |
                          | receive discovery message
                          | link is reset (unexpected)
                          | send reset message
link is reset             |

It is due to delayed re-discovery as described in function
tipc_node_check_dest(): "this link endpoint has already reset
and re-established contact with the peer, before receiving a
discovery message from that node."

However, commit 598411d70f has changed the condition for calling
tipc_node_link_down() which was the acceptance of new media address.

This commit fixes this by restoring the old and correct behavior.

Fixes: 598411d70f ("tipc: make resetting of links non-atomic")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-01-06 12:53:10 +00:00
..
Kconfig
Makefile
addr.c
addr.h
bcast.c
bcast.h
bearer.c
bearer.h
core.c
core.h
crypto.c tipc: re-fetch skb cb after tipc_msg_validate 2022-11-28 18:07:31 -08:00
crypto.h
diag.c
discover.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
discover.h
eth_media.c
group.c
group.h
ib_media.c
link.c tipc: Fix potential OOB in tipc_link_proto_rcv() 2022-12-06 12:58:38 +01:00
link.h
monitor.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
monitor.h
msg.c
msg.h
name_distr.c net/tipc: Remove unused struct distr_queue_item 2022-09-29 18:48:32 -07:00
name_distr.h
name_table.c
name_table.h
net.c
net.h
netlink.c genetlink: start to validate reserved header bytes 2022-08-29 12:47:15 +01:00
netlink.h
netlink_compat.c tipc: fix the msg->req tlv len check in tipc_nl_compat_name_table_dump_header 2022-11-07 19:53:40 -08:00
node.c tipc: fix unexpected link reset due to discovery messages 2023-01-06 12:53:10 +00:00
node.h
socket.c treewide: use get_random_u32_below() instead of deprecated function 2022-11-18 02:15:15 +01:00
socket.h
subscr.c
subscr.h
sysctl.c
topsrv.c iov_iter work; most of that is about getting rid of 2022-12-12 18:29:54 -08:00
topsrv.h
trace.c
trace.h
udp_media.c
udp_media.h