summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2021-04-08 14:30:20 +0300
committerMiklos Szeredi <mszeredi@redhat.com>2021-04-12 12:00:36 +0200
commite21a6c57e3905313664aa012727346a0067effd5 (patch)
treee8abb86466e7ef1de1f34138d61d95a7a5d75e20 /fs
parent1f0cb8bcc7f96bcd816c80618eb0a7a361c70fbd (diff)
downloadlinux-e21a6c57e3905313664aa012727346a0067effd5.tar.gz
linux-e21a6c57e3905313664aa012727346a0067effd5.tar.bz2
linux-e21a6c57e3905313664aa012727346a0067effd5.zip
ovl: check that upperdir path is not on a read-only mount
So far we only checked that sb is not read-only. Suggested-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/overlayfs/super.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
index fdd72f1a9c5e..8d8366350093 100644
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -1185,8 +1185,8 @@ static int ovl_get_upper(struct super_block *sb, struct ovl_fs *ofs,
if (err)
goto out;
- /* Upper fs should not be r/o */
- if (sb_rdonly(upperpath->mnt->mnt_sb)) {
+ /* Upperdir path should not be r/o */
+ if (__mnt_is_readonly(upperpath->mnt)) {
pr_err("upper fs is r/o, try multi-lower layers mount\n");
err = -EINVAL;
goto out;