[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] ls: prevent double open
From: |
Daniel Kiper |
Subject: |
Re: [PATCH] ls: prevent double open |
Date: |
Tue, 17 Oct 2017 15:22:24 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Oct 16, 2017 at 01:11:12PM -0700, 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>
In general LGTM. One nitpick...
> ---
> grub-core/commands/ls.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c
> index 0eaf836..a7318ab 100644
> --- a/grub-core/commands/ls.c
> +++ b/grub-core/commands/ls.c
> @@ -201,6 +201,8 @@ grub_ls_list_files (char *dirname, int longlist, int all,
> int human)
> if (grub_errno == GRUB_ERR_UNKNOWN_FS)
> grub_errno = GRUB_ERR_NONE;
>
> + grub_device_close (dev);
> + dev = NULL;
I would put a comment before why it is needed.
Thanks,
Daniel