commit e462ec50cb5fa ("VFS: Differentiate mount flags (MS_*) from internal superblock flags") reworked the flags that are passed through do mount, and in the process dropped MS_I_VERSION. Confusingly, things continue working if the i_version mount option is used because that's directly passed to ext4 which interprets it, while iversion is turned into MS_I_VERSION and dropped on the floor. This breaks IMA and EVM and my heart. Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx --- fs/namespace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/namespace.c b/fs/namespace.c index 3b601f115b6c..d18deb4c410b 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -2825,7 +2825,8 @@ long do_mount(const char *dev_name, const char __user *dir_name, SB_MANDLOCK | SB_DIRSYNC | SB_SILENT | - SB_POSIXACL); + SB_POSIXACL | + SB_I_VERSION); if (flags & MS_REMOUNT) retval = do_remount(&path, flags, sb_flags, mnt_flags, -- 2.15.0.rc1.287.g2b38de12cc-goog