]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - security/integrity/ima/ima_iint.c
IMA: move read counter into struct inode
[net-next-2.6.git] / security / integrity / ima / ima_iint.c
index e68891f8d55afe1aadca81885e499c57643b469c..0936a7197e477b6eaaa5fb4ac87439009b686b62 100644 (file)
@@ -124,11 +124,6 @@ void iint_free(struct kref *kref)
                                                   refcount);
        iint->version = 0;
        iint->flags = 0UL;
-       if (iint->readcount != 0) {
-               printk(KERN_INFO "%s: readcount: %u\n", __func__,
-                      iint->readcount);
-               iint->readcount = 0;
-       }
        kref_init(&iint->refcount);
        kmem_cache_free(iint_cache, iint);
 }
@@ -143,6 +138,11 @@ void ima_inode_free(struct inode *inode)
 {
        struct ima_iint_cache *iint;
 
+       if (inode->i_readcount)
+               printk(KERN_INFO "%s: readcount: %u\n", __func__, inode->i_readcount);
+
+       inode->i_readcount = 0;
+
        spin_lock(&ima_iint_lock);
        iint = __ima_iint_find(inode);
        if (iint)
@@ -160,7 +160,6 @@ static void init_once(void *foo)
        iint->version = 0;
        iint->flags = 0UL;
        mutex_init(&iint->mutex);
-       iint->readcount = 0;
        kref_init(&iint->refcount);
 }