• Paolo Abeni's avatar
    udp: fix bcast packet reception · 996b44fc
    Paolo Abeni authored
    The commit bc044e8d ("udp: perform source validation for
    mcast early demux") does not take into account that broadcast packets
    lands in the same code path and they need different checks for the
    source address - notably, zero source address are valid for bcast
    and invalid for mcast.
    
    As a result, 2nd and later broadcast packets with 0 source address
    landing to the same socket are dropped. This breaks dhcp servers.
    
    Since we don't have stringent performance requirements for ingress
    broadcast traffic, fix it by disabling UDP early demux such traffic.
    Reported-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
    Fixes: bc044e8d ("udp: perform source validation for mcast early demux")
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    996b44fc
udp.c 72.6 KB