xfs
[Top] [All Lists]

Re: [PATCH] xfs: take XFS_IOLOCK_EXCL if suid removal is required

To: Eric Sandeen <sandeen@xxxxxxxxxx>
Subject: Re: [PATCH] xfs: take XFS_IOLOCK_EXCL if suid removal is required
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Sat, 7 Mar 2015 08:09:27 +1100
Cc: xfs-oss <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <54F9DBAE.2070002@xxxxxxxxxx>
References: <54F9DBAE.2070002@xxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Mar 06, 2015 at 10:54:06AM -0600, Eric Sandeen wrote:
> This sequence:
> 
> # rm -f sparsefile
> # truncate --size=1m sparsefile
> # chmod ugo+rws sparsefile
> # ls -l sparsefile
> -rwSrwSrw-. 1 root root 1048576 Mar  6 10:29 sparsefile
> # su tester
> 
> $ xfs_io -d -c "pwrite 0 4096" sparsefile
> wrote 4096/4096 bytes at offset 0
> 4 KiB, 1 ops; 0.0000 sec (21.505 KiB/sec and 5.3763 ops/sec)
> $ exit
> 
> will lead to a WARN_ON() in notify change, because i_mutex is
> not held, and we get to notify_change via suid removal with
> only XFS_IOLOCK_SHARED held, i.e. no i_mutex.
> 
> Upgrade the lock to XFS_IOLOCK_EXCL in this case.
> 
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>

I believe Jan Kara has already addressed this problem in
this patchset:

http://oss.sgi.com/archives/xfs/2015-03/msg00051.html

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>