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 B1684C05027 for ; Thu, 9 Feb 2023 14:04:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4FCF36B0072; Thu, 9 Feb 2023 09:04:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4845B6B0074; Thu, 9 Feb 2023 09:04:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2FE766B0075; Thu, 9 Feb 2023 09:04:53 -0500 (EST) 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 1C1316B0072 for ; Thu, 9 Feb 2023 09:04:53 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id DE086140F0D for ; Thu, 9 Feb 2023 14:04:52 +0000 (UTC) X-FDA: 80447924424.18.8DBCA75 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by imf06.hostedemail.com (Postfix) with ESMTP id D506118002F for ; Thu, 9 Feb 2023 14:04:49 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=h0abjL1+; spf=pass (imf06.hostedemail.com: domain of olsajiri@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=olsajiri@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675951489; a=rsa-sha256; cv=none; b=3pIKXIiPzYln5SkJoTYSBW57GtvoDi3wWe4vFB+jswVqeu98v0867biS9nqzGF8a2rDlYV Y25r+sW+8gWNEHpiD+bPFHgmks1F1R/SigptXq4Ri/a1L6R7PQAgMm/L3ArDPR8AjCW3lu cnR12S/at+2seXEmr4MTDvBFav0JoB8= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=h0abjL1+; spf=pass (imf06.hostedemail.com: domain of olsajiri@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=olsajiri@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=1675951489; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=csJasq92cQmgdlmc30exQ4r04Rw6v9M4O3MDFtr27zU=; b=i93qUyht04yJxYxAoKEPX3QFQ4j8OCYhWcukmZNwF8Gl3JaNX2frw7+UoFF1S9kTjcppxY 8n59rPvoLcyfAJz+d6M9MXibROZEuxfXdfGf7cnQlc3Z0AXYizSNqJSTL2mKi4zJdV0fb6 daP6IOful/v+xuq5/cyMTEJBDLivO4U= Received: by mail-wr1-f46.google.com with SMTP id j23so1925108wra.0 for ; Thu, 09 Feb 2023 06:04:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=csJasq92cQmgdlmc30exQ4r04Rw6v9M4O3MDFtr27zU=; b=h0abjL1+Fen4Sbn7cI38Zvq0+OE80BaF47mew5oxIgrZRQ8iAsOkgh9otxAMibYgEz 8u26U1vP7VQqtgvUCZEWWeGp8qRomJ1ChZjGmZH5gQuMOUN6Daiqd9Lqm53GXnihOPJV lhTz6YhE5az1B3chsM3RNtqfFJCTNTF+zY2ZY5UeevQ4Bzg7C/Wi3wQYuJeoEZZ6ABjm 5eFaz6HXmGSZ8tieqbCPdOCOYWDBuOzxpU25ZOXMmPQCOgW7rTEvLGvFcY9oeFGI30B0 Tosn53R2OAEVjjkbwLQp5xhsl49dT8+3Hhl8/V9CzDYXG+09TYtOAaXiemsksIdwIukE C0/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=csJasq92cQmgdlmc30exQ4r04Rw6v9M4O3MDFtr27zU=; b=O6mCjQbZ7Axi2nGEq1dZKPKhqvPMXKxRSI5B2TF9Qx/7j+YFZBb/5VlDyF23aY27rN FtOVfjZUh07TKpPYulLC4P4Nb9LxMFv9wt6oGux9SvdVWqYj7tV4MD2oGmbE2yVJlUdd RoybEHrA/D0CQmW+ukX6tSqSkAknmjwqwFkZ1zLP5ZkwFfU7pCw5/XH+2Lk7cizYCMiQ Tsh+UPoKsjlCBzmQ5Mdh5Zs6CFgB/ozqf7/QrJPhh2u0ZdZAVANL7y7C+xGVQpTyxI1T UnSUjfsjzIC/UXa7OMjnC6PTGAvvKppefs2hFAsNgTLFnG2TA+QEuXC41DxtP/H3FoF8 Ytgw== X-Gm-Message-State: AO0yUKW4Je4PwlFVce7HP0+nWZYqme1+wjwPlmmztzWDUkTb7n//AbRj 3T65bB/m+fKWrVJoFsxoXTA= X-Google-Smtp-Source: AK7set93VTtzQGNnswlfV0x9Tfe09Pc5BJ7Uwp3cFtmFXXGx8IEP5S/ev69y3JbXDBJj/rWyuaOyyQ== X-Received: by 2002:adf:f40a:0:b0:2bf:d937:3589 with SMTP id g10-20020adff40a000000b002bfd9373589mr1969372wro.14.1675951488305; Thu, 09 Feb 2023 06:04:48 -0800 (PST) Received: from krava (2001-1ae9-1c2-4c00-726e-c10f-8833-ff22.ip6.tmcz.cz. [2001:1ae9:1c2:4c00:726e:c10f:8833:ff22]) by smtp.gmail.com with ESMTPSA id e1-20020a5d5941000000b002c54241b4fesm248687wri.80.2023.02.09.06.04.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Feb 2023 06:04:47 -0800 (PST) From: Jiri Olsa X-Google-Original-From: Jiri Olsa Date: Thu, 9 Feb 2023 15:04:45 +0100 To: Andrii Nakryiko Cc: Alexei Starovoitov , Andrii Nakryiko , Hao Luo , Andrew Morton , Alexander Viro , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , bpf@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-perf-users@vger.kernel.org, Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Daniel Borkmann Subject: Re: [PATCH RFC 4/5] selftests/bpf: Add file_build_id test Message-ID: References: <20230201135737.800527-1-jolsa@kernel.org> <20230201135737.800527-5-jolsa@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Queue-Id: D506118002F X-Rspamd-Server: rspam01 X-Stat-Signature: d8cc3np89qy86tphdcy6smkqjnorw4a9 X-HE-Tag: 1675951489-554315 X-HE-Meta: U2FsdGVkX18Uqcp7upZ0/DergFJQVKsxls86g331qPJrCF1/asJO0Pot7l0uAbtVhhhC4fO7vaZMi2NGKl+eWvDUy19maXm9CR/rXEE1k5DXMHPhxhZcDBf+vTZ4MgNo3qGx96KytAtz5Hjh6SBb1LCf3aKQo0o6oRsw4vE0d6AQ6IRH04btA1PtEYptfcYLg93QwrCaM9/9Kgoq++by156Gc+1y2Zz0Gz2antny1v8Ysch/xQMic/91CntdzSQw2XnlaRtoMOQnX2MBhOXyvhrOQrNsrMdMG87i25Xr6htLjsc+WWuNDJB2F0rNvanZibaEB8XCzn1igx7FNmBaiWF9xFi+QSTrW4L5C9wF4A47j576yvA6z3JqIHr6LycFpzPBQydnFwT0NkRnDoYWNJNkq2sgkf/Pq0VWosllq5NjY3HhIcgHqEAWqrz8CTbgNYvw/6JLBWOCiCwvh9Y4WXBochBQSppi3pCFjOMr9ZXsHEJfqkhVPC5LC2qpsAtXifNbZqbcaAMx1PZVFpcn2r6/lQyrBT6Jg3evzBIzcL2XNIVH2qchRPTMtun4LAcI6un7nxpBWAlsw1NySOCRtsiE69rHjilPx4QSeCmikDygbwn53VLZZcrNZemjx4M/dGcUdANXcppou+2lLpjTDyVSR9M9944XEWWKCqPEOhcHedq6qvZATvFKdCHFx+5ho+qJqP/CTdgErWewIIFy3pWzKeLtfnpJrsTpVAoUK7WCIcdLDONGq+OG52mS39bYObRW9sDRZKnq06sK6M3A85dd1uodFULwMETszHl+Ab0FUV7J/OexF6VICo5RR+Ud9SKWq/H6dXImtUv5w3wQmO/8ntv70A65RZo/nUjICU1s2bW3iX0WNvdLaEnQO0eXSJhLBJnCWK71iq+8Ch0Kv3412NwUjOMFoKWOXH3n4sX5DMcbFRA1m9aWBpJNStoE4dUFjaolPbRfQiYpZKe FFTIDhRe AtS47KBTQJ230lOOPbrMa8YrwW+bYsjm4GRXhAmLpjscbLjnNGZozHMBfmCHLCzH2K9eu5uOdHxlPPZNG0jHkgcJnZYAuDT3kyo4vVADtYtiZ41SR1jFNI/rm+4T9T14X0rxL2g4UyKU6UXdlSOxGod8us71GKmqyIjj6OK5vdm/XqP53x7bAgea1bMICIjbLtD4FRCIVnQT1hVIuBl/jN13Z1wn0Hqc0okMyhSuZGLQa6yth7Z/OjLTeWOI9aa03R3ft+0BghRB6VZ42YHPL9I3tCRTmfVhh2tgGWvMO0f8ZTsiMJ86/xIBH4L05q9VgXLh501GjpmmJ+ymJ0YmFrYZw7EqPCtEpgN0LoOtAo33RZT+sSYBa1F61/rWxe8mv7Xq6+dDOtF23YQcy1lb4zweSKDOpw5b5NG8PPBNPxHcafVfosaZ4Gk/D2psuHNTVij/LP3+R35GX5HOBJRJCxjlgu3NicCq/tS4I8dAg8P6kchWdC4sUAnCVDEMYqWav7kUlwDrsSa2VULJnFgR58fXOKr8vhdCPUfgeqMdLL8PmVBM= 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: On Wed, Feb 08, 2023 at 03:58:06PM -0800, Andrii Nakryiko wrote: SNIP > > + > > + /* parent, update child's pid and kick it */ > > + skel->bss->pid = child_pid; > > + > > + err = file_build_id__attach(skel); > > + if (!ASSERT_OK(err, "file_build_id__attach")) > > + goto out; > > + > > + err = write(go[1], &c, 1); > > + if (!ASSERT_EQ(err, 1, "child_write_pipe")) > > + goto out; > > + > > + /* wait for child to exit */ > > + waitpid(child_pid, &child_status, 0); > > + if (!ASSERT_EQ(WEXITSTATUS(child_status), 0, "child_exit_value")) > > + goto out; > > + > > + if (!ASSERT_OK(read_buildid("/bin/bash", &bid), "read_buildid")) > > can we use urandom_read for build_id ? And it would also be nice to > check that build id fetching works for liburandom_read.so as well. ok, will be better together with the shared library SNIP > > diff --git a/tools/testing/selftests/bpf/trace_helpers.c b/tools/testing/selftests/bpf/trace_helpers.c > > index 09a16a77bae4..f5557890e383 100644 > > --- a/tools/testing/selftests/bpf/trace_helpers.c > > +++ b/tools/testing/selftests/bpf/trace_helpers.c > > @@ -9,6 +9,7 @@ > > #include > > #include > > #include > > +#include > > #include > > #include "trace_helpers.h" > > > > @@ -230,3 +231,37 @@ ssize_t get_rel_offset(uintptr_t addr) > > fclose(f); > > return -EINVAL; > > } > > + > > +int read_buildid(const char *path, char **build_id) > > +{ > > + char tmp[] = "/tmp/dataXXXXXX"; > > + char buf[PATH_MAX + 200]; > > + int err, fd; > > + FILE *f; > > + > > + fd = mkstemp(tmp); > > + if (fd == -1) > > + return -1; > > + close(fd); > > + > > + snprintf(buf, sizeof(buf), > > + "readelf -n %s 2>/dev/null | grep 'Build ID' | awk '{print $3}' > %s", > > + path, tmp); > > + > > shelling out to readelf for this is unfortunate... maybe let's write a > libelf-based helper to fetch build ID from .note section? right, I was thinking of that, shouldn't be that hard and will speed things up thanks, jirka