diff mbox series

[for-4.0,1/3] target/ppc: Fix TCG temporary leaks in gen_bcond()

Message ID 155327782047.1283071.10234727692461848972.stgit@bahia.lan
State New
Headers show
Series target/ppc: Fix pseries.cap-ibs=workaround with TCG | expand

Commit Message

Greg Kurz March 22, 2019, 6:03 p.m. UTC
Signed-off-by: Greg Kurz <groug@kaod.org>
---
 target/ppc/translate.c |    2 ++
 1 file changed, 2 insertions(+)

Comments

Suraj Jitindar Singh March 25, 2019, 12:38 a.m. UTC | #1
On Fri, 2019-03-22 at 19:03 +0100, Greg Kurz wrote:
> Signed-off-by: Greg Kurz <groug@kaod.org>

Tested-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>

> ---
>  target/ppc/translate.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/target/ppc/translate.c b/target/ppc/translate.c
> index 98b37cebc2f5..aaafa3a715d8 100644
> --- a/target/ppc/translate.c
> +++ b/target/ppc/translate.c
> @@ -3749,6 +3749,8 @@ static void gen_bcond(DisasContext *ctx, int
> type)
>          TCGv temp = tcg_temp_new();
>          if (unlikely(type == BCOND_CTR)) {
>              gen_inval_exception(ctx, POWERPC_EXCP_INVAL_INVAL);
> +            tcg_temp_free(temp);
> +            tcg_temp_free(target);
>              return;
>          }
>          tcg_gen_subi_tl(cpu_ctr, cpu_ctr, 1);
> 
>
David Gibson March 25, 2019, 1:30 a.m. UTC | #2
On Fri, Mar 22, 2019 at 07:03:40PM +0100, Greg Kurz wrote:
> Signed-off-by: Greg Kurz <groug@kaod.org>

Applied to ppc-for-4.0.

> ---
>  target/ppc/translate.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/target/ppc/translate.c b/target/ppc/translate.c
> index 98b37cebc2f5..aaafa3a715d8 100644
> --- a/target/ppc/translate.c
> +++ b/target/ppc/translate.c
> @@ -3749,6 +3749,8 @@ static void gen_bcond(DisasContext *ctx, int type)
>          TCGv temp = tcg_temp_new();
>          if (unlikely(type == BCOND_CTR)) {
>              gen_inval_exception(ctx, POWERPC_EXCP_INVAL_INVAL);
> +            tcg_temp_free(temp);
> +            tcg_temp_free(target);
>              return;
>          }
>          tcg_gen_subi_tl(cpu_ctr, cpu_ctr, 1);
>
diff mbox series

Patch

diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index 98b37cebc2f5..aaafa3a715d8 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -3749,6 +3749,8 @@  static void gen_bcond(DisasContext *ctx, int type)
         TCGv temp = tcg_temp_new();
         if (unlikely(type == BCOND_CTR)) {
             gen_inval_exception(ctx, POWERPC_EXCP_INVAL_INVAL);
+            tcg_temp_free(temp);
+            tcg_temp_free(target);
             return;
         }
         tcg_gen_subi_tl(cpu_ctr, cpu_ctr, 1);