This patch adds a new helper to search a template descriptor by its format. Also, the old function lookup_template_desc(), which performs the search by name, has been renamed to lookup_template_desc_by_name().
Signed-off-by: Roberto Sassu <roberto.sa...@polito.it> --- security/integrity/ima/ima_template.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/security/integrity/ima/ima_template.c b/security/integrity/ima/ima_template.c index 33c911a..c849723 100644 --- a/security/integrity/ima/ima_template.c +++ b/security/integrity/ima/ima_template.c @@ -38,7 +38,7 @@ static struct ima_template_field supported_fields[] = { }; static struct ima_template_desc *ima_template; -static struct ima_template_desc *lookup_template_desc(const char *name); +static struct ima_template_desc *lookup_template_desc_by_name(const char *name); static struct ima_template_field *lookup_template_field(const char *field_id); static int __init ima_template_setup(char *str) @@ -53,7 +53,7 @@ static int __init ima_template_setup(char *str) * Verify that a template with the supplied name exists. * If not, use CONFIG_IMA_DEFAULT_TEMPLATE. */ - template_desc = lookup_template_desc(str); + template_desc = lookup_template_desc_by_name(str); if (!template_desc) { pr_err("IMA: template %s not found, using %s\n", str, CONFIG_IMA_DEFAULT_TEMPLATE); @@ -117,7 +117,7 @@ static int __init ima_template_fmt_setup(char *str) } __setup("ima_template_fmt=", ima_template_fmt_setup); -static struct ima_template_desc *lookup_template_desc(const char *name) +static struct ima_template_desc *lookup_template_desc_by_name(const char *name) { int i; @@ -129,6 +129,18 @@ static struct ima_template_desc *lookup_template_desc(const char *name) return NULL; } +static struct ima_template_desc *lookup_template_desc_by_fmt(const char *fmt) +{ + struct ima_template_desc *desc; + + list_for_each_entry(desc, &defined_templates[0].list, list) { + if (strcmp(desc->fmt, fmt) == 0) + return desc; + } + + return NULL; +} + static struct ima_template_field *lookup_template_field(const char *field_id) { int i; @@ -232,7 +244,7 @@ struct ima_template_desc *ima_template_desc_current(void) { if (!ima_template) ima_template = - lookup_template_desc(CONFIG_IMA_DEFAULT_TEMPLATE); + lookup_template_desc_by_name(CONFIG_IMA_DEFAULT_TEMPLATE); return ima_template; } -- 1.8.1.4
smime.p7s
Description: S/MIME cryptographic signature