cvs commit: src/sys/kern vfs_syscalls.c

Alexander Kabaev kabaev at gmail.com
Mon Dec 19 20:12:36 PST 2005


On Tue, 20 Dec 2005 03:27:24 +0000
"Christian S.J. Peron" <csjp at FreeBSD.org> wrote:

> On Tue, Dec 20, 2005 at 12:49:59AM +0000, Pawel Jakub Dawidek wrote:
> > pjd         2005-12-20 00:49:59 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     sys/kern             vfs_syscalls.c 
> >   Log:
> >   Reduce Giant scope a bit, as fdrop() is believed to be MPSAFE.
> >   The purpose of this change is consistency (not performance
> > improvement:)), as it was hard to tell if fdrop() is MPSAFE or not
> > when I saw it sometimes under the Giant and sometimes without it.
> >   
> >   Glanced at by:  ssouhlal, kan
> >   
> >   Revision  Changes    Path
> >   1.396     +7 -9      src/sys/kern/vfs_syscalls.c
> 
> Did you check to make sure that all the fo_close() operations are MP
> safe? I think we are safe in the common case, but we need to pay
> special attention to edge cases like the ones in
> sys/opencrypto/cryptodev.c (cryptof_close()). I am not sure that
> these operations are MP safe yet, in which case we might run into
> problems without the Giant aquisition.
> 
> -- 
> Christian S.J. Peron
> csjp at FreeBSD.ORG
> FreeBSD Committer
> FreeBSD Security Team

As far as I can see, the code changes apply only to descriptors backed
by vnodes, and vn_closefile takes care of acquiring Giant before
calling into non-mpsafe FS VOPS. So cryptof_close() operation is not
affected by this patch.

-- 
Alexander Kabaev


More information about the cvs-src mailing list