On Wed, Jun 13, 2018 at 05:45:24PM +0000, Dave Hansen wrote: > On 06/12/2018 07:38 AM, Kirill A. Shutemov wrote: > > VMAs with different KeyID do not mix together. Only VMAs with the same > > KeyID are compatible. > > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > > --- > > include/linux/mm.h | 7 +++++++ > > mm/mmap.c | 3 ++- > > 2 files changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h > > index 02a616e2f17d..1c3c15f37ed6 100644 > > --- a/include/linux/mm.h > > +++ b/include/linux/mm.h > > @@ -1492,6 +1492,13 @@ static inline bool vma_is_anonymous(struct vm_area_struct *vma) > > return !vma->vm_ops; > > } > > > > +#ifndef vma_keyid > > +static inline int vma_keyid(struct vm_area_struct *vma) > > +{ > > + return 0; > > +} > > +#endif > > I'm generally not a fan of this #ifdef'ing method. It makes it hard to > figure out who is supposed to define it, and it's also substantially > more fragile in the face of #include ordering. > > I'd much rather see some Kconfig involvement, like > CONFIG_ARCH_HAS_MEM_ENCRYPTION or something. Well, it's matter of taste, I guess. I do prefer per-function #ifdef'ing. It seems more flexible to me. I can rework it if maintainers prefer to see config option instead. -- Kirill A. Shutemov