KVM: x86: fix return value of kvm_vm_ioctl_set_tss_addr()

Return value of this function will be that of ioctl().

#include <stdio.h>
#include <linux/kvm.h>

int main () {
	int fd;
	fd = open ("/dev/kvm", 0);
	fd = ioctl (fd, KVM_CREATE_VM, 0);
	ioctl (fd, KVM_SET_TSS_ADDR, 0xfffff000);
	perror ("");
	return 0;
}

Output is "Operation not permitted". That's not what
we want.

Return -EINVAL in this case.

Signed-off-by: Guo Chao <yan@linux.vnet.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
Guo Chao 2012-11-02 18:33:22 +08:00 committed by Marcelo Tosatti
parent 18595411a7
commit 951179ce86
1 changed files with 1 additions and 1 deletions

View File

@ -2946,7 +2946,7 @@ static int kvm_vm_ioctl_set_tss_addr(struct kvm *kvm, unsigned long addr)
int ret; int ret;
if (addr > (unsigned int)(-3 * PAGE_SIZE)) if (addr > (unsigned int)(-3 * PAGE_SIZE))
return -1; return -EINVAL;
ret = kvm_x86_ops->set_tss_addr(kvm, addr); ret = kvm_x86_ops->set_tss_addr(kvm, addr);
return ret; return ret;
} }