Date: Mon, 19 Feb 2007 14:29:10 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Josef Karthauser <joe@FreeBSD.org> Cc: hackers@freebsd.org, Jeremie Le Hen <jeremie@le-hen.org>, fs@freebsd.org Subject: Re: nullfs and named pipes. Message-ID: <20070219142816.N80197@fledge.watson.org> In-Reply-To: <20070219140721.S80197@fledge.watson.org> References: <20070204023711.GA3393@genius.tao.org.uk> <20070215135750.GR64768@obiwan.tataz.chchile.org> <20070215152259.GA2950@genius.tao.org.uk> <20070215153135.GI39168@deviant.kiev.zoral.com.ua> <20070216125007.D38234@fledge.watson.org> <20070216143656.GM39168@deviant.kiev.zoral.com.ua> <20070218224158.GA1297@genius.tao.org.uk> <20070219135921.E80197@fledge.watson.org> <20070219140721.S80197@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 19 Feb 2007, Robert Watson wrote: > On Mon, 19 Feb 2007, Robert Watson wrote: > >> On Sun, 18 Feb 2007, Josef Karthauser wrote: >> >> Well, the worry would be that you would be replacing a clean error on >> failure with an occasional panic, the normal symptom of a race condition. >> >> I think I'm alright with the VFIFO case above, but I'm quite uncomfortable >> with the VSOCK case. In particular, I suspect that if the socket is >> closed, v_un will be reset in the lower layer, but continue to be a stale >> pointer in the upper layer, leading to accessing free'd or re-allocated >> kernel memory resulting in much badness. I've noticed tested this, but you >> might give it a try and see what happens. > > Bad typing day. Should read "not tested this". In any case, you get the > idea: the problem here is a potential coherency issue on contents of v_un > between the two file system layers. For some reason I was thinking of v_fifoinfo as being stable after it is initialized, but in fact, it is not, as it can be free'd later. Also, the layers could become out of sync following a reboot. So in conclusion, I think the fifo part of the patch also suffers from the same problem. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070219142816.N80197>