From: "Compostella, Jeremy" <jeremy.composte...@intel.com> Report the name of the EFI variable if the value size is too large or if efibc_set_variable() fails to allocate the struct efivar_entry object. If efibc_set_variable() fails because the value size is too large, it also reports the value size in the error message.
Signed-off-by: Jeremy Compostella <jeremy.composte...@intel.com> Reported-by: Robert Elliott <elli...@hpe.com> Cc: Ingo Molnar <mi...@kernel.org> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Arnd Bergmann <a...@arndb.de> Signed-off-by: Matt Fleming <m...@codeblueprint.co.uk> --- drivers/firmware/efi/efibc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/efi/efibc.c b/drivers/firmware/efi/efibc.c index 8dd0c7085e59..568335d4239a 100644 --- a/drivers/firmware/efi/efibc.c +++ b/drivers/firmware/efi/efibc.c @@ -37,13 +37,15 @@ static int efibc_set_variable(const char *name, const char *value) size_t size = (strlen(value) + 1) * sizeof(efi_char16_t); if (size > sizeof(entry->var.Data)) { - pr_err("value is too large"); + pr_err("value is too large (%zu bytes) for %s EFI variable\n", + size, name); return -EINVAL; } entry = kmalloc(sizeof(*entry), GFP_KERNEL); if (!entry) { - pr_err("failed to allocate efivar entry"); + pr_err("failed to allocate efivar entry for %s EFI variable\n", + name); return -ENOMEM; } -- 2.7.3