Re: [PATCH] KVM: s390: Cleanup kvm_arch_init error path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02.10.19 09:56, Janosch Frank wrote:
> Both kvm_s390_gib_destroy and debug_unregister test if the needed
> pointers are not NULL and hence can be called unconditionally.
> 
> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
> ---
>  arch/s390/kvm/kvm-s390.c | 18 +++++++-----------
>  1 file changed, 7 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index 895fb2006c0d..66720d69cd24 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -458,16 +458,14 @@ static void kvm_s390_cpu_feat_init(void)
>  
>  int kvm_arch_init(void *opaque)
>  {
> -	int rc;
> +	int rc = -ENOMEM;
>  
>  	kvm_s390_dbf = debug_register("kvm-trace", 32, 1, 7 * sizeof(long));
>  	if (!kvm_s390_dbf)
>  		return -ENOMEM;
>  
> -	if (debug_register_view(kvm_s390_dbf, &debug_sprintf_view)) {
> -		rc = -ENOMEM;
> -		goto out_debug_unreg;
> -	}
> +	if (debug_register_view(kvm_s390_dbf, &debug_sprintf_view))
> +		goto out;
>  
>  	kvm_s390_cpu_feat_init();
>  
> @@ -475,19 +473,17 @@ int kvm_arch_init(void *opaque)
>  	rc = kvm_register_device_ops(&kvm_flic_ops, KVM_DEV_TYPE_FLIC);
>  	if (rc) {
>  		pr_err("A FLIC registration call failed with rc=%d\n", rc);
> -		goto out_debug_unreg;
> +		goto out;
>  	}
>  
>  	rc = kvm_s390_gib_init(GAL_ISC);
>  	if (rc)
> -		goto out_gib_destroy;
> +		goto out;
>  
>  	return 0;
>  
> -out_gib_destroy:
> -	kvm_s390_gib_destroy();
> -out_debug_unreg:
> -	debug_unregister(kvm_s390_dbf);
> +out:
> +	kvm_arch_exit();
>  	return rc;
>  }

Wonder why "debug_info_t *kvm_s390_dbf" is not declared as static.

Instead of the two manual calls we could also call kvm_arch_exit().

Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

-- 

Thanks,

David / dhildenb



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux