浏览代码

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>
Dmitry Kasatkin 11 年之前
父节点
当前提交
f68c05f4d2
共有 1 个文件被更改,包括 2 次插入4 次删除
  1. 2 4
      security/integrity/ima/ima_main.c

+ 2 - 4
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();
 	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;
 		xattr_ptr = &xattr_value;
 
 
 	rc = ima_collect_measurement(iint, file, xattr_ptr, &xattr_len);
 	rc = ima_collect_measurement(iint, file, xattr_ptr, &xattr_len);