[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 3 Mar 2020 08:19:21 -0500
From: Tejun Heo <tj@...nel.org>
To: Daniel Xu <dxu@...uu.xyz>
Cc: cgroups@...r.kernel.org, lizefan@...wei.com, hannes@...xchg.org,
linux-kernel@...r.kernel.org, gregkh@...uxfoundation.org,
kernel-team@...com
Subject: Re: [PATCH 1/2] kernfs: Add option to enable user xattrs
Hello,
On Mon, Mar 02, 2020 at 05:39:00PM -0800, Daniel Xu wrote:
> +static int kernfs_vfs_user_xattr_set(const struct xattr_handler *handler,
> + struct dentry *unused, struct inode *inode,
> + const char *suffix, const void *value,
> + size_t size, int flags)
> +{
...
> + if (value && atomic_inc_return(nr) > KERNFS_MAX_USER_XATTRS) {
> + ret = -ENOSPC;
> + goto dec_out;
> + }
So, we limit the number of user xattrs here but
> + ret = kernfs_vfs_xattr_set(handler, unused, inode, suffix, value,
> + size, flags);
This will call into simple_xattr_set() which doesn't put any further
restriction on size and just calls GFP_KERNEL kmalloc on it allowing
users incur high-order allocations. Maybe it'd make sense to limit
both the number and size?
Thanks.
--
tejun
Powered by blists - more mailing lists