mbox series

[00/17,Part,2] Cleanup up to fix missing ERRP_GUARD() for error_prepend()

Message ID 20240229143914.1977550-1-zhao1.liu@linux.intel.com (mailing list archive)
Headers show
Series Cleanup up to fix missing ERRP_GUARD() for error_prepend() | expand

Message

Zhao Liu Feb. 29, 2024, 2:38 p.m. UTC
From: Zhao Liu <zhao1.liu@intel.com>

Hi list,

This series is the second part to add missing ERRP_GUARD() for
error_prepend(), which is based on my first part:
<20240228163723.1775791-1-zhao1.liu@linux.intel.com> [1]

The @errp's second restriction (in qapi/error) said:

* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.

With this series and the part 1 [1], all error_prepend() will follow the
above usage rules.

I think it's particularly noteworthy that two cases of error_prepend()
with &error_fatal are recognized in this series (patch 14 & patch 15). 

In fact, error_append_hint() also need ERRP_GUARD(), but very
unfortunately, I realized that in most usage scenarios in QEMU, it
doesn't work with ERRP_GUARD() ;-( ... Maybe need to clean it up in the
future and add ERRP_GUARD() to error_append_hint() as well.

The cleanup looks very trivial and welcome your feedback!

[1]: https://lore.kernel.org/qemu-devel/20240228163723.1775791-1-zhao1.liu@linux.intel.com/

Thanks and Best Regards,
Zhao
---
Zhao Liu (17):
  hw/misc/ivshmem: Fix missing ERRP_GUARD() for error_prepend()
  hw/net/xen_nic: Fix missing ERRP_GUARD() for error_prepend()
  hw/remote/remote-obj: hw/misc/ivshmem: Fix missing ERRP_GUARD() for
    error_prepend()
  hw/scsi/vhost-scsi: Fix missing ERRP_GUARD() for error_prepend()
  hw/vfio/ap: Fix missing ERRP_GUARD() for error_prepend()
  hw/vfio/container: Fix missing ERRP_GUARD() for error_prepend()
  hw/vfio/helpers: Fix missing ERRP_GUARD() for error_prepend()
  hw/vfio/iommufd: Fix missing ERRP_GUARD() for error_prepend()
  hw/vfio/pci-quirks: Fix missing ERRP_GUARD() for error_prepend()
  hw/vfio/pci: Fix missing ERRP_GUARD() for error_prepend()
  hw/vfio/platform: Fix missing ERRP_GUARD() for error_prepend()
  hw/virtio/vhost-vsock: Fix missing ERRP_GUARD() for error_prepend()
  hw/virtio/vhost: Fix missing ERRP_GUARD() for error_prepend()
  migration/option: Fix missing ERRP_GUARD() for error_prepend()
  net/vhost-vdpa: Fix missing ERRP_GUARD() for error_prepend()
  target/i386/sev: Fix missing ERRP_GUARD() for error_prepend()
  target/s390x/cpu_models: Fix missing ERRP_GUARD() for error_prepend()

 hw/misc/ivshmem.c         | 1 +
 hw/net/xen_nic.c          | 1 +
 hw/remote/remote-obj.c    | 1 +
 hw/scsi/vhost-scsi.c      | 1 +
 hw/vfio/ap.c              | 1 +
 hw/vfio/container.c       | 1 +
 hw/vfio/helpers.c         | 3 +++
 hw/vfio/iommufd.c         | 1 +
 hw/vfio/pci-quirks.c      | 2 ++
 hw/vfio/pci.c             | 2 ++
 hw/vfio/platform.c        | 1 +
 hw/virtio/vhost-vsock.c   | 1 +
 hw/virtio/vhost.c         | 2 ++
 migration/options.c       | 2 ++
 net/vhost-vdpa.c          | 1 +
 target/i386/sev.c         | 1 +
 target/s390x/cpu_models.c | 2 ++
 17 files changed, 24 insertions(+)