Re: [PATCH v5 04/22] cachefiles: notify user daemon with anon_fd when looking up cookie

From: David Howells
Date: Mon Mar 21 2022 - 10:12:56 EST


Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx> 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