CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2022/06/26 09:50:21
Modified files: sys/net : if_ethersubr.c if_gre.c if_pppx.c pipex.c pipex.h pipex_local.h sys/netinet : ip_gre.c udp_usrreq.c Log message: The "ifq_set_maxlen(..., 1);" hack we use to enforce pipex(4) related (*if_qstart)() be always called with netlock held doesn't work anymore with PPPOE sessions. Introduce `pipex_list_mtx' mutex(9) and use it to protect global pipex(4) lists and radix trees. Protect pipex(4) `session' dereference with reference counters, because we could sleep when accessing pipex(4) from ioctl(2) path, and this is not possible with mutex(9) held. ok bluhm@