diff --git a/security/integrity/ima/ima_iint.c b/security/integrity/ima/ima_iint.c index 1f035e8d29c7affa6045e3ea3de29f13a5345464..ec79f1ee992cb94c9362bc28f160633978c8c2d3 100644 --- a/security/integrity/ima/ima_iint.c +++ b/security/integrity/ima/ima_iint.c @@ -73,8 +73,10 @@ struct ima_iint_cache *ima_iint_insert(struct inode *inode) if (rc < 0) { kmem_cache_free(iint_cache, iint); if (rc == -EEXIST) { + spin_lock(&ima_iint_lock); iint = radix_tree_lookup(&ima_iint_store, (unsigned long)inode); + spin_unlock(&ima_iint_lock); } else iint = NULL; }