From nobody Wed Apr 1 22:37:17 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 087FB477988 for ; Wed, 1 Apr 2026 16:16:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775060168; cv=none; b=d8LNDhcFaziecUhe7cZYnfENui+PLKfqWiOMd+pMtcZqRoCN4BRvZ22kxYzDM/TxYYoJDhkZnGZXmAIV9ZFh4fQj5UdymJdTAfs2FRhwEdph2rF6elABUfJTegOg26ChxHhMjNq6sW4SGo3rxv8HIShNMI9kfZ5HUVOhxf0Rub0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775060168; c=relaxed/simple; bh=yWoxoiBo89oC2LhotltqgA/PGRaDAqLvdHMOdKk7L1I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IHBSnot5TZGD0OUbdsLa6DXs1CpQo/8mHN5j6EXM413xjMuaWARIZ3rGeaRs72eBZU8UF6wDHQG01L0mJHFGF2JHkbZkXvmGywSzoRSna4BYBg9v1hpW52sS6m6wZyBDy4ttuucGYeOfWA7guGqAZvRG7jjMdmoYtPRzuiYg/Tg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=QPCGSLaR; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="QPCGSLaR" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4852b81c73aso60994455e9.3 for ; Wed, 01 Apr 2026 09:16:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775060163; x=1775664963; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EXAbCHZXNBx8S2/Zadecwk5HUc11KM0fgEMsoxETngQ=; b=QPCGSLaRzpO4JSgDY5Lc9vB3WCuDNOtbqRJxPE0DDZXrQKhPy/Q+Rj47O+VqJoKzMm qKfzTViCx4Qav0Vch2dEUuoeqDZ4sytwsHuy9g4gw9fj4s9XS+QgMaP4ZCWGgVxL01x1 Xq/pOpbdOttPx8sUBQp2BzwqHMSatXkEWhh4qa1rDdI28B9pjkVqz8GUPbPEEvgEXZhe CXh+r+v1FNgsYLDHIyNce7ahM14tw1oc6XZdqoF8SQm+Alt12qeYhIiS6vi1dM5IDbRH tNYiPqYAfMQmej2Egxlu0vyMbjx82QJ6pZv9wB9bBhl2ZGkIZOmOTICYzo1LbKbuUxsO Rh1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775060163; x=1775664963; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=EXAbCHZXNBx8S2/Zadecwk5HUc11KM0fgEMsoxETngQ=; b=ADTnN6BdhvAfr+s/97JbgQfuw+niQldkARt40ZcG/EYa97v0gU49K1Ji+QiLo3zP2L nrIB2pYmseEAmheEp4A+SU8Tikf1dE7X8ePuOiAlVl+M1iRnFWkkYHZcM4wiVoZaFpsD W6s4HY6cKRr5EdpVvN7K5qUyy3YRyDCggSj7Eojr4G2KAePIgIk05riXGUdsz4bvVQUi Ic/TJpyxemqdP38Smex4F71VGqbkINHo6+wJGXrnfjAbGt42R5NfNX5gCkXwAJzTNNHL dIDgOoxG2WAkQT8vyR5DRf86ZfIj4GRiINV/Iu0ZCTDLYMtuUccnv1I0m8lTOTi/bVUU qOiw== X-Forwarded-Encrypted: i=1; AJvYcCW+DZ6BlokFNyLTRbPZYo3A5lQ57tMF755Dbeu20p7S/0J3P2XplpmnFiFlzSAP+ujq5HT8UqztNxAVct0=@vger.kernel.org X-Gm-Message-State: AOJu0YzlYTTgMAq1pUg41CPX3WuRLbZELZpkzmbtkTtR2oLCgRnwedEX u+cFNR9Sq6ZMqOVFmr77BPPh4vkkqqdvVHfZdqYQ4fNxb99vtC7rEdPgbSxPqdLEj+0= X-Gm-Gg: ATEYQzyXNZ58ghKuvzQCl3eEFxtGwc4fH1CZ4vhY8NUBloVwf+SNP8Od81MtPR8LY5x 57KblAlDEjb5yFjhchq/qomt4I8578p7FSnT7bl3x2hyiFvDXP9ES46Gl3af9J+jvaQm9FVknTp hS528cNRe7o2+7ljHn/j4eEY2EYOMMcJhPVc20ChE0l2bFGRYecUCY3IGySdooUfZNgYYr776p7 VNd8jah7u54bgLX6htnCVkk/ElIpH8WNwk9qCpOSfaKg8wFLhPuspOtRUZMsXEoetBzCUObYNC8 4CL5My7ipv60n4/T52hx4ldYALwjtigNLSOIDgarskHYiJ9K5VBIj1xyddp9lwIepgfhCAhWzHe UAo9CdI2z3iKlV8G8T0ve+jQtpnpq9yzgWUhUPfN10EifZjJICSSOclZvq5PEjhYGPbZ/aTBRiQ 3b3l1yaMk/qK5uU5gIuzI= X-Received: by 2002:a05:600c:4e4b:b0:485:439b:683f with SMTP id 5b1f17b1804b1-48883595da7mr83858565e9.20.1775060162775; Wed, 01 Apr 2026 09:16:02 -0700 (PDT) Received: from localhost ([189.99.238.3]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-60582e1d1edsm249913137.1.2026.04.01.09.16.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Apr 2026 09:16:01 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Wed, 01 Apr 2026 13:15:15 -0300 Subject: [PATCH 08/10] selftests/bpf: Provide weak definitions for cross-test uprobe functions Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260401-selftests-bpf_misconfig-v1-8-3ae42c0af76f@suse.com> References: <20260401-selftests-bpf_misconfig-v1-0-3ae42c0af76f@suse.com> In-Reply-To: <20260401-selftests-bpf_misconfig-v1-0-3ae42c0af76f@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775060128; l=1575; i=rbm@suse.com; h=from:subject:message-id; bh=yWoxoiBo89oC2LhotltqgA/PGRaDAqLvdHMOdKk7L1I=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QDNs03eVt3q2x4rs/lkb8sVn3NoxfdXggfjUMOSqo4BVJUx5+tTW3qaI4qr1t0JUqe1QddnBU6m EKk2iwqI2XwQ= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g bpf_cookie.c references uprobe_multi_func_{1,2,3}() which are defined in uprobe_multi_test.c. When uprobe_multi_test.c is not compiled (e.g. because its BPF skeleton could not be generated), the link step fails with undefined reference errors. Replace the forward declarations with weak noinline stub definitions. The linker will prefer the strong definitions from uprobe_multi_test.o when that object is present, and fall back to the stubs otherwise. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/prog_tests/bpf_cookie.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c b/tools/te= sting/selftests/bpf/prog_tests/bpf_cookie.c index 35adc3f6d443..a1503e8e07c8 100644 --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c @@ -252,10 +252,13 @@ static void kprobe_multi_attach_api_subtest(void) kprobe_multi__destroy(skel); } =20 -/* defined in prog_tests/uprobe_multi_test.c */ -void uprobe_multi_func_1(void); -void uprobe_multi_func_2(void); -void uprobe_multi_func_3(void); +/* + * Weak stubs; the noinline definitions in uprobe_multi_test.c take + * precedence when that translation unit is compiled and linked. + */ +noinline __weak void uprobe_multi_func_1(void) {} +noinline __weak void uprobe_multi_func_2(void) {} +noinline __weak void uprobe_multi_func_3(void) {} =20 static void uprobe_multi_test_run(struct uprobe_multi *skel) { --=20 2.53.0