Commit 4b22ec16 authored by Kohei Enju's avatar Kohei Enju Committed by Ard Biesheuvel
Browse files

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: 2d82e622 ("efi: vars: Move efivar caching layer into efivarfs")
Cc: <stable@vger.kernel.org> # v6.1+
Signed-off-by: default avatarKohei Enju <kohei@enjuk.jp>
Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
parent d7f1b4bd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
}

/**