From patchwork Tue Jun 26 14:22:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "kirill.shutemov@linux.intel.com" X-Patchwork-Id: 10489147 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4F78C6031B for ; Tue, 26 Jun 2018 14:22:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 403C528A58 for ; Tue, 26 Jun 2018 14:22:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3473928A68; Tue, 26 Jun 2018 14:22:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AA2BF28A58 for ; Tue, 26 Jun 2018 14:22:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68A8A6B0005; Tue, 26 Jun 2018 10:22:54 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 632106B0006; Tue, 26 Jun 2018 10:22:54 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D8B26B026C; Tue, 26 Jun 2018 10:22:54 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf0-f198.google.com (mail-pf0-f198.google.com [209.85.192.198]) by kanga.kvack.org (Postfix) with ESMTP id E7F756B0005 for ; Tue, 26 Jun 2018 10:22:53 -0400 (EDT) Received: by mail-pf0-f198.google.com with SMTP id x17-v6so8772320pfm.18 for ; Tue, 26 Jun 2018 07:22:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=BWRMn4J+Qw9oPn5/Twik/CnHmHrK3/cY3GKQicbncKM=; b=Ies0Z4DFpPOxjICpuSfrT0Xf0hwaOuKb1e063gL5zR8PmqwXAN7J0s2TL/hqRqEe/5 hDX4V7HTEgyHNDQYkc1r9z2yawKApa+OtW6NiKXzS79YqYExfRjQBOoaRmWTof/D+uOB Rm6k4Vzh1hx/WBBBc4fW9RCQkutyy5Y1AxbbJVD/dUb+PMoxvivYJGAQj+inp3LjtySg 5BFEZuFN6bimIuCpVdkxvOG0+Kys1bJZ25nHR4bCqA4GmXsOtAvxrvT7XYJ+wGJoEPTU KpzxlkJJqNvp9Nn4JUKltcLzCfYewduV2rhB3HqJhULxrOmxjdza2nuQJpFnBTMlwlY3 y7FA== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 134.134.136.24 as permitted sender) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Gm-Message-State: APt69E2k97i5Ue+3xSWrdmrUFzoQBmf4er5vG/P/OKhVPj99doxyCD6d NrqiSaXMgDrDSu6GPEDwuIMiIEoXGM5neTGDsX0yB/Y1gI+7JmyJWXaLBIlYaQFjGsDPv2gjwuF 8FlAQzxvSXt9Z0H2jND7PZTzZcbeUhCtpgErnd1sp1LgDvk4bhN/kcydjstW9QgrGxw== X-Received: by 2002:a65:6310:: with SMTP id g16-v6mr1590714pgv.271.1530022973619; Tue, 26 Jun 2018 07:22:53 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLE8XhbxxSbz6rQIXUJsUfZZSPg4y6YJSHUshb4d4MPZeTVZ6Yu26MU3Pwt1zF0UiblQlwk X-Received: by 2002:a65:6310:: with SMTP id g16-v6mr1590678pgv.271.1530022972671; Tue, 26 Jun 2018 07:22:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530022972; cv=none; d=google.com; s=arc-20160816; b=FBxdT/y0w+f6VvugCo5iPUaxO4j7zjgkJsdsIxY5RMCgKAzqhjpSvTG7jRtkFje65F P7sqoOVypvFYPOzoLqPu/0kbMMbcUmBGsEHfNWmvjJuGxttaH+kn06NbdSI+vh7sg4vT W9k81H447LbssPSPFSEM0HZc5Co7Dvc6ztSJzwxL1rXaWA51Y9mvHPdJT7bvGelY3n85 NUN6lB8kCF52vfbJO1YRXHQD/5VRWTZ1e57Cj1AQBq0T8WtwA7iEqbK7KTA3bGImJ47a xfjMkvIY8vRkBqNR8EYj9MdfzaaaSxIyuXYwuXCc4+p3nOqAJPUt4oBN1aOPvyf9jQJY myvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=BWRMn4J+Qw9oPn5/Twik/CnHmHrK3/cY3GKQicbncKM=; b=FkXc2V/a6VgBsASO7J2OVQ2KUeT9O33DU4pMMcVSsTcrkHJ/CQzfNQPlrMc44t6Th5 wMOfMwGsFkkZ9R0pzv8QJb4G7OpDBs63LNmxaB8aHbXDxfmkcs+EbdOaesOGLwY4wohv QbuAZR1SWDeSaI33Ed9nHyNxfqwpIBbfCaL1emYDCnal8z4SARMM4VlbjhALAIbHxO+2 VwCPlwQI0m2mMsZm1QFFPCg2HmwnsmZl3TNctdWSrqafj8W30c8Uw7FK3pQczwOKymlQ eaZl3HgotMPQH54t5m2/2m7/dDKddOQ2u1BfaYh9Qqjo/97Q7/VoaPgVdJnglUBUN8R9 rJ9A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 134.134.136.24 as permitted sender) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from mga09.intel.com (mga09.intel.com. [134.134.136.24]) by mx.google.com with ESMTPS id b125-v6si1501171pgc.514.2018.06.26.07.22.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 Jun 2018 07:22:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 134.134.136.24 as permitted sender) client-ip=134.134.136.24; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 134.134.136.24 as permitted sender) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2018 07:22:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,274,1526367600"; d="scan'208";a="52376231" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 26 Jun 2018 07:22:49 -0700 Received: by black.fi.intel.com (Postfix, from userid 1000) id 74D4DF8; Tue, 26 Jun 2018 17:22:51 +0300 (EEST) From: "Kirill A. Shutemov" To: Ingo Molnar , x86@kernel.org, Thomas Gleixner , "H. Peter Anvin" , Tom Lendacky Cc: Dave Hansen , Kai Huang , Jacob Pan , linux-kernel@vger.kernel.org, linux-mm@kvack.org, "Kirill A. Shutemov" Subject: [PATCHv4 01/18] mm: Do no merge VMAs with different encryption KeyIDs Date: Tue, 26 Jun 2018 17:22:28 +0300 Message-Id: <20180626142245.82850-2-kirill.shutemov@linux.intel.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180626142245.82850-1-kirill.shutemov@linux.intel.com> References: <20180626142245.82850-1-kirill.shutemov@linux.intel.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP VMAs with different KeyID do not mix together. Only VMAs with the same KeyID are compatible. Signed-off-by: Kirill A. Shutemov --- 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 a0fbb9ffe380..ebf4bd8bd0bf 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1541,6 +1541,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 + #ifdef CONFIG_SHMEM /* * The vma_is_shmem is not inline because it is used only by slow diff --git a/mm/mmap.c b/mm/mmap.c index d1eb87ef4b1a..7823eb264cc0 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1217,7 +1217,8 @@ static int anon_vma_compatible(struct vm_area_struct *a, struct vm_area_struct * mpol_equal(vma_policy(a), vma_policy(b)) && a->vm_file == b->vm_file && !((a->vm_flags ^ b->vm_flags) & ~(VM_READ|VM_WRITE|VM_EXEC|VM_SOFTDIRTY)) && - b->vm_pgoff == a->vm_pgoff + ((b->vm_start - a->vm_start) >> PAGE_SHIFT); + b->vm_pgoff == a->vm_pgoff + ((b->vm_start - a->vm_start) >> PAGE_SHIFT) && + vma_keyid(a) == vma_keyid(b); } /*