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 23573C6FD19 for ; Mon, 13 Mar 2023 03:24:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3C6826B0071; Sun, 12 Mar 2023 23:24:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 377016B0072; Sun, 12 Mar 2023 23:24:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 23F408E0001; Sun, 12 Mar 2023 23:24:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 13C296B0071 for ; Sun, 12 Mar 2023 23:24:08 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id DAF041C568D for ; Mon, 13 Mar 2023 03:24:07 +0000 (UTC) X-FDA: 80562431334.23.DE39CF7 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf03.hostedemail.com (Postfix) with ESMTP id F367E20011 for ; Mon, 13 Mar 2023 03:24:04 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="hjDgu9/H"; spf=none (imf03.hostedemail.com: domain of binbin.wu@linux.intel.com has no SPF policy when checking 192.55.52.43) smtp.mailfrom=binbin.wu@linux.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=1678677845; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Ofpf5xThueR/tp6Z0KERTI6ZWAhvvO4u0V9Siie7akg=; b=cCpDPEAQdlUtjm9aBh1jEvN7p+9B/KvGqjwQBEl7zj0AWukLiv1qHflTpObU9nuhuSkxpz 1WaNVFOaccHZaqqdssTKVey4lmAWGqKI13onMRuSeXzfO0FUR2Sskv5XPCXGH1O3wGMjkl 7x2RkD+l3lD9ho/ccRAGy7jdTUrWSZc= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="hjDgu9/H"; spf=none (imf03.hostedemail.com: domain of binbin.wu@linux.intel.com has no SPF policy when checking 192.55.52.43) smtp.mailfrom=binbin.wu@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678677846; a=rsa-sha256; cv=none; b=znKLODYAUFNHyT0kItk8cWddtgtOjHeF6RtDqP2mIpE6Q7O3uouee3I4aAJRRkNmb1uYRI T8AiCgOuqYFRVXroxvNGylhJKKgWJZ6nWxg/ic6VIyUqb/kqxAxo8srx2CyK7/CmhTj4z7 g7N/vRztfibbZtbxVGG9KR90v4wYvJ4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678677845; x=1710213845; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=27FvXAAxEp2El8sKAUFSCBz/DlxIShXqrOYAjOcmstY=; b=hjDgu9/H92djrt67xggHWOIG/xV/u2spJ/P9ERr8beaqSS0jaaceWjAB +HZKsPsaEFBlkXxC+6tLsns9OVXE7lyYG1YF6Re46DjfDWgDwai8yrvgP bXcTTgH49bzHZdqmniaAHqlh9FZkZL7cb1u2CI3rlIxHh6aPLBuH/QgPS 5BBHwtIckW/IsSyBynVawtvbHaZDbGzJWLw9w4Vi1KcCauh+ntbu14y5J 18jZ8BRjx1wnkOpCvlycvQNPZcBfwtbW7mJWHduGlp+zvmtfSdVURqf6V EEeTvUeF/iSyRfi8Po+sTBb35+qi05EENE5aQWhcFR0ZmDdKLps0gMxK8 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10647"; a="423316300" X-IronPort-AV: E=Sophos;i="5.98,254,1673942400"; d="scan'208";a="423316300" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Mar 2023 20:24:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10647"; a="671747371" X-IronPort-AV: E=Sophos;i="5.98,254,1673942400"; d="scan'208";a="671747371" Received: from binbinwu-mobl.ccr.corp.intel.com (HELO [10.238.1.34]) ([10.238.1.34]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Mar 2023 20:23:58 -0700 Message-ID: <66bf51ab-15bd-7988-77c6-8776ac9755d4@linux.intel.com> Date: Mon, 13 Mar 2023 11:23:55 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCHv15 00/17] Linear Address Masking enabling To: "Kirill A. Shutemov" , Dave Hansen , Andy Lutomirski , Peter Zijlstra Cc: x86@kernel.org, Kostya Serebryany , Andrey Ryabinin , Andrey Konovalov , Alexander Potapenko , Taras Madan , Dmitry Vyukov , "H . J . Lu" , Andi Kleen , Rick Edgecombe , Bharata B Rao , Jacob Pan , Ashok Raj , Linus Torvalds , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230123220500.21077-1-kirill.shutemov@linux.intel.com> From: Binbin Wu In-Reply-To: <20230123220500.21077-1-kirill.shutemov@linux.intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 4gytdugwhhpnoe83ara13rj1jxmgpefk X-Rspamd-Queue-Id: F367E20011 X-HE-Tag: 1678677844-870141 X-HE-Meta: U2FsdGVkX1+7kZ1Mw1dSBpsuXBTKoaX4VTyHkoP6PgwhLpEE2Cvg54m81bjebWel/0u2th+TLmF7nWF22Cd+RW435nR4JpNNnoy6gCQi6tIT+zmvWbhJXi8lFHTHCDFTgPX8kAHZ+57PNVWzx8CmZFm94jCwAI6tJhzX0Jj12nDrcRvVYZB/OSFdXu9Gp+wphu785DAAg/RDTXvzwYFOgsDJBN3heIDH+efds7B1IrswYdV5EtgEM/EVj4lfQjcFTFpE1p3xmvubwHKMny8W9XOCe/hOO8e3d17Yxanu66FT/xXU1WblKszSJnaG+JMg3/SZYH+GEBpmm5wirTi2q87OG0WGTT5yiYEOZwtb+Jr4a6p15Jknx+RexEkWX+HiJ3lf2SJIyee6kpyyz2F6YTNVXsnV2zMQzq83Ihe+xjDFdKNkWuHiUaXhI8ZayQpRLCLrCcg6LSmsi7JT+rwdoe8Bhn9dp/NjTH15pRRAx08Y839kMX1KMskLsIw/yA1VNgQy8SunQ9crOq2cv8Tp6UTeOrq2llvQpEMTlmikAjTr7h1K7vx7Efj+2qXBi+N47QNH2JQ1Bh37/jbMN4g9Nf0Mu/xLh+lHGg5h/y56uGX3ZMwe3hMOBxqG9OWttKcdIrYahJnU7/SzJyttkJGkq47gJwYjT17EPCgkvUzpc5QV1uCgzQp40wy1nmMK4g75yHrHZYTy+yOXWKaKTYfO/UDUlP0yUT7PG1slczIv451ploD1DcPkwDqBFq0nW4XsUc6edPhngMel45CBHJkzXkVoHjOrHJJGM20fQJxeNnORdLkypM8RYC+MhAihfMC6LKmiGtfdQ4aGyBdxPu2VRGgldAlc26tfYNWadn6S1o5O8SjgyYYCD3Agiw8B/MoSdl0T+ZIf2e5+U6JAhD9KPNBunp5QBi2eIjylPtevnbSRzycSwsT/AtrBy/5cpm1n/tMIjRIaUUjr8daTY1H NCcsBkPV XHLb/gFtkDlaOF2LkEpyK4RO9WcYijc+WBt7RwqAWBwGuyyLQI+LVGwWx8l5ChNwbhAHKs1bs9e/pnLZqmm/jkwnWmes3p29v7ufp5QYhdbdtZyowijPGZcTEymCGfuFe5SLlviVfaOHbSINM0jatw2wEREYtccfqrao2enrOeuejIgifeio+MFSptq2OTHFVRAw5yXcaw8g8RI0yDsAjdz5B/AfDr9IJE/sB0DaA7LJEKpKUmOzZ0U+r2FVXlFsMYUptAnEqebXLyCyCKHcuB31qbk/ft8b4/uNERxtYdjVf2a8= 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: On 1/24/2023 6:04 AM, Kirill A. Shutemov wrote: > Linear Address Masking[1] (LAM) modifies the checking that is applied to > 64-bit linear addresses, allowing software to use of the untranslated > address bits for metadata. > > The capability can be used for efficient address sanitizers (ASAN) > implementation and for optimizations in JITs and virtual machines. > > The patchset brings support for LAM for userspace addresses. Only LAM_U57 at > this time. > > Please review and consider applying. > > git://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git lam > ... > > [1] ISE, Chapter 10. https://cdrdv2.intel.com/v1/dl/getContent/671368 It is Chapter 7. Or maybe use the name of the chapter instead. > Kirill A. Shutemov (12): > x86/mm: Rework address range check in get_user() and put_user() > x86: Allow atomic MM_CONTEXT flags setting > x86: CPUID and CR3/CR4 flags for Linear Address Masking > x86/mm: Handle LAM on context switch > mm: Introduce untagged_addr_remote() > x86/uaccess: Provide untagged_addr() and remove tags before address > check > x86/mm: Reduce untagged_addr() overhead for systems without LAM > x86/mm: Provide arch_prctl() interface for LAM > mm: Expose untagging mask in /proc/$PID/status > iommu/sva: Replace pasid_valid() helper with mm_valid_pasid() > x86/mm/iommu/sva: Make LAM and SVA mutually exclusive > selftests/x86/lam: Add test cases for LAM vs thread creation > > Weihong Zhang (5): > selftests/x86/lam: Add malloc and tag-bits test cases for > linear-address masking > selftests/x86/lam: Add mmap and SYSCALL test cases for linear-address > masking > selftests/x86/lam: Add io_uring test cases for linear-address masking > selftests/x86/lam: Add inherit test cases for linear-address masking > selftests/x86/lam: Add ARCH_FORCE_TAGGED_SVA test cases for > linear-address masking > > arch/arm64/include/asm/mmu_context.h | 6 + > arch/sparc/include/asm/mmu_context_64.h | 6 + > arch/sparc/include/asm/uaccess_64.h | 2 + > arch/x86/Kconfig | 11 + > arch/x86/entry/vsyscall/vsyscall_64.c | 2 +- > arch/x86/include/asm/cpufeatures.h | 1 + > arch/x86/include/asm/disabled-features.h | 8 +- > arch/x86/include/asm/mmu.h | 18 +- > arch/x86/include/asm/mmu_context.h | 49 +- > arch/x86/include/asm/processor-flags.h | 2 + > arch/x86/include/asm/tlbflush.h | 48 +- > arch/x86/include/asm/uaccess.h | 58 +- > arch/x86/include/uapi/asm/prctl.h | 5 + > arch/x86/include/uapi/asm/processor-flags.h | 6 + > arch/x86/kernel/process.c | 6 + > arch/x86/kernel/process_64.c | 66 +- > arch/x86/kernel/traps.c | 6 +- > arch/x86/lib/getuser.S | 83 +- > arch/x86/lib/putuser.S | 54 +- > arch/x86/mm/init.c | 5 + > arch/x86/mm/tlb.c | 53 +- > drivers/iommu/iommu-sva.c | 8 +- > drivers/vfio/vfio_iommu_type1.c | 2 +- > fs/proc/array.c | 6 + > fs/proc/task_mmu.c | 9 +- > include/linux/ioasid.h | 9 - > include/linux/mm.h | 11 - > include/linux/mmu_context.h | 14 + > include/linux/sched/mm.h | 8 +- > include/linux/uaccess.h | 22 + > mm/debug.c | 1 + > mm/gup.c | 4 +- > mm/madvise.c | 5 +- > mm/migrate.c | 11 +- > tools/testing/selftests/x86/Makefile | 2 +- > tools/testing/selftests/x86/lam.c | 1241 +++++++++++++++++++ > 36 files changed, 1699 insertions(+), 149 deletions(-) > create mode 100644 tools/testing/selftests/x86/lam.c > > -- > 2.39.1 >