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 <x...@linux.vnet.ibm.com> > --- > 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