summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Kasatkin <d.kasatkin@samsung.com>2014-08-22 09:43:55 +0300
committerMimi Zohar <zohar@linux.vnet.ibm.com>2014-09-09 10:28:47 -0400
commitf68c05f4d2d4e19c40f4ac1e769cc0a2f9f544a0 (patch)
tree07370f5d985fbb1235044660937b27d9b04a4a8c
parent65d98f3be25f7ee96af655f97e153d3d8d3d8ef9 (diff)
downloadlinux-exynos-f68c05f4d2d4e19c40f4ac1e769cc0a2f9f544a0.tar.gz
linux-exynos-f68c05f4d2d4e19c40f4ac1e769cc0a2f9f544a0.tar.bz2
linux-exynos-f68c05f4d2d4e19c40f4ac1e769cc0a2f9f544a0.zip
ima: simplify conditional statement to improve performance
Precede bit testing before string comparison makes code faster. Also refactor statement as a single line pointer assignment. Logic is following: we set 'xattr_ptr' to read xattr value when we will do appraisal or in any case when measurement template is other than 'ima'. Signed-off-by: Dmitry Kasatkin <d.kasatkin@samsung.com> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
-rw-r--r--security/integrity/ima/ima_main.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
index f82cf9b8e92b..f7b85bf0eaf3 100644
--- a/security/integrity/ima/ima_main.c
+++ b/security/integrity/ima/ima_main.c
@@ -206,10 +206,8 @@ static int process_measurement(struct file *file, const char *filename,
}
template_desc = ima_template_desc_current();
- if (strcmp(template_desc->name, IMA_TEMPLATE_IMA_NAME) == 0) {
- if (action & IMA_APPRAISE_SUBMASK)
- xattr_ptr = &xattr_value;
- } else
+ if ((action & IMA_APPRAISE_SUBMASK) ||
+ strcmp(template_desc->name, IMA_TEMPLATE_IMA_NAME) != 0)
xattr_ptr = &xattr_value;
rc = ima_collect_measurement(iint, file, xattr_ptr, &xattr_len);