Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 395c6b0a authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Disable interrupts around get_kernel_ns()



get_kernel_ns() wants preemption disabled.  It doesn't make a lot of sense
during the get/set ioctls (no way to make them non-racy) but the callee wants
it.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent 7ebaf15e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3469,8 +3469,10 @@ long kvm_arch_vm_ioctl(struct file *filp,
			goto out;

		r = 0;
		local_irq_disable();
		now_ns = get_kernel_ns();
		delta = user_ns.clock - now_ns;
		local_irq_enable();
		kvm->arch.kvmclock_offset = delta;
		break;
	}
@@ -3478,8 +3480,10 @@ long kvm_arch_vm_ioctl(struct file *filp,
		struct kvm_clock_data user_ns;
		u64 now_ns;

		local_irq_disable();
		now_ns = get_kernel_ns();
		user_ns.clock = kvm->arch.kvmclock_offset + now_ns;
		local_irq_enable();
		user_ns.flags = 0;

		r = -EFAULT;