lkml.org 
[lkml]   [2016]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: [PATCH 2/5] efibc: Fix excessive stack footprint warning
Date
You're right.  Here is the new patch.

Thanks,

Jérémy

From 3a54e6872e220e1ac4db0eae126a20b5383dae3e Mon Sep 17 00:00:00 2001
From: Jeremy Compostella <jeremy.compostella@intel.com>
Date: Tue, 10 May 2016 10:34:21 +0200
Subject: [PATCH] efibc: report more information in the error messages

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.compostella@intel.com>
---
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 cb4f573..369edb5 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;
}

--
1.9.1

Matt Fleming <matt@codeblueprint.co.uk> writes:

> On Tue, 10 May, at 10:40:22AM, Jeremy Compostella wrote:
>> Why not. See patch as attachment.
>>
>> Thanks,
>>
>> Jérémy
>>
>
>> From 8a9b07e2d7242fa8a36157f1025202a96c3c7c9a Mon Sep 17 00:00:00 2001
>> From: Jeremy Compostella <jeremy.compostella@intel.com>
>> Date: Tue, 10 May 2016 10:34:21 +0200
>> Subject: [PATCH] efibc: report the EFI variable name in the error messages
>>
>> Report the name of the EFI variable if the value is incorrect or if
>> efibc_set_variable() fails to allocate the struct efivar_entry object.
>>
>> Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
>> ---
>> drivers/firmware/efi/efibc.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/firmware/efi/efibc.c b/drivers/firmware/efi/efibc.c
>> index cb4f573..93d34a1 100644
>> --- a/drivers/firmware/efi/efibc.c
>> +++ b/drivers/firmware/efi/efibc.c
>> @@ -37,13 +37,14 @@ 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 for %s EFI variable", name);
>> return -EINVAL;
>> }
>
> It'd be a good idea to print 'size' too.
>
>>
>> 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",
>> + name);
>> return -ENOMEM;
>> }
>
> Aren't these pr_err() calls missing newline characters?

--
One Emacs to rule them all
\
 
 \ /
  Last update: 2016-05-11 17:41    [W:0.060 / U:0.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site