mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-23 07:58:36 -07:00
The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. sifive_u_soc_realize() is wrong that way: it passes &err to sysbus_realize() four times before checking it. Harmless, because the first three can't actually fail (I think). Fix by checking for failure right away. Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Alistair Francis <Alistair.Francis@wdc.com> Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: qemu-riscv@nongnu.org Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20200630090351.1247703-18-armbru@redhat.com> |
||
|---|---|---|
| .. | ||
| boot.c | ||
| Kconfig | ||
| Makefile.objs | ||
| opentitan.c | ||
| riscv_hart.c | ||
| riscv_htif.c | ||
| sifive_clint.c | ||
| sifive_e.c | ||
| sifive_e_prci.c | ||
| sifive_gpio.c | ||
| sifive_plic.c | ||
| sifive_test.c | ||
| sifive_u.c | ||
| sifive_u_otp.c | ||
| sifive_u_prci.c | ||
| sifive_uart.c | ||
| spike.c | ||
| trace-events | ||
| virt.c | ||