[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-next 41/74] target-lm32: Let cpu_lm32_init()
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH for-next 41/74] target-lm32: Let cpu_lm32_init() return LM32CPU |
Date: |
Wed, 9 May 2012 21:21:22 +0100 |
On 9 May 2012 19:36, Andreas Färber <address@hidden> wrote:
> Thanks. Needs a respin though: Peter has noticed that cpu_init() does a
> NULL pointer deference when cpu_xxx_init() returns NULL. I'm rewriting
> as static inline function.
Well, strictly cpu_init() doesn't dereference NULL, because of
the address-of operator: instead it just effectively returns
offsetof(LM32CPU, env). This (being non-zero) doesn't trigger
the caller's "did that fail?" check, and we get a segfault
when the caller later tries to use it as a real pointer.
-- PMM
- [Qemu-devel] [PATCH for-next 33/74] pxa2xx: Use cpu_arm_init() and store ARMCPU, (continued)
- [Qemu-devel] [PATCH for-next 33/74] pxa2xx: Use cpu_arm_init() and store ARMCPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 44/74] milkymist: Use cpu_lm32_init() to obtain LM32CPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 39/74] r2d: Use cpu_sh4_init() to obtain SuperHCPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 37/74] arm_boot: Pass ARMCPU to do_cpu_reset(), Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 36/74] armv7m: Pass ARMCPU to armv7m_reset(), Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 35/74] armv7m: Use cpu_arm_init() to obtain ARMCPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 41/74] target-lm32: Let cpu_lm32_init() return LM32CPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 40/74] r2d: Store SuperHCPU in ResetData, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 38/74] target-sh4: Let cpu_sh4_init() return SuperHCPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 45/74] milkymist: Store LM32 in ResetInfo, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 53/74] axis_dev88: Use cpu_cris_init() to obtain CRISCPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 50/74] xtensa_lx60: Pass XtensaCPU to lx60_reset(), Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 42/74] lm32_boards: Use cpu_lm32_init() to obtain LM32CPU, Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 48/74] xtensa_sim: Pass XtensaCPU to sim_reset(), Andreas Färber, 2012/05/06
- [Qemu-devel] [PATCH for-next 46/74] target-xtensa: Let cpu_xtensa_init() return XtensaCPU, Andreas Färber, 2012/05/06