From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id o97NNrvM234719 for ; Thu, 7 Oct 2010 18:23:54 -0500 Received: from mail.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id E190718D7729 for ; Thu, 7 Oct 2010 16:24:55 -0700 (PDT) Received: from mail.internode.on.net (bld-mail19.adl2.internode.on.net [150.101.137.104]) by cuda.sgi.com with ESMTP id doLJ9qCkz3jvVyGH for ; Thu, 07 Oct 2010 16:24:55 -0700 (PDT) Date: Fri, 8 Oct 2010 10:24:51 +1100 From: Dave Chinner Subject: Re: fallocate() on XFS clobbers S*ID-bits Message-ID: <20101007232451.GO4681@dastard> References: <20101007183418.GC5621@incendiary.meterriblecrew.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20101007183418.GC5621@incendiary.meterriblecrew.net> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: xfs-bounces@oss.sgi.com Errors-To: xfs-bounces@oss.sgi.com To: Andreas Wiese Cc: xfs@oss.sgi.com, Linux Kernel Mailing List , Ciaran McCreesh WyBhZGRlZCB4ZnMgbGlzdCBvbiBjYyBdCgpPbiBUaHUsIE9jdCAwNywgMjAxMCBhdCAwODozNDox OVBNICswMjAwLCBBbmRyZWFzIFdpZXNlIHdyb3RlOgo+IEhlbGxvLgo+IAo+IEkgKHdpdGggc3Vw cG9ydCBmcm9tIENjJ2VkIENpYXJhbikganVzdCBub3RpY2VkIHNvbWUgb2RkIGJlaGF2aW91ciB3 aXRoCj4gZmFsbG9jYXRlKCkgb24gWEZTLiAgQWZ0ZXIgb3BlbigpaW5nIHNvbWUgZmlsZSBhbmQg c2V0dGluZyBpdCBTKklEIHZpYQo+IGZjaG1vZCgpLCBTKklEIGJpdHMgdmFuaXNoIGFmdGVyIGNh bGxpbmcgZmFsbG9jYXRlKCkg4oCUIGFzIHN1cHBvc2VkIHRvCj4gZm9yIG5vbi1yb290IHVzZXJz LCBidXQgaXQgYWxzbyBoYXBwZW5zIGZvciByb290Lgo+IAo+IElzIHRoaXMgaW50ZW5kZWQgYmVo YXZpb3VyIG9yIGRpZCB3ZSBzcG90IGEgYnVnIGhlcmU/Cj4gCj4gQXQgbGVhc3Qgb24gZXh0MiBp dCB3b3JrcyBhcyBleHBlY3RlZCwgdGh1cyBJIGd1ZXNzIGl0J3MgdGhlIGxhdHRlciBvbmUuCgpl eHQyIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZhbGxvY2F0ZSBzeXNjYWxsLiBIb3cgZG9lcyBleHQ0 IGJlaGF2ZT8KCj4gSSdtIHJ1bm5pbmcgdjIuNi4zNS43IHZhbmlsbGEta2VybmVsLCBidXQgZGlm ZmluZyBmcy94ZnMgdG8gbWFzdGVyCj4gZG9lc24ndCBzZWVtIHRvIGFkZHJlc3MgdGhpcyBpc3N1 ZS4KClhGUyBoYXMgYWx3YXlzIGNsZWFyZWQgU1VJRC9TR0lEIGJpdHMgd2hlbiBkb2luZyBwcmVh bGxvY2F0aW9uICh2aWEKWEZTX0lPQ19SRVNWU1ApLiBHaXZlbiB0aGF0IHRoYXQgWEZTIGlvY3Rs IGZvcm1lZCB0aGUgbW9kZWwgZm9yCmZhbGxvY2F0ZSwgSSdkIGFyZ3VlIHRoYXQgdGhlIFhGUyBi ZWhhdmlvdXIgaXMgdGhlIG9uIHRoYXQgc2hvdWxkIGJlCmZvbGxvd2VkLgoKSXQnZCBiZSBhIGJp dCBzaWxseSBmb3IgdHdvIGRpZmZlcmVudCBwcmVhbGxvY2F0aW9uIGludGVyZmFjZXMgdG8KaGF2 ZSBkaWZmZXJlbnQgYmVoYXZpb3VyIHcuci50LiBTVUlEIGJpdHMsIGJ1dCBpdCdzIG5vdCBjbGVh ciB0byBtZQp3aGljaCBiZWhhdmlvdXIgaXMgY29ycmVjdC4gSSdtIGhhcHB5IHRvIGRlZmVyIHRv IHdob2V2ZXIgY2FuIHNheQp3aGF0IHRoZSBiZWhhdmlvdXIgaXMgc3VwcG9zZWQgdG8gYmUgaGVy ZS4uLgoKQ2hlZXJzLAoKRGF2ZS4KLS0gCkRhdmUgQ2hpbm5lcgpkYXZpZEBmcm9tb3JiaXQuY29t CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp4ZnMgbWFp bGluZyBsaXN0Cnhmc0Bvc3Muc2dpLmNvbQpodHRwOi8vb3NzLnNnaS5jb20vbWFpbG1hbi9saXN0 aW5mby94ZnMK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754851Ab0JGXZE (ORCPT ); Thu, 7 Oct 2010 19:25:04 -0400 Received: from bld-mail19.adl2.internode.on.net ([150.101.137.104]:41242 "EHLO mail.internode.on.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752534Ab0JGXZD (ORCPT ); Thu, 7 Oct 2010 19:25:03 -0400 Date: Fri, 8 Oct 2010 10:24:51 +1100 From: Dave Chinner To: Andreas Wiese Cc: Linux Kernel Mailing List , Ciaran McCreesh , xfs@oss.sgi.com Subject: Re: fallocate() on XFS clobbers S*ID-bits Message-ID: <20101007232451.GO4681@dastard> References: <20101007183418.GC5621@incendiary.meterriblecrew.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20101007183418.GC5621@incendiary.meterriblecrew.net> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ added xfs list on cc ] On Thu, Oct 07, 2010 at 08:34:19PM +0200, Andreas Wiese wrote: > Hello. > > I (with support from Cc'ed Ciaran) just noticed some odd behaviour with > fallocate() on XFS. After open()ing some file and setting it S*ID via > fchmod(), S*ID bits vanish after calling fallocate() — as supposed to > for non-root users, but it also happens for root. > > Is this intended behaviour or did we spot a bug here? > > At least on ext2 it works as expected, thus I guess it's the latter one. ext2 does not support the fallocate syscall. How does ext4 behave? > I'm running v2.6.35.7 vanilla-kernel, but diffing fs/xfs to master > doesn't seem to address this issue. XFS has always cleared SUID/SGID bits when doing preallocation (via XFS_IOC_RESVSP). Given that that XFS ioctl formed the model for fallocate, I'd argue that the XFS behaviour is the on that should be followed. It'd be a bit silly for two different preallocation interfaces to have different behaviour w.r.t. SUID bits, but it's not clear to me which behaviour is correct. I'm happy to defer to whoever can say what the behaviour is supposed to be here... Cheers, Dave. -- Dave Chinner david@fromorbit.com