Commit 3e7093d0 authored by Greg KH's avatar Greg KH Committed by Paolo Bonzini
Browse files

KVM: no need to check return value of debugfs_create functions



When calling debugfs functions, there is no need to ever check the
return value.  The function can work or not, but the code logic should
never do something different based on this.

Also, when doing this, change kvm_arch_create_vcpu_debugfs() to return
void instead of an integer, as we should not care at all about if this
function actually does anything or not.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: <x86@kernel.org>
Cc: <kvm@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 741cbbae
Loading
Loading
Loading
Loading
+13 −28
Original line number Diff line number Diff line
@@ -43,37 +43,22 @@ static int vcpu_get_tsc_scaling_frac_bits(void *data, u64 *val)

DEFINE_SIMPLE_ATTRIBUTE(vcpu_tsc_scaling_frac_fops, vcpu_get_tsc_scaling_frac_bits, NULL, "%llu\n");

int kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu)
void kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu)
{
	struct dentry *ret;
	debugfs_create_file("tsc-offset", 0444, vcpu->debugfs_dentry, vcpu,
			    &vcpu_tsc_offset_fops);

	ret = debugfs_create_file("tsc-offset", 0444,
							vcpu->debugfs_dentry,
							vcpu, &vcpu_tsc_offset_fops);
	if (!ret)
		return -ENOMEM;

	if (lapic_in_kernel(vcpu)) {
		ret = debugfs_create_file("lapic_timer_advance_ns", 0444,
								vcpu->debugfs_dentry,
								vcpu, &vcpu_timer_advance_ns_fops);
		if (!ret)
			return -ENOMEM;
	}
	if (lapic_in_kernel(vcpu))
		debugfs_create_file("lapic_timer_advance_ns", 0444,
				    vcpu->debugfs_dentry, vcpu,
				    &vcpu_timer_advance_ns_fops);

	if (kvm_has_tsc_control) {
		ret = debugfs_create_file("tsc-scaling-ratio", 0444,
							vcpu->debugfs_dentry,
							vcpu, &vcpu_tsc_scaling_fops);
		if (!ret)
			return -ENOMEM;
		ret = debugfs_create_file("tsc-scaling-ratio-frac-bits", 0444,
							vcpu->debugfs_dentry,
							vcpu, &vcpu_tsc_scaling_frac_fops);
		if (!ret)
			return -ENOMEM;

		debugfs_create_file("tsc-scaling-ratio", 0444,
				    vcpu->debugfs_dentry, vcpu,
				    &vcpu_tsc_scaling_fops);
		debugfs_create_file("tsc-scaling-ratio-frac-bits", 0444,
				    vcpu->debugfs_dentry, vcpu,
				    &vcpu_tsc_scaling_frac_fops);
	}

	return 0;
}
+1 −1
Original line number Diff line number Diff line
@@ -862,7 +862,7 @@ void kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu);
void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu);

#ifdef __KVM_HAVE_ARCH_VCPU_DEBUGFS
int kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu);
void kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu);
#endif

int kvm_arch_hardware_enable(void);
+5 −16
Original line number Diff line number Diff line
@@ -2615,29 +2615,20 @@ static int create_vcpu_fd(struct kvm_vcpu *vcpu)
	return anon_inode_getfd(name, &kvm_vcpu_fops, vcpu, O_RDWR | O_CLOEXEC);
}

static int kvm_create_vcpu_debugfs(struct kvm_vcpu *vcpu)
static void kvm_create_vcpu_debugfs(struct kvm_vcpu *vcpu)
{
#ifdef __KVM_HAVE_ARCH_VCPU_DEBUGFS
	char dir_name[ITOA_MAX_LEN * 2];
	int ret;

	if (!debugfs_initialized())
		return 0;
		return;

	snprintf(dir_name, sizeof(dir_name), "vcpu%d", vcpu->vcpu_id);
	vcpu->debugfs_dentry = debugfs_create_dir(dir_name,
						  vcpu->kvm->debugfs_dentry);
	if (!vcpu->debugfs_dentry)
		return -ENOMEM;

	ret = kvm_arch_create_vcpu_debugfs(vcpu);
	if (ret < 0) {
		debugfs_remove_recursive(vcpu->debugfs_dentry);
		return ret;
	}
	kvm_arch_create_vcpu_debugfs(vcpu);
#endif

	return 0;
}

/*
@@ -2672,9 +2663,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
	if (r)
		goto vcpu_destroy;

	r = kvm_create_vcpu_debugfs(vcpu);
	if (r)
		goto vcpu_destroy;
	kvm_create_vcpu_debugfs(vcpu);

	mutex_lock(&kvm->lock);
	if (kvm_get_vcpu_by_id(kvm, id)) {