Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-08 Thread Jarkko Sakkinen
On Wed, Jul 08, 2020 at 07:10:27PM +0300, Jarkko Sakkinen wrote: > On Wed, Jul 08, 2020 at 03:37:08PM +0100, Matthew Wilcox wrote: > > On Wed, Jul 08, 2020 at 05:33:20PM +0300, Jarkko Sakkinen wrote: > > > I get the point but I don't think that your proposal could work given > > > that mprotect-cal

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-08 Thread Jarkko Sakkinen
On Wed, Jul 08, 2020 at 03:37:08PM +0100, Matthew Wilcox wrote: > On Wed, Jul 08, 2020 at 05:33:20PM +0300, Jarkko Sakkinen wrote: > > I get the point but I don't think that your proposal could work given > > that mprotect-callback takes neither 'prev' nor 'newflags' as its > > parameters. The curr

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-08 Thread Matthew Wilcox
On Wed, Jul 08, 2020 at 05:33:20PM +0300, Jarkko Sakkinen wrote: > I get the point but I don't think that your proposal could work given > that mprotect-callback takes neither 'prev' nor 'newflags' as its > parameters. The current callback has no means to call mprotect_fixup() > properly. > > It w

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-08 Thread Jarkko Sakkinen
On Tue, Jul 07, 2020 at 05:10:46AM +0100, Matthew Wilcox wrote: > On Tue, Jul 07, 2020 at 07:01:51AM +0300, Jarkko Sakkinen wrote: > > On Tue, Jul 07, 2020 at 04:24:08AM +0100, Matthew Wilcox wrote: > > > On Mon, Jul 06, 2020 at 08:22:54PM -0700, Sean Christopherson wrote: > > > > On Tue, Jul 07, 2

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-06 Thread Matthew Wilcox
On Tue, Jul 07, 2020 at 07:01:51AM +0300, Jarkko Sakkinen wrote: > On Tue, Jul 07, 2020 at 04:24:08AM +0100, Matthew Wilcox wrote: > > On Mon, Jul 06, 2020 at 08:22:54PM -0700, Sean Christopherson wrote: > > > On Tue, Jul 07, 2020 at 04:14:24AM +0100, Matthew Wilcox wrote: > > > > > + i

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-06 Thread Jarkko Sakkinen
On Tue, Jul 07, 2020 at 04:14:24AM +0100, Matthew Wilcox wrote: > On Tue, Jul 07, 2020 at 06:01:50AM +0300, Jarkko Sakkinen wrote: > > +++ b/mm/mprotect.c > > @@ -603,13 +603,20 @@ static int do_mprotect_pkey(unsigned long start, > > size_t len, > > goto out; > > }

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-06 Thread Jarkko Sakkinen
On Tue, Jul 07, 2020 at 04:24:08AM +0100, Matthew Wilcox wrote: > On Mon, Jul 06, 2020 at 08:22:54PM -0700, Sean Christopherson wrote: > > On Tue, Jul 07, 2020 at 04:14:24AM +0100, Matthew Wilcox wrote: > > > > + if (vma->vm_ops && vma->vm_ops->mprotect) { > > > > +

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-06 Thread Matthew Wilcox
On Mon, Jul 06, 2020 at 08:22:54PM -0700, Sean Christopherson wrote: > On Tue, Jul 07, 2020 at 04:14:24AM +0100, Matthew Wilcox wrote: > > > + if (vma->vm_ops && vma->vm_ops->mprotect) { > > > + error = vma->vm_ops->mprotect(vma, nstart, tmp, prot); > > > + i

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-06 Thread Sean Christopherson
On Tue, Jul 07, 2020 at 04:14:24AM +0100, Matthew Wilcox wrote: > On Tue, Jul 07, 2020 at 06:01:50AM +0300, Jarkko Sakkinen wrote: > > +++ b/mm/mprotect.c > > @@ -603,13 +603,20 @@ static int do_mprotect_pkey(unsigned long start, > > size_t len, > > goto out; > > }

Re: [PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-06 Thread Matthew Wilcox
On Tue, Jul 07, 2020 at 06:01:50AM +0300, Jarkko Sakkinen wrote: > +++ b/mm/mprotect.c > @@ -603,13 +603,20 @@ static int do_mprotect_pkey(unsigned long start, size_t > len, > goto out; > } > > + tmp = vma->vm_end; > + if (tmp > end) >

[PATCH v34 10/24] mm: Add vm_ops->mprotect()

2020-07-06 Thread Jarkko Sakkinen
From: Sean Christopherson Add vm_ops()->mprotect() for additional constraints for a VMA. Intel Software Guard eXtensions (SGX) will use this callback to add two constraints: 1. Verify that the address range does not have holes: each page address must be filled with an enclave page. 2. Verify