xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxx>
Subject: Re: [PATCH] xfs: take XFS_IOLOCK_EXCL if suid removal is required
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Mon, 15 Jun 2015 10:26:37 -0500
Cc: xfs-oss <xfs@xxxxxxxxxxx>, Jan Kara <jack@xxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20150306210927.GA13958@dastard>
References: <54F9DBAE.2070002@xxxxxxxxxx> <20150306210927.GA13958@dastard>
On 3/6/15 3:09 PM, Dave Chinner wrote:
> 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

Seems like that patchset never made it anywhere, though, so this
is still an outstanding problem.  :(

-Eric

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [PATCH] xfs: take XFS_IOLOCK_EXCL if suid removal is required, Eric Sandeen <=