From: Vivek Goyal <vgoyal@redhat.com>
To: Bruce Fields <bfields@redhat.com>
Cc: Casey Schaufler <casey@schaufler-ca.com>,
Christian Brauner <christian.brauner@ubuntu.com>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
viro@zeniv.linux.org.uk, virtio-fs@redhat.com, dwalsh@redhat.com,
dgilbert@redhat.com, casey.schaufler@intel.com,
linux-security-module@vger.kernel.org, selinux@vger.kernel.org,
tytso@mit.edu, miklos@szeredi.hu, gscrivan@redhat.com,
jack@suse.cz, Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH v2 1/1] xattr: Allow user.* xattr on symlink and special files
Date: Mon, 12 Jul 2021 10:02:47 -0400 [thread overview]
Message-ID: <20210712140247.GA486376@redhat.com> (raw)
In-Reply-To: <CAPL3RVGKg4G5qiiHo7KYPcsWWgeoW=qNPOSQpd3Sv329jrWrLQ@mail.gmail.com>
On Fri, Jul 09, 2021 at 04:10:16PM -0400, Bruce Fields wrote:
> On Fri, Jul 9, 2021 at 1:59 PM Vivek Goyal <vgoyal@redhat.com> wrote:
> > nfs seems to have some issues.
>
> I'm not sure what the expected behavior is for nfs. All I have for
> now is some generic troubleshooting ideas, sorry:
>
> > - I can set user.foo xattr on symlink and query it back using xattr name.
> >
> > getfattr -h -n user.foo foo-link.txt
> >
> > But when I try to dump all xattrs on this file, user.foo is being
> > filtered out it looks like. Not sure why.
>
> Logging into the server and seeing what's set there could help confirm
> whether it's the client or server that's at fault. (Or watching the
> traffic in wireshark; there are GET/SET/LISTXATTR ops that should be
> easy to spot.)
>
> > - I can't set "user.foo" xattr on a device node on nfs and I get
> > "Permission denied". I am assuming nfs server is returning this.
>
> Wireshark should tell you whether it's the server or client doing that.
>
> The RFC is https://datatracker.ietf.org/doc/html/rfc8276, and I don't
> see any explicit statement about what the server should do in the case
> of symlinks or device nodes, but I do see "Any regular file or
> directory may have a set of extended attributes", so that was clearly
> the assumption. Also, NFS4ERR_WRONG_TYPE is listed as a possible
> error return for the xattr ops. But on a quick skim I don't see any
> explicit checks in the nfsd code, so I *think* it's just relying on
> the vfs for any file type checks.
Hi Bruce,
Thanks for the response. I am just trying to do set a user.foo xattr on
a device node on nfs.
setfattr -n "user.foo" -v "bar" /mnt/nfs/test-dev
and I get -EACCESS.
I put some printk() statements and EACCESS is being returned from here.
nfs4_xattr_set_nfs4_user() {
if (!nfs_access_get_cached(inode, current_cred(), &cache, true)) {
if (!(cache.mask & NFS_ACCESS_XAWRITE)) {
return -EACCES;
}
}
}
Value of cache.mask=0xd at the time of error.
Thanks
Vivek
WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com>
To: Bruce Fields <bfields@redhat.com>
Cc: gscrivan@redhat.com, tytso@mit.edu, miklos@szeredi.hu,
selinux@vger.kernel.org, linux-kernel@vger.kernel.org,
virtio-fs@redhat.com, linux-fsdevel@vger.kernel.org,
linux-security-module@vger.kernel.org, viro@zeniv.linux.org.uk,
Christoph Hellwig <hch@infradead.org>,
Casey Schaufler <casey@schaufler-ca.com>,
jack@suse.cz, Christian Brauner <christian.brauner@ubuntu.com>,
casey.schaufler@intel.com
Subject: Re: [Virtio-fs] [PATCH v2 1/1] xattr: Allow user.* xattr on symlink and special files
Date: Mon, 12 Jul 2021 10:02:47 -0400 [thread overview]
Message-ID: <20210712140247.GA486376@redhat.com> (raw)
In-Reply-To: <CAPL3RVGKg4G5qiiHo7KYPcsWWgeoW=qNPOSQpd3Sv329jrWrLQ@mail.gmail.com>
On Fri, Jul 09, 2021 at 04:10:16PM -0400, Bruce Fields wrote:
> On Fri, Jul 9, 2021 at 1:59 PM Vivek Goyal <vgoyal@redhat.com> wrote:
> > nfs seems to have some issues.
>
> I'm not sure what the expected behavior is for nfs. All I have for
> now is some generic troubleshooting ideas, sorry:
>
> > - I can set user.foo xattr on symlink and query it back using xattr name.
> >
> > getfattr -h -n user.foo foo-link.txt
> >
> > But when I try to dump all xattrs on this file, user.foo is being
> > filtered out it looks like. Not sure why.
>
> Logging into the server and seeing what's set there could help confirm
> whether it's the client or server that's at fault. (Or watching the
> traffic in wireshark; there are GET/SET/LISTXATTR ops that should be
> easy to spot.)
>
> > - I can't set "user.foo" xattr on a device node on nfs and I get
> > "Permission denied". I am assuming nfs server is returning this.
>
> Wireshark should tell you whether it's the server or client doing that.
>
> The RFC is https://datatracker.ietf.org/doc/html/rfc8276, and I don't
> see any explicit statement about what the server should do in the case
> of symlinks or device nodes, but I do see "Any regular file or
> directory may have a set of extended attributes", so that was clearly
> the assumption. Also, NFS4ERR_WRONG_TYPE is listed as a possible
> error return for the xattr ops. But on a quick skim I don't see any
> explicit checks in the nfsd code, so I *think* it's just relying on
> the vfs for any file type checks.
Hi Bruce,
Thanks for the response. I am just trying to do set a user.foo xattr on
a device node on nfs.
setfattr -n "user.foo" -v "bar" /mnt/nfs/test-dev
and I get -EACCESS.
I put some printk() statements and EACCESS is being returned from here.
nfs4_xattr_set_nfs4_user() {
if (!nfs_access_get_cached(inode, current_cred(), &cache, true)) {
if (!(cache.mask & NFS_ACCESS_XAWRITE)) {
return -EACCES;
}
}
}
Value of cache.mask=0xd at the time of error.
Thanks
Vivek
next prev parent reply other threads:[~2021-07-12 14:03 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-08 17:57 [RFC PATCH v2 0/1] Relax restrictions on user.* xattr Vivek Goyal
2021-07-08 17:57 ` [Virtio-fs] " Vivek Goyal
2021-07-08 17:57 ` [PATCH v2 1/1] xattr: Allow user.* xattr on symlink and special files Vivek Goyal
2021-07-08 17:57 ` [Virtio-fs] " Vivek Goyal
2021-07-09 9:19 ` Christian Brauner
2021-07-09 9:19 ` [Virtio-fs] " Christian Brauner
2021-07-09 15:27 ` Vivek Goyal
2021-07-09 15:27 ` [Virtio-fs] " Vivek Goyal
2021-07-09 15:34 ` Casey Schaufler
2021-07-09 15:34 ` [Virtio-fs] " Casey Schaufler
2021-07-09 17:59 ` Vivek Goyal
2021-07-09 17:59 ` [Virtio-fs] " Vivek Goyal
2021-07-09 20:10 ` Bruce Fields
2021-07-09 20:10 ` [Virtio-fs] " Bruce Fields
2021-07-12 14:02 ` Vivek Goyal [this message]
2021-07-12 14:02 ` Vivek Goyal
2021-07-12 15:41 ` J. Bruce Fields
2021-07-12 15:41 ` [Virtio-fs] " J. Bruce Fields
2021-07-12 17:47 ` Vivek Goyal
2021-07-12 17:47 ` [Virtio-fs] " Vivek Goyal
2021-07-12 19:31 ` J. Bruce Fields
2021-07-12 19:31 ` [Virtio-fs] " J. Bruce Fields
2021-07-12 21:22 ` Vivek Goyal
2021-07-12 21:22 ` [Virtio-fs] " Vivek Goyal
2021-07-13 14:17 ` Casey Schaufler
2021-07-13 14:17 ` [Virtio-fs] " Casey Schaufler
2021-08-30 18:45 ` Vivek Goyal
2021-08-30 18:45 ` [Virtio-fs] " Vivek Goyal
2021-07-09 20:36 ` Theodore Ts'o
2021-07-09 20:36 ` [Virtio-fs] " Theodore Ts'o
2021-07-12 17:50 ` Vivek Goyal
2021-07-12 17:50 ` [Virtio-fs] " Vivek Goyal
2021-07-12 12:49 ` Greg Kurz
2021-07-12 12:49 ` Greg Kurz
2021-07-13 14:28 ` Casey Schaufler
2021-07-13 14:28 ` Casey Schaufler
2021-07-09 16:00 ` [RFC PATCH v2 0/1] Relax restrictions on user.* xattr Daniel Walsh
2021-07-09 16:00 ` [Virtio-fs] " Daniel Walsh
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=20210712140247.GA486376@redhat.com \
--to=vgoyal@redhat.com \
--cc=bfields@redhat.com \
--cc=casey.schaufler@intel.com \
--cc=casey@schaufler-ca.com \
--cc=christian.brauner@ubuntu.com \
--cc=dgilbert@redhat.com \
--cc=dwalsh@redhat.com \
--cc=gscrivan@redhat.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=selinux@vger.kernel.org \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
--cc=virtio-fs@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.