]> git.hungrycats.org Git - linux/commitdiff
ima: fix hash algorithm initialization
authorBoshi Wang <wangboshi@huawei.com>
Fri, 20 Oct 2017 08:01:03 +0000 (16:01 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Feb 2018 18:42:19 +0000 (18:42 +0000)
commit ebe7c0a7be92bbd34c6ff5b55810546a0ee05bee upstream.

The hash_setup function always sets the hash_setup_done flag, even
when the hash algorithm is invalid.  This prevents the default hash
algorithm defined as CONFIG_IMA_DEFAULT_HASH from being used.

This patch sets hash_setup_done flag only for valid hash algorithms.

Fixes: e7a2ad7eb6f4 "ima: enable support for larger default filedata hash
algorithms"
Signed-off-by: Boshi Wang <wangboshi@huawei.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
security/integrity/ima/ima_main.c

index ac2e2cee7a2ab5331d7728b6cfc9557643dd5c97..6d88467a0de14937d1714ad9c0e0b8cff5ea28e0 100644 (file)
@@ -52,6 +52,8 @@ static int __init hash_setup(char *str)
                        ima_hash_algo = HASH_ALGO_SHA1;
                else if (strncmp(str, "md5", 3) == 0)
                        ima_hash_algo = HASH_ALGO_MD5;
+               else
+                       return 1;
                goto out;
        }
 
@@ -61,6 +63,8 @@ static int __init hash_setup(char *str)
                        break;
                }
        }
+       if (i == HASH_ALGO__LAST)
+               return 1;
 out:
        hash_setup_done = 1;
        return 1;