From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2871039FCAC for ; Tue, 21 Apr 2026 10:05:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776765905; cv=none; b=J05ddqkm23k5aKm6LLU9E0hBgqk0aTYAJpEMlgbRQRRM6rn+N/hosWfDrk/G1Ti0lBi921gil5jBJNACA1ZJNarzVcDYmUble+Gd0Yuq1x10CQXLatsJ0KQNzlMjoskm89HiSZ37pCujqhoP6Yw4WJklrXnK7vyujS/VGFUBXiU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776765905; c=relaxed/simple; bh=yfBmJxKFE2B8sFZRFT6pz/Bmzuj/HOGPpJ9ua1lUQAI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=B6d/1S+alnFEDcUGS4qu1XPs0lZao94YN+Npv0wbUMypBVgL7UdzCSFLlEfTDHBEdHf+3K+ViH4jy2C8V2E4u+RIVqmTgh1zhb2SK/dm6fPOgJsNRCHqDr32sccVCqbtzUVHyHE+HmfERjacNjJ/O70izK/alGLJSyi81i44B6Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=NZ/Y9QoJ; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=GOm74OKB; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="NZ/Y9QoJ"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="GOm74OKB" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1776765903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=gLpMq3bvSknPmfM0Vr8rolbKX4splOg+Lf8VMaqkFw8=; b=NZ/Y9QoJzJfj3RzoAAZocL/Sfkpw3C7TpSQTm6s43aQ56+hbtgYRdWf+mVQFQuxQVr5mgG 8MewvMpmp1lLsA5qOruY60hHrmQ1nfYiJbbTJXyEiHqUm3L0uWpfEhwwAj51M8vTjR72QD H+YQ1yWChgmCIztHNOqCIvZ4EGMGtsk= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-21-FBsomenIPLOzxhnSPLGs5w-1; Tue, 21 Apr 2026 06:05:01 -0400 X-MC-Unique: FBsomenIPLOzxhnSPLGs5w-1 X-Mimecast-MFC-AGG-ID: FBsomenIPLOzxhnSPLGs5w_1776765900 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-488c2a4e257so30628185e9.3 for ; Tue, 21 Apr 2026 03:05:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1776765900; x=1777370700; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=gLpMq3bvSknPmfM0Vr8rolbKX4splOg+Lf8VMaqkFw8=; b=GOm74OKBfFxx/jNr2Vxll6gHIFxfZ19KdK9wGb/4i7epzStH/WuJyCEBVl/DuDNGRd ZvCT2yzkUYkKARj/ts9Qut90EOTh2bEJYP596jkaYIcXruqDYshRw+zWr4hOCwtVr62E JsL0NTvN6aCoLg/rldFsR8RfIqdRoMG7oszlN0H6EYBphEFsByPq9h5y6B4z9sENGCOT gDEj7Nrr514VMdOeQlovepiZZUsH8FUMiZ5WDh8xkzI6FMCF3hSOWD6VsIZkxTVR4eSQ 17Iuj/Nz4ec8LXFdGeDOi+HE3UGcjFCKc8dycqK4A+v/mJaLTMd4N49883n6Nw+u9JLv eFEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776765900; x=1777370700; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gLpMq3bvSknPmfM0Vr8rolbKX4splOg+Lf8VMaqkFw8=; b=QFZ5AjEWdqdGp+UoS6tns8MROUkCnexlm/OLs/ID5fxdjKyz5Ybd1y3d+9p2Uko0OS zm2Dmt/S6jWBAe0mPoj3CrIQeVeHJcKATsUR4WmC+y4gRE+VYIzv83supDewYphZ57cN KUH6X9Pu3c2vwDC4thjxjWQhqdq1ZvOFApqVFUxAmKyKOTTJabp+cIakGuaeAe3an16N pv1ecuil6ZqbbO2dUiA8G57ATYndICghQg59XIDwFusbfIXqqav4wInrLxIH9AZC+JIp gnBRucdQn3WltcDFxGpAJtDIEAu2ncTlSHJ2GBr+t/2noEkCW1elwcts8WZBd9aivi2Q sYHw== X-Gm-Message-State: AOJu0Ywf94nQT+a2hJatATEyDOOkIfiFS4QkM0duEjwrNMM7GP4mcCYh 8g+JSO0lOj+xhjoaKglE0wrXz0BTQ8Jmjr7OyeFgjtV15PsCw1i9hRxjTj2LK9kYtj2xbodKXqJ l2ADxNRRzq1bRUTiFQxTIDNoyyvc3pLWFjTmfoKtndf6oYfxfOF8hAnB9FwAqZzuDeerD3rWadg nTGHB0PKGNgVQdyVGwgyKcuF2zR01NUZprScLJLiJL89Ch8Z5bmjZZ X-Gm-Gg: AeBDieuZ0fB99qPrKaVW0nFX/kC4JRNB89QJHGA49cZy5RGdn9Mwv/O0xMm1ZQIQgRe 4ERiTX8f/328q6ASQvlNXxqVCucy5m3WDuA9iOr13EBeJnzk+CvTAwFVN1gG/SIrcCMRj/oEJmW hbS9cRsso9ZwNnBD5Hoyzz3iafrTuJzyx8wNYa0MNPnx4eWwsu5zazPj7xApufBIjYz9gjRsY3i OWJQyZS5+82WKf9x4wSCIaG+ZfxgWvn2F0pDTjLyO70eMg2oQDk+Vbjtiurp1J7hxwmP8e8DRS+ H5TJZxmf/9rhA93bt0xdK6a5UHBDLLOrosjGR1LsOX0zSAhrLBQnXGGW3cMps9yk0NAzQL0y2iC sKdqHbuFV06u2UFnX2PyS3dQMQDMaRcZhddwqcT3NyXCUqRozK+Y4RGRTVjHwE6Xj9MlccZ8wCD WAO24jv1bbEaitG+wf8iWLudE6kfYlkNwy7Uw= X-Received: by 2002:a05:600c:a00c:b0:488:c51f:e04e with SMTP id 5b1f17b1804b1-488fb765e65mr233926925e9.13.1776765899944; Tue, 21 Apr 2026 03:04:59 -0700 (PDT) X-Received: by 2002:a05:600c:a00c:b0:488:c51f:e04e with SMTP id 5b1f17b1804b1-488fb765e65mr233926275e9.13.1776765899402; Tue, 21 Apr 2026 03:04:59 -0700 (PDT) Received: from [172.20.57.158] ([129.41.46.54]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488fb72d365sm172202905e9.1.2026.04.21.03.04.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2026 03:04:57 -0700 (PDT) From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: torvalds@linux-foundation.org, rostedt@goodmis.org, Marc Zyngier , Arnd Bergmann , Nathan Chancellor , linux-trace-kernel@vger.kernel.org Subject: [PATCH] kernel: trace: do not generate undefsyms_base.c Date: Tue, 21 Apr 2026 11:04:55 +0100 Message-ID: <20260421100455.324333-1-pbonzini@redhat.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The code to autogenerate undefsyms_base.c in the Makefile is larger than the file itself. Remove the "echo" indirection that creates the file, which keeps the build system sane and makes it much easier to edit it if/when new situations arrive. Reported-by: Linus Torvalds Signed-off-by: Paolo Bonzini --- kernel/trace/.gitignore | 1 - kernel/trace/Makefile | 35 ++++------------------------------- kernel/trace/undefsyms_base.c | 28 ++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 32 deletions(-) delete mode 100644 kernel/trace/.gitignore create mode 100644 kernel/trace/undefsyms_base.c diff --git a/kernel/trace/.gitignore b/kernel/trace/.gitignore deleted file mode 100644 index 6adbb09d6deb..000000000000 --- a/kernel/trace/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/undefsyms_base.c diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile index 4d4229e5eec4..1decdce8cbef 100644 --- a/kernel/trace/Makefile +++ b/kernel/trace/Makefile @@ -133,41 +133,14 @@ obj-$(CONFIG_TRACE_REMOTE) += trace_remote.o obj-$(CONFIG_SIMPLE_RING_BUFFER) += simple_ring_buffer.o obj-$(CONFIG_TRACE_REMOTE_TEST) += remote_test.o -# # simple_ring_buffer is used by the pKVM hypervisor which does not have access # to all kernel symbols. Fail the build if forbidden symbols are found. -# -# undefsyms_base generates a set of compiler and tooling-generated symbols that can -# safely be ignored for simple_ring_buffer. -# -filechk_undefsyms_base = \ - echo '$(pound)include '; \ - echo '$(pound)include '; \ - echo '$(pound)include '; \ - echo 'static char page[PAGE_SIZE] __aligned(PAGE_SIZE);'; \ - echo 'void undefsyms_base(void *p, int n);'; \ - echo 'void undefsyms_base(void *p, int n) {'; \ - echo ' char buffer[256] = { 0 };'; \ - echo ' u32 u = 0;'; \ - echo ' memset((char * volatile)page, 8, PAGE_SIZE);'; \ - echo ' memset((char * volatile)buffer, 8, sizeof(buffer));'; \ - echo ' memcpy((void * volatile)p, buffer, sizeof(buffer));'; \ - echo ' cmpxchg((u32 * volatile)&u, 0, 8);'; \ - echo ' WARN_ON(n == 0xdeadbeef);'; \ - echo '}' - -$(obj)/undefsyms_base.c: FORCE - $(call filechk,undefsyms_base) - -clean-files += undefsyms_base.c - -$(obj)/undefsyms_base.o: $(obj)/undefsyms_base.c +# Basic compiler and tooling-generated symbols that can safely be left +# undefined. Ensure KASAN is enabled to avoid logic that may disable +# FORTIFY_SOURCE when KASAN is not enabled. undefsyms_base.o does not +# automatically get KASAN flags because it is not linked into vmlinux. targets += undefsyms_base.o - -# Ensure KASAN is enabled to avoid logic that may disable FORTIFY_SOURCE when -# KASAN is not enabled. undefsyms_base.o does not automatically get KASAN flags -# because it is not linked into vmlinux. KASAN_SANITIZE_undefsyms_base.o := y UNDEFINED_ALLOWLIST = __asan __gcov __kasan __kcsan __hwasan __sancov __sanitizer __tsan __ubsan __x86_indirect_thunk \ diff --git a/kernel/trace/undefsyms_base.c b/kernel/trace/undefsyms_base.c new file mode 100644 index 000000000000..e65baf58e6ff --- /dev/null +++ b/kernel/trace/undefsyms_base.c @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0 + +/* + * simple_ring_buffer is used by the pKVM hypervisor which does not have access + * to all kernel symbols. Whatever is undefined when compiling this file is + * compiler and tooling-generated symbols that can safely be ignored for + * simple_ring_buffer. + */ + +#include +#include +#include + +void undefsyms_base(void *p, int n); + +static char page[PAGE_SIZE] __aligned(PAGE_SIZE); + +void undefsyms_base(void *p, int n) +{ + char buffer[256] = { 0 }; + + u32 u = 0; + memset((char * volatile)page, 8, PAGE_SIZE); + memset((char * volatile)buffer, 8, sizeof(buffer)); + memcpy((void * volatile)p, buffer, sizeof(buffer)); + cmpxchg((u32 * volatile)&u, 0, 8); + WARN_ON(n == 0xdeadbeef); +} -- 2.53.0