IMA: switch IMA over to new i_version API
authorJeff Layton <jlayton@redhat.com>
Mon, 11 Dec 2017 11:35:21 +0000 (06:35 -0500)
committerJeff Layton <jlayton@redhat.com>
Mon, 29 Jan 2018 11:42:21 +0000 (06:42 -0500)
Signed-off-by: Jeff Layton <jlayton@redhat.com>
security/integrity/ima/ima_api.c
security/integrity/ima/ima_main.c

index c7e8db0..c6ae422 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/fs.h>
 #include <linux/xattr.h>
 #include <linux/evm.h>
+#include <linux/iversion.h>
 
 #include "ima.h"
 
@@ -215,7 +216,7 @@ int ima_collect_measurement(struct integrity_iint_cache *iint,
         * which do not support i_version, support is limited to an initial
         * measurement/appraisal/audit.
         */
-       i_version = file_inode(file)->i_version;
+       i_version = inode_query_iversion(inode);
        hash.hdr.algo = algo;
 
        /* Initialize hash digest to 0's in case of failure */
index 50b8259..06a70c5 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/slab.h>
 #include <linux/xattr.h>
 #include <linux/ima.h>
+#include <linux/iversion.h>
 
 #include "ima.h"
 
@@ -128,7 +129,7 @@ static void ima_check_last_writer(struct integrity_iint_cache *iint,
        inode_lock(inode);
        if (atomic_read(&inode->i_writecount) == 1) {
                if (!IS_I_VERSION(inode) ||
-                   (iint->version != inode->i_version) ||
+                   inode_cmp_iversion(inode, iint->version) ||
                    (iint->flags & IMA_NEW_FILE)) {
                        iint->flags &= ~(IMA_DONE_MASK | IMA_NEW_FILE);
                        iint->measured_pcrs = 0;