CVSROOT:        /cvs
Module name:    src
Changes by:     bl...@cvs.openbsd.org   2016/06/13 15:24:43

Modified files:
        sys/sys        : mbuf.h 
        sys/kern       : uipc_mbuf.c uipc_socket.c 
        sys/netinet    : tcp_output.c 
        share/man/man9 : sosplice.9 
        lib/libc/sys   : getsockopt.2 

Log message:
On localhost a user program may create a socket splicing loop.
After writing data into this loop, it was spinning forever causing
a kernel hang.  Detect the loop by counting how often the same mbuf
is spliced.  If that happens 128 times, assume that there is a loop
and abort the splicing with ELOOP.
Bug found by tedu@;  OK tedu@ millert@ benno@

Reply via email to