freebsd-nq/sys
Kristof Provost 581e697036 Fix panic when adding vtnet interfaces to a bridge
vtnet interfaces are always in promiscuous mode (at least if the
VIRTIO_NET_F_CTRL_RX feature is not negotiated with the host).  if_promisc() on
a vtnet interface returned ENOTSUP although it has IFF_PROMISC set. This
confused the bridge code. Instead we now accept all enable/disable promiscuous
commands (and always keep IFF_PROMISC set).

There are also two issues with the if_bridge error handling.

If if_promisc() fails it uses bridge_delete_member() to clean up. This tries to
disable promiscuous mode on the interface. That runs into an assert, because
promiscuous mode was never set in the first place. (That's the panic reported in
PR 200210.)
We can only unset promiscuous mode if the interface actually is promiscuous.
This goes against the reference counting done by if_promisc(), but only the
first/last if_promic() calls can actually fail, so this is safe.

A second issue is a double free of bif. It's already freed by
bridge_delete_member().

PR:		200210
Differential Revision:	https://reviews.freebsd.org/D2804
Reviewed by:	philip (mentor)
2015-06-13 19:39:21 +00:00
..
amd64 Report the values of x86 segment registers to remote debuggers. 2015-06-12 15:14:08 +00:00
arm Add basic support for ACPI. It splits out the nexus driver to two new 2015-06-11 15:45:33 +00:00
arm64 Add basic support for ACPI. It splits out the nexus driver to two new 2015-06-11 15:45:33 +00:00
boot Add META_MODE support. 2015-06-13 19:20:56 +00:00
bsm
cam Add support for reading MAM attributes to camcontrol(8) and libcam(3). 2015-06-09 21:39:38 +00:00
cddl MFV r284036: 5961 Fix stack overflow in zfs_create_fs 2015-06-12 11:10:49 +00:00
compat linux: make sure to grab all cow structs when creating a thread 2015-06-10 15:34:43 +00:00
conf Add META_MODE support. 2015-06-13 19:20:56 +00:00
contrib MFV: r283965 2015-06-03 19:39:59 +00:00
crypto
ddb ddb: de-register 2015-05-23 14:59:27 +00:00
dev Fix panic when adding vtnet interfaces to a bridge 2015-06-13 19:39:21 +00:00
fs Make KPI of vm_pager_get_pages() more strict: if a pager changes a page 2015-06-12 11:32:20 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Teach G_PART_GPT class to handle g_resize_provider event. 2015-06-08 12:52:41 +00:00
gnu
i386 Report the values of x86 segment registers to remote debuggers. 2015-06-12 15:14:08 +00:00
isa
kern Make KPI of vm_pager_get_pages() more strict: if a pager changes a page 2015-06-12 11:32:20 +00:00
kgssapi
libkern Add more __aeabi_memcpy functions, later versions of clang generate calls 2015-05-31 07:31:20 +00:00
mips Add if_vlan, ipfw{,_nat}.ko, and libalias to the AR934X kernel config 2015-06-13 06:09:00 +00:00
modules Import ugold driver from OpenBSD supporting digital USB temperature 2015-06-11 15:23:47 +00:00
net Fix panic when adding vtnet interfaces to a bridge 2015-06-13 19:39:21 +00:00
net80211 Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
netgraph CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
netinet Fix the reporting of the PMTUD state for specific paths. 2015-06-12 18:59:29 +00:00
netinet6 Move RTM announces into generic code to be independent from Layer2 code. 2015-05-29 10:24:16 +00:00
netipsec drop key_sa_stir_iv as it isn't used... 2015-06-11 13:05:37 +00:00
netnatm
netpfil pf: Remove frc_direction 2015-06-11 17:57:47 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Implement lockless resource limits. 2015-06-10 10:48:12 +00:00
opencrypto Use the correct number of arguments for the 2015-05-25 01:31:39 +00:00
pc98 Build GENERIC with RACCT/RCTL support by default. Note that it still 2015-05-14 14:03:55 +00:00
powerpc Allow DTrace to be compiled-in to the kernel. 2015-06-10 15:53:39 +00:00
rpc
security
sparc64 Generalised support for copy-on-write structures shared by threads. 2015-06-10 10:43:59 +00:00
sys several lockstat improvements 2015-06-12 10:01:24 +00:00
teken
tools
ufs Syncing a directory vnode might drop the vnode lock in the 2015-06-03 20:48:00 +00:00
vm Make KPI of vm_pager_get_pages() more strict: if a pager changes a page 2015-06-12 11:32:20 +00:00
x86 Handle X2APIC entries in the MADT for APICs with an ID < 255. At least one 2015-06-09 10:49:40 +00:00
xdr
xen xen-blk{front/back}: remove broken FreeBSD extensions 2015-06-12 07:50:34 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00