Module Name: src
Committed By: ozaki-r
Date: Mon Apr 11 05:40:47 UTC 2016
Modified Files:
src/sys/net: bridgestp.c if_bridge.c
Log Message:
Fix usage of pslist(9)
Pointed out by riastradh@.
To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/net/bridgestp.c
cvs rdiff -u -r1.112 -r1.113 src/sys/net/if_bridge.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/bridgestp.c
diff -u src/sys/net/bridgestp.c:1.20 src/sys/net/bridgestp.c:1.21
--- src/sys/net/bridgestp.c:1.20 Mon Apr 11 02:04:14 2016
+++ src/sys/net/bridgestp.c Mon Apr 11 05:40:47 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: bridgestp.c,v 1.20 2016/04/11 02:04:14 ozaki-r Exp $ */
+/* $NetBSD: bridgestp.c,v 1.21 2016/04/11 05:40:47 ozaki-r Exp $ */
/*
* Copyright (c) 2000 Jason L. Wright ([email protected])
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bridgestp.c,v 1.20 2016/04/11 02:04:14 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bridgestp.c,v 1.21 2016/04/11 05:40:47 ozaki-r Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -341,7 +341,7 @@ bstp_config_bpdu_generation(struct bridg
{
struct bridge_iflist *bif;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -416,7 +416,7 @@ bstp_root_selection(struct bridge_softc
{
struct bridge_iflist *root_port = NULL, *bif;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -475,7 +475,7 @@ bstp_designated_port_selection(struct br
{
struct bridge_iflist *bif;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -515,7 +515,7 @@ bstp_port_state_selection(struct bridge_
{
struct bridge_iflist *bif;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -793,7 +793,7 @@ bstp_designated_for_some_port(struct bri
struct bridge_iflist *bif;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -833,7 +833,7 @@ bstp_initialization(struct bridge_softc
BRIDGE_LOCK(sc);
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -888,7 +888,7 @@ bstp_initialization(struct bridge_softc
BRIDGE_LOCK(sc);
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if (bif->bif_flags & IFBIF_STP)
bstp_enable_port(sc, bif);
@@ -909,7 +909,7 @@ bstp_stop(struct bridge_softc *sc)
struct bridge_iflist *bif;
BRIDGE_LOCK(sc);
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
bstp_set_port_state(bif, BSTP_IFSTATE_DISABLED);
bstp_timer_stop(&bif->bif_hold_timer);
@@ -982,7 +982,7 @@ bstp_set_bridge_priority(struct bridge_s
root = bstp_root_bridge(sc);
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -1076,7 +1076,7 @@ bstp_tick(void *arg)
s = splnet();
BRIDGE_LOCK(sc);
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -1100,7 +1100,7 @@ bstp_tick(void *arg)
sc->sc_topology_change_time))
bstp_topology_change_timer_expiry(sc);
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
@@ -1109,7 +1109,7 @@ bstp_tick(void *arg)
bstp_message_age_timer_expiry(sc, bif);
}
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
if ((bif->bif_flags & IFBIF_STP) == 0)
continue;
Index: src/sys/net/if_bridge.c
diff -u src/sys/net/if_bridge.c:1.112 src/sys/net/if_bridge.c:1.113
--- src/sys/net/if_bridge.c:1.112 Mon Apr 11 02:04:14 2016
+++ src/sys/net/if_bridge.c Mon Apr 11 05:40:47 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bridge.c,v 1.112 2016/04/11 02:04:14 ozaki-r Exp $ */
+/* $NetBSD: if_bridge.c,v 1.113 2016/04/11 05:40:47 ozaki-r Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.112 2016/04/11 02:04:14 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.113 2016/04/11 05:40:47 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_bridge_ipf.h"
@@ -713,8 +713,6 @@ bridge_delete_member(struct bridge_softc
ifs->if_bridgeif = NULL;
PSLIST_WRITER_REMOVE(bif, bif_next);
- PSLIST_ENTRY_DESTROY(bif, bif_next);
-
BRIDGE_PSZ_PERFORM(sc);
#ifdef BRIDGE_MPSAFE
@@ -728,6 +726,7 @@ bridge_delete_member(struct bridge_softc
#endif
BRIDGE_UNLOCK(sc);
+ PSLIST_ENTRY_DESTROY(bif, bif_next);
kmem_free(bif, sizeof(*bif));
BRIDGE_LOCK(sc);
@@ -949,7 +948,7 @@ bridge_ioctl_gifs(struct bridge_softc *s
retry:
BRIDGE_LOCK(sc);
count = 0;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next)
count++;
BRIDGE_UNLOCK(sc);
@@ -970,7 +969,7 @@ retry:
BRIDGE_LOCK(sc);
i = 0;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next)
i++;
if (i > count) {
@@ -984,7 +983,7 @@ retry:
}
i = 0;
- PSLIST_READER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
+ PSLIST_WRITER_FOREACH(bif, &sc->sc_iflist, struct bridge_iflist,
bif_next) {
struct ifbreq *breq = &breqs[i++];
memset(breq, 0, sizeof(*breq));