From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67C9BC3DA42 for ; Wed, 10 Jul 2024 17:56:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AB1FD6B0098; Wed, 10 Jul 2024 13:56:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A61CF6B009A; Wed, 10 Jul 2024 13:56:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 928A86B009E; Wed, 10 Jul 2024 13:56:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 7521A6B0098 for ; Wed, 10 Jul 2024 13:56:08 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E4D831401EF for ; Wed, 10 Jul 2024 17:56:07 +0000 (UTC) X-FDA: 82324596774.20.192BA0B Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf24.hostedemail.com (Postfix) with ESMTP id 269B9180015 for ; Wed, 10 Jul 2024 17:56:05 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=KCm+QpT6; spf=pass (imf24.hostedemail.com: domain of andrii.nakryiko@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=andrii.nakryiko@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720634149; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=CCajYZpAuUNXA2jM7uwuBwWJ6/LbREly4uKERcMarrQ=; b=gRjmXq3CcDC6q+Tp7AI1Bwt2pZxo6bOA3D6SoeE5L1BvPO2Wm2iENNN6hcf+HEb96X+oa5 NvUoZuGBWUfZ6eCCNGVyfmU3IbYzFNGfwE7ZXsKG9MhObv2iGJs9034yo6WRhRZJAidmjl jrhqsu+G0TdrrhxziPGNyiI3/1CgY2M= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=KCm+QpT6; spf=pass (imf24.hostedemail.com: domain of andrii.nakryiko@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=andrii.nakryiko@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720634149; a=rsa-sha256; cv=none; b=KyXgkim2a/9m4hbU3nxt6u71CNFWPij8yVrl/CIU2nZ59sg1KKo1oebXQ3n+J4n1EQaxEK 0p4Slq8qeJ4ojxbiyP5ih44V3vNVvwYJWFJmxsazUaTiJpG+HBaTLrhSjdIn+XyUuwWSME Hzs09Wc4uos9CSmEkSgCz23JjvhWnB4= Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-2c2c6b27428so53217a91.3 for ; Wed, 10 Jul 2024 10:56:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720634165; x=1721238965; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=CCajYZpAuUNXA2jM7uwuBwWJ6/LbREly4uKERcMarrQ=; b=KCm+QpT6tffWOTmIACvfliViJq8HqLYT7ynX1Uei68y/ViWT/chaA6IrMOzv/j9jri IVT8Sq+tk6vDRC+8K1OKFPDSfPzQtYupw0KYWpbzY4zN3yRi8a7pwlPNy1P34TqZSKxi zwmFSjgUdG+lRMeIrlkSHgiZDNniUvyz3UtGvHCmkpI+p7bbwjM1j2PC7FtsfApa1lcD v93rlWjruM0K7HFAVM3UGe3p2hVlTSQ2KtYxfAoPCWXAy2C6+4613SP4oAoLq/kh9HT4 fmrA1zf4o9ZQDu7C1+0nTtgGreRjSVl+6OU3SJYMT44NCdAK8e/wINw5B170zn1GTZw/ CnGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720634165; x=1721238965; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CCajYZpAuUNXA2jM7uwuBwWJ6/LbREly4uKERcMarrQ=; b=mhv2NUlKU0QEERHk3g5Kg/OXoBzzu+EQ1UxYKRrEJafmJy5awWFDIUOEXQIKXDedYO qMgrECDhvtW/C76zSjza/sk82Obqsemt0xKbdhDXKJNMrV9gTg6iYH+DuZSiEhdVkvx6 5WM3ZKLqcd4lUrjzDz2G720AhehWgN2Y3Vup2Sih0zUocamoLF/5os14/QowV+tSLiB/ ybtDighnr01SsJre0tH2yfZMZJsMnfyG3eIg2aVU1HmipCgICGrwPVXoTWyET6nVu7K6 AaLKOR1eRdudYpbuitYhYFIJZKSLW7ZDobwzF3xCDQPlU21zE4DnfrPJWK6nOGJqJ/7x fjOw== X-Forwarded-Encrypted: i=1; AJvYcCXI5Y8xXYM/LbQxiWDmcmy7jpxa5hi2E9Xnsgr+skFsSsQjFWIUNxo93dYa/UklVDovcLO0GzDAwuUxxarZoVOrPHA= X-Gm-Message-State: AOJu0Yzrzj5pJ2gtSE7JHAlD5p5OSE/miuaBCBh7ufMCjoU1TesZOnde 3YGlmK3fTEx/vU62J95lW9hJ+qgux5PmmNZ/UK6WUObKEmQQr/OVSKqS59V2bpA9gfy59qTavOG bFx5K2ySGsV+DRHSIX0xO/qlDYSA= X-Google-Smtp-Source: AGHT+IEuSaTnZXGipdbFreupSnVfkDM61IOHIKVbupRuKm0mIZQwNCcUkC/g4yn93EsjxY2usZpPdKL8vnl/9Jg4Cvs= X-Received: by 2002:a17:90b:4a4c:b0:2c5:1a3:6170 with SMTP id 98e67ed59e1d1-2ca35d4878amr4841662a91.38.1720634164874; Wed, 10 Jul 2024 10:56:04 -0700 (PDT) MIME-Version: 1.0 References: <20240709204245.3847811-1-andrii@kernel.org> <20240709204245.3847811-11-andrii@kernel.org> In-Reply-To: <20240709204245.3847811-11-andrii@kernel.org> From: Andrii Nakryiko Date: Wed, 10 Jul 2024 10:55:52 -0700 Message-ID: Subject: Re: [PATCH bpf-next 10/10] selftests/bpf: add build ID tests To: Andrii Nakryiko Cc: bpf@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, adobriyan@gmail.com, shakeel.butt@linux.dev, hannes@cmpxchg.org, ak@linux.intel.com, osandov@osandov.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 269B9180015 X-Stat-Signature: 3rsyg68rwkdpw8b7g4fbgw8shbm8dwaa X-Rspam-User: X-HE-Tag: 1720634165-125344 X-HE-Meta: U2FsdGVkX1+ZHhGE7GeDn+KgyUC0U5KDN/VYJp5U85Pe1q1H6CPluSD7JfUSc3FECFu/N5h/+xrXfTA2jmAnQMmhAlHhBz60KwxZBgg2IOcX2o9BaMpIXLF37CDfsF1hzthuSh1rUOzDnLNtgsfS4VKMtH8hbxcjAiQDorFxNaj6OsjwFE3bnIPlzcaUbWl/gStJEi6MoX57d1/zZM+ykyb/rkC3e5eyeJci0AEhRYWbrrmqGjPtCFId22yvUel1Vy3RFSx+JRp+lw7PBik24ZAlKLevaLgM09tpmzB6IfWLc8H7Z5dNfpfreoHCuH1+FOO8Uk4eXPWm7uFCNA+RuCmApvAPwD+TMygerH0QsPsYz++Ts635n8PfWJz1veRp8Udp7GksdFWX4Swx5/Dxo9ijCBqjOqJtktGnVhPgcouRbWFGx6AYShAH75SZfVPbaAtRCcBTEy/nH3DzT4wsWqJc7jEdusiSBbsoNRnIdxw3ZGG/rESyOwY0blL5CtbT3vOdbAnpLC/8JmzdAFbajys6RrvgXXT2DTlL1spmGc/iIX5fghJ9fL8rudVxhfr+oA4KYJazCb0qV1Ptp2Tqy6yv8iktvVcFOuwxFJdi7rR+XrozufGjJzK9wQS7HSOxQyqk7AXmy7XI/g3WXDPDOFrXJU+22tRwZtb7c2QeLC3tRt6TQlng0DRmM377SNk03EFekH5hQMTodx+UIfoti5AtT+VqTaoFdOH6VftMkdy8B4AdN1hWW+TPgCG3cr73uY3oicmS7r38e6EAmQElo6m6DkVBRv7dXUYHYXPHbSTutQ3foh5Sid1sevmnX79cHltEbkPi5Pm2VBqzymS8280iQepF91+PKgf9ImjpdcF3GNOuiW9w37lU6xzw8pvvUv1mbssOUNqHpyWZgOiSs8OpAl+erXxZf/8em/nn9ppqNZY8HR4I3YAozKiBLDyf1pilYP7u7acqC8jouEZ 97dRgggi wFzls5pb1VV94cRpEAntvyTfLG55ZVDOQ5Wlvbf7cNaf0d+rTSxwGdkqoG7l/cPeJxUIs0lM/ot4bVrMT/jy4zeuVWaMuYATnYJVOU+yaofT5tSS7OFD4ZWRDIq7OZ7p0BxYNHrDWRb0NixLooqALmiW49KEEyZ2Z3LJY+wzjyjwknhyKVPFs/NhUBMOXfzAwjYEZyEyZyWA0fV/h0nB1ynDGdlCpGSCxUW0+SHV+7AYHqrJXglMaZixjyY6yfBWIAk7yuj+gMzSsT9m4V8fp8Vr6jAoVqSV3nr7wMxS0eNUJTbgSYjcu16g+YOM6DiFROa8xTUTEP5XLownaxyr1qVkNo0PlqMh8oe1E4Tcd17AuDVBisTms+2TSr3a2nZfSAJsZ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jul 9, 2024 at 1:43=E2=80=AFPM Andrii Nakryiko = wrote: > > Add a new set of tests validating behavior of capturing stack traces > with build ID. We extend uprobe_multi target binary with ability to > trigger uprobe (so that we can capture stack traces from it), but also > we allow to force build ID data to be either resident or non-resident in > memory. That way we can validate that in non-sleepable context we won't > get build ID (as expected), but with sleepable uprobes we will get that > build ID regardless of it being physically present in memory. > > Also, we add a small add-on linker script which reorders > .note.gnu.build-id section and puts it after (big) .text section, > putting build ID data outside of the very first page of ELF file. This > will test all the relaxations we did in build ID parsing logic in kernel > thanks to freader abstraction. > > Signed-off-by: Andrii Nakryiko > --- > tools/testing/selftests/bpf/Makefile | 5 +- > .../selftests/bpf/prog_tests/build_id.c | 118 ++++++++++++++++++ > .../selftests/bpf/progs/test_build_id.c | 31 +++++ > tools/testing/selftests/bpf/uprobe_multi.c | 34 +++++ > tools/testing/selftests/bpf/uprobe_multi.ld | 11 ++ > 5 files changed, 197 insertions(+), 2 deletions(-) > create mode 100644 tools/testing/selftests/bpf/prog_tests/build_id.c > create mode 100644 tools/testing/selftests/bpf/progs/test_build_id.c > create mode 100644 tools/testing/selftests/bpf/uprobe_multi.ld > FYI for anyone that decided to not look at this patch set because BPF CI build is failing. It's due to outdated libc headers that don't have MADV_POPULATE_READ constant. I've fixed it up with the usual #ifndef+#define+#endif block in selftests. I'm not going to send another revision just to fix this up, I will wait for feedback. Thanks! > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftes= ts/bpf/Makefile > index e0b3887b3d2d..45f67e822f49 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -762,9 +762,10 @@ $(OUTPUT)/veristat: $(OUTPUT)/veristat.o > $(call msg,BINARY,,$@) > $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(filter %.a %.o,$^) $(LDLIBS) -o = $@ > [...]