[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6c04aab1-44d7-464c-8080-b06d5c0f16ee@bytedance.com>
Date: Thu, 25 Apr 2024 11:13:30 +0800
From: Jia Zhu <zhujia.zj@...edance.com>
To: libaokun@...weicloud.com, netfs@...ts.linux.dev
Cc: dhowells@...hat.com, jlayton@...nel.org, jefflexu@...ux.alibaba.com,
linux-erofs@...ts.ozlabs.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, Baokun Li <libaokun1@...wei.com>,
zhujia.zj@...edance.com
Subject: Re: [PATCH 01/12] cachefiles: remove request from xarry during flush
requests
在 2024/4/24 11:39, libaokun@...weicloud.com 写道:
> From: Baokun Li <libaokun1@...wei.com>
>
> This prevents concurrency from causing access to a freed req.
>
> Signed-off-by: Baokun Li <libaokun1@...wei.com>
Reviewed-by: Jia Zhu <zhujia.zj@...edance.com>
> ---
> fs/cachefiles/daemon.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/cachefiles/daemon.c b/fs/cachefiles/daemon.c
> index 6465e2574230..ccb7b707ea4b 100644
> --- a/fs/cachefiles/daemon.c
> +++ b/fs/cachefiles/daemon.c
> @@ -159,6 +159,7 @@ static void cachefiles_flush_reqs(struct cachefiles_cache *cache)
> xa_for_each(xa, index, req) {
> req->error = -EIO;
> complete(&req->done);
> + __xa_erase(xa, index);
> }
> xa_unlock(xa);
>
Powered by blists - more mailing lists