Message ID | 20240424032732.2711487-1-libaokun@huaweicloud.com (mailing list archive) |
---|---|
Headers | show |
Series | cachefiles: some bugfixes for withdraw and xattr | expand |
Hi David, Hi Jeff, Could you please take time to take a look at this series? I'd appreciated it if I could get some feedback and comments. Thanks, Baokun On 2024/4/24 11:27, libaokun@huaweicloud.com wrote: > From: Baokun Li <libaokun1@huawei.com> > > Hello everyone! > > Recently we found some bugs while doing tests on cachefiles ondemand mode, > and this patchset is a fix for some of those issues. The following is a > brief overview of the patches, see the patches for more details. > > Patch 1-2: Add fscache_try_get_volume() helper function to avoid > fscache_volume use-after-free on cache withdrawal. > > Patch 3: Fix cachefiles_lookup_cookie() and cachefiles_withdraw_cache() > concurrency causing cachefiles_volume use-after-free. > > Patch 4-5: Propagate error codes returned by vfs_getxattr() to avoid > endless loops. > > Comments and questions are, as always, welcome. > > Thanks, > Baokun > > Baokun Li (5): > netfs, fscache: export fscache_put_volume() and add > fscache_try_get_volume() > cachefiles: fix slab-use-after-free in fscache_withdraw_volume() > cachefiles: fix slab-use-after-free in cachefiles_withdraw_cookie() > cachefiles: correct the return value of > cachefiles_check_volume_xattr() > cachefiles: correct the return value of cachefiles_check_auxdata() > > fs/cachefiles/cache.c | 45 +++++++++++++++++++++++++++++++++- > fs/cachefiles/volume.c | 1 - > fs/cachefiles/xattr.c | 5 +++- > fs/netfs/fscache_volume.c | 14 +++++++++++ > fs/netfs/internal.h | 2 -- > include/linux/fscache-cache.h | 6 +++++ > include/trace/events/fscache.h | 4 +++ > 7 files changed, 72 insertions(+), 5 deletions(-) >
From: Baokun Li <libaokun1@huawei.com> Hello everyone! Recently we found some bugs while doing tests on cachefiles ondemand mode, and this patchset is a fix for some of those issues. The following is a brief overview of the patches, see the patches for more details. Patch 1-2: Add fscache_try_get_volume() helper function to avoid fscache_volume use-after-free on cache withdrawal. Patch 3: Fix cachefiles_lookup_cookie() and cachefiles_withdraw_cache() concurrency causing cachefiles_volume use-after-free. Patch 4-5: Propagate error codes returned by vfs_getxattr() to avoid endless loops. Comments and questions are, as always, welcome. Thanks, Baokun Baokun Li (5): netfs, fscache: export fscache_put_volume() and add fscache_try_get_volume() cachefiles: fix slab-use-after-free in fscache_withdraw_volume() cachefiles: fix slab-use-after-free in cachefiles_withdraw_cookie() cachefiles: correct the return value of cachefiles_check_volume_xattr() cachefiles: correct the return value of cachefiles_check_auxdata() fs/cachefiles/cache.c | 45 +++++++++++++++++++++++++++++++++- fs/cachefiles/volume.c | 1 - fs/cachefiles/xattr.c | 5 +++- fs/netfs/fscache_volume.c | 14 +++++++++++ fs/netfs/internal.h | 2 -- include/linux/fscache-cache.h | 6 +++++ include/trace/events/fscache.h | 4 +++ 7 files changed, 72 insertions(+), 5 deletions(-)