Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp4085456pxb; Wed, 13 Oct 2021 20:36:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxr6S7vKefdJYh9GYWZ16n4AkRvTKK1DAP1RJgkxD718hWhws5pNdsQr8pGMCoFGiQgAEFZ X-Received: by 2002:a63:79c1:: with SMTP id u184mr2487772pgc.19.1634182593778; Wed, 13 Oct 2021 20:36:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634182593; cv=none; d=google.com; s=arc-20160816; b=TD8P0oUQqY/qvXXfKEPChhchcdL9789IjoC4w6zyQIr2YZcR3taBmXDtmKyROJ5zca rhrBbeQL/S29t5duJRPPqLV4nCymZRA6Ar0hFzl/lvO0dCSlETYrstKB8318C4GbQVXr zmjkcmEwdpxOCiuOyRamrOVujHNzXOAktaUCRdmPNfeDNn03/Kug5lsqKV/D58TYvpM0 P/zeZPwMlwh19VBLZkWjXQfvDt5YiKgZ1eJM9PqWawAxEcYdoP63iShc2akPq9Ueh5H9 a1yXjLis2Gy/K9VKPb/ZSExOKn79aLvjvy+fIKSkLAoDKcBtKcCrPInOGEkenzgVl98/ lFQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=P6Gz7Sa13Nz5wo9ag7NEcCeQMS9LijqUptPqbUded4Q=; b=mA0aP+OF8aCTBXRe/Q/tNl5rGrnsE7W6PDWjlIFZv9W/PE4CrFxXK//6K1jamPm3qn 5r1IqCtjEEvkXejQWBFcqaXcOJX6AzJIbCw55xnbcQQnK2xMz+Uv06+cj2uSMaVpFQTQ TG4GiTuOuZwDaGHE7draGj3fSH4DxS81woiyXLTSAaCXwxeHVbzz821rzUFEG5lv9y2C tPvDZWKiQhrdbKMzqcfbshvT6r0m18AXq/VCYL7bVqbJWoJLTU0WWyHI9rqEbgQK/EgM WD+KybiU8fQs0m+uczmwRuqM9xwu5YtBhR7aLZ8CPFPoA/TYY/v7DR23D0XdnmVlg+nZ S7Qw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="o7Z/Fn1W"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u1si1926895plh.344.2021.10.13.20.36.20; Wed, 13 Oct 2021 20:36:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="o7Z/Fn1W"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230020AbhJNDhG (ORCPT + 99 others); Wed, 13 Oct 2021 23:37:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230063AbhJNDhE (ORCPT ); Wed, 13 Oct 2021 23:37:04 -0400 Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BDF5DC061570 for ; Wed, 13 Oct 2021 20:35:00 -0700 (PDT) Received: by mail-pl1-x634.google.com with SMTP id s1so1383223plg.12 for ; Wed, 13 Oct 2021 20:35:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P6Gz7Sa13Nz5wo9ag7NEcCeQMS9LijqUptPqbUded4Q=; b=o7Z/Fn1W1B4+f4FoBe0wU+SBII7ZPdSz0b9J/5qzHZJx4y+7gqDJbcHUTPcTScDPeF SfED9J2lwyE6vO3cQ/9Feh+n4BQQDID+8y6iqGAN8a2dslGuTL3MaBYKn1Kd6Gcw4n/V QjkNr81S1GwmrBL+HVOVZxZx8Nwsxs0KftYwIU7LonMK1Ag8jl9zIbMMvqf1bLk0Wa0P B8y/X6BpaVOlFU3UvBu+a6colE+zVlSOZ7xB6UG6aymgQuec5v975xKVnnaOm+Geps9z 2vtZoYp6zVGLugziRytIsuEFyYVXafdRrT4zZBHrOmW8aTFLUy8HgnJCuAL9w6Dr3elu p8KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P6Gz7Sa13Nz5wo9ag7NEcCeQMS9LijqUptPqbUded4Q=; b=rzwDD8YjoW/sznH0Z/lpHQEi6nYdnK/nmCwHouAib9G6ykCJkIErpSb/4FVgibFlVQ aCDveSVHGvnIuKun4UNolWI/wW+4+TYQQDXOTYndrIPOqJpEqKi6SZ300FPq5jhBdJ50 KxluD87q1WTv4TdRZru2ngy37EOwKhnQZiO4fQLSHgglqcbYkRiGaHSduAOB8+2TcKmn y4WHxA+fq8S079UzQb+THSaw3REr/S6cpsvzKPS5+RWYb0TR1XIAr1p0ePtga189qQ9G L9fgCrNxmyMR2DffyMt4WsMOWawTXSKdaZ+ncKSPPUftW2J69iUvP4QbNLoeEpnm/T5Y qfyQ== X-Gm-Message-State: AOAM5330/LCskQI16gYnCFrm+AyO/w2mjVicRE9ktDGqv+LA9HEWIHaL LBj7mi3jpJmyme01q/IdSC8aAo1/DdE= X-Received: by 2002:a17:90a:a78e:: with SMTP id f14mr3484226pjq.235.1634182500157; Wed, 13 Oct 2021 20:35:00 -0700 (PDT) Received: from localhost ([198.11.178.15]) by smtp.gmail.com with ESMTPSA id d24sm876261pgv.52.2021.10.13.20.34.59 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Oct 2021 20:34:59 -0700 (PDT) From: Lai Jiangshan To: linux-kernel@vger.kernel.org Cc: x86@kernel.org, Lai Jiangshan , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Ben Widawsky , Dave Jiang , Dan Williams , Peter Zijlstra , Kees Cook Subject: [PATCH V3 11/49] x86: Mark __native_read_cr3() & native_write_cr3() as __always_inline Date: Thu, 14 Oct 2021 11:33:34 +0800 Message-Id: <20211014033414.16321-6-jiangshanlai@gmail.com> X-Mailer: git-send-email 2.19.1.6.gb485710b In-Reply-To: <20211014031413.14471-1-jiangshanlai@gmail.com> References: <20211014031413.14471-1-jiangshanlai@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Lai Jiangshan We need __native_read_cr3() & native_write_cr3() to be ensured noinstr. It is prepared for later patches which implement entry code in C file. Some of the code needs to handle KPTI and has to read/write CR3. Signed-off-by: Lai Jiangshan --- arch/x86/include/asm/special_insns.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h index 68c257a3de0d..fbb057ba60e6 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -42,14 +42,14 @@ static __always_inline void native_write_cr2(unsigned long val) asm volatile("mov %0,%%cr2": : "r" (val) : "memory"); } -static inline unsigned long __native_read_cr3(void) +static __always_inline unsigned long __native_read_cr3(void) { unsigned long val; asm volatile("mov %%cr3,%0\n\t" : "=r" (val) : __FORCE_ORDER); return val; } -static inline void native_write_cr3(unsigned long val) +static __always_inline void native_write_cr3(unsigned long val) { asm volatile("mov %0,%%cr3": : "r" (val) : "memory"); } -- 2.19.1.6.gb485710b