powerpc/secvar: Don't print error on ENOENT when reading variables
authorAndrew Donnellan <ajd@linux.ibm.com>
Fri, 10 Feb 2023 08:03:48 +0000 (19:03 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 12 Feb 2023 11:12:37 +0000 (22:12 +1100)
If attempting to read the size or data attributes of a  non-existent
variable (which will be possible after a later patch to expose the PLPKS
via the secvar interface), don't spam the kernel log with error messages.
Only print errors for return codes that aren't ENOENT.

Reported-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230210080401.345462-14-ajd@linux.ibm.com
arch/powerpc/kernel/secvar-sysfs.c

index 6ba23b2..eb3c053 100644 (file)
@@ -43,8 +43,8 @@ static ssize_t size_show(struct kobject *kobj, struct kobj_attribute *attr,
 
        rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, NULL, &dsize);
        if (rc) {
-               pr_err("Error retrieving %s variable size %d\n", kobj->name,
-                      rc);
+               if (rc != -ENOENT)
+                       pr_err("Error retrieving %s variable size %d\n", kobj->name, rc);
                return rc;
        }
 
@@ -61,7 +61,8 @@ static ssize_t data_read(struct file *filep, struct kobject *kobj,
 
        rc = secvar_ops->get(kobj->name, strlen(kobj->name) + 1, NULL, &dsize);
        if (rc) {
-               pr_err("Error getting %s variable size %d\n", kobj->name, rc);
+               if (rc != -ENOENT)
+                       pr_err("Error getting %s variable size %d\n", kobj->name, rc);
                return rc;
        }
        pr_debug("dsize is %llu\n", dsize);