qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH semi-urgent v2] linux-user: Fix exit syscall wit


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH semi-urgent v2] linux-user: Fix exit syscall with QOM CPU
Date: Sun, 15 Apr 2012 18:35:54 +0000

On Sun, Apr 15, 2012 at 16:51, Andreas Färber <address@hidden> wrote:
> For QOM'ified CPUs we cannot g_free() CPUArchState, we must
> object_delete() the object it is embedded into.
>
> Fixes LP#982321 (invalid free() while executing pacman with qemu-arm).
>
> Reported-by: Serge Schneider <address@hidden>
> Reported-by: Russell Keith Davis <address@hidden>
> Signed-off-by: Andreas Färber <address@hidden>
> Reviewed-by: Peter Maydell <address@hidden>
> Tested-by: Serge Schneider <address@hidden>
> Tested-by: Russell Keith Davis <address@hidden>
> ---
>  Blue, can you please apply this fix before more targets get converted and
>  run into regressions? Thanks! (ppc PULL coming up)

Thanks, applied.

>
>  linux-user/syscall.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 8a92162..7128618 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -5045,7 +5045,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
> arg1,
>                         NULL, NULL, 0);
>           }
>           thread_env = NULL;
> +#ifdef ENV_GET_CPU
> +          object_delete(OBJECT(ENV_GET_CPU(cpu_env)));
> +#else
>           g_free(cpu_env);
> +#endif
>           g_free(ts);
>           pthread_exit(NULL);
>       }
> --
> 1.7.7
>



reply via email to

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