]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
tipc: fix memory leak of group member when peer node is lost
authorJon Maloy <jon.maloy@ericsson.com>
Thu, 21 Dec 2017 13:36:34 +0000 (14:36 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Dec 2017 18:06:36 +0000 (13:06 -0500)
commit3a33a19bf88cdfc6d982972bc6ffcf7a62c1015e
tree822156ba441ed4d0231d6a5dd54a283aabf5caf8
parent4853f128c13ed2731625dff2410b7fdbe540fb26
tipc: fix memory leak of group member when peer node is lost

When a group member receives a member WITHDRAW event, this might have
two reasons: either the peer member is leaving the group, or the link
to the member's node has been lost.

In the latter case we need to issue a DOWN event to the user right away,
and let function tipc_group_filter_msg() perform delete of the member
item. However, in this case we miss to change the state of the member
item to MBR_LEAVING, so the member item is not deleted, and we have a
memory leak.

We now separate better between the four sub-cases of a WITHRAW event
and make sure that each case is handled correctly.

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/group.c