From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jike Song Subject: Re: [v2 4/5] vfio: implement APIs to set/put kvm to/from vfio group Date: Mon, 31 Oct 2016 10:12:35 +0800 Message-ID: <5816A893.8090007@intel.com> References: <1477771515-18015-1-git-send-email-jike.song@intel.com> <1477771515-18015-5-git-send-email-jike.song@intel.com> <01dc22a2-b221-a50c-ad25-9f1456e4aa6a@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: alex.williamson@redhat.com, guangrong.xiao@linux.intel.com, kwankhede@nvidia.com, cjia@nvidia.com, kevin.tian@intel.com, kvm@vger.kernel.org To: Paolo Bonzini Return-path: Received: from mga06.intel.com ([134.134.136.31]:4588 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757830AbcJaCP5 (ORCPT ); Sun, 30 Oct 2016 22:15:57 -0400 In-Reply-To: <01dc22a2-b221-a50c-ad25-9f1456e4aa6a@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 10/30/2016 04:52 PM, Paolo Bonzini wrote: > On 29/10/2016 22:05, Jike Song wrote: >> + mutex_lock(&group->udata.lock); >> + >> + if (!group->udata.kvm) >> + goto out; >> + >> + kvm_get_kvm(group->udata.kvm); >> + mutex_unlock(&group->udata.lock); >> + return group->udata.kvm; > > There is still a very small race window, so you need to assign > group->udata.kvm to a local variable inside the mutex, and then return. Ok, will do that, thanks :) -- Thanks, Jike