From: Miklos Szeredi <mszeredi@xxxxxxx> Don't allow remounting the vfsmount read-write if the superblock is read-only. Return -EROFS in this case. Rename __mnt_unmake_readonly() to mnt_make_writable() to match mnt_make_readonly(). Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxx> --- fs/namespace.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) Index: linux-2.6/fs/namespace.c =================================================================== --- linux-2.6.orig/fs/namespace.c 2010-09-30 16:53:30.000000000 +0200 +++ linux-2.6/fs/namespace.c 2010-09-30 16:57:47.000000000 +0200 @@ -399,11 +399,18 @@ static int mnt_make_readonly(struct vfsm return ret; } -static void __mnt_unmake_readonly(struct vfsmount *mnt) +static int mnt_make_writable(struct vfsmount *mnt) { + int err = 0; + br_write_lock(vfsmount_lock); - mnt->mnt_flags &= ~MNT_READONLY; + if (mnt->mnt_sb->s_flags & MS_RDONLY) + err = -EROFS; + else + mnt->mnt_flags &= ~MNT_READONLY; br_write_unlock(vfsmount_lock); + + return err; } void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb) @@ -1600,7 +1607,7 @@ static int change_mount_flags(struct vfs if (readonly_request) error = mnt_make_readonly(mnt); else - __mnt_unmake_readonly(mnt); + error = mnt_make_writable(mnt); return error; } -- -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html