summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2019-05-03 16:53:08 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2019-05-03 16:53:08 +0000
commite21899ba85a6514e5f2d5fa6cf6fe3726f10fbad (patch)
treedb2e9f9c50994ce42e1787b8e171a2f6908019be /sys
parent010f79d3e7d479b5138a80f4209c6d694cb80947 (diff)
An if_put() was missing in one branch of bridge_process(). This
caused a hanging "ifconfig bridge0 destroy" and a subsequent uvm fault. reported and tested by Hrvoje Popovski; OK visa@
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_bridge.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
index 0d9c21af678..67f0e6ab754 100644
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_bridge.c,v 1.328 2019/04/28 22:15:57 mpi Exp $ */
+/* $OpenBSD: if_bridge.c,v 1.329 2019/05/03 16:53:07 bluhm Exp $ */
/*
* Copyright (c) 1999, 2000 Jason L. Wright (jason@thought.net)
@@ -1162,6 +1162,7 @@ bridge_process(struct ifnet *ifp, struct mbuf *m)
bridge_ifinput(ifp, mc);
bridgeintr_frame(brifp, ifp, m);
+ if_put(brifp);
return;
}