Re: [PATCH v17 18/23] platform/x86: Intel SGX driver

From: Dave Hansen
Date: Mon Dec 17 2018 - 13:07:13 EST


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().