On Mon, Dec 17, 2018 at 10:07:08AM -0800, Dave Hansen wrote: > On 12/17/18 10:01 AM, Jarkko Sakkinen wrote: > >>> + encl->mm = current->mm; <---------------------------------> + encl->base = secs->base; > >>> + encl->size = secs->size; > >>> + encl->ssaframesize = secs->ssa_frame_size; > >>> + encl->backing = backing; > >>> + > >>> + return encl; > >>> +} > >> How is this OK without taking a reference on the mm? > >> > >> I have a feeling a bunch of your bugs with the mmu notifiers and so > >> forth are because the refcounting is wrong here. > >> > >> Sean's SGX_ENCL_MM_RELEASED would, I think be unnecessary if you just > >> take a refcount here and release it when the enclave is destroyed. > > Right, atomic_inc(encl->mm->count) here and once when releasing. > > > > The we would not even need the whole mmu notifier in the first place. > > Please use mmget()/mmput(). There's now a patch to test on top of the master. /Jarkko