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@