From: Al Viro <viro@zeniv.linux.org.uk>
To: Christian Brauner <brauner@kernel.org>
Cc: linux-fsdevel@vger.kernel.org, Seth Forshee <sforshee@kernel.org>,
Christoph Hellwig <hch@lst.de>,
Eric Van Hensbergen <ericvh@gmail.com>,
Latchesar Ionkov <lucho@ionkov.net>,
Dominique Martinet <asmadeus@codewreck.org>,
Christian Schoenebeck <linux_oss@crudebyte.com>,
v9fs-developer@lists.sourceforge.net
Subject: Re: [PATCH 07/29] 9p: implement set acl method
Date: Sat, 24 Sep 2022 19:22:50 +0100 [thread overview]
Message-ID: <Yy9K+lTiVF5SiwO0@ZenIV> (raw)
In-Reply-To: <20220922151728.1557914-8-brauner@kernel.org>
On Thu, Sep 22, 2022 at 05:17:05PM +0200, Christian Brauner wrote:
> +int v9fs_iop_set_acl(struct user_namespace *mnt_userns, struct dentry *dentry,
> + struct posix_acl *acl, int type)
> +{
> + int retval;
> + void *value = NULL;
> + size_t size = 0;
> + struct v9fs_session_info *v9ses;
> + struct inode *inode = d_inode(dentry);
> +
> + v9ses = v9fs_dentry2v9ses(dentry);
> +
> + if (acl) {
> + retval = posix_acl_valid(inode->i_sb->s_user_ns, acl);
> + if (retval)
> + goto err_out;
> +
> + size = posix_acl_xattr_size(acl->a_count);
> +
> + value = kzalloc(size, GFP_NOFS);
> + if (!value) {
> + retval = -ENOMEM;
> + goto err_out;
> + }
> +
> + retval = posix_acl_to_xattr(&init_user_ns, acl, value, size);
> + if (retval < 0)
> + goto err_out;
> + }
> +
> + /*
> + * set the attribute on the remote. Without even looking at the
> + * xattr value. We leave it to the server to validate
> + */
> + if ((v9ses->flags & V9FS_ACCESS_MASK) != V9FS_ACCESS_CLIENT) {
> + retval = v9fs_xattr_set(dentry, posix_acl_xattr_name(type),
> + value, size, 0);
> + goto err_out;
> + }
> + if (S_ISLNK(inode->i_mode))
> + return -EOPNOTSUPP;
> + if (!inode_owner_or_capable(&init_user_ns, inode))
> + return -EPERM;
Shouldn't that chunk have been in the very beginning? As it is, you've
got a leak here...
next prev parent reply other threads:[~2022-09-24 18:23 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-22 15:16 [RFC PATCH 00/29] acl: add vfs posix acl api Christian Brauner
2022-09-22 15:16 ` [PATCH 01/29] fs: pass dentry to set acl method Christian Brauner
2022-09-23 6:43 ` Christoph Hellwig
2022-09-23 8:09 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 02/29] fs: rename current get " Christian Brauner
2022-09-23 6:44 ` Christoph Hellwig
2022-09-23 8:07 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 03/29] fs: add new " Christian Brauner
2022-09-23 6:46 ` Christoph Hellwig
2022-09-23 8:07 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 04/29] cifs: implement " Christian Brauner
2022-09-23 3:52 ` Steve French
2022-09-23 8:38 ` Christian Brauner
2022-09-25 22:53 ` Steve French
2022-09-26 8:35 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 05/29] cifs: implement set " Christian Brauner
2022-09-22 15:17 ` [PATCH 06/29] 9p: implement get " Christian Brauner
2022-09-24 17:56 ` Al Viro
2022-09-26 8:32 ` Christian Brauner
2022-09-24 18:13 ` Al Viro
2022-09-26 8:16 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 07/29] 9p: implement set " Christian Brauner
2022-09-24 18:22 ` Al Viro [this message]
2022-09-26 7:51 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 08/29] acl: add vfs_set_acl() Christian Brauner
2022-09-22 15:17 ` [PATCH 09/29] security: add set acl hook Christian Brauner
2022-09-22 15:17 ` [PATCH 10/29] selinux: implement " Christian Brauner
2022-09-22 17:16 ` Paul Moore
2022-09-23 6:47 ` Christoph Hellwig
2022-09-23 7:57 ` Christian Brauner
2022-09-23 14:26 ` Paul Moore
2022-09-23 14:35 ` Christian Brauner
2022-09-23 17:35 ` Paul Moore
2022-09-26 9:05 ` Christian Brauner
2022-09-26 18:48 ` Paul Moore
2022-09-27 7:34 ` Christoph Hellwig
2022-09-22 15:17 ` [PATCH 11/29] smack: " Christian Brauner
2022-09-22 15:17 ` [PATCH 12/29] evm: " Christian Brauner
2022-09-22 15:17 ` [PATCH 13/29] acl: use " Christian Brauner
2022-09-22 15:17 ` [PATCH 14/29] evm: add post " Christian Brauner
2022-09-22 15:17 ` [PATCH 15/29] acl: add vfs_get_acl() Christian Brauner
2022-09-22 15:17 ` [PATCH 16/29] acl: add vfs_remove_acl() Christian Brauner
2022-09-22 15:17 ` [PATCH 17/29] evm: simplify evm_xattr_acl_change() Christian Brauner
2022-09-22 15:17 ` [PATCH 18/29] ksmbd: use vfs_remove_acl() Christian Brauner
2022-09-22 15:17 ` [PATCH 19/29] ecryptfs: implement get acl method Christian Brauner
2022-09-22 15:17 ` [PATCH 20/29] ecryptfs: implement set " Christian Brauner
2022-09-22 15:17 ` [PATCH 21/29] ovl: implement get " Christian Brauner
2022-09-23 14:59 ` Miklos Szeredi
2022-09-23 15:07 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 22/29] ovl: implement set " Christian Brauner
2022-09-23 15:18 ` Miklos Szeredi
2022-09-23 15:35 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 23/29] ovl: use posix acl api Christian Brauner
2022-09-23 15:38 ` Miklos Szeredi
2022-09-23 15:47 ` Christian Brauner
2022-09-23 15:57 ` Miklos Szeredi
2022-09-23 16:23 ` Christian Brauner
2022-09-22 15:17 ` [PATCH 24/29] xattr: " Christian Brauner
2022-09-22 15:17 ` [PATCH 25/29] ecryptfs: use stub posix acl handlers Christian Brauner
2022-09-22 15:17 ` [PATCH 26/29] ovl: " Christian Brauner
2022-09-22 15:17 ` [PATCH 27/29] cifs: " Christian Brauner
2022-09-22 15:17 ` [PATCH 28/29] 9p: " Christian Brauner
2022-09-22 15:17 ` [PATCH 29/29] acl: remove a slew of now unused helpers Christian Brauner
2022-09-22 16:27 ` [RFC PATCH 00/29] acl: add vfs posix acl api Casey Schaufler
2022-09-22 17:12 ` Paul Moore
2022-09-22 17:57 ` Linus Torvalds
2022-09-22 18:53 ` Casey Schaufler
2022-09-22 19:07 ` Paul Moore
2022-09-22 21:57 ` Serge E. Hallyn
2022-09-22 22:13 ` Paul Moore
2022-09-23 5:58 ` Christoph Hellwig
2022-09-23 8:52 ` Christian Brauner
2022-09-23 15:22 ` Casey Schaufler
2022-09-23 8:45 ` Christian Brauner
2022-09-23 14:42 ` Paul Moore
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=Yy9K+lTiVF5SiwO0@ZenIV \
--to=viro@zeniv.linux.org.uk \
--cc=asmadeus@codewreck.org \
--cc=brauner@kernel.org \
--cc=ericvh@gmail.com \
--cc=hch@lst.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux_oss@crudebyte.com \
--cc=lucho@ionkov.net \
--cc=sforshee@kernel.org \
--cc=v9fs-developer@lists.sourceforge.net \
/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