From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5852320F999 for ; Tue, 14 Jan 2025 21:24:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736889865; cv=none; b=cn9K8C9TeK7QQDgIa9gmZNmccC9irPMPONNE+GcYmaczamp/RbVEKf9BrtNFkGWX7VS6IpJvLkOtWt6ruJeC7EGvlgVlAORbF7QADrWUtfCrCgfcisqSoWqruY+gIpth1aawe0+7P7ADzzarSJjK5K/Jgi9Sb2Z0sCeaxJ0URmA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736889865; c=relaxed/simple; bh=UhsLziMJuir9EcfHw8J9VL7USXU5IkN4Qt5js8SLo28=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=r6TORALnfzaiZ6FNx7skNnmtyRn4cUuEkeyvg3rard6RDMbjN8ARCMrSnbPXy8pI4RSsDR55FC6JJMOY9upviEfcaO8muZhdIH3BIjtqkNQDJQXW5jRyqDhz/v91YL/+JT2oQBkIJ+6ACxv/jduEp+W8Arb2ehucXfI6iR1Vmu0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=a8ZD90/R; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="a8ZD90/R" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2efa0eb9dacso10826856a91.1 for ; Tue, 14 Jan 2025 13:24:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736889862; x=1737494662; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=8cSsXdzV+ZwQOEMikMUZ9KmnzJy+D1+up+g+W/Xr/ho=; b=a8ZD90/R1fxBjGKIJ7nNIE7UWpawA2Y5lURTFsAsoI4Pvc+bWV1DkY4skjpES//Uv5 uTgLQhJu3plYnPnKulVXi3jTMKXDUisjINvNtFok402/QQ/azqSmJrGc+2coZFO6uG2p pc/DU/wG4qQBOzUD5A2Zw7QiBC4zYlBHcOPNqXRSX8ANgaA/Zy9wnA/r0tSpgASG0Oav mLQZBPujtPWXHO54lYkHrQJaZeQq5YGQQlHQdf/hldXx/lmjsg9TVWus3SGyrG5z3KdF zWebYYAVF/jIfSPDIB6iPpbgOPd48G/RMxDuW6XI/sT7+glnYuf8H7EkScahRdvQvLCb tY8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736889862; x=1737494662; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8cSsXdzV+ZwQOEMikMUZ9KmnzJy+D1+up+g+W/Xr/ho=; b=ivPOOGO72u5XbrUuJ8ES7OjaJ9cIFeOIT9Y6ZrnNfF/yLCp+4YegtBvgXMGRLfDwdp xoGRzFugZC/fsJ7m91ct1bQZh4zRShe577lPKp66VmGCMvPX4nOLCl8K8pXLtmGggmcD aLS3b2k+PtzpNsFU5DCkHK5jSi7hfRAJUdRGYpM3gzffM5f0/eydSCv0X20wtkB6CIcc SYeNG7m3A+Wv6FeZwOZ5Ah0pAhdAVMPHBNLSYqgGCLBUaNXNDuD9J54SbwplBZ37MKKY A9CE7hqbU9VspxNKZVvs2IKBatbmZS1CMmktfqROLeCGbwBEFkyXuX4ERzuL5tPh2lb8 beiA== X-Gm-Message-State: AOJu0YxRkz9XJlpzmNpL81GegrUq86G3K070A8gF7cCKXQddmiGcAeOe lIPEBL6ZMz9ea/9yPlnK7CbSbHUcG2IQo1M6XtWAkYuUESEeCG/E1j+KQFrO7y2q+HEhO0l9lTC bBQ== X-Google-Smtp-Source: AGHT+IGaqEwoic7xvDyznY8cDg+F7K5+qe11MRhfXOt+1PBXtCG3HV5nSK8yv8Q3/q/HTXMyOsqLmKxvwkg= X-Received: from pjbtc8.prod.google.com ([2002:a17:90b:5408:b0:2ef:abba:8bfd]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2b87:b0:2ee:8031:cdbc with SMTP id 98e67ed59e1d1-2f548f1ec3fmr32208440a91.23.1736889862547; Tue, 14 Jan 2025 13:24:22 -0800 (PST) Date: Tue, 14 Jan 2025 13:24:21 -0800 In-Reply-To: <20250114175143.81438-28-vschneid@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250114175143.81438-1-vschneid@redhat.com> <20250114175143.81438-28-vschneid@redhat.com> Message-ID: Subject: Re: [PATCH v4 27/30] x86/tlb: Make __flush_tlb_local() noinstr-compliant From: Sean Christopherson To: Valentin Schneider Cc: linux-kernel@vger.kernel.org, x86@kernel.org, virtualization@lists.linux.dev, linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, linux-perf-users@vger.kernel.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org, linux-arch@vger.kernel.org, rcu@vger.kernel.org, linux-hardening@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, bpf@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, Juergen Gross , Ajay Kaher , Alexey Makhalov , Russell King , Catalin Marinas , Will Deacon , Huacai Chen , WANG Xuerui , Paul Walmsley , Palmer Dabbelt , Albert Ou , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Peter Zijlstra , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Kan Liang , Boris Ostrovsky , Josh Poimboeuf , Pawan Gupta , Paolo Bonzini , Andy Lutomirski , Arnd Bergmann , Frederic Weisbecker , "Paul E. McKenney" , Jason Baron , Steven Rostedt , Ard Biesheuvel , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Uladzislau Rezki , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Juri Lelli , Clark Williams , Yair Podemsky , Tomas Glozar , Vincent Guittot , Dietmar Eggemann , Ben Segall , Mel Gorman , Kees Cook , Andrew Morton , Christoph Hellwig , Shuah Khan , Sami Tolvanen , Miguel Ojeda , Alice Ryhl , "Mike Rapoport (Microsoft)" , Samuel Holland , Rong Xu , Nicolas Saenz Julienne , Geert Uytterhoeven , Yosry Ahmed , "Kirill A. Shutemov" , "Masami Hiramatsu (Google)" , Jinghao Jia , Luis Chamberlain , Randy Dunlap , Tiezhu Yang Content-Type: text/plain; charset="us-ascii" On Tue, Jan 14, 2025, Valentin Schneider wrote: > Later patches will require issuing a __flush_tlb_all() from noinstr code. > This requires making both __flush_tlb_local() and __flush_tlb_global() > noinstr-compliant. > > For __flush_tlb_local(), xen_flush_tlb() has already been made noinstr, so > it's just native_flush_tlb_global(), and simply __always_inline'ing > invalidate_user_asid() gets us there > > Signed-off-by: Valentin Schneider > --- ... > @@ -1206,7 +1206,7 @@ STATIC_NOPV noinstr void native_flush_tlb_global(void) > /* > * Flush the entire current user mapping > */ > -STATIC_NOPV void native_flush_tlb_local(void) > +STATIC_NOPV noinstr void native_flush_tlb_local(void) native_write_cr3() and __native_read_cr3() need to be __always_inline. vmlinux.o: warning: objtool: native_flush_tlb_local+0x8: call to __native_read_cr3() leaves .noinstr.text section