grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] ls: prevent double open


From: Eric Snowberg
Subject: Re: [PATCH v2] ls: prevent double open
Date: Tue, 21 Nov 2017 15:24:38 -0700

> On Nov 21, 2017, at 6:20 AM, Daniel Kiper <address@hidden> wrote:
> 
> On Mon, Nov 13, 2017 at 08:27:28AM -0800, Eric Snowberg wrote:
>> Prevent a double open.  This can cause problems with some ieee1275
>> devices, causing the system to hang.  The double open can occur
>> as follows:
>> 
>> grub_ls_list_files (char *dirname, int longlist, int all, int human)
>>       dev = grub_device_open (device_name);
>>       dev remains open while:
>>       grub_normal_print_device_info (device_name);
>>                dev = grub_device_open (name);
>> 
>> Signed-off-by: Eric Snowberg <address@hidden>
>> ---
>> changes from v1:
>> - Added comment
>> ---
>> grub-core/commands/ls.c |    4 ++++
>> 1 files changed, 4 insertions(+), 0 deletions(-)
>> 
>> diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c
>> index 0eaf836..fcbb3da 100644
>> --- a/grub-core/commands/ls.c
>> +++ b/grub-core/commands/ls.c
>> @@ -201,6 +201,10 @@ grub_ls_list_files (char *dirname, int longlist, int 
>> all, int human)
>>       if (grub_errno == GRUB_ERR_UNKNOWN_FS)
>>      grub_errno = GRUB_ERR_NONE;
>> 
>> +      /* Close device to prevent a double open in
>> +         grub_normal_print_device_info. */
>> +      grub_device_close (dev);
>> +      dev = NULL;
> 
> Are you OK if I put above between "#ifdef GRUB_MACHINE_IEEE1275" and "#endif”?

I suppose you could add that. Is this patch causing problems on a different 
platform?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]