aboutsummaryrefslogtreecommitdiffstats
path: root/security/integrity/ima/ima_main.c
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2010-10-25 14:42:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-26 11:37:19 -0700
commit196f518128d2ee6e0028b50e6fec0313640db142 (patch)
tree43a1d76bee477dbaa682233979e86f58a98369f0 /security/integrity/ima/ima_main.c
parent64c62f06bef8314a64d3189cb9c78062d54169b3 (diff)
downloadkernel_samsung_smdk4412-196f518128d2ee6e0028b50e6fec0313640db142.zip
kernel_samsung_smdk4412-196f518128d2ee6e0028b50e6fec0313640db142.tar.gz
kernel_samsung_smdk4412-196f518128d2ee6e0028b50e6fec0313640db142.tar.bz2
IMA: explicit IMA i_flag to remove global lock on inode_delete
Currently for every removed inode IMA must take a global lock and search the IMA rbtree looking for an associated integrity structure. Instead we explicitly mark an inode when we add an integrity structure so we only have to take the global lock and do the removal if it exists. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'security/integrity/ima/ima_main.c')
-rw-r--r--security/integrity/ima/ima_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
index 1dccafe..60dd615 100644
--- a/security/integrity/ima/ima_main.c
+++ b/security/integrity/ima/ima_main.c
@@ -211,6 +211,7 @@ void ima_file_free(struct file *file)
if (!iint_initialized || !S_ISREG(inode->i_mode))
return;
+
iint = ima_iint_find(inode);
if (iint)