summaryrefslogtreecommitdiffstats
path: root/fs/overlayfs/ovl_entry.h
diff options
context:
space:
mode:
authorAndrea Righi <andrea.righi@canonical.com>2023-05-21 10:28:13 +0200
committerAmir Goldstein <amir73il@gmail.com>2023-08-12 18:02:54 +0200
commitadcd459ff805ce5e11956cfa1e9aa85471b6ae8d (patch)
tree529a978d9bb82a1e528c5f7fd787a2dd868abc04 /fs/overlayfs/ovl_entry.h
parentovl: make consistent use of OVL_FS() (diff)
downloadlinux-adcd459ff805ce5e11956cfa1e9aa85471b6ae8d.tar.xz
linux-adcd459ff805ce5e11956cfa1e9aa85471b6ae8d.zip
ovl: validate superblock in OVL_FS()
When CONFIG_OVERLAY_FS_DEBUG is enabled add an explicit check to make sure that OVL_FS() is always used with a valid overlayfs superblock. Otherwise trigger a WARN_ON_ONCE(). Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Andrea Righi <andrea.righi@canonical.com> Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Diffstat (limited to 'fs/overlayfs/ovl_entry.h')
-rw-r--r--fs/overlayfs/ovl_entry.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/overlayfs/ovl_entry.h b/fs/overlayfs/ovl_entry.h
index edb457544b5f..e9539f98e86a 100644
--- a/fs/overlayfs/ovl_entry.h
+++ b/fs/overlayfs/ovl_entry.h
@@ -121,6 +121,9 @@ extern struct file_system_type ovl_fs_type;
static inline struct ovl_fs *OVL_FS(struct super_block *sb)
{
+ if (IS_ENABLED(CONFIG_OVERLAY_FS_DEBUG))
+ WARN_ON_ONCE(sb->s_type != &ovl_fs_type);
+
return (struct ovl_fs *)sb->s_fs_info;
}