diff options
author | Dmitry Kasatkin <d.kasatkin@samsung.com> | 2014-05-08 04:23:53 -0400 |
---|---|---|
committer | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2014-09-09 10:28:54 -0400 |
commit | b4148db51720a6b25a981ea72185312d4b6634fe (patch) | |
tree | 10db80db11bb0028fa1a829162b5063b347d9bee /security | |
parent | 17f4bad3abc7c09f42987d89ccccab02c03455a9 (diff) |
ima: initialize only required template
IMA uses only one template. This patch initializes only required
template to avoid unnecessary memory allocations.
Signed-off-by: Dmitry Kasatkin <d.kasatkin@samsung.com>
Reviewed-by: Roberto Sassu <roberto.sassu@polito.it>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Diffstat (limited to 'security')
-rw-r--r-- | security/integrity/ima/ima_template.c | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/security/integrity/ima/ima_template.c b/security/integrity/ima/ima_template.c index f6826066ff0c..e854862c9337 100644 --- a/security/integrity/ima/ima_template.c +++ b/security/integrity/ima/ima_template.c | |||
@@ -152,24 +152,6 @@ out: | |||
152 | return result; | 152 | return result; |
153 | } | 153 | } |
154 | 154 | ||
155 | static int __init init_defined_templates(void) | ||
156 | { | ||
157 | int i = 0; | ||
158 | int result = 0; | ||
159 | |||
160 | /* Init defined templates. */ | ||
161 | for (i = 0; i < ARRAY_SIZE(defined_templates); i++) { | ||
162 | struct ima_template_desc *template = &defined_templates[i]; | ||
163 | |||
164 | result = template_desc_init_fields(template->fmt, | ||
165 | &(template->fields), | ||
166 | &(template->num_fields)); | ||
167 | if (result < 0) | ||
168 | return result; | ||
169 | } | ||
170 | return result; | ||
171 | } | ||
172 | |||
173 | struct ima_template_desc *ima_template_desc_current(void) | 155 | struct ima_template_desc *ima_template_desc_current(void) |
174 | { | 156 | { |
175 | if (!ima_template) | 157 | if (!ima_template) |
@@ -180,11 +162,9 @@ struct ima_template_desc *ima_template_desc_current(void) | |||
180 | 162 | ||
181 | int __init ima_init_template(void) | 163 | int __init ima_init_template(void) |
182 | { | 164 | { |
183 | int result; | 165 | struct ima_template_desc *template = ima_template_desc_current(); |
184 | |||
185 | result = init_defined_templates(); | ||
186 | if (result < 0) | ||
187 | return result; | ||
188 | 166 | ||
189 | return 0; | 167 | return template_desc_init_fields(template->fmt, |
168 | &(template->fields), | ||
169 | &(template->num_fields)); | ||
190 | } | 170 | } |