rsa: Return immediately if required-key verification fails
authorDaniele Alessandrelli <daniele.alessandrelli@gmail.com>
Wed, 18 Sep 2019 14:04:54 +0000 (16:04 +0200)
committerSimon Glass <sjg@chromium.org>
Tue, 15 Oct 2019 14:40:03 +0000 (08:40 -0600)
Currently, if image verification with a required key fails, rsa_verify()
code tries to find another key to verify the FIT image. This however, is
not the intended behavior as the documentation says that required keys
"must be verified for the image / configuration to be considered valid".

This patch fixes the issue by making rsa_verify() return immediately if
the verification of a required key fails.

Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@gmail.com>
lib/rsa/rsa-verify.c

index 287fcc4d234de50d508db251d1307d2f41e88440..82dc513260e2c9d44bb2e8767df50cb0fdae39c5 100644 (file)
@@ -437,8 +437,7 @@ int rsa_verify(struct image_sign_info *info,
        if (info->required_keynode != -1) {
                ret = rsa_verify_with_keynode(info, hash, sig, sig_len,
                        info->required_keynode);
-               if (!ret)
-                       return ret;
+               return ret;
        }
 
        /* Look for a key that matches our hint */