]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/overlayfs/super.c
UBUNTU: SAUCE: overlayfs: Propogate nosuid from lower and upper mounts
[mirror_ubuntu-artful-kernel.git] / fs / overlayfs / super.c
index d86e89f972016b4046b20a7a45c2f3f436c50f02..93437856dbd95e139a182b324bf43b18ad4c8029 100644 (file)
@@ -960,6 +960,9 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent)
 
                sb->s_time_gran = ufs->upper_mnt->mnt_sb->s_time_gran;
 
+               if (ufs->upper_mnt->mnt_flags & MNT_NOSUID)
+                       sb->s_iflags |= SB_I_NOSUID;
+
                ufs->workdir = ovl_workdir_create(sb, ufs, workpath.dentry,
                                                  OVL_WORKDIR_NAME, false);
                /*
@@ -1031,6 +1034,9 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent)
                 */
                mnt->mnt_flags |= MNT_READONLY | MNT_NOATIME;
 
+               if (mnt->mnt_flags & MNT_NOSUID)
+                       sb->s_iflags |= SB_I_NOSUID;
+
                ufs->lower_mnt[ufs->numlower] = mnt;
                ufs->numlower++;