CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]   2021/01/09 07:55:21

Modified files:
        sys/net        : if.c 

Log message:
Syzkaller has found a stack overflow in socket splicing.  Broadcast
packets were resent through simplex broadcast delivery and socket
splicing.  Although there is an M_LOOP check in somove(9), it did
not take effect.  if_input_local() cleared the M_BCAST and M_MCAST
flags with m_resethdr().
As if_input_local() is used for broadcast and multicast delivery,
it was a mistake to delete them.  Keep the M_BCAST and M_MCAST mbuf
flags when packets are reinjected into the network stack.
Reported-by: [email protected]
OK anton@; discussed with claudio@

Reply via email to