qemu-e2k/hw/core
Zhao Liu bfd65b4ba5 hw/core/loader-fit: Fix missing ERRP_GUARD() for error_prepend()
As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

In hw/core/loader-fit.c, there are 2 functions passing @errp to
error_prepend() without ERRP_GUARD():
 - fit_load_kernel()
 - fit_load_fdt()

Their @errp parameters are both the pointers of the local @err virable
in load_fit().

Though they don't cause the issue like [1] said, to follow the
requirement of @errp, add missing ERRP_GUARD() at their beginning.

[1]: Issue description in the commit message of commit ae7c80a7bd
     ("error: New macro ERRP_GUARD()").

Cc: Paul Burton <paulburton@kernel.org>
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-ID: <20240311033822.3142585-15-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2024-03-11 22:10:18 +01:00
..
bus.c hw/core: Remove transitional infrastructure from BusClass 2024-02-02 13:51:57 +00:00
clock-vmstate.c hw/core: Constify VMState 2023-12-29 11:17:30 +11:00
clock.c misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
cpu-common.c plugins: create CPUPluginState and migrate plugin_mask 2024-02-28 09:11:42 +00:00
cpu-sysemu.c memory: follow Error API guidelines 2023-10-19 23:13:27 +02:00
fw-path-provider.c
generic-loader.c hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
gpio.c hw/qdev: Rename qdev_connect_gpio_out*() 'input_pin' parameter 2021-12-31 13:21:36 +01:00
guest-loader.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
guest-loader.h hw/core: implement a guest-loader to support static hypervisor guests 2021-03-10 15:34:11 +00:00
hotplug-stubs.c hw/core: Restrict hotplug to system emulation 2021-11-01 19:44:11 +01:00
hotplug.c
irq.c hw/irq: Declare QOM macros using OBJECT_DECLARE_SIMPLE_TYPE() 2023-02-27 13:27:05 +00:00
Kconfig hw/core: Only build guest-loader if libfdt is available 2021-03-17 07:17:46 +00:00
loader-fit.c hw/core/loader-fit: Fix missing ERRP_GUARD() for error_prepend() 2024-03-11 22:10:18 +01:00
loader.c accel/tcg: Move perf and debuginfo support to tcg/ 2024-01-29 21:04:10 +10:00
machine-hmp-cmds.c qapi: Add query-memory-devices support to hv-balloon 2023-11-06 14:08:10 +01:00
machine-qmp-cmds.c hw/core: Move machine-qmp-cmds.c into the target independent source set 2023-05-16 09:14:18 +02:00
machine-smp.c hw/core/machine-smp: Calculate total CPUs once in machine_parse_smp_config() 2024-03-09 19:17:01 +01:00
machine.c hw/core/machine: Use qemu_register_resettable for sysbus reset 2024-02-27 13:01:42 +00:00
meson.build hw/core: Add ResetContainer which holds objects implementing Resettable 2024-02-27 13:01:42 +00:00
nmi.c hw/core: Improve error message when machine doesn't provide NMIs 2023-02-23 14:10:17 +01:00
null-machine.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
numa.c numa: Check for qemu_strtosz_MiB error 2023-06-02 12:29:27 -05:00
or-irq.c hw/core: Constify VMState 2023-12-29 11:17:30 +11:00
platform-bus.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
ptimer.c hw/core: Constify VMState 2023-12-29 11:17:30 +11:00
qdev-clock.c Drop more useless casts from void * to pointer 2022-12-14 16:19:35 +01:00
qdev-fw.c
qdev-hotplug.c hw/core: Extract hotplug-related functions to qdev-hotplug.c 2021-11-01 19:44:11 +01:00
qdev-prop-internal.h qdev: Make qdev_propinfo_get_uint16() static 2020-12-15 10:02:07 -05:00
qdev-properties-system.c qdev: Add a granule_mode property 2024-03-09 19:17:01 +01:00
qdev-properties.c qdev-properties: alias all object class properties 2023-12-21 22:49:28 +01:00
qdev.c hw/core/qdev.c: add qdev_get_human_name() 2024-01-30 16:19:00 -05:00
register.c hw/core/register: Add more 64-bit utilities 2021-09-01 11:59:12 +10:00
reset.c hw/core/reset: Implement qemu_register_reset via qemu_register_resettable 2024-02-27 13:01:42 +00:00
resetcontainer.c hw/core: Add ResetContainer which holds objects implementing Resettable 2024-02-27 13:01:42 +00:00
resettable.c hw/core/resettable: fix reset level counting 2022-10-27 10:27:23 +01:00
split-irq.c
stream.c hw/core/stream: Rename StreamSlave as StreamSink 2020-12-10 12:15:04 -05:00
sysbus-fdt.c hw/core: Tidy up unnecessary casting away of const 2022-10-22 22:50:27 +02:00
sysbus.c hw/sysbus: Remove now unused sysbus_address_space() 2024-02-26 18:40:21 +01:00
trace-events trace-events: remove the remaining vcpu trace events 2023-06-01 11:05:05 -04:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uboot_image.h hw/core: Sync uboot_image.h from U-Boot v2022.01 2022-05-24 10:38:50 +10:00
vm-change-state-handler.c qdev: Add qdev_add_vm_change_state_handler_full() 2023-09-11 08:34:05 +02:00
vmstate-if.c