qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 02/10] target/arm: Add missing TCG temp free in do_2shift_env


From: Richard Henderson
Subject: Re: [PATCH 02/10] target/arm: Add missing TCG temp free in do_2shift_env_64()
Date: Thu, 11 Jun 2020 08:43:21 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0

On 6/11/20 7:45 AM, Peter Maydell wrote:
> In commit 37bfce81b10450071 we accidentally introduced a leak of a TCG
> temporary in do_2shift_env_64(); free it.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> My test setup wasn't looking for temporary-leak warnings (they are
> not as easy to get at as they used to be because they only appear
> if you enable qemu_log tracing for some other purpose). This is the
> only one that snuck through, though.
> ---
>  target/arm/translate-neon.inc.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/target/arm/translate-neon.inc.c b/target/arm/translate-neon.inc.c
> index 7c4888a80c9..f2c241a87e9 100644
> --- a/target/arm/translate-neon.inc.c
> +++ b/target/arm/translate-neon.inc.c
> @@ -1329,6 +1329,7 @@ static bool do_2shift_env_64(DisasContext *s, 
> arg_2reg_shift *a,
>          neon_load_reg64(tmp, a->vm + pass);
>          fn(tmp, cpu_env, tmp, constimm);
>          neon_store_reg64(tmp, a->vd + pass);
> +        tcg_temp_free_i64(tmp);

Huh.  I thought all the a32 stores magically freed their inputs.  I guess
that's just the general-purpose registers.  Anyway,

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~





reply via email to

[Prev in Thread] Current Thread [Next in Thread]