From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 632861FAC5A for ; Tue, 14 Jan 2025 21:19:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736889567; cv=none; b=Zc6qMSjnFmXbNj1eBqi0o0dYvJpr6fRu1pyJuWnMzbW9ilypRZPwQ3EjELHEtrATd0Ti2KvuQWlGglKKbAyYk67aJZmyGyg5kWCMcUDKzN/Kd84bLXsLxVEYZrCa91SnvQwEr5UVOblJLwgw/IFYfXPvHs570MUsxwwVucSez0Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736889567; c=relaxed/simple; bh=75fcOSQJdhmnq3pSXnEyg1Dd9Gtm+vOQTHqw0XM6WTs=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=W+CU1kz6Qn8mAoBvC37d9skvG208GjSu8gH2irtaRzUds87qnXjJSXgaKiPVpk674/dELQ6eKRAk78p+D6Qi1UaidMU/hWetrTCjnQj9/426HArdrMbWkS4jjlcPzN6ip6QH/Lmyg1PJZJA+EvF/rdR1XkQ0vRcVk2lkUs6saj0= 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=e7nuU18E; arc=none smtp.client-ip=209.85.214.201 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="e7nuU18E" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-216717543b7so151099235ad.0 for ; Tue, 14 Jan 2025 13:19:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736889565; x=1737494365; 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=XVbipT56M6kECF5Qh7elLUxboyXWurLrq3UYAkefsoQ=; b=e7nuU18EDzPa3x8Kv50KAwIViJ8EPVBsM8MUymYFL554zqnQ1k0kqdoOwE3/zZQ34h Zv5YBf6P4119SdKqRmOkS2GHI3dYXbrKdvCaaBEtBWjur2h43o7w6H1c1qPGdelkIXtu G7QTE76ZXoSySqTwRVnARtjL/8scp3WMC17ND1v2G7n2zP0FoP0cT2p5APgCFHADwvYa x5BgORDkBXQ57agb+txiv4aM780ASXxK3Si0GYmHYXL3vkmktoiKTk0r19w173jsgjiD jVgFCBVahj8ghRhFddNQztthZmy4qdGT9lHECb9JKGBk2A4nMITQ8kOoercLllCH+Alb Akkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736889565; x=1737494365; 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=XVbipT56M6kECF5Qh7elLUxboyXWurLrq3UYAkefsoQ=; b=KMBOMpoUhKqz1qMwKkqOZoasOCcVOgX274cEDCm8aJCRPxW21YKimm8ReoKL4gm2n/ 1O2K4H+a8ISlTPFzphXZGqG+bUrVQ9sShTLR2YCJgUM/2lYV/oDCjO8WHXCx/VWI76TC y81QIO76i64xyWG2/ogfOWYsk3wFZwjWQGQ0TgzhiqjsjicpbxWW9XIVcrz203y4/J2N XO/0uzVnPpK+j/p+US/P27ultScDwK4dC3KOy2/E61Pe/MeHUbOe7FkYK2MObdyCmmnN ogT0s1d0Ra5TUjZznP+DHCzoNfmMycpegbNQ40vRzRBiF3ZPU4gc0azRHUqGfgK2D1bx vXyQ== X-Gm-Message-State: AOJu0YzcV7x9uyiqD6dq0aFtRDxfhVWSgdyFBvZ2NTr4I8DngkKRlQ8L Awv3FynHuQiO2J9mOiPZxfzwUMHK4rMbuk/3vvNaE0GNJ2Ism7Zc4mVCXo9J5Qn9S2kyGMR7eZ0 jYA== X-Google-Smtp-Source: AGHT+IGTMIc2Hr+w/ebVVGGlbFAB7WFV7TbQJLIjfH34Jlhrw+YYPMlrag1B602JmLWOQ4sU4fLE9W3Pz50= X-Received: from plap13.prod.google.com ([2002:a17:902:f08d:b0:217:8109:e87]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:cec1:b0:216:3dc5:1230 with SMTP id d9443c01a7336-21a83ffc1dbmr401799985ad.42.1736889564696; Tue, 14 Jan 2025 13:19:24 -0800 (PST) Date: Tue, 14 Jan 2025 13:19:23 -0800 In-Reply-To: <20250114175143.81438-19-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-19-vschneid@redhat.com> Message-ID: Subject: Re: [PATCH v4 18/30] x86/kvm/vmx: Mark vmx_l1d_should flush and vmx_l1d_flush_cond keys as allowed in .noinstr 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, Josh Poimboeuf , 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 , 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" Please use "KVM: VMX:" for the scope. On Tue, Jan 14, 2025, Valentin Schneider wrote: > Later commits will cause objtool to warn about static keys being used in > .noinstr sections in order to safely defer instruction patching IPIs > targeted at NOHZ_FULL CPUs. > > These keys are used in .noinstr code, and can be modified at runtime > (/proc/kernel/vmx* write). However it is not expected that they will be > flipped during latency-sensitive operations, and thus shouldn't be a source > of interference wrt the text patching IPI. This misses KVM's static key that's buried behind CONFIG_HYPERV=m|y. vmlinux.o: warning: objtool: vmx_vcpu_enter_exit+0x241: __kvm_is_using_evmcs: non-RO static key usage in noinstr vmlinux.o: warning: objtool: vmx_update_host_rsp+0x13: __kvm_is_using_evmcs: non-RO static key usage in noinstr Side topic, it's super annoying that "objtool --noinstr" only runs on vmlinux.o. I realize objtool doesn't have the visilibity to validate cross-object calls, but couldn't objtool validates calls and static key/branch usage so long as the target or key/branch is defined in the same object?