All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Daniel Henrique Barboza <danielhb413@gmail.com>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, clg@kaod.org,
	 Richard Henderson <richard.henderson@linaro.org>,
	 Matheus Ferst <matheus.ferst@eldorado.org.br>
Subject: Re: [PATCH v2 1/1] target/ppc: fix unreachable code in do_ldst_quad()
Date: Thu, 4 Aug 2022 19:05:40 +0100	[thread overview]
Message-ID: <CAFEAcA8Pk47gdvbPqqyx6QGVNrqUCYiKSr-KAz+oV_Z6dP7G_w@mail.gmail.com> (raw)
In-Reply-To: <20220725202122.1810709-2-danielhb413@gmail.com>

On Mon, 25 Jul 2022 at 21:24, Daniel Henrique Barboza
<danielhb413@gmail.com> wrote:
>
> Coverity reports that commit fc34e81acd51 ("target/ppc: add macros to
> check privilege level") turned the following code unreachable:
>
> if (!prefixed && !(ctx->insns_flags2 & PPC2_LSQ_ISA207)) {
>     /* lq and stq were privileged prior to V. 2.07 */
>     REQUIRE_SV(ctx);
>
> >>>     CID 1490757:  Control flow issues  (UNREACHABLE)
> >>>     This code cannot be reached: "if (ctx->le_mode) {
>     if (ctx->le_mode) {
>         gen_align_no_le(ctx);
>         return true;
>     }
> }
>
> This happens because the macro REQUIRE_SV(), in CONFIG_USER_MODE, will
> always result in a 'return true' statement. In fact, all REQUIRE_*
> macros for target/ppc/translate.c behave the same way: if a condition
> isn't met, an exception is generated and a 'return' statement is issued.
>
> The difference is that all other callers are using it in insns that are
> not implemented in user mode. do_ldst_quad(), on the other hand, is user
> mode compatible.

This is a Coverity false positive, and I'd already marked it that way
in the Coverity UI back on the 20th. Coverity gets confused sometimes
by ifdeffery.

So you don't need this patch, unless you think the code is genuinely
better (more readable to humans, etc) this way.

thanks
-- PMM


  parent reply	other threads:[~2022-08-04 18:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-25 20:21 [PATCH v2 0/1] target/ppc: fix unreachable code in do_ldst_quad() Daniel Henrique Barboza
2022-07-25 20:21 ` [PATCH v2 1/1] " Daniel Henrique Barboza
2022-08-04 16:59   ` Matheus K. Ferst
2022-08-04 18:05   ` Peter Maydell [this message]
2022-08-04 18:18     ` Daniel Henrique Barboza

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=CAFEAcA8Pk47gdvbPqqyx6QGVNrqUCYiKSr-KAz+oV_Z6dP7G_w@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=clg@kaod.org \
    --cc=danielhb413@gmail.com \
    --cc=matheus.ferst@eldorado.org.br \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=richard.henderson@linaro.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.