Message ID | 20240223085653.1255438-1-zhao1.liu@linux.intel.com |
---|---|
Headers | show |
Series | Cleanup and fix @errp dereference | expand |
Hi Michael & Philippe, Could this series catch the last train of next releases? ;-) Thanks, Zhao On Fri, Feb 23, 2024 at 04:56:46PM +0800, Zhao Liu wrote: > Date: Fri, 23 Feb 2024 16:56:46 +0800 > From: Zhao Liu <zhao1.liu@linux.intel.com> > Subject: [PATCH v2 0/7] Cleanup and fix @errp dereference > X-Mailer: git-send-email 2.34.1 > > From: Zhao Liu <zhao1.liu@intel.com> > > Hi all, > > This is my v2 series to clean and fix @errp dereference. > > Introduction > ============ > > The patches 1-6 fix the cases that deference @errp without > ERRP_GUARD(), and they are based on my previsous v1 [1]. > > The patch 7 is merged in this series from another single patch [2]. > > Based on v1, v2 mainly add more description about problematic codes to > make review easier (with Markus' suggestion) and avoid dereferencing > @errp in patch 3's special case. > > > Future Work > =========== > > Additionally, I realized that my journey to fix @errp with ERRP_GUARD() > is still not over, because @errp's second restriction 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 restrication, there're still many places need to add missing > ERRP_GUARD(). > > [1]: https://lore.kernel.org/qemu-devel/20240221094317.994454-1-zhao1.liu@linux.intel.com/ > [2]: https://lore.kernel.org/qemu-devel/20240221073948.768828-1-zhao1.liu@linux.intel.com/ > > Thanks and Best Regards, > Zhao > > --- > Zhao Liu (7): > hw/cxl/cxl-host: Fix missing ERRP_GUARD() in > cxl_fixed_memory_window_config() > hw/display/macfb: Fix missing ERRP_GUARD() in macfb_nubus_realize() > hw/mem/cxl_type3: Fix missing ERRP_GUARD() in ct3_realize() > hw/misc/xlnx-versal-trng: Check returned bool in > trng_prop_fault_event_set() > hw/pci-bridge/cxl_upstream: Fix missing ERRP_GUARD() in > cxl_usp_realize() > hw/vfio/iommufd: Fix missing ERRP_GUARD() in iommufd_cdev_getfd() > hw/intc: Check @errp to handle the error of > IOAPICCommonClass.realize() > > hw/cxl/cxl-host.c | 1 + > hw/display/macfb.c | 1 + > hw/intc/ioapic_common.c | 4 ++++ > hw/mem/cxl_type3.c | 1 + > hw/misc/xlnx-versal-trng.c | 3 +-- > hw/pci-bridge/cxl_upstream.c | 1 + > hw/vfio/iommufd.c | 1 + > 7 files changed, 10 insertions(+), 2 deletions(-) > > -- > 2.34.1 > >
On Mon, Mar 11, 2024 at 11:51:11AM +0800, Zhao Liu wrote: > Hi Michael & Philippe, > > Could this series catch the last train of next releases? ;-) > > Thanks, > Zhao yes it will be in subject to last minute testing.
From: Zhao Liu <zhao1.liu@intel.com> Hi all, This is my v2 series to clean and fix @errp dereference. Introduction ============ The patches 1-6 fix the cases that deference @errp without ERRP_GUARD(), and they are based on my previsous v1 [1]. The patch 7 is merged in this series from another single patch [2]. Based on v1, v2 mainly add more description about problematic codes to make review easier (with Markus' suggestion) and avoid dereferencing @errp in patch 3's special case. Future Work =========== Additionally, I realized that my journey to fix @errp with ERRP_GUARD() is still not over, because @errp's second restriction 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 restrication, there're still many places need to add missing ERRP_GUARD(). [1]: https://lore.kernel.org/qemu-devel/20240221094317.994454-1-zhao1.liu@linux.intel.com/ [2]: https://lore.kernel.org/qemu-devel/20240221073948.768828-1-zhao1.liu@linux.intel.com/ Thanks and Best Regards, Zhao --- Zhao Liu (7): hw/cxl/cxl-host: Fix missing ERRP_GUARD() in cxl_fixed_memory_window_config() hw/display/macfb: Fix missing ERRP_GUARD() in macfb_nubus_realize() hw/mem/cxl_type3: Fix missing ERRP_GUARD() in ct3_realize() hw/misc/xlnx-versal-trng: Check returned bool in trng_prop_fault_event_set() hw/pci-bridge/cxl_upstream: Fix missing ERRP_GUARD() in cxl_usp_realize() hw/vfio/iommufd: Fix missing ERRP_GUARD() in iommufd_cdev_getfd() hw/intc: Check @errp to handle the error of IOAPICCommonClass.realize() hw/cxl/cxl-host.c | 1 + hw/display/macfb.c | 1 + hw/intc/ioapic_common.c | 4 ++++ hw/mem/cxl_type3.c | 1 + hw/misc/xlnx-versal-trng.c | 3 +-- hw/pci-bridge/cxl_upstream.c | 1 + hw/vfio/iommufd.c | 1 + 7 files changed, 10 insertions(+), 2 deletions(-)