summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Enju <kohei@enjuk.jp>2026-01-17 16:00:45 +0000
committerArd Biesheuvel <ardb@kernel.org>2026-01-19 08:40:36 +0100
commit4b22ec1685ce1fc0d862dcda3225d852fb107995 (patch)
tree1c32fb41ebed194f1e061957eff53d3a3923dab3
parentd7f1b4bdc7108be1b178e1617b5f45c8918e88d7 (diff)
efivarfs: fix error propagation in efivar_entry_get()
efivar_entry_get() always returns success even if the underlying __efivar_entry_get() fails, masking errors. This may result in uninitialized heap memory being copied to userspace in the efivarfs_file_read() path. Fix it by returning the error from __efivar_entry_get(). Fixes: 2d82e6227ea1 ("efi: vars: Move efivar caching layer into efivarfs") Cc: <stable@vger.kernel.org> # v6.1+ Signed-off-by: Kohei Enju <kohei@enjuk.jp> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-rw-r--r--fs/efivarfs/vars.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/efivarfs/vars.c b/fs/efivarfs/vars.c
index 6edc10958ecf..70e13db260db 100644
--- a/fs/efivarfs/vars.c
+++ b/fs/efivarfs/vars.c
@@ -552,7 +552,7 @@ int efivar_entry_get(struct efivar_entry *entry, u32 *attributes,
err = __efivar_entry_get(entry, attributes, size, data);
efivar_unlock();
- return 0;
+ return err;
}
/**