[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1029248.1647871294@warthog.procyon.org.uk>
Date: Mon, 21 Mar 2022 14:01:34 +0000
From: David Howells <dhowells@...hat.com>
To: Jeffle Xu <jefflexu@...ux.alibaba.com>
Cc: dhowells@...hat.com, linux-cachefs@...hat.com, xiang@...nel.org,
chao@...nel.org, linux-erofs@...ts.ozlabs.org,
torvalds@...ux-foundation.org, gregkh@...uxfoundation.org,
willy@...radead.org, linux-fsdevel@...r.kernel.org,
joseph.qi@...ux.alibaba.com, bo.liu@...ux.alibaba.com,
tao.peng@...ux.alibaba.com, gerry@...ux.alibaba.com,
eguan@...ux.alibaba.com, linux-kernel@...r.kernel.org,
luodaowen.backend@...edance.com
Subject: Re: [PATCH v5 04/22] cachefiles: notify user daemon with anon_fd when looking up cookie
Jeffle Xu <jefflexu@...ux.alibaba.com> wrote:
> + read_lock(&cache->reqs_lock);
> +
> + /* recheck dead state under lock */
> + if (test_bit(CACHEFILES_DEAD, &cache->flags)) {
> + read_unlock(&cache->reqs_lock);
> + ret = -EIO;
> + goto out;
> + }
> +
> + xa_lock(xa);
> + ret = __xa_alloc(xa, &id, req, xa_limit_32b, GFP_KERNEL);
You're holding a spinlock. You can't use GFP_KERNEL.
> +static int cachefiles_ondemand_cinit(struct cachefiles_cache *cache, char *args)
> +{
> ...
> + tmp = kstrdup(args, GFP_KERNEL);
No need to copy the string. The caller already did that and added a NUL for
good measure.
I would probably move most of the functions added in this patch to
fs/cachefiles/ondemand.c.
David
Powered by blists - more mailing lists