final decision about *at syscalls
Pawel Jakub Dawidek
pjd at FreeBSD.org
Thu Apr 17 14:24:44 UTC 2008
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
Pawel Jakub Dawidek http://www.wheel.pl
pjd at FreeBSD.org http://www.FreeBSD.org
FreeBSD committer Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20080417/ee3a1651/attachment.pgp
More information about the freebsd-arch