Re: splice vs execve lockdep trace.

Dave Chinner
2013-07-16T06:50:43Z

On Tue, Jul 16, 2013 at 07:16:02AM +0100, Al Viro wrote:
> On Tue, Jul 16, 2013 at 04:03:51PM +1000, Dave Chinner wrote:
>
> > I posted patches to fix this i_mutex/i_iolock inversion a couple of
> > years ago (july 2011):
> >
> > https://lkml.org/lkml/2011/7/18/4
> >
> > And V2 was posted here and reviewed (aug 2011):
> >
> > http://xfs.9218.n7.nabble.com/PATCH-0-2-splice-i-mutex-vs-splice-write-deadlock-V2-tt4072.html#none
>
> Unless I'm misreading the patch, you end up doing file_remove_suid()
> without holding i_mutex at all...

+ xfs_rw_ilock(ip, XFS_IOLOCK_EXCL);
+ ret = file_remove_suid(out);

Actaully, xfs_rw_ilock() takes the i_mutex due to teh exclusive locking ebing
done, so that's all fine.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com