[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 Hiroki Sato changed: What|Removed |Added Assignee|freebsd-net@FreeBSD.org |h...@freebsd.org -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 Hiroki Sato changed: What|Removed |Added Status|New |In Progress --- Comment #12 from Hiroki Sato --- (In reply to Bjoern A. Zeeb from comment #10) > With all that the CURVET_SET/RESTORE question from comment #1 remains, > as to what happens if bridge_members in the normal case reside > in different VNETs (child jails)? Is it possible to have bridge members across different vnets? As long as using if_vmove(), member interfaces cannot be moved without detaching from the parent if_bridge(4) interface. -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 --- Comment #11 from Hiroki Sato --- Created attachment 151999 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=151999&action=edit a patch to fix this panic This patch should fix the panic. As Bjoern pointed out, ifnet_departure event on the lo0 interface calls bridge_ifdetach() when destroying a vnet jail. The problem is that vnet_bridge_uninit() can be called before it. The patch uses the fact that a vnet whose V_bridge_cloner == NULL is tearing down (or not initialized). I think it is safe to ignore this detach handler in that case. -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 Bjoern A. Zeeb changed: What|Removed |Added Severity|Affects Only Me |Affects Some People --- Comment #10 from Bjoern A. Zeeb --- (In reply to Craig Rodrigues from comment #8) No, it's still used in the same jail. What seems to happen is: (a) the bridges get destroyed (all members detached, etc.), the lock gets destroyed. (b) the loopback interface in the same jail gets destroyed (c) the globally registered eventhandler in if_bridge is called for the interface (lo) disappearing. (d) we get to the point where we try to acquire the lock which we previously destroyed. Either extra checks in bridge_ifdetach() need to be implemented to catch that case (and I think that's not possible without adding extra bandaid information), or proper handling of net cloned interfaces and startup/teardown ordering needs to be implemented "as a whole". With all that the CURVET_SET/RESTORE question from comment #1 remains, as to what happens if bridge_members in the normal case reside in different VNETs (child jails)? -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 Bjoern A. Zeeb changed: What|Removed |Added CC||b...@freebsd.org --- Comment #9 from Bjoern A. Zeeb --- (In reply to Craig Rodrigues from comment #1) That patch would be bogus as the CURVNET_SET()/RESTORE() would have to be before/after locking as that lack is virtualised as well. But it's also not the real problem. -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 --- Comment #8 from Craig Rodrigues --- Herbert provided a traceback from his kernel panic. This looks like the source of the problem: panic: mtx_lock() of destroyed mutex @ /usr/src/sys/modules/if_bridge/../../net/if_bridge.c:1814 It looks like after destroying a jail, a mutex is destroyed, but this destroyed mutex is used later on in another jail. -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 --- Comment #7 from Craig Rodrigues --- Created attachment 151803 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=151803&action=edit dump2.txt -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 --- Comment #6 from Craig Rodrigues --- Herbert found by creating VNET jails and then stopping them, he could reproduce the problem. Here are the steps he used to reproduce the problem: /etc/rc.conf: hostname="beastie.home.lan" ifconfig_em0="inet 192.168.1.25 netmask 0x" defaultrouter="192.168.1.255" cloned_interfaces="bridge0" ifconfig_bridge0="inet 10.0.0.1 netmask 0xff00" sshd_enable="YES" fsck_y_enable="YES" background_fsck="NO" syslogd_flags="-ss" gateway_enable="YES" pf_enable="NO" pflog_enable="NO" jail_enable="NO" jail_list="jail01 jail02 jail03 jail04" devfs_load_rulesets="YES" /etc/jail.conf: jail01 { name = "jail01"; path = /usr/local/jails/jail01; mount.devfs; host.hostname = jail01.home.lan; vnet = "new"; vnet.interface = "epair0b"; persist; exec.prestart = "ifconfig epair0 create"; exec.prestart += "ifconfig bridge0 addm epair0a"; exec.prestart += "ifconfig epair0a up"; exec.start = ""; #exec.start = "/bin/sh /etc/rc"; exec.poststart ="jexec $name ifconfig epair0b 10.0.0.10 netmask 255.0.0.0 up"; exec.poststart += "jexec $name route add default 10.0.0.1"; exec.poststart += "jexec $name sh /etc/rc"; exec.stop = "/bin/sh /etc/rc.shutdown"; exec.poststop = "ifconfig bridge0 deletem epair0a"; exec.poststop +="ifconfig epair0a destroy"; } /etc/rc.conf in jail01: hostname="jail01.home.lan" sshd_enable="YES" sendmail_enable="NONE" Starting jail with "/etc/rc.d/jail onestart jail01" or "jail -c jail01". Stopping jail with "/etc/rc.d/jail onestop jail01" or "jail -r jail01". -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
[Bug 195859] Reproduceble panic with VIMAGE + if_bridge
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195859 Craig Rodrigues changed: What|Removed |Added Assignee|freebsd-b...@freebsd.org|freebsd-net@FreeBSD.org CC||h...@freebsd.org -- You are receiving this mail because: You are the assignee for the bug. ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"