• Peter Oskolkov's avatar
    net: dccp: initialize (addr,port) listening hashtable · eedbbb0d
    Peter Oskolkov authored
    Commit d9fbc7f6 "net: tcp: prefer listeners bound to an address"
    removes port-only listener lookups. This caused segfaults in DCCP
    lookups because DCCP did not initialize the (addr,port) hashtable.
    
    This patch adds said initialization.
    
    The only non-trivial issue here is the size of the new hashtable.
    It seemed reasonable to make it match the size of the port-only
    hashtable (= INET_LHTABLE_SIZE) that was used previously. Other
    parameters to inet_hashinfo2_init() match those used in TCP.
    
    V2 changes: marked inet_hashinfo2_init as an exported symbol
    so that DCCP compiles when configured as a module.
    
    Tested: syzcaller issues fixed; the second patch in the patchset
            tests that DCCP lookups work correctly.
    
    Fixes: d9fbc7f6 "net: tcp: prefer listeners bound to an address"
    Reported-by: default avatarsyzcaller <syzkaller@googlegroups.com>
    Signed-off-by: default avatarPeter Oskolkov <posk@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    eedbbb0d
proto.c 30.4 KB