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);

Reply via email to