Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp290579pxm; Tue, 22 Feb 2022 23:50:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJzxQCcUwOB8v9MaAw7pbMMbcH5dVw+YWtZfgMISUnyz+kij3D4/ucF4Tk/qrlp58G1Yq78C X-Received: by 2002:a17:902:e741:b0:14f:f73c:8221 with SMTP id p1-20020a170902e74100b0014ff73c8221mr2243927plf.117.1645602629758; Tue, 22 Feb 2022 23:50:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645602629; cv=none; d=google.com; s=arc-20160816; b=gOBzU+usM5Hxjyg9IK9HiJgcAiiqsIMbKS73C3XE4gJtM/7386gCsKRJqiYArKxn5u jII/w5T5pJUIYNQcEsPk4mMOvSYO6Dys8TfmcwXHVpNSLyFYfg5W7bjHHH74x2m2kGYb ZLMZ9rPgNNpZcS24t6xgrHpSZYPFvVXDqMcPwmIdsshDbk88B4gKy1aDHeMpHECoDS9B MmAb+92XBPHxlWbv1dUpuN6GcV7a4TC/PFBq9r3+DtVIydNvO8YB2Cco6hcMnL7Y13uu lLNnBWSEU1Pji4QBhSBiqB0i2Ik9JLpcUUA4sYsyWX/Mzf3UHiY8kD0bR4F2/OBSvPHU lJ/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=wpN/U5eluX6Jnat+pEDX2C0UlbFhsXsgqK2IMjW00B0=; b=D0LaA7GdBBCXamatSkLfB3QiZY5rG0QOUz3LSOmn21nH8GFl/PgA6nJKw1cmd6bcox IGG7uMqsoBnRE8yMRrUxW1XolbRCBeaYOZlOCnOv/+yStzRJu3yBXk/yg21jwATklLGq odmMDENp38JlD8cwLePrLnbgtmdFjzBbkUCCBHc+JhZfKSsg6shHh5z5IuiLb/2FQ/9y UvyZd6M9obGQOYGdaouHlmUVNU7o7T2DB+MlraxezridhGxDgCxS94R90+orR7Wqc0FS 0Ykv5W+H1uWP000YcDIoAToUkOOnFU0JTJkrGT/ujxekHmwCpZa35/gaMkkQ/gdFgiD9 PucQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=eO68TZsa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t4-20020a17090a024400b001bca5dbbcd5si145393pje.107.2022.02.22.23.50.01; Tue, 22 Feb 2022 23:50:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=eO68TZsa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238335AbiBWF0k (ORCPT + 99 others); Wed, 23 Feb 2022 00:26:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238320AbiBWFZl (ORCPT ); Wed, 23 Feb 2022 00:25:41 -0500 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0C456D863 for ; Tue, 22 Feb 2022 21:24:46 -0800 (PST) Received: by mail-yb1-xb4a.google.com with SMTP id e129-20020a25d387000000b006245d830ca6so12323810ybf.13 for ; Tue, 22 Feb 2022 21:24:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=wpN/U5eluX6Jnat+pEDX2C0UlbFhsXsgqK2IMjW00B0=; b=eO68TZsayJUnzF9ppfHaPSwA9f3cpJtiM/bQv1NjIx1viksnomhVCZg/OPfesExCQe GPBpKhmjuCayGTZhMCQafKSmuYZ+smeOmFtUbvbkWS5siPQw7nd2sd5jds4KSpKgIMG1 5rAZMh+2rFOS1AHpWlupbprjH1FaaIPoFdMADMVIZrEncJu5IwxbAAD77jq17vk7nHI/ pHx7Yx3y5+Ja+7mdhxYJ7U+IEaib+spU25N1cAyqYIyEgycYL490w9sjOc0zBhbj55fl oXav/h9TUMbHXVfYpZ1MYXyKyDqxgCsBYAWNUi6HD47X/71tlKLWuj7QNFucy0Ul1WpD v86A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=wpN/U5eluX6Jnat+pEDX2C0UlbFhsXsgqK2IMjW00B0=; b=k2kUzrY4SYQ1HwTRTHRX/y3uVPy+8UlCLEeL4nxFjlWas06/df1Fl83rU7Hv8gKpAx MOul15VkOZw9ffwRfTqz6Ak0DusQgIN4ACmO/bS16ch+Xtb2G/1kqXFu6Gw4fp6qMLpC B0pBVExtvGkEEuVuLALsSgLdBYyEZ1RTW8VhXrQwAJ6hrtVdBf0uZpp6dnu6cU1Q4zWo gKSx4GzVf4yawcjfcCuRqkHbd5InP97qxxfs+8ax0B4Jw0pCfx9T7/GvkYQIHw/fl5MS SFUGyU4FCGVVTYTdRfadPbeh9nWmRy6yavrWpTQQ1d45GjF/3Brv3Ax6NNhQIFzUe0d7 sTBQ== X-Gm-Message-State: AOAM530cHnGssKhipa0WA2hrdzG1BTcJexjPlrLe7+dkaeMTyXbRo3AL 0G4uTJHSr14jGeVZEUHMlhs++AnCANEKWaBq8KNzbz2P+G40+ZBu0HtX8l6yR74azszgzNnFpl1 JdA3ImlrWGbTJUFPF9d3DhyC//20tj9U08kjgZkcNkrIojCvYxf6jOb8baEVUjlXwPdrE6x4B X-Received: from js-desktop.svl.corp.google.com ([2620:15c:2cd:202:ccbe:5d15:e2e6:322]) (user=junaids job=sendgmr) by 2002:a81:7141:0:b0:2d3:d549:23f8 with SMTP id m62-20020a817141000000b002d3d54923f8mr27573261ywc.87.1645593872454; Tue, 22 Feb 2022 21:24:32 -0800 (PST) Date: Tue, 22 Feb 2022 21:21:57 -0800 In-Reply-To: <20220223052223.1202152-1-junaids@google.com> Message-Id: <20220223052223.1202152-22-junaids@google.com> Mime-Version: 1.0 References: <20220223052223.1202152-1-junaids@google.com> X-Mailer: git-send-email 2.35.1.473.g83b2b277ed-goog Subject: [RFC PATCH 21/47] mm: asi: Add support for locally non-sensitive VM_USERMAP pages From: Junaid Shahid To: linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org, pbonzini@redhat.com, jmattson@google.com, pjt@google.com, oweisse@google.com, alexandre.chartre@oracle.com, rppt@linux.ibm.com, dave.hansen@linux.intel.com, peterz@infradead.org, tglx@linutronix.de, luto@kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VM_USERMAP pages can be mapped into userspace, which would overwrite the asi_mm field, so we restore that field when freeing these pages. Signed-off-by: Junaid Shahid --- mm/vmalloc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index ea94d8a1e2e9..a89866a926f6 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -2424,6 +2424,14 @@ static void asi_unmap_vm_area(struct vm_struct *area) */ if (area->flags & (VM_GLOBAL_NONSENSITIVE | VM_LOCAL_NONSENSITIVE)) asi_unmap(area->asi, area->addr, get_vm_area_size(area), true); + + if (area->flags & VM_USERMAP) { + uint i; + + for (i = 0; i < area->nr_pages; i++) + if (PageLocalNonSensitive(area->pages[i])) + area->pages[i]->asi_mm = area->asi->mm; + } } #else -- 2.35.1.473.g83b2b277ed-goog