All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, qemu-arm@nongnu.org,
	"Zhao Liu" <zhao1.liu@intel.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Marcelo Tosatti" <mtosatti@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	kvm@vger.kernel.org
Subject: [PULL 18/43] target/i386/sev: Fix missing ERRP_GUARD() for error_prepend()
Date: Sat,  9 Mar 2024 20:21:45 +0100	[thread overview]
Message-ID: <20240309192213.23420-19-philmd@linaro.org> (raw)
In-Reply-To: <20240309192213.23420-1-philmd@linaro.org>

From: Zhao Liu <zhao1.liu@intel.com>

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 the pointer of
error_fatal, the user can't see this additional information, because
exit() happens in error_setg earlier than information is added [1].

The sev_inject_launch_secret() passes @errp to error_prepend(), and as
an APIs defined in target/i386/sev.h, it is necessary to protect its
@errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

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

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240229143914.1977550-17-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 target/i386/sev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/i386/sev.c b/target/i386/sev.c
index 173de91afe..72930ff0dc 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -1044,6 +1044,7 @@ sev_encrypt_flash(uint8_t *ptr, uint64_t len, Error **errp)
 int sev_inject_launch_secret(const char *packet_hdr, const char *secret,
                              uint64_t gpa, Error **errp)
 {
+    ERRP_GUARD();
     struct kvm_sev_launch_secret input;
     g_autofree guchar *data = NULL, *hdr = NULL;
     int error, ret = 1;
-- 
2.41.0


  parent reply	other threads:[~2024-03-09 19:24 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-09 19:21 [PULL 00/43] Misc HW patches for 2024-03-09 Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 01/43] hw/i386: Rename kvmvapic.c -> vapic.c Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 02/43] sysemu/xen: Forbid using Xen headers in user emulation Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 03/43] sysemu/xen-mapcache: Check Xen availability with CONFIG_XEN_IS_POSSIBLE Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 04/43] system/physmem: Do not include 'hw/xen/xen.h' but 'sysemu/xen.h' Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 05/43] hw/pci/msi: Restrict xen_is_pirq_msi() call to Xen Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 06/43] hw/xen: Remove unnecessary xen_hvm_inject_msi() stub Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 07/43] hw/xen: Rename 'ram_memory' global variable as 'xen_memory' Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 08/43] hw/xen: Use target-agnostic qemu_target_page_bits() Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 09/43] hw/xen/xen_pt: Add missing license Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 10/43] hw/xen: Extract 'xen_igd.h' from 'xen_pt.h' Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 11/43] hw/i386/xen: Compile 'xen-hvm.c' with Xen CPPFLAGS Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 12/43] hw/xen/hvm: Inline TARGET_PAGE_ALIGN() macro Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 13/43] hw/xen/hvm: Propagate page_mask to a pair of functions Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 14/43] hw/xen/hvm: Get target page size at runtime Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 15/43] hw/char/xen_console: Fix missing ERRP_GUARD() for error_prepend() Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 16/43] hw/net/xen_nic: " Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 17/43] hw/remote/remote-obj: hw/misc/ivshmem: " Philippe Mathieu-Daudé
2024-03-09 19:21 ` Philippe Mathieu-Daudé [this message]
2024-03-09 19:21 ` [PULL 19/43] hw/i386/pc: Remove pc_compat_1_4..1.7[] left over declarations Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 20/43] hw/i386/pc: Use generated NotifyVmexitOption_str() Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 21/43] hw/i386/pc: Remove 'host_type' argument from pc_init1() Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 22/43] hw/i386/pc: Have pc_init_isa() pass a NULL pci_type argument Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 23/43] hw/intc/apic: fix memory leak Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 24/43] qdev: Add a granule_mode property Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 25/43] hmp: Add option to info qtree to omit details Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 26/43] mac_newworld: change timebase frequency from 100MHz to 25MHz for mac99 machine Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 27/43] hw/intc/grlib_irqmp: abort realize when ncpus value is out of range Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 28/43] docs/interop/firmware.json: Align examples Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 29/43] docs/interop/firmware.json: Fix doc for FirmwareFlashMode Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 30/43] hw/core/machine-smp: Remove deprecated "parameter=0" SMP configurations Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 31/43] hw/core/machine-smp: Deprecate unsupported "parameter=1" " Philippe Mathieu-Daudé
2024-03-09 19:21 ` [PULL 32/43] hw/core/machine-smp: Calculate total CPUs once in machine_parse_smp_config() Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 33/43] tests/unit/test-smp-parse: Drop the unsupported "dies=1" case Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 34/43] tests/unit/test-smp-parse: Use CPU number macros in invalid topology case Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 35/43] tests/unit/test-smp-parse: Bump max_cpus to 4096 Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 36/43] tests/unit/test-smp-parse: Make test cases aware of the book/drawer Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 37/43] tests/unit/test-smp-parse: Test "books" parameter in -smp Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 38/43] tests/unit/test-smp-parse: Test "drawers" " Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 39/43] tests/unit/test-smp-parse: Test "drawers" and "books" combination case Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 40/43] tests/unit/test-smp-parse: Test the full 7-levels topology hierarchy Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 41/43] tests/unit/test-smp-parse: Test smp_props.has_clusters Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 42/43] tests/unit/test-smp-parse: Test "parameter=0" SMP configurations Philippe Mathieu-Daudé
2024-03-09 19:22 ` [PULL 43/43] hw/m68k/mcf5208: add support for reset Philippe Mathieu-Daudé
2024-03-10 14:18 ` [PULL 00/43] Misc HW patches for 2024-03-09 Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240309192213.23420-19-philmd@linaro.org \
    --to=philmd@linaro.org \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=zhao1.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.