ima: Move file-change detection variables into new structure
[linux-2.6-block.git] / security / integrity / ima / ima_api.c
index 3d286de231e1d5e373cc7029d1372e9e1ddbf043..984e861f6e3328290de2aee4cbd5ba30cf8dd5cf 100644 (file)
@@ -305,11 +305,11 @@ int ima_collect_measurement(struct ima_iint_cache *iint, struct file *file,
 
        iint->ima_hash = tmpbuf;
        memcpy(iint->ima_hash, &hash, length);
-       iint->version = i_version;
-       if (real_inode != inode) {
-               iint->real_ino = real_inode->i_ino;
-               iint->real_dev = real_inode->i_sb->s_dev;
-       }
+       if (real_inode == inode)
+               iint->real_inode.version = i_version;
+       else
+               integrity_inode_attrs_store(&iint->real_inode, i_version,
+                                           real_inode);
 
        /* Possibly temporary failure due to type of read (eg. O_DIRECT) */
        if (!result)