Re: [PATCH 03/11] VFS: Add security label support to *notify

From: Josef 'Jeff' Sipek
Date: Thu Feb 28 2008 - 16:40:19 EST


On Thu, Feb 28, 2008 at 04:05:11PM -0500, Dave Quigley wrote:
>
> On Thu, 2008-02-28 at 16:15 -0500, Josef 'Jeff' Sipek wrote:
> > On Thu, Feb 28, 2008 at 03:39:30PM -0500, Dave Quigley wrote:
> > ...
> > > > Alright...so, few things...
> > > >
> > > > 1) why do you need the locked/unlocked versions?
> > > >
> > > > 2) instead of passing a flag to a common function, why not have:
> > > >
> > > > vfs_setxattr_locked(....)
> > > > {
> > > > // original code minus the lock/unlock calls
> > > > }
> > > >
> > > > vfs_setxattr(....)
> > > > {
> > > > mutex_lock(...);
> > > > vfs_setxattr_locked(...);
> > > > mutex_unlock(...);
> > > > }
> > >
> > > What we do and what you propose aren't logically equivalent. There is a
> > > permission check inside vfs_setxattr before the mutex lock.
> >
> > Ah, right. I didn't notice the @@ line...
> >
> > Josef 'Jeff' Sipek.
> >
>
> I'm compiling a test kernel with your proposed change to make sure it
> doesn't deadlock. If it works then I'll go with your solution since its
> less messy.

I glanced at the call chain, and this one is making me uneasy:

vfs_setxattr => xattr_permission => permission => inode_op->permission

But Documentation/filesystems/Locking says that the inode permission op
doesn't need an i_mutex, so things should be ok.

Josef 'Jeff' Sipek.

--
Failure is not an option,
It comes bundled with your Microsoft product.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/