On Fri, Nov 04, 2022, Chao Gao wrote: > On Wed, Nov 02, 2022 at 11:18:29PM +0000, Sean Christopherson wrote: > > > >+ r = kvm_irqfd_init(); > >+ if (r) > >+ goto err_irqfd; > >+ > > r = kvm_async_pf_init(); > > if (r) > >- goto out_free_4; > >+ goto err_async_pf; > > > > kvm_chardev_ops.owner = module; > > > >@@ -5927,6 +5926,9 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align, > > kvm_vfio_ops_exit(); > > err_vfio: > > kvm_async_pf_deinit(); > >+err_async_pf: > >+ kvm_irqfd_exit(); > > >+err_irqfd: > > out_free_4: > > Do you mind removing one of the two labels? Ah, I meant to tack on a patch at the very end to clean up these labels once the dust had settled, e.g. to also resolve the "err" vs. "out" mess I created (on purpose, because trying to describe the "out" path was frustrating and generated too much churn).