ovl: check that upperdir path is not on a read-only mount
authorAmir Goldstein <amir73il@gmail.com>
Thu, 8 Apr 2021 11:30:20 +0000 (14:30 +0300)
committerMiklos Szeredi <mszeredi@redhat.com>
Mon, 12 Apr 2021 10:00:36 +0000 (12:00 +0200)
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>
fs/overlayfs/super.c

index fdd72f1..8d83663 100644 (file)
@@ -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;