• Jon Maloy's avatar
    tipc: correct initial value for group congestion flag · 1b22bcad
    Jon Maloy authored
    In commit 60c25306 ("tipc: fix race between poll() and
    setsockopt()") we introduced a pointer from struct tipc_group to the
    'group_is_connected' flag in struct tipc_sock, so that this field can
    be checked without dereferencing the group pointer of the latter struct.
    
    The initial value for this flag is correctly set to 'false' when a
    group is created, but we miss the case when no group is created at
    all, in which case the initial value should be 'true'. This has the
    effect that SOCK_RDM/DGRAM sockets sending datagrams never receive
    POLLOUT if they request so.
    
    This commit corrects this bug.
    
    Fixes: 60c25306 ("tipc: fix race between poll() and setsockopt()")
    Reported-by: default avatarHoang Le <hoang.h.le@dektek.com.au>
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1b22bcad
socket.c 86.3 KB