diff mbox series

KVM: x86: move kvm_create_vcpu_debugfs after last failure point

Message ID 20200331224222.393439-1-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show
Series KVM: x86: move kvm_create_vcpu_debugfs after last failure point | expand

Commit Message

Paolo Bonzini March 31, 2020, 10:42 p.m. UTC
The placement of kvm_create_vcpu_debugfs is more or less irrelevant, since
it cannot fail and userspace should not care about the debugfs entries until
it knows the vcpu has been created.  Moving it after the last failure
point removes the need to remove the directory when unwinding the creation.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 virt/kvm/kvm_main.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Emanuele Giuseppe Esposito April 13, 2020, 9:13 a.m. UTC | #1
On 01/04/2020 00:42, Paolo Bonzini wrote:
> The placement of kvm_create_vcpu_debugfs is more or less irrelevant, since
> it cannot fail and userspace should not care about the debugfs entries until
> it knows the vcpu has been created.  Moving it after the last failure
> point removes the need to remove the directory when unwinding the creation.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>

> ---
>   virt/kvm/kvm_main.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 027259af883e..0a78e1d874ed 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -2823,8 +2823,6 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
>   	if (r)
>   		goto vcpu_free_run_page;
>   
> -	kvm_create_vcpu_debugfs(vcpu);
> -
>   	mutex_lock(&kvm->lock);
>   	if (kvm_get_vcpu_by_id(kvm, id)) {
>   		r = -EEXIST;
> @@ -2853,11 +2851,11 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
>   
>   	mutex_unlock(&kvm->lock);
>   	kvm_arch_vcpu_postcreate(vcpu);
> +	kvm_create_vcpu_debugfs(vcpu);
>   	return r;
>   
>   unlock_vcpu_destroy:
>   	mutex_unlock(&kvm->lock);
> -	debugfs_remove_recursive(vcpu->debugfs_dentry);
>   	kvm_arch_vcpu_destroy(vcpu);
>   vcpu_free_run_page:
>   	free_page((unsigned long)vcpu->run);
>
diff mbox series

Patch

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 027259af883e..0a78e1d874ed 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2823,8 +2823,6 @@  static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
 	if (r)
 		goto vcpu_free_run_page;
 
-	kvm_create_vcpu_debugfs(vcpu);
-
 	mutex_lock(&kvm->lock);
 	if (kvm_get_vcpu_by_id(kvm, id)) {
 		r = -EEXIST;
@@ -2853,11 +2851,11 @@  static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
 
 	mutex_unlock(&kvm->lock);
 	kvm_arch_vcpu_postcreate(vcpu);
+	kvm_create_vcpu_debugfs(vcpu);
 	return r;
 
 unlock_vcpu_destroy:
 	mutex_unlock(&kvm->lock);
-	debugfs_remove_recursive(vcpu->debugfs_dentry);
 	kvm_arch_vcpu_destroy(vcpu);
 vcpu_free_run_page:
 	free_page((unsigned long)vcpu->run);