> -----Original Message----- > From: Huang, Kai <kai.hu...@intel.com> > Sent: Friday, August 15, 2025 12:41 AM > To: Reshetova, Elena <elena.reshet...@intel.com>; Hansen, Dave > <dave.han...@intel.com> > Cc: sea...@google.com; mi...@kernel.org; Scarlata, Vincent R > <vincent.r.scarl...@intel.com>; x...@kernel.org; jar...@kernel.org; > Annapurve, Vishal <vannapu...@google.com>; linux-kernel@vger.kernel.org; > Mallick, Asit K <asit.k.mall...@intel.com>; Aktas, Erdem > <erdemak...@google.com>; Cai, Chong <cho...@google.com>; Bondarevska, > Nataliia <bond...@google.com>; linux-...@vger.kernel.org; Raynor, Scott > <scott.ray...@intel.com> > Subject: Re: [PATCH v14 5/5] x86/sgx: Enable automatic SVN updates for SGX > enclaves > > On Thu, 2025-08-14 at 09:50 -0700, Dave Hansen wrote: > > On 8/14/25 00:34, Elena Reshetova wrote: > > > +/* Mutex to ensure no concurrent EPC accesses during EUPDATESVN */ > > > +static DEFINE_MUTEX(sgx_svn_lock); > > > + > > > int sgx_inc_usage_count(void) > > > { > > > + int ret; > > > + > > > + guard(mutex)(&sgx_svn_lock); > > > + > > > + if (!sgx_usage_count) { > > > + ret = sgx_update_svn(); > > > + if (ret) > > > + return ret; > > > + } > > > + > > > + sgx_usage_count++; > > > + > > > return 0; > > > } > > > > > > void sgx_dec_usage_count(void) > > > { > > > - return; > > > + sgx_usage_count--; > > > } > > > > How is a plain int-- safe? > > > > Where's the locking? > > Sorry I missed this during review too.
My line of thinking went that we don't actually care or act on decrement (it is not a true ref counter) and therefore, races here are ok. What I forgot is that we loose basic atomicity also with plain int (( I would personally like to go back to atomic (this is what it is exactly for), but I can also just add another mutex here. Preferences? Best Regards, Elena.