diff options
| author | Andrew Thompson <thompsa@FreeBSD.org> | 2006-03-26 20:52:47 +0000 |
|---|---|---|
| committer | Andrew Thompson <thompsa@FreeBSD.org> | 2006-03-26 20:52:47 +0000 |
| commit | 64cb85059e7ee44dd01862fde3b56f3df983b049 (patch) | |
| tree | 90d70a536f37452711829fff3d589fd18ac23941 /sys/net | |
| parent | 0f5650dbf9c9a61d8f23ed0ee16bbddbcf09523d (diff) | |
Notes
Diffstat (limited to 'sys/net')
| -rw-r--r-- | sys/net/if_bridge.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 2adf06253f7a5..a583442fdd0ed 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -2589,6 +2589,9 @@ bridge_pfil(struct mbuf **mp, struct ifnet *bifp, struct ifnet *ifp, int dir) snap = 0; error = -1; /* Default error if not error == 0 */ + /* we may return with the IP fields swapped, ensure its not shared */ + KASSERT(M_WRITABLE(*mp), ("%s: modifying a shared mbuf", __func__)); + if (pfil_bridge == 0 && pfil_member == 0 && pfil_ipfw == 0) return 0; /* filtering is disabled */ |
