Skip site navigation (1)Skip section navigation (2)
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

--C7zPtVaVf+AK4Oqc
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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 wan=
t 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 copy=
ing
> > > 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?
>=20
> Only because it was explicitly mentioned in the original e-mail:
>=20
> > CONs of #1
> >=20
> >         o       some very small code duplication (the translation is do=
ne in every=20
> >                 kern_fooat() function)
> >         o       there is a race between the name translation and the ac=
tual 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.

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--C7zPtVaVf+AK4Oqc
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFIB12RForvXbEpPzQRAqinAJ46IU96CpA9sdGmUJ/qSn0VrLx1xwCfQsHm
adoLOLOzTE6q09mnHyxQRIU=
=v9UV
-----END PGP SIGNATURE-----

--C7zPtVaVf+AK4Oqc--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080417142418.GA35655>