[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors |
Date: |
Thu, 26 Feb 2015 13:06:37 -0300 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Thu, Feb 26, 2015 at 08:27:12AM +0900, Peter Maydell wrote:
> On 26 February 2015 at 04:58, Eduardo Habkost <address@hidden> wrote:
> > This was the only caller of cpu_init() that was not checking for NULL
> > yet.
> >
> > Reviewed-by: Paolo Bonzini <address@hidden>
> > Signed-off-by: Eduardo Habkost <address@hidden>
> > ---
> > linux-user/main.c | 9 ++++++++-
> > 1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/linux-user/main.c b/linux-user/main.c
> > index d92702a..111c1ff 100644
> > --- a/linux-user/main.c
> > +++ b/linux-user/main.c
> > @@ -3453,10 +3453,17 @@ CPUArchState *cpu_copy(CPUArchState *env)
> > {
> > CPUState *cpu = ENV_GET_CPU(env);
> > CPUArchState *new_env = cpu_init(cpu_model);
> > - CPUState *new_cpu = ENV_GET_CPU(new_env);
> > + CPUState *new_cpu;
> > CPUBreakpoint *bp;
> > CPUWatchpoint *wp;
> >
> > + if (!new_env) {
> > + fprintf(stderr, "cpu_copy: Failed to create new CPU\n");
> > + exit(1);
> > + }
>
> Rather than bailing out here, it would be better to
> propagate the failure out to the caller, which can
> then fail the fork syscall it's trying to emulate
> by returning a suitable error code to the guest.
Makes sense to me, but I would prefer that to be done by somebody
faimilar with the *-user code as a follow-up. My intention was to simply
fix the bug so that QEMU won't crash.
--
Eduardo
- Re: [Qemu-devel] [PULL 04/11] target-i386: Rename cpu_x86_init() to cpu_x86_init_user(), (continued)
- [Qemu-devel] [PULL 06/11] target-i386: Simplify error handling on cpu_x86_init_user(), Eduardo Habkost, 2015/02/25
- [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Eduardo Habkost, 2015/02/25
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Andreas Färber, 2015/02/25
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Peter Maydell, 2015/02/25
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors,
Eduardo Habkost <=
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Peter Maydell, 2015/02/26
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Eduardo Habkost, 2015/02/26
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Peter Maydell, 2015/02/26
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Eduardo Habkost, 2015/02/26
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Peter Maydell, 2015/02/26
- Re: [Qemu-devel] [PULL 08/11] linux-user: Check for cpu_init() errors, Eduardo Habkost, 2015/02/27
[Qemu-devel] [PULL 07/11] target-i386: Move CPUX86State.cpuid_apic_id to X86CPU.apic_id, Eduardo Habkost, 2015/02/25
[Qemu-devel] [PULL 09/11] target-i386: Set APIC ID using cpu_index on CONFIG_USER, Eduardo Habkost, 2015/02/25
[Qemu-devel] [PULL 10/11] target-i386: Require APIC ID to be explicitly set before CPU realize, Eduardo Habkost, 2015/02/25
[Qemu-devel] [PULL 11/11] target-i386: Move APIC ID compatibility code to pc.c, Eduardo Habkost, 2015/02/25