diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2019-05-03 16:53:08 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2019-05-03 16:53:08 +0000 |
commit | e21899ba85a6514e5f2d5fa6cf6fe3726f10fbad (patch) | |
tree | db2e9f9c50994ce42e1787b8e171a2f6908019be /sys | |
parent | 010f79d3e7d479b5138a80f4209c6d694cb80947 (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.c | 3 |
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; } |