Module Name: src Committed By: thorpej Date: Fri Dec 18 01:31:49 UTC 2020
Modified Files: src/sys/net: bpf.c if_tap.c if_tun.c Log Message: Use sel{record,remove}_knote(). To generate a diff of this commit: cvs rdiff -u -r1.238 -r1.239 src/sys/net/bpf.c cvs rdiff -u -r1.120 -r1.121 src/sys/net/if_tap.c cvs rdiff -u -r1.161 -r1.162 src/sys/net/if_tun.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/bpf.c diff -u src/sys/net/bpf.c:1.238 src/sys/net/bpf.c:1.239 --- src/sys/net/bpf.c:1.238 Sun Aug 2 07:19:39 2020 +++ src/sys/net/bpf.c Fri Dec 18 01:31:49 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bpf.c,v 1.238 2020/08/02 07:19:39 maxv Exp $ */ +/* $NetBSD: bpf.c,v 1.239 2020/12/18 01:31:49 thorpej Exp $ */ /* * Copyright (c) 1990, 1991, 1993 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bpf.c,v 1.238 2020/08/02 07:19:39 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bpf.c,v 1.239 2020/12/18 01:31:49 thorpej Exp $"); #if defined(_KERNEL_OPT) #include "opt_bpf.h" @@ -1528,7 +1528,7 @@ filt_bpfrdetach(struct knote *kn) struct bpf_d *d = kn->kn_hook; mutex_enter(d->bd_buf_mtx); - SLIST_REMOVE(&d->bd_sel.sel_klist, kn, knote, kn_selnext); + selremove_knote(&d->bd_sel, kn); mutex_exit(d->bd_buf_mtx); } @@ -1558,23 +1558,20 @@ static int bpf_kqfilter(struct file *fp, struct knote *kn) { struct bpf_d *d = fp->f_bpf; - struct klist *klist; - mutex_enter(d->bd_buf_mtx); switch (kn->kn_filter) { case EVFILT_READ: - klist = &d->bd_sel.sel_klist; kn->kn_fop = &bpfread_filtops; break; default: - mutex_exit(d->bd_buf_mtx); return (EINVAL); } kn->kn_hook = d; - SLIST_INSERT_HEAD(klist, kn, kn_selnext); + mutex_enter(d->bd_buf_mtx); + selrecord_knote(&d->bd_sel, kn); mutex_exit(d->bd_buf_mtx); return (0); Index: src/sys/net/if_tap.c diff -u src/sys/net/if_tap.c:1.120 src/sys/net/if_tap.c:1.121 --- src/sys/net/if_tap.c:1.120 Fri Oct 30 22:51:08 2020 +++ src/sys/net/if_tap.c Fri Dec 18 01:31:49 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_tap.c,v 1.120 2020/10/30 22:51:08 christos Exp $ */ +/* $NetBSD: if_tap.c,v 1.121 2020/12/18 01:31:49 thorpej Exp $ */ /* * Copyright (c) 2003, 2004, 2008, 2009 The NetBSD Foundation. @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_tap.c,v 1.120 2020/10/30 22:51:08 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_tap.c,v 1.121 2020/12/18 01:31:49 thorpej Exp $"); #if defined(_KERNEL_OPT) @@ -1227,7 +1227,7 @@ tap_dev_kqfilter(int unit, struct knote kn->kn_hook = sc; mutex_spin_enter(&sc->sc_lock); - SLIST_INSERT_HEAD(&sc->sc_rsel.sel_klist, kn, kn_selnext); + selrecord_knote(&sc->sc_rsel, kn); mutex_spin_exit(&sc->sc_lock); KERNEL_UNLOCK_ONE(NULL); return 0; @@ -1240,7 +1240,7 @@ tap_kqdetach(struct knote *kn) KERNEL_LOCK(1, NULL); mutex_spin_enter(&sc->sc_lock); - SLIST_REMOVE(&sc->sc_rsel.sel_klist, kn, knote, kn_selnext); + selremove_knote(&sc->sc_rsel, kn); mutex_spin_exit(&sc->sc_lock); KERNEL_UNLOCK_ONE(NULL); } Index: src/sys/net/if_tun.c diff -u src/sys/net/if_tun.c:1.161 src/sys/net/if_tun.c:1.162 --- src/sys/net/if_tun.c:1.161 Sun Sep 27 19:25:54 2020 +++ src/sys/net/if_tun.c Fri Dec 18 01:31:49 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_tun.c,v 1.161 2020/09/27 19:25:54 roy Exp $ */ +/* $NetBSD: if_tun.c,v 1.162 2020/12/18 01:31:49 thorpej Exp $ */ /* * Copyright (c) 1988, Julian Onions <j...@cs.nott.ac.uk> @@ -19,7 +19,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_tun.c,v 1.161 2020/09/27 19:25:54 roy Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_tun.c,v 1.162 2020/12/18 01:31:49 thorpej Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1051,7 +1051,7 @@ filt_tunrdetach(struct knote *kn) struct tun_softc *tp = kn->kn_hook; mutex_enter(&tp->tun_lock); - SLIST_REMOVE(&tp->tun_rsel.sel_klist, kn, knote, kn_selnext); + selremove_knote(&tp->tun_rsel, kn); mutex_exit(&tp->tun_lock); } @@ -1099,7 +1099,6 @@ int tunkqfilter(dev_t dev, struct knote *kn) { struct tun_softc *tp; - struct klist *klist; int rv = 0; tp = tun_find_unit(dev); @@ -1108,12 +1107,10 @@ tunkqfilter(dev_t dev, struct knote *kn) switch (kn->kn_filter) { case EVFILT_READ: - klist = &tp->tun_rsel.sel_klist; kn->kn_fop = &tunread_filtops; break; case EVFILT_WRITE: - klist = &tp->tun_rsel.sel_klist; kn->kn_fop = &tun_seltrue_filtops; break; @@ -1124,7 +1121,7 @@ tunkqfilter(dev_t dev, struct knote *kn) kn->kn_hook = tp; - SLIST_INSERT_HEAD(klist, kn, kn_selnext); + selrecord_knote(&tp->tun_rsel, kn); out: mutex_exit(&tp->tun_lock);