CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2022/08/28 12:44:17

Modified files:
        sys/kern       : uipc_usrreq.c 
        sys/net        : pfkeyv2.c rtsock.c 
        sys/netinet    : ip_divert.c ip_divert.h ip_gre.c ip_var.h 
                         raw_ip.c tcp_usrreq.c tcp_var.h udp_usrreq.c 
                         udp_var.h 
        sys/netinet6   : ip6_divert.c ip6_divert.h ip6_var.h raw_ip6.c 
        sys/sys        : protosw.h unpcb.h 

Log message:
Move PRU_ABORT request to (*pru_abort)().

We abort only the sockets which are linked to `so_q' or `so_q0' queues of
listening socket. Such sockets have no corresponding file descriptor and
are not accessed from userland, so PRU_ABORT used to destroy them on
listening socket destruction.

Currently all our sockets support PRU_ABORT request, but actually it
required only for tcp(4) and unix(4) sockets, so i should be optional.
However, they will be removed with separate diff, and this time  PRU_ABORT
requests were converted as is.

Also, the socket should be destroyed on PRU_ABORT request, but route and
key management sockets leave it alive. This was also converted as is,
because this wrong code never called.

ok bluhm@

Reply via email to