summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBaokun Li <libaokun1@huawei.com>2024-07-19 21:43:36 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-07-25 09:49:20 +0200
commita6fce9b4fe61a883f891868a3ef20185e6fcf456 (patch)
treeadbe60e678f1e57edc8417ce521f67273ef6155a /include
parent1d9bbbe6f28279c2002b9fbc1d76a47e9c41e9c9 (diff)
downloadlinux-a6fce9b4fe61a883f891868a3ef20185e6fcf456.tar.gz
linux-a6fce9b4fe61a883f891868a3ef20185e6fcf456.tar.bz2
linux-a6fce9b4fe61a883f891868a3ef20185e6fcf456.zip
netfs, fscache: export fscache_put_volume() and add fscache_try_get_volume()
[ Upstream commit 85b08b31a22b481ec6528130daf94eee4452e23f ] Export fscache_put_volume() and add fscache_try_get_volume() helper function to allow cachefiles to get/put fscache_volume via linux/fscache-cache.h. Signed-off-by: Baokun Li <libaokun1@huawei.com> Link: https://lore.kernel.org/r/20240628062930.2467993-2-libaokun@huaweicloud.com Signed-off-by: Christian Brauner <brauner@kernel.org> Stable-dep-of: 522018a0de6b ("cachefiles: fix slab-use-after-free in fscache_withdraw_volume()") Stable-dep-of: 5d8f80578907 ("cachefiles: fix slab-use-after-free in cachefiles_withdraw_cookie()") Signed-off-by: Baokun Li <libaokun1@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/fscache-cache.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h
index a174cedf4d90..35e86d2f2887 100644
--- a/include/linux/fscache-cache.h
+++ b/include/linux/fscache-cache.h
@@ -19,6 +19,7 @@
enum fscache_cache_trace;
enum fscache_cookie_trace;
enum fscache_access_trace;
+enum fscache_volume_trace;
enum fscache_cache_state {
FSCACHE_CACHE_IS_NOT_PRESENT, /* No cache is present for this name */
@@ -97,6 +98,11 @@ extern void fscache_withdraw_cookie(struct fscache_cookie *cookie);
extern void fscache_io_error(struct fscache_cache *cache);
+extern struct fscache_volume *
+fscache_try_get_volume(struct fscache_volume *volume,
+ enum fscache_volume_trace where);
+extern void fscache_put_volume(struct fscache_volume *volume,
+ enum fscache_volume_trace where);
extern void fscache_end_volume_access(struct fscache_volume *volume,
struct fscache_cookie *cookie,
enum fscache_access_trace why);