qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL for-5.0 0/1] target/rx update for coverity warning
@ 2020-04-08 15:30 Richard Henderson
  2020-04-08 15:30 ` [PULL for-5.0 1/1] target/rx/translate: Add missing fall through comment Richard Henderson
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Richard Henderson @ 2020-04-08 15:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

The following changes since commit f3bac27cc1e303e1860cc55b9b6889ba39dee587:

  Update version for v5.0.0-rc2 release (2020-04-07 23:13:37 +0100)

are available in the Git repository at:

  https://github.com/rth7680/qemu.git tags/pull-rx-20200408

for you to fetch changes up to 40bd0502dbee3ca1a9a481dd32dabe9230b8a37f:

  target/rx/translate: Add missing fall through comment (2020-04-07 18:45:54 -0700)

----------------------------------------------------------------
Add fall through comment for Coverity.

----------------------------------------------------------------
Philippe Mathieu-Daudé (1):
      target/rx/translate: Add missing fall through comment

 target/rx/translate.c | 1 +
 1 file changed, 1 insertion(+)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PULL for-5.0 1/1] target/rx/translate: Add missing fall through comment
  2020-04-08 15:30 [PULL for-5.0 0/1] target/rx update for coverity warning Richard Henderson
@ 2020-04-08 15:30 ` Richard Henderson
  2020-04-08 15:30 ` [PATCH for-5.0? v2] target/xtensa: Statically allocate xtensa_insnbufs in DisasContext Richard Henderson
  2020-04-09 13:51 ` [PULL for-5.0 0/1] target/rx update for coverity warning Peter Maydell
  2 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2020-04-08 15:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@redhat.com>

Coverity reported a missing fall through comment, add it.

Fixes: e5918d7d7f0 ("target/rx: TCG translation")
Reported-by: Coverity (CID 1422222 MISSING_BREAK)
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200403184419.28556-1-philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/rx/translate.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/rx/translate.c b/target/rx/translate.c
index b3d7305f23..61e86653a4 100644
--- a/target/rx/translate.c
+++ b/target/rx/translate.c
@@ -2362,6 +2362,7 @@ static void rx_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs)
         break;
     case DISAS_UPDATE:
         tcg_gen_movi_i32(cpu_pc, ctx->base.pc_next);
+        /* fall through */
     case DISAS_EXIT:
         tcg_gen_exit_tb(NULL, 0);
         break;
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH for-5.0? v2] target/xtensa: Statically allocate xtensa_insnbufs in DisasContext
  2020-04-08 15:30 [PULL for-5.0 0/1] target/rx update for coverity warning Richard Henderson
  2020-04-08 15:30 ` [PULL for-5.0 1/1] target/rx/translate: Add missing fall through comment Richard Henderson
@ 2020-04-08 15:30 ` Richard Henderson
  2020-04-08 15:33   ` Richard Henderson
  2020-04-09 13:51 ` [PULL for-5.0 0/1] target/rx update for coverity warning Peter Maydell
  2 siblings, 1 reply; 5+ messages in thread
From: Richard Henderson @ 2020-04-08 15:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, Max Filippov

From: Max Filippov <jcmvbkbc@gmail.com>

Rather than dynamically allocate, and risk failing to free
when we longjmp out of the translator, allocate the maximum
buffer size from any of the supported cpus.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
[rth: Merged the fixup in Max's reply to his original]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/xtensa/cpu.h       |  3 +++
 target/xtensa/helper.c    |  1 +
 target/xtensa/translate.c | 18 ++----------------
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/target/xtensa/cpu.h b/target/xtensa/cpu.h
index c0d69fad96..7a46dccbe1 100644
--- a/target/xtensa/cpu.h
+++ b/target/xtensa/cpu.h
@@ -213,6 +213,9 @@ enum {
 #define MEMCTL_IL0EN 0x1
 
 #define MAX_INSN_LENGTH 64
+#define MAX_INSNBUF_LENGTH \
+    ((MAX_INSN_LENGTH + sizeof(xtensa_insnbuf_word) - 1) / \
+     sizeof(xtensa_insnbuf_word))
 #define MAX_INSN_SLOTS 32
 #define MAX_OPCODE_ARGS 16
 #define MAX_NAREG 64
diff --git a/target/xtensa/helper.c b/target/xtensa/helper.c
index 376a61f339..7073381f03 100644
--- a/target/xtensa/helper.c
+++ b/target/xtensa/helper.c
@@ -96,6 +96,7 @@ static void init_libisa(XtensaConfig *config)
 
     config->isa = xtensa_isa_init(config->isa_internal, NULL, NULL);
     assert(xtensa_isa_maxlength(config->isa) <= MAX_INSN_LENGTH);
+    assert(xtensa_insnbuf_size(config->isa) <= MAX_INSNBUF_LENGTH);
     opcodes = xtensa_isa_num_opcodes(config->isa);
     formats = xtensa_isa_num_formats(config->isa);
     regfiles = xtensa_isa_num_regfiles(config->isa);
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index 37f65b1f03..b898ee2261 100644
--- a/target/xtensa/translate.c
+++ b/target/xtensa/translate.c
@@ -72,8 +72,8 @@ struct DisasContext {
     unsigned cpenable;
 
     uint32_t op_flags;
-    xtensa_insnbuf insnbuf;
-    xtensa_insnbuf slotbuf;
+    xtensa_insnbuf_word insnbuf[MAX_INSNBUF_LENGTH];
+    xtensa_insnbuf_word slotbuf[MAX_INSNBUF_LENGTH];
 };
 
 static TCGv_i32 cpu_pc;
@@ -1173,16 +1173,6 @@ static void xtensa_tr_init_disas_context(DisasContextBase *dcbase,
     dc->cwoe = tb_flags & XTENSA_TBFLAG_CWOE;
     dc->callinc = ((tb_flags & XTENSA_TBFLAG_CALLINC_MASK) >>
                    XTENSA_TBFLAG_CALLINC_SHIFT);
-
-    /*
-     * FIXME: This will leak when a failed instruction load or similar
-     * event causes us to longjump out of the translation loop and
-     * hence not clean-up in xtensa_tr_tb_stop
-     */
-    if (dc->config->isa) {
-        dc->insnbuf = xtensa_insnbuf_alloc(dc->config->isa);
-        dc->slotbuf = xtensa_insnbuf_alloc(dc->config->isa);
-    }
     init_sar_tracker(dc);
 }
 
@@ -1272,10 +1262,6 @@ static void xtensa_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
     DisasContext *dc = container_of(dcbase, DisasContext, base);
 
     reset_sar_tracker(dc);
-    if (dc->config->isa) {
-        xtensa_insnbuf_free(dc->config->isa, dc->insnbuf);
-        xtensa_insnbuf_free(dc->config->isa, dc->slotbuf);
-    }
     if (dc->icount) {
         tcg_temp_free(dc->next_icount);
     }
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH for-5.0? v2] target/xtensa: Statically allocate xtensa_insnbufs in DisasContext
  2020-04-08 15:30 ` [PATCH for-5.0? v2] target/xtensa: Statically allocate xtensa_insnbufs in DisasContext Richard Henderson
@ 2020-04-08 15:33   ` Richard Henderson
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2020-04-08 15:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, Max Filippov

On 4/8/20 8:30 AM, Richard Henderson wrote:
> From: Max Filippov <jcmvbkbc@gmail.com>
> 
> Rather than dynamically allocate, and risk failing to free
> when we longjmp out of the translator, allocate the maximum
> buffer size from any of the supported cpus.
> 
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> [rth: Merged the fixup in Max's reply to his original]
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---

Oops.  Leftover file in my to-mail directory.
Not part of the rx pull, obviously.


r~


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PULL for-5.0 0/1] target/rx update for coverity warning
  2020-04-08 15:30 [PULL for-5.0 0/1] target/rx update for coverity warning Richard Henderson
  2020-04-08 15:30 ` [PULL for-5.0 1/1] target/rx/translate: Add missing fall through comment Richard Henderson
  2020-04-08 15:30 ` [PATCH for-5.0? v2] target/xtensa: Statically allocate xtensa_insnbufs in DisasContext Richard Henderson
@ 2020-04-09 13:51 ` Peter Maydell
  2 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2020-04-09 13:51 UTC (permalink / raw)
  To: Richard Henderson; +Cc: QEMU Developers

On Wed, 8 Apr 2020 at 16:31, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> The following changes since commit f3bac27cc1e303e1860cc55b9b6889ba39dee587:
>
>   Update version for v5.0.0-rc2 release (2020-04-07 23:13:37 +0100)
>
> are available in the Git repository at:
>
>   https://github.com/rth7680/qemu.git tags/pull-rx-20200408
>
> for you to fetch changes up to 40bd0502dbee3ca1a9a481dd32dabe9230b8a37f:
>
>   target/rx/translate: Add missing fall through comment (2020-04-07 18:45:54 -0700)
>
> ----------------------------------------------------------------
> Add fall through comment for Coverity.
>
> ----------------------------------------------------------------


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-04-09 13:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-08 15:30 [PULL for-5.0 0/1] target/rx update for coverity warning Richard Henderson
2020-04-08 15:30 ` [PULL for-5.0 1/1] target/rx/translate: Add missing fall through comment Richard Henderson
2020-04-08 15:30 ` [PATCH for-5.0? v2] target/xtensa: Statically allocate xtensa_insnbufs in DisasContext Richard Henderson
2020-04-08 15:33   ` Richard Henderson
2020-04-09 13:51 ` [PULL for-5.0 0/1] target/rx update for coverity warning Peter Maydell

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 NNTP newsgroup(s).