Date: Thu, 17 Apr 2008 16:24:18 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: kib@freebsd.org, Roman Divacky <rdivacky@freebsd.org>, rwatson@freebsd.org, freebsd-arch@freebsd.org Subject: Re: final decision about *at syscalls Message-ID: <20080417142418.GA35655@garage.freebsd.pl> In-Reply-To: <200804170933.45477.jhb@freebsd.org> References: <20071218092222.GA9695@freebsd.org> <200804161014.41025.jhb@freebsd.org> <20080416165612.GA31094@garage.freebsd.pl> <200804170933.45477.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Thu, Apr 17, 2008 at 09:33:45AM -0400, John Baldwin wrote: > On Wednesday 16 April 2008 12:56:12 pm Pawel Jakub Dawidek wrote: > > On Wed, Apr 16, 2008 at 10:14:40AM -0400, John Baldwin wrote: > > > On Saturday 12 April 2008 07:20:19 am Pawel Jakub Dawidek wrote: > > > > From what you write John, #1 is a better choice than #2. If you want to > > > > avoid races, you can pass already locked vnode. In case of file > > > > descriptors, if p_fd is not locked another thread can close and open > > > > different directory under the same descriptor number. > > > > > > Did you read Robert's paper? Do you not realize that the kernel copying > > > data in from userland multiple times and having it change in between is > > > very bug prone? > > > > Believe me I'm fully aware of the problems Robert described in his > > paper. With vnode approach where do you have more data copying between > > kernel and userland? > > Only because it was explicitly mentioned in the original e-mail: > > > CONs of #1 > > > > o some very small code duplication (the translation is done in every > > kern_fooat() function) > > o there is a race between the name translation and the actual use of the result > > of the translation that needs to be handled, the "path_to_file" string is copied > > to the kernel space twice hence a race Ah, ok. I don't think this is not method's flaw, but implementation problem. -- Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFIB12RForvXbEpPzQRAqinAJ46IU96CpA9sdGmUJ/qSn0VrLx1xwCfQsHm adoLOLOzTE6q09mnHyxQRIU= =v9UV -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080417142418.GA35655>
