From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:32941) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RJ1H1-0004pR-Af for qemu-devel@nongnu.org; Wed, 26 Oct 2011 07:03:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RJ1H0-0007jn-7m for qemu-devel@nongnu.org; Wed, 26 Oct 2011 07:03:55 -0400 Received: from goliath.siemens.de ([192.35.17.28]:32817) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RJ1Gz-0007jF-Ur for qemu-devel@nongnu.org; Wed, 26 Oct 2011 07:03:54 -0400 Message-ID: <4EA7E913.90100@siemens.com> Date: Wed, 26 Oct 2011 13:03:47 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <1319624387-15707-1-git-send-email-xuhj@linux.vnet.ibm.com> In-Reply-To: <1319624387-15707-1-git-send-email-xuhj@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] kvm_init didn't set return value after create vm failed List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Xu He Jie Cc: qemu-devel@nongnu.org On 2011-10-26 12:19, Xu He Jie wrote: > kvm_init didn't set return value after create vm failed. > > And kvm_ioctl(s, KVM_CREATE_VM, 0)'s return value can be < -1, > so change the check of vmfd at label 'err'. > > Signed-off-by: Xu He Jie > --- > kvm-all.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/kvm-all.c b/kvm-all.c > index e7faf5c..70edb39 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -739,6 +739,7 @@ int kvm_init(void) > fprintf(stderr, "Please add the 'switch_amode' kernel parameter to " > "your host kernel command line\n"); > #endif > + ret = -errno; kvm_ioctl returns -errno while that fprintf may overwrite it. Just set ret to s->vmfd. > goto err; > } > > @@ -797,7 +798,7 @@ int kvm_init(void) > > err: > if (s) { > - if (s->vmfd != -1) { > + if (s->vmfd >= 0) { > close(s->vmfd); > } > if (s->fd != -1) { That looks correct. The patch will probably flow via uq/master, so you should address Avi and Marcelo with v2. Thanks, Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux