summaryrefslogtreecommitdiff
path: root/fs/netfs
diff options
context:
space:
mode:
authorJingbo Xu <jefflexu@linux.alibaba.com>2024-06-28 14:29:30 +0800
committerChristian Brauner <brauner@kernel.org>2024-07-03 10:36:16 +0200
commitcf5bb09e742a9cf6349127e868329a8f69b7a014 (patch)
tree19a7128ae5574051676e088562c7f446c347cfcb /fs/netfs
parent19f4f399091478c95947f6bd7ad61622300c30d9 (diff)
downloadlwn-cf5bb09e742a9cf6349127e868329a8f69b7a014.tar.gz
lwn-cf5bb09e742a9cf6349127e868329a8f69b7a014.zip
cachefiles: add missing lock protection when polling
Add missing lock protection in poll routine when iterating xarray, otherwise: Even with RCU read lock held, only the slot of the radix tree is ensured to be pinned there, while the data structure (e.g. struct cachefiles_req) stored in the slot has no such guarantee. The poll routine will iterate the radix tree and dereference cachefiles_req accordingly. Thus RCU read lock is not adequate in this case and spinlock is needed here. Fixes: b817e22b2e91 ("cachefiles: narrow the scope of triggering EPOLLIN events in ondemand mode") Signed-off-by: Jingbo Xu <jefflexu@linux.alibaba.com> Signed-off-by: Baokun Li <libaokun1@huawei.com> Link: https://lore.kernel.org/r/20240628062930.2467993-10-libaokun@huaweicloud.com Acked-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Jia Zhu <zhujia.zj@bytedance.com> Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/netfs')
0 files changed, 0 insertions, 0 deletions