From owner-freebsd-virtualization@FreeBSD.ORG Mon Jul 9 06:07:08 2012 Return-Path: Delivered-To: freebsd-virtualization@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5EE7F1065670; Mon, 9 Jul 2012 06:07:08 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (bird.sbone.de [46.4.1.90]) by mx1.freebsd.org (Postfix) with ESMTP id 149098FC0A; Mon, 9 Jul 2012 06:07:08 +0000 (UTC) Received: from dhcp-128-232-132-170.eduroam.csx.cam.ac.uk (dhcp-128-232-132-170.eduroam.csx.cam.ac.uk [128.232.132.170]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPSA id DA97725D387C; Mon, 9 Jul 2012 06:07:06 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <86liit8ocs.fsf@in138.ua3> Date: Mon, 9 Jul 2012 06:07:05 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4FF32FC4.6020701@delphij.net> <86wr2kau38.fsf@in138.ua3> <4FF5E87C.2020908@delphij.net> <86r4sqasrt.fsf@kopusha.home.net> <672D93D3-D4B1-432E-AE53-98E6C05B8BE4@lists.zabbadoz.net> <86zk7da10y.fsf@in138.ua3> <86obnqq94x.fsf@kopusha.home.net> <50CFED43-7789-4F27-9EC7-85268B7F23D4@lists.zabbadoz.net> <86liit8ocs.fsf@in138.ua3> To: Mikolaj Golub X-Mailer: Apple Mail (2.1084) Cc: d@delphij.net, FreeBSD virtualization mailing list Subject: Re: GPF when doing jail -r, possibly an use-after-free X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jul 2012 06:07:08 -0000 On 9. Jul 2012, at 06:01 , Mikolaj Golub wrote: >=20 > On Sun, 8 Jul 2012 20:52:55 +0000 Bjoern A. Zeeb wrote: >=20 > BAZ> Situation 1) >=20 > BAZ> epairNa is in base, eiparNb is jail foo > BAZ> stop jail foo: jail -r foo > BAZ> both epairN[ab] will live in base and can be destiryed = without vnet switching >=20 > BAZ> Situation 2) >=20 > BAZ> epairNa is in base, eiparNb is jail foo > BAZ> you are in jail foo and type epairNb destroy; that = should not be allowed >=20 > BAZ> Situation 3) >=20 > BAZ> epairNa is in base, eiparNb is jail foo > BAZ> you are in base and type ifconfig epairNa destroy >=20 > BAZ> This is your case ... I am not sure what I'd expect in = this case, > BAZ> especailly given epair is special... You probably are = right. > BAZ> Ideally I'd not allow it to be destroyed unless both are = in the > BAZ> if_home_vnet. However it seems we allow this; so in that = case > BAZ> I definitively make sure to use the CURVNET_SET_QUIET() = version > BAZ> to avoid the expected noise otherwise. >=20 > It looks like epair was expected to allow this, because in non-patched = version > it already did switching before freeing the interface. It just did not = switch > bere detaching. >=20 > CURVNET_SET_QUIET() is used in the current version of the patch so I = suppose I > can commit it. >=20 > But if you think that just not allowing to destroy unless both ends = are in the > f_home_vnet is a preferred solution and it is not late to change this = I can > provide the patch. Get it in for now; it helps people. We should keep the other things in = mind and write down a proper policy; it's more interesting as you can do other = things with cloners you can create inside a vnet as well, today and later. >=20 > BAZ> The moment cloners will handle this it'll all be centrally = managed > BAZ> and individual device drivers shouldn't need to worry about it = anymore. >=20 > --=20 > Mikolaj Golub > _______________________________________________ > freebsd-virtualization@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization > To unsubscribe, send any mail to = "freebsd-virtualization-unsubscribe@freebsd.org" --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do!