integrity: include keyring name for unknown key request
authorBruno Meneguele <bmeneg@redhat.com>
Fri, 4 Sep 2020 19:41:00 +0000 (16:41 -0300)
committerMimi Zohar <zohar@linux.ibm.com>
Thu, 10 Sep 2020 00:05:28 +0000 (20:05 -0400)
Depending on the IMA policy rule a key may be searched for in multiple
keyrings (e.g. .ima and .platform) and possibly not found.  This patch
improves feedback by including the keyring "description" (name) in the
error message.

Signed-off-by: Bruno Meneguele <bmeneg@redhat.com>
[zohar@linux.ibm.com: updated commit message]
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
security/integrity/digsig_asymmetric.c

index cfa4127d0518f8636d08e388294c0e0830b7b3ab..14de98ef67f63ba55cf44de5474ba4e8ba920ece 100644 (file)
@@ -55,8 +55,14 @@ static struct key *request_asymmetric_key(struct key *keyring, uint32_t keyid)
        }
 
        if (IS_ERR(key)) {
-               pr_err_ratelimited("Request for unknown key '%s' err %ld\n",
-                                  name, PTR_ERR(key));
+               if (keyring)
+                       pr_err_ratelimited("Request for unknown key '%s' in '%s' keyring. err %ld\n",
+                                          name, keyring->description,
+                                          PTR_ERR(key));
+               else
+                       pr_err_ratelimited("Request for unknown key '%s' err %ld\n",
+                                          name, PTR_ERR(key));
+
                switch (PTR_ERR(key)) {
                        /* Hide some search errors */
                case -EACCES: