grub-devel.gnu.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Kiper <dkiper@net-space.pl>
To: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Cc: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [PATCH] MULTIBOOT: Fix handling of errors in broken aout-kludge
Date: Thu, 22 Feb 2024 15:39:56 +0100	[thread overview]
Message-ID: <20240222143956.b66sk7eou37opel3@tomti.i.net-space.pl> (raw)
In-Reply-To: <CAEaD8JMZ2RgZfWS-o7LbttYXsu9wtU=kXEQDboWm9qywXMYFBA@mail.gmail.com>

> On Tue, Feb 20, 2024 at 01:14:42PM +0300, Vladimir 'phcoder' Serbinenko wrote:
> Current code in some codepaths neither discards nor reports
> errors. Properly surface the error

You are doing more than that, i.e., shuffling err variable definition.
Do we really need that? If yes please create separate patch or add
a blurb to the commit message listing that change.

> Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
> ---
>  grub-core/loader/i386/multiboot_mbi.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/grub-core/loader/i386/multiboot_mbi.c b/grub-core/loader/i386/multiboot_mbi.c
> index fae5d6fb8..ce1381f05 100644
> --- a/grub-core/loader/i386/multiboot_mbi.c
> +++ b/grub-core/loader/i386/multiboot_mbi.c
> @@ -69,7 +69,6 @@ static grub_err_t
>  load_kernel (grub_file_t file, const char *filename,
>  	     char *buffer, struct multiboot_header *header)
>  {
> -  grub_err_t err;
>    mbi_load_data_t mld;
>
>    mld.file = file;
> @@ -81,12 +80,15 @@ load_kernel (grub_file_t file, const char *filename,
>
>    if (grub_multiboot_quirks & GRUB_MULTIBOOT_QUIRK_BAD_KLUDGE)
>      {
> +      grub_err_t err;

Please add empty line here...

>        err = grub_multiboot_load_elf (&mld);

... or...

grub_err_t err = grub_multiboot_load_elf (&mld);

...and than empty line after it...

>        if (err == GRUB_ERR_NONE) {
>  	return GRUB_ERR_NONE;
>        }
>        if (err == GRUB_ERR_UNKNOWN_OS && (header->flags & MULTIBOOT_AOUT_KLUDGE))
> -	grub_errno = GRUB_ERR_NONE;
> +	grub_errno = err = GRUB_ERR_NONE;
> +      if (err)

Even if that works I prefer to be fully correct...

if (err != GRUB_ERR_NONE)

> +	return err;
>      }
>    if (header->flags & MULTIBOOT_AOUT_KLUDGE)
>      {
> @@ -97,6 +99,7 @@ load_kernel (grub_file_t file, const char *filename,
>        grub_size_t code_size;
>        void *source;
>        grub_relocator_chunk_t ch;
> +      grub_err_t err;
>
>        if (header->bss_end_addr)
>  	code_size = (header->bss_end_addr - header->load_addr);

Daniel

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

      reply	other threads:[~2024-02-22 15:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-20 10:14 [PATCH] MULTIBOOT: Fix handling of errors in broken aout-kludge Vladimir 'phcoder' Serbinenko
2024-02-22 14:39 ` Daniel Kiper [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240222143956.b66sk7eou37opel3@tomti.i.net-space.pl \
    --to=dkiper@net-space.pl \
    --cc=grub-devel@gnu.org \
    --cc=phcoder@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).