diff options
author | Guo Chao <yan@linux.vnet.ibm.com> | 2012-11-02 18:33:22 +0800 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2012-11-13 22:14:29 -0200 |
commit | 951179ce86f5599e2dfb9de254056e91bd865f15 (patch) | |
tree | 7a1b76ee21eff48b8d759a7c06f54e2444d37fd7 | |
parent | 18595411a7146330ec19adf0b9db8e6736c84a4e (diff) | |
download | op-kernel-dev-951179ce86f5599e2dfb9de254056e91bd865f15.zip op-kernel-dev-951179ce86f5599e2dfb9de254056e91bd865f15.tar.gz |
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>
-rw-r--r-- | arch/x86/kvm/x86.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 40905ce..a25b3df 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -2946,7 +2946,7 @@ static int kvm_vm_ioctl_set_tss_addr(struct kvm *kvm, unsigned long addr) int ret; if (addr > (unsigned int)(-3 * PAGE_SIZE)) - return -1; + return -EINVAL; ret = kvm_x86_ops->set_tss_addr(kvm, addr); return ret; } |