From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (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 6335520AF7B for ; Tue, 14 Jan 2025 21:19:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736889567; cv=none; b=edcsO/9YdNBI5iYvlKMzlMohz91/mkFYN7iM0X3RLGnTPrmFA9fKGNxw2D6l6Ws2Bf/Ecl61Lglph08Jcl4fTgxc8CCQdvtAlya1mwcKNCAZEdAGX6YqcSNOokh4c2wyqjokdVJWd9knirs1vUCMVERE2HXZ5XrMnYGuNxFITig= 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=bc84e90y; arc=none smtp.client-ip=209.85.214.202 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="bc84e90y" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-216717543b7so151099225ad.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=lists.linux.dev; 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=bc84e90yeVo9w1vxacI6t5zDYPJTYA2UD81hCul4BEno0TH20YeQsT+PJ5AdrZ3q++ 6mBDkscVO6MSUW9zNclAIhQqaV7AwU+sqrlMeRFl/vt90DO7ZWL3IesfrvmSdHnnNJdH agBf3Dgrvg4eBscxAvUZ0Tz2fJZtzrZzET8C7o/qtFzaqY9hbvk09g2oltihhZZTxq7a yBegR/CBuSwylOwUpGU+jkhP/A5gfO9LiXEehptJkdiwiSMq3boK6BXtCXBaNdxOKP4l SI+K4Z/foHCAAZdTwyd5NICnlirk2LflEmnNcr/LUZmAeupbOYC33zebejqxnRlXKDbI NNCw== 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=j+w9xwgXOx89dcs+IDWNAyDzzBXJjWTGcDsPWLecRtDL6/ju8RS9EOUZgYzqx13zDA L/DqmsaqtNYu7Yv82OyS+sq9acO/FRrRa360JarNlXkONo6av+Nv5ItQIeWlr7OhQ++L Bso8gO03mM5WYkauCE5eEx8Tmfh+KSO6fAgZYnPrmq32f/bXZI0CppvwxWAZosXtM3Fn OBHytWmarVQ7izqfl3JbeW/QCJQTR2SQrArNwmAJr/4sYhcgjR6jEZoBZg1rn4EMc+yQ eysa5TEDKp9F/OUnFnAWP61CziI+IUH7tZJ0uG4eyHj2m4+k93PCttpAdSXK7QsqlVSO N+FQ== X-Forwarded-Encrypted: i=1; AJvYcCW57uCSQtKiXpcOzC1yipc3XVYB1GyxBcdrvuKijb07ZqKEcCmKRFvxQ3Zcgp21tbwTeVELc+slGoZN+w/Dlw==@lists.linux.dev X-Gm-Message-State: AOJu0YxqocltCLZao54InO1QyokwO82xZsn7L5YFGaBfFbTnVIH0Ej5G z5VGRO1cGnQwrmTEviG985wuakMrypOkiMhUdobU7P2+Qn9gKasnkUkdtPrlVRkVZ9pIQFjSU3E NLQ== 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: virtualization@lists.linux.dev 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?