From: Andreas Gruenbacher <agruen@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: James Morris <jmorris@namei.org>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-security-module@vger.kernel.org,
David Woodhouse <dwmw2@infradead.org>,
Joel Becker <joel.becker@oracle.com>,
Mark Fasheh <mfasheh@suse.com>, Alex Elder <aelder@sgi.com>,
Chris Mason <chris.mason@oracle.com>
Subject: Re: [RFC][PATCH 0/2] Correct behavior for listxattr and 'trusted' xattrs
Date: Wed, 10 Mar 2010 12:26:59 +0100 [thread overview]
Message-ID: <201003101226.59705.agruen@suse.de> (raw)
In-Reply-To: <20100303140940.GA2253@infradead.org>
On Wednesday 03 March 2010 15:09:41 Christoph Hellwig wrote:
> On Tue, Mar 02, 2010 at 07:01:05PM +1100, James Morris wrote:
> > I noticed that there are differences in the behavior of listxattr(2) for
> > xattrs in the trusted namespace.
> >
> > Some filesystems, such as ext[234], require CAP_SYS_ADMIN for this, i.e.
> > trusted xattr names are hidden from unprivileged users.
> >
> > I audited the kernel for users of the trusted xattr namespace, and found
> > the following filesystems not checking for CAP_SYS_ADMIN:
> >
> > - jffs2
> > - ocfs2
> > - btrfs
> > - xfs
> >
> > I've created patches for jffs2 (tested) and ocfs2 (not tested) to add the
> > check -- see following emails. btrfs and xfs have custom listxattr
> > operations and will need a bit more work to fix.
>
> I think the behaviour of the above filesystems is correct. There is no
> requirement for privilegues to see the existence of these attributes.
> We also don't hide entries that aren't readable from readdir output.
The original idea was that regular processes will never have access to
trusted.* attributes anyway, and so there is little point in listing such
attributes in the first place.
This is different from user.* attributes which a particular process may or may
not have access to depending on file permissions. Checking those permissions
in listxattr() would have significant overheads, and race with permission
changes, possibly leading to weird results. (In contrast, processes don't
usually listxattr() with privileges and then getxattr() without privileges, or
vice versa.)
Andreas
next prev parent reply other threads:[~2010-03-10 11:29 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-02 8:01 [RFC][PATCH 0/2] Correct behavior for listxattr and 'trusted' xattrs James Morris
2010-03-02 8:01 ` [PATCH 1/2] jffs2: ensure trusted xattrs are not returned to unprivileged users via listxattr James Morris
2010-03-02 8:02 ` [PATCH 2/2] ocfs2: " James Morris
2010-03-02 9:29 ` Joel Becker
2010-03-02 22:01 ` James Morris
2010-03-02 23:15 ` Serge E. Hallyn
2010-03-02 8:28 ` [RFC][PATCH 0/2] Correct behavior for listxattr and 'trusted' xattrs Andreas Dilger
2010-03-03 13:02 ` Stephen Smalley
2010-03-10 11:48 ` Andreas Gruenbacher
2010-03-03 14:09 ` Christoph Hellwig
2010-03-10 11:26 ` Andreas Gruenbacher [this message]
2010-03-10 11:40 ` Christoph Hellwig
2010-03-10 14:04 ` James Morris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201003101226.59705.agruen@suse.de \
--to=agruen@suse.de \
--cc=aelder@sgi.com \
--cc=chris.mason@oracle.com \
--cc=dwmw2@infradead.org \
--cc=hch@infradead.org \
--cc=jmorris@namei.org \
--cc=joel.becker@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mfasheh@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox