All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Ani Sinha <ani@anisinha.ca>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Eric DeVolder <eric.devolder@oracle.com>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH] acpi/erst: fix fallthrough code upon validation failure
Date: Thu, 19 May 2022 14:40:29 +0200	[thread overview]
Message-ID: <20220519144029.0ff26644@redhat.com> (raw)
In-Reply-To: <20220513141005.1929422-1-ani@anisinha.ca>

On Fri, 13 May 2022 19:40:05 +0530
Ani Sinha <ani@anisinha.ca> wrote:

> At any step when any validation fail in check_erst_backend_storage(), there is
> no need to continue further through other validation checks. Further, by
> continuing even when record_size is 0, we run the risk of triggering a divide
> by zero error if we continued with other validation checks. Hence, we should
> simply return from this function upon validation failure.
> 
> CC: Peter Maydell <peter.maydell@linaro.org>
> CC: Eric DeVolder <eric.devolder@oracle.com>
> Signed-off-by: Ani Sinha <ani@anisinha.ca>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  hw/acpi/erst.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/hw/acpi/erst.c b/hw/acpi/erst.c
> index de509c2b48..df856b2669 100644
> --- a/hw/acpi/erst.c
> +++ b/hw/acpi/erst.c
> @@ -440,6 +440,7 @@ static void check_erst_backend_storage(ERSTDeviceState *s, Error **errp)
>          (record_size >= 4096) /* PAGE_SIZE */
>          )) {
>          error_setg(errp, "ERST record_size %u is invalid", record_size);
> +        return;
>      }
>  
>      /* Validity check header */
> @@ -450,6 +451,7 @@ static void check_erst_backend_storage(ERSTDeviceState *s, Error **errp)
>          (le16_to_cpu(header->reserved) == 0)
>          )) {
>          error_setg(errp, "ERST backend storage header is invalid");
> +        return;
>      }
>  
>      /* Check storage_size against record_size */
> @@ -457,6 +459,7 @@ static void check_erst_backend_storage(ERSTDeviceState *s, Error **errp)
>           (record_size > s->storage_size)) {
>          error_setg(errp, "ACPI ERST requires storage size be multiple of "
>              "record size (%uKiB)", record_size);
> +        return;
>      }
>  
>      /* Compute offset of first and last record storage slot */



  reply	other threads:[~2022-05-19 12:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 14:10 [PATCH] acpi/erst: fix fallthrough code upon validation failure Ani Sinha
2022-05-19 12:40 ` Igor Mammedov [this message]
2022-05-19 13:05 ` Eric DeVolder
2022-06-10  8:18   ` Ani Sinha
2022-06-10 11:27     ` Michael S. Tsirkin

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=20220519144029.0ff26644@redhat.com \
    --to=imammedo@redhat.com \
    --cc=ani@anisinha.ca \
    --cc=eric.devolder@oracle.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.