From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A66CDC636CC for ; Sat, 18 Feb 2023 21:16:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E250B280014; Sat, 18 Feb 2023 16:16:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D82AB280016; Sat, 18 Feb 2023 16:16:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B13D9280014; Sat, 18 Feb 2023 16:16:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 96B2A280012 for ; Sat, 18 Feb 2023 16:16:21 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 6819F1601CD for ; Sat, 18 Feb 2023 21:16:21 +0000 (UTC) X-FDA: 80481670962.02.1124A7C Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf12.hostedemail.com (Postfix) with ESMTP id 790A540009 for ; Sat, 18 Feb 2023 21:16:19 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GzJHc8ol; spf=pass (imf12.hostedemail.com: domain of rick.p.edgecombe@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=rick.p.edgecombe@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676754979; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=QrUmx8EKept3iSq/eqbQaHrnHicPTWm8RRXXurJvnBo=; b=3ceAFFPLUlxymLAqadWOWunsk/mOEReyoGwoydmL8J1faK4l7kgoVSZv4g2nAM7+/173Mc /0EqcxrBHNYGISHKljbDf5sf5AN3vPiwT/9Ts5idA6Mk2952qdm3xIqmfIZNdwelu1nuc/ r3bKKfwbp3xKdRz2ABUUQmGM0j0RQrg= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GzJHc8ol; spf=pass (imf12.hostedemail.com: domain of rick.p.edgecombe@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=rick.p.edgecombe@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676754979; a=rsa-sha256; cv=none; b=KoEN5q+ntwya+mwEnbcy3ZsKly67kmwmV3jaKu7D0Dv7gP/jm2icgasqvIfpFhmzDdUGcb p43ntfFXYbPjf7Er0cTTzkTC/Pskfjj58FHUBd4kg6vg6lpC829f53j0SrHhoc7F9pG5KF Wh2tenArUeJFZIl7rUQA66NMIbGQO3U= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676754979; x=1708290979; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=h1Ina/ZMuUJfFdTiWzdv2FLDw2HpwpjMUTBFM0iRihw=; b=GzJHc8ol1abHPAvqMUIhaQAXpOCREi3Vl9ACuA4hCA4bMwIP0d+U3Fnv ngJo0u5PJIy7ujPolzF1pcdZN69T0PhuY78aQDrJCnFZrLUYNlH1z3plv LzUiDAUmA7EQno7EPQR7SLJkzHYLihnLJKhakqEMCLGTVcqwts1bZSOqD qR472E7zFinHeyLH9hbJQYN0fFdtidwupNR/0GdG3QN3eJRoHES7OEpTT QykE7OzbKNQ44fRiEQwBmcrNG+Xzh7VaIsENbSV9v01arQKmrpVGowwN8 FpW8GAFt4Ph/UgeRisttmDpLslOWFumnpeqGlIOR1TX+/58MPBIVV/uOT Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10625"; a="418427563" X-IronPort-AV: E=Sophos;i="5.97,309,1669104000"; d="scan'208";a="418427563" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2023 13:16:15 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10625"; a="664241677" X-IronPort-AV: E=Sophos;i="5.97,309,1669104000"; d="scan'208";a="664241677" Received: from adityava-mobl1.amr.corp.intel.com (HELO rpedgeco-desk.amr.corp.intel.com) ([10.209.80.223]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2023 13:16:14 -0800 From: Rick Edgecombe To: x86@kernel.org, "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , "H . J . Lu" , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , Weijiang Yang , "Kirill A . Shutemov" , John Allen , kcc@google.com, eranian@google.com, rppt@kernel.org, jamorris@linux.microsoft.com, dethoma@microsoft.com, akpm@linux-foundation.org, Andrew.Cooper3@citrix.com, christina.schimpe@intel.com, david@redhat.com, debug@rivosinc.com Cc: rick.p.edgecombe@intel.com, Yu-cheng Yu Subject: [PATCH v6 22/41] mm/mmap: Add shadow stack pages to memory accounting Date: Sat, 18 Feb 2023 13:14:14 -0800 Message-Id: <20230218211433.26859-23-rick.p.edgecombe@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230218211433.26859-1-rick.p.edgecombe@intel.com> References: <20230218211433.26859-1-rick.p.edgecombe@intel.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: ekqqqmbdock8iwk7m3ubq5fyik6f7byk X-Rspamd-Queue-Id: 790A540009 X-HE-Tag: 1676754979-951542 X-HE-Meta: U2FsdGVkX1/VQokxKEX5o67EhunvxEQYXLUTwtRJqKAJFPHMtAUK6M529UgQMPgsy0acXcD4Z2cp1xNpLM9Er/8pYJJCePNpk5F/dnF+I+IBawjmTZoPbjsx/KC3BcqMfOnQPcW7EFcoQcimD20euioAy0qKEM4Qn3hQDsJIHSKraN/BA2t9AVjErYeO425jcjxyx3+K00zutK9Dg0RWyHN+CMCFsCWeITDDMASCp4349i35ZKg8CmV0L/ETcM1XnpZVbvnjbYz5MxrjKyaJX6aS8HxP5N9qiii6uRoU8xY4rpN5CiP+KRevhstSPsbfgZCnADXd2W/2CU1qqr/gcwW4TFPpx9UzYZgDszVFFuDtNc6PwpAd3kKtEh6qdy3AR2kWdmAYdy56I8aOVj6DLRiNBQDmZ0lnlVhRs8BjoJ5P2LvN0wgsDHASEayoXtecav3wUpBTVWV36c7qzKqF+VHOjF865/KeYLUSqf8KtNYOvYFHWhUvFmidkm6x4nJzz2AV8rMB78NC8jQQ4iXLN6lSrsHf8uM6Ea7hj0qvCpc7WJsAVn8HfDnfN6m1WRp7t8FgFqXs6dU/FIGBkBsxNX9Zq0Us/hFBw4CiH8/auecjWvg8ZHX7siog8ZU1SepHpZGoalRENhcNk5UgTsUKEB8LVhe5jG25sNLM4O+PKhCGsSi8d90EJMPkqPmw0daDz+sThRvVGK+tC9uyKp/+VG1UBAzgdXsEkMXRrcItg58BDfbQ/IJkP5x/z5b46UuJ0g+E5rMdS6y2dXxfIe7Ya7AFb06JjdoAWBw/wtON8CmjcgqPqJ6hGSE8ph69eP+zswfOpWYuYYTm9Uo6LqIJRpHRGbDulcYxG/LZIPeatzAgJEAysaENDiqYPB7vNLMsOCz1n1pWdAMN8cjr//azO0E1SE1s+UltX8Q8CJ4XeDdJ6LTw/iRFKlfMt/u8tC/dLA8sa8i7dznXFaE44I1 ea9C+YUk pzGFkPLclG5EoexBXaUZaVlmpiTJBmzgUPDlRxbi1T9nOJyysp7YQDBVw6w6kdLDIdPuI/6UGznFEqmiT8X+KvRxqYSDt4gtDVMgAlwf45e1tzOri/OSZ68D/PCOOXVq5lng9RSlckYc2Jg7ojRa5AVCMAKYI7JX5A8luR+duY15Pw21B4VEA1ltKD389nsxKwKx5MYzjynI+aY92/iGmPM3q5MvMXjZ2G6q2rDakioiDjnYuCGuH8OPZHmxVJWCR9sxkakHdl0yf5nk5rY6tZIzRGI27nRSX5hyv 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: From: Yu-cheng Yu The x86 Control-flow Enforcement Technology (CET) feature includes a new type of memory called shadow stack. This shadow stack memory has some unusual properties, which requires some core mm changes to function properly. Account shadow stack pages to stack memory. Reviewed-by: Kees Cook Tested-by: Pengfei Xu Tested-by: John Allen Signed-off-by: Yu-cheng Yu Co-developed-by: Rick Edgecombe Signed-off-by: Rick Edgecombe Cc: Kees Cook --- v3: - Remove unneeded VM_SHADOW_STACK check in accountable_mapping() (Kirill) v2: - Remove is_shadow_stack_mapping() and just change it to directly bitwise and VM_SHADOW_STACK. Yu-cheng v26: - Remove redundant #ifdef CONFIG_MMU. Yu-cheng v25: - Remove #ifdef CONFIG_ARCH_HAS_SHADOW_STACK for is_shadow_stack_mapping(). --- mm/mmap.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/mmap.c b/mm/mmap.c index 425a9349e610..9f85596cce31 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -3290,6 +3290,8 @@ void vm_stat_account(struct mm_struct *mm, vm_flags_t flags, long npages) mm->exec_vm += npages; else if (is_stack_mapping(flags)) mm->stack_vm += npages; + else if (flags & VM_SHADOW_STACK) + mm->stack_vm += npages; else if (is_data_mapping(flags)) mm->data_vm += npages; } -- 2.17.1