aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Currey <[email protected]>2023-02-10 19:03:38 +1100
committerMichael Ellerman <[email protected]>2023-02-12 22:12:36 +1100
commitc9fd2952754a03b2c14433c0318f4b46e9c0f2ef (patch)
tree9b8b11931015c5ac11c454be8e0d7a60029f6cd8
parentfcf63d6b8ab9b12c2ce1b4bde12a3c391029c998 (diff)
powerpc/secvar: Fix incorrect return in secvar_sysfs_load()
secvar_ops->get_next() returns -ENOENT when there are no more variables to return, which is expected behaviour. Fix this by returning 0 if get_next() returns -ENOENT. This fixes an issue introduced in commit bd5d9c743d38 ("powerpc: expose secure variables to userspace via sysfs"), but the return code of secvar_sysfs_load() was never checked so this issue never mattered. Signed-off-by: Russell Currey <[email protected]> Signed-off-by: Andrew Donnellan <[email protected]> Reviewed-by: Stefan Berger <[email protected]> Signed-off-by: Michael Ellerman <[email protected]> Link: https://lore.kernel.org/r/[email protected]
-rw-r--r--arch/powerpc/kernel/secvar-sysfs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/secvar-sysfs.c b/arch/powerpc/kernel/secvar-sysfs.c
index 1ee4640a2641..7fa5f8ed9542 100644
--- a/arch/powerpc/kernel/secvar-sysfs.c
+++ b/arch/powerpc/kernel/secvar-sysfs.c
@@ -179,8 +179,10 @@ static int secvar_sysfs_load(void)
rc = secvar_ops->get_next(name, &namesize, NAME_MAX_SIZE);
if (rc) {
if (rc != -ENOENT)
- pr_err("error getting secvar from firmware %d\n",
- rc);
+ pr_err("error getting secvar from firmware %d\n", rc);
+ else
+ rc = 0;
+
break;
}