From mboxrd@z Thu Jan 1 00:00:00 1970 From: Muli Ben-Yehuda Subject: [PATCH] check for KVM_GET/SET_REG ioctl failures Date: Tue, 6 Feb 2007 20:46:39 +0200 Message-ID: <20070206184639.GA4292@rhun.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel To: Avi Kivity Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org check for KVM_GET/SET_REGS ioctl failures Signed-off-by: Muli Ben-Yehuda diff -r ee6f88782b5f -r 9a3e101daf18 user/kvmctl.c --- a/user/kvmctl.c Tue Feb 06 10:55:17 2007 +0000 +++ b/user/kvmctl.c Tue Feb 06 17:05:56 2007 +0200 @@ -235,19 +235,23 @@ static int handle_io(kvm_context_t kvm, int delta; struct translation_cache tr; int _in = (run->io.direction == KVM_EXIT_IO_IN); + int r; translation_cache_init(&tr); if (run->io.string || _in) { regs.vcpu = run->vcpu; - ioctl(kvm->fd, KVM_GET_REGS, ®s); + r = ioctl(kvm->fd, KVM_GET_REGS, ®s); + if (r == -1) { + perror("KVM_GET_REGS"); + exit(1); + } } delta = run->io.string_down ? -run->io.size : run->io.size; while (more_io(run, first_time)) { void *value_addr; - int r; if (!run->io.string) { if (_in) @@ -327,13 +331,25 @@ static int handle_io(kvm_context_t kvm, } first_time = 0; if (r) { - ioctl(kvm->fd, KVM_SET_REGS, ®s); - return r; - } - } - - if (run->io.string || _in) - ioctl(kvm->fd, KVM_SET_REGS, ®s); + int savedret = r; + r = ioctl(kvm->fd, KVM_SET_REGS, ®s); + if (r == -1) { + perror("KVM_SET_REGS"); + exit(1); + } + + return savedret; + } + } + + if (run->io.string || _in) { + r = ioctl(kvm->fd, KVM_SET_REGS, ®s); + if (r == -1) { + perror("KVM_SET_REGS"); + exit(1); + } + } + run->emulated = 1; return 0; } ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642