• Ying Xue's avatar
    tipc: fix topology server broken issue · def81f69
    Ying Xue authored
    When a new topology server is launched in a new namespace, its
    listening socket is inserted into the "init ns" namespace's socket
    hash table rather than the one owned by the new namespace. Although
    the socket's namespace is forcedly changed to the new namespace later,
    the socket is still stored in the socket hash table of "init ns"
    namespace. When a client created in the new namespace connects
    its own topology server, the connection is failed as its server's
    socket could not be found from its own namespace's socket table.
    
    If __sock_create() instead of original sock_create_kern() is used
    to create the server's socket through specifying an expected namesapce,
    the socket will be inserted into the specified namespace's socket
    table, thereby avoiding to the topology server broken issue.
    
    Fixes: 76100a8a ("tipc: fix netns refcnt leak")
    Reported-by: default avatarErik Hugne <erik.hugne@ericsson.com>
    Signed-off-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    def81f69
server.c 15.1 KB