[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201027015222.GC20485@linux.intel.com>
Date: Tue, 27 Oct 2020 03:52:22 +0200
From: Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>
To: Dave Hansen <dave.hansen@...el.com>
Cc: Borislav Petkov <bp@...en8.de>, x86@...nel.org,
linux-sgx@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-security-module@...r.kernel.org,
Jethro Beekman <jethro@...tanix.com>,
Haitao Huang <haitao.huang@...ux.intel.com>,
Chunyang Hui <sanqian.hcy@...fin.com>,
Jordan Hand <jorhand@...ux.microsoft.com>,
Nathaniel McCallum <npmccallum@...hat.com>,
Seth Moore <sethmo@...gle.com>,
Sean Christopherson <sean.j.christopherson@...el.com>,
Suresh Siddha <suresh.b.siddha@...el.com>,
akpm@...ux-foundation.org, andriy.shevchenko@...ux.intel.com,
asapek@...gle.com, cedric.xing@...el.com, chenalexchen@...gle.com,
conradparker@...gle.com, cyhanish@...gle.com,
haitao.huang@...el.com, josh@...htriplett.org, kai.huang@...el.com,
kai.svahn@...el.com, kmoy@...gle.com, ludloff@...gle.com,
luto@...nel.org, nhorman@...hat.com, puiterwijk@...hat.com,
rientjes@...gle.com, tglx@...utronix.de, yaozhangx@...gle.com
Subject: Re: [PATCH v33 11/21] x86/sgx: Linux Enclave Driver
On Mon, Oct 26, 2020 at 02:26:13PM -0700, Dave Hansen wrote:
> On 6/26/20 8:34 AM, Borislav Petkov wrote:
> >> + if (!(atomic_read(&encl->flags) & SGX_ENCL_CREATED))
> >> + return -EINVAL;
> >> +
> >> + if (copy_from_user(&addp, arg, sizeof(addp)))
> >> + return -EFAULT;
> >> +
> >> + if (!IS_ALIGNED(addp.offset, PAGE_SIZE) ||
> >> + !IS_ALIGNED(addp.src, PAGE_SIZE))
> >> + return -EINVAL;
> >> +
> >> + if (!(access_ok(addp.src, PAGE_SIZE)))
> >> + return -EFAULT;
> >> +
> >> + if (addp.length & (PAGE_SIZE - 1))
> >> + return -EINVAL;
> > How many pages are allowed? Unlimited? I'm hoping some limits are
> > checked somewhere...
>
> What were you concerned about here? Was it how long the syscall could
> take, or that one user could exhaust all the enclave memory in one call?
>
> Some later versions of this patch have a 1MB limit per to reduce how
> long each SGX_IOC_ENCLAVE_ADD_PAGES call spends in the kernel. But, I'm
> not _sure_ that's what you were intending.
The loop does check for pending signals, i.e. it is possible to
interrupt it.
/Jarkko
Powered by blists - more mailing lists