ext2: disallow setting xip on remount
Yan Zheng pointed out that ext2_remount lacks checking if -o xip should be enabled or not. This patch checks for presence of direct_access on the backing block device and if the blocksize meets the requirements. Signed-off-by: Carsten Otte <cotte@de.ibm.com> Cc: Yan Zheng <yanzheng@21cn.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4f84e4be53
commit
266f5aa097
|
@ -1038,6 +1038,14 @@ static int ext2_remount (struct super_block * sb, int * flags, char * data)
|
|||
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
|
||||
((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
|
||||
|
||||
ext2_xip_verify_sb(sb); /* see if bdev supports xip, unset
|
||||
EXT2_MOUNT_XIP if not */
|
||||
|
||||
if ((ext2_use_xip(sb)) && (sb->s_blocksize != PAGE_SIZE)) {
|
||||
printk("XIP: Unsupported blocksize\n");
|
||||
goto restore_opts;
|
||||
}
|
||||
|
||||
es = sbi->s_es;
|
||||
if (((sbi->s_mount_opt & EXT2_MOUNT_XIP) !=
|
||||
(old_mount_opt & EXT2_MOUNT_XIP)) &&
|
||||
|
|
Loading…
Reference in New Issue