From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id o989P2dn019123 for ; Fri, 8 Oct 2010 04:25:02 -0500 Received: from mx01.instandbesetzt.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 8BBBFED92BE for ; Fri, 8 Oct 2010 02:39:59 -0700 (PDT) Received: from mx01.instandbesetzt.net (cache.dhh-3.de [62.89.186.8]) by cuda.sgi.com with ESMTP id Jxp3wbEygTGw9D63 for ; Fri, 08 Oct 2010 02:39:59 -0700 (PDT) Date: Fri, 8 Oct 2010 11:26:01 +0200 From: Andreas Wiese Subject: Re: fallocate() on XFS clobbers S*ID-bits Message-ID: <20101008092600.GA12718@incendiary.meterriblecrew.net> References: <20101007183418.GC5621@incendiary.meterriblecrew.net> <20101007232451.GO4681@dastard> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20101007232451.GO4681@dastard> 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: Dave Chinner Cc: xfs@oss.sgi.com, Linux Kernel Mailing List , Ciaran McCreesh RGF2ZSBDaGlubmVyIHdyb3RlOgo+IFsgYWRkZWQgeGZzIGxpc3Qgb24gY2MgXQo+IAoKVGhhbmtz LiA7KQoKPiBPbiBUaHUsIE9jdCAwNywgMjAxMCBhdCAwODozNDoxOVBNICswMjAwLCBBbmRyZWFz IFdpZXNlIHdyb3RlOgo+ID4gSGVsbG8uCj4gPiAKPiA+IEkgKHdpdGggc3VwcG9ydCBmcm9tIENj J2VkIENpYXJhbikganVzdCBub3RpY2VkIHNvbWUgb2RkIGJlaGF2aW91ciB3aXRoCj4gPiBmYWxs b2NhdGUoKSBvbiBYRlMuICBBZnRlciBvcGVuKClpbmcgc29tZSBmaWxlIGFuZCBzZXR0aW5nIGl0 IFMqSUQgdmlhCj4gPiBmY2htb2QoKSwgUypJRCBiaXRzIHZhbmlzaCBhZnRlciBjYWxsaW5nIGZh bGxvY2F0ZSgpIOKAlCBhcyBzdXBwb3NlZCB0bwo+ID4gZm9yIG5vbi1yb290IHVzZXJzLCBidXQg aXQgYWxzbyBoYXBwZW5zIGZvciByb290Lgo+ID4gCj4gPiBJcyB0aGlzIGludGVuZGVkIGJlaGF2 aW91ciBvciBkaWQgd2Ugc3BvdCBhIGJ1ZyBoZXJlPwo+ID4gCj4gPiBBdCBsZWFzdCBvbiBleHQy IGl0IHdvcmtzIGFzIGV4cGVjdGVkLCB0aHVzIEkgZ3Vlc3MgaXQncyB0aGUgbGF0dGVyIG9uZS4K PiAKPiBleHQyIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZhbGxvY2F0ZSBzeXNjYWxsLiBIb3cgZG9l cyBleHQ0IGJlaGF2ZT8KPiAKCk9oLCBjcmFwLiAgSSBmaXJzdCB0ZXN0ZWQgb24gdG1wZnMgKHdo aWNoIGRvZXNuJ3Qgc3VwcG9ydCBmYWxsb2NhdGUsCnRvbykgYW5kIGhhZCBhIMK7ICYmIGVycm5v ICE9IEVOT1RTVVDCqyB0byBhdm9pZCBiYWlsaW5nIG91dCBidXQgZm9yZ290IHRvCndhcm4uIDov CgpCdXQgSSBkaWQgbm93IGFuZCBleHQ0IGRvZXMgX25vdF8gdG91Y2ggdGhlIHBlcm1pc3Npb25z IGFueSBmdXJ0aGVyLgoKPiA+IEknbSBydW5uaW5nIHYyLjYuMzUuNyB2YW5pbGxhLWtlcm5lbCwg YnV0IGRpZmZpbmcgZnMveGZzIHRvIG1hc3Rlcgo+ID4gZG9lc24ndCBzZWVtIHRvIGFkZHJlc3Mg dGhpcyBpc3N1ZS4KPiAKPiBYRlMgaGFzIGFsd2F5cyBjbGVhcmVkIFNVSUQvU0dJRCBiaXRzIHdo ZW4gZG9pbmcgcHJlYWxsb2NhdGlvbiAodmlhCj4gWEZTX0lPQ19SRVNWU1ApLiBHaXZlbiB0aGF0 IHRoYXQgWEZTIGlvY3RsIGZvcm1lZCB0aGUgbW9kZWwgZm9yCj4gZmFsbG9jYXRlLCBJJ2QgYXJn dWUgdGhhdCB0aGUgWEZTIGJlaGF2aW91ciBpcyB0aGUgb24gdGhhdCBzaG91bGQgYmUKPiBmb2xs b3dlZC4KPiAKCklmIHRoYXQncyBjb25zZW5zZSwgd2UgYXQgbGVhc3QgZm91bmQgYSBidWcgaW4g ZXh0NOKApgoKPiBJdCdkIGJlIGEgYml0IHNpbGx5IGZvciB0d28gZGlmZmVyZW50IHByZWFsbG9j YXRpb24gaW50ZXJmYWNlcyB0bwo+IGhhdmUgZGlmZmVyZW50IGJlaGF2aW91ciB3LnIudC4gU1VJ RCBiaXRzLCBidXQgaXQncyBub3QgY2xlYXIgdG8gbWUKPiB3aGljaCBiZWhhdmlvdXIgaXMgY29y cmVjdC4gSSdtIGhhcHB5IHRvIGRlZmVyIHRvIHdob2V2ZXIgY2FuIHNheQo+IHdoYXQgdGhlIGJl aGF2aW91ciBpcyBzdXBwb3NlZCB0byBiZSBoZXJlLi4uCj4gCgpJIHdvdWxkIGFwcHJlY2lhdGUg dGhhdCwgdG9vLgoKQW5kIHdoaWxlIG9uIGl04oCmIGp1c3QgdGVzdGVkIEJUUkZTLCB3aGljaCBi ZWhhdmVzIGxpa2UgZXh0NCAobm90CmFsdGVyaW5nIHBlcm1pc3Npb25zKS4gIENJRlMgYW5kIE9D RlMgYXJlIG5vdCB0ZXN0YWJsZSBoZXJlIGR1ZSB0byBsYWNrCm9mIGFjY29yZGluZyBzZXJ2ZXJz LgoKW3NuaXDigKZdCgpIQU5EICYgTEcgLS0gYXcKbnA6IEpvaG5vc3NpIChKb2hub3NzaSkg4oCU IDA4LiBIYXBwaW5lc3MgYSBMYSBNb2RlCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwp4ZnMgbWFpbGluZyBsaXN0Cnhmc0Bvc3Muc2dpLmNvbQpodHRwOi8v b3NzLnNnaS5jb20vbWFpbG1hbi9saXN0aW5mby94ZnMK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756709Ab0JHJ0I (ORCPT ); Fri, 8 Oct 2010 05:26:08 -0400 Received: from cache.dhh-3.de ([62.89.186.8]:59924 "EHLO mx01.instandbesetzt.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754788Ab0JHJ0F (ORCPT ); Fri, 8 Oct 2010 05:26:05 -0400 Date: Fri, 8 Oct 2010 11:26:01 +0200 From: Andreas Wiese To: Dave Chinner Cc: Linux Kernel Mailing List , Ciaran McCreesh , xfs@oss.sgi.com Subject: Re: fallocate() on XFS clobbers S*ID-bits Message-ID: <20101008092600.GA12718@incendiary.meterriblecrew.net> References: <20101007183418.GC5621@incendiary.meterriblecrew.net> <20101007232451.GO4681@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20101007232451.GO4681@dastard> X-GPG-Key-ID: 0x08709798 (2048/4096bit RSA/RSA) X-GPG-Fingerprint: F8F1 7E3C 2C24 5189 FC21 61E9 1F99 AEB4 0870 9798 X-Jabber-ID: aw@instandbesetzt.net (w/ GPG) X-Home: https://www.instandbesetzt.net/ User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Dave Chinner wrote: > [ added xfs list on cc ] > Thanks. ;) > 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? > Oh, crap. I first tested on tmpfs (which doesn't support fallocate, too) and had a » && errno != ENOTSUP« to avoid bailing out but forgot to warn. :/ But I did now and ext4 does _not_ touch the permissions any further. > > 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. > If that's consense, we at least found a bug in ext4… > 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... > I would appreciate that, too. And while on it… just tested BTRFS, which behaves like ext4 (not altering permissions). CIFS and OCFS are not testable here due to lack of according servers. [snip…] HAND & LG -- aw np: Johnossi (Johnossi) — 08. Happiness a La Mode