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 206EDC19776 for ; Fri, 28 Feb 2025 12:28:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A5839280003; Fri, 28 Feb 2025 07:28:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A07DA280001; Fri, 28 Feb 2025 07:28:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8CFB7280003; Fri, 28 Feb 2025 07:28:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 6F6F5280001 for ; Fri, 28 Feb 2025 07:28:13 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 21B9880969 for ; Fri, 28 Feb 2025 12:28:13 +0000 (UTC) X-FDA: 83169280866.03.ED04E53 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf09.hostedemail.com (Postfix) with ESMTP id 7321B140019 for ; Fri, 28 Feb 2025 12:28:11 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf09.hostedemail.com: domain of vincenzo.frascino@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=vincenzo.frascino@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740745691; 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; bh=SwxJZiM1PKbMLl5TFb+H1S3C+YU9tC/VOBNswuED3Es=; b=s0Zp5Nco5wGg3TWOoJdVVf6zpPCP5ymr5xbxYGcY6STJE7oEC83bxJRa3UgzVpMKNEALnO rSHLBFBAJIPJBtkXBhw0s20UpfHeF3Y/MqKYV8BE5neBqxO79BBjnvC34xqpoAFN1FjIVW r7OTwORwoJP+KRVF0KOTEfhsOkVDIlc= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf09.hostedemail.com: domain of vincenzo.frascino@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=vincenzo.frascino@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740745691; a=rsa-sha256; cv=none; b=Wy4xOzNVMRvfeqKLhzwSi50A/GvZPRLYOtQ6vjipTMv2NWDe6LJqKPdcR64vIKvppMKyId SZOygMJdWBT1TvRNKcSMDQyd86cSMJXDKbpNpT70Elc4ITB06suyUf7LYdY8QCbfmWOOsI Yl6Ft5gQYL4MFSuwnraGzMFG427UrFs= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 030F71688; Fri, 28 Feb 2025 04:28:26 -0800 (PST) Received: from [10.1.196.72] (e119884-lin.cambridge.arm.com [10.1.196.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 612313F6A8; Fri, 28 Feb 2025 04:28:08 -0800 (PST) Message-ID: Date: Fri, 28 Feb 2025 12:28:06 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 10/16] selftests: vDSO: vdso_standalone_test_x86: Use vdso_init_form_sysinfo_ehdr To: =?UTF-8?Q?Thomas_Wei=C3=9Fschuh?= , Kees Cook , Eric Biederman , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , Andy Lutomirski , Thomas Gleixner , Willy Tarreau , =?UTF-8?Q?Thomas_Wei=C3=9Fschuh?= Cc: "Jason A. Donenfeld" , Christophe Leroy , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, llvm@lists.linux.dev References: <20250226-parse_vdso-nolibc-v2-0-28e14e031ed8@linutronix.de> <20250226-parse_vdso-nolibc-v2-10-28e14e031ed8@linutronix.de> Content-Language: en-US From: Vincenzo Frascino In-Reply-To: <20250226-parse_vdso-nolibc-v2-10-28e14e031ed8@linutronix.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Stat-Signature: i9nqjqq8cz6ftjtjihdku5uewa3p8zj7 X-Rspamd-Queue-Id: 7321B140019 X-Rspamd-Server: rspam06 X-Rspam-User: X-HE-Tag: 1740745691-950307 X-HE-Meta: U2FsdGVkX19781eKSUg98LTF7/QjwG+jfNJ500YmO/jOAKoRjjYl6aYTg/17PLeJUmEX0qUlPUphoEoZ1i1oFmyX8o68jCgnf0VFy5DN+vSp7rLdGMsABBEEQFkb8eYP8sSsIiTuiPB2GtLVlPOndDEYEeyCFiApVsXo3LTfLs8RX8aBD4e5mA00D7mLTTD5RLRcHZloml0tWOBr7KL/d3omLQQc8K8DtvOvBkvXMSLctA9QiPn9gr9j3iWi6pyaHytjsoYifHILnvctkoXL21XurDU1sReiUtb91T4jIt0jzH0hSXm67dqLSsECn6EXzY9W9wNDCayFU6y0fGa1lnxO8oubo4n7ZsUCpQrejJXwMZWPDWMesR+eYkSzh+Na6LTOtc3TyBJogKrpLEVui66QaGf09EP7hGZp4SeQlGkvGa/mrAu4Enio8LU2iplirfDpgr6A5xdDn6oY3tTu3Iit6PAYbSJk03+Hnnpuq0rdz7vVkLnezY/0SLrZzl/MKpDWfUAn7bIXg/GNGdqvMW6QFxHs9TGG8yl67ByFJ58IaV1cfkx630BtzCpYi4JqO1qGSemrivtZkaOJv19RTr6u9dzNYYXvblp2JkrqIE1G4E5S73LAPGoORyawS/RxLcuu98t+f2gooWejdsBH1/G4GLLINTWXF6YQ2Bxn/37gNESs1DC1/qmPPya61yGGHmJ69PD1JjpvelIduh//dXato/nMhanfEqI9tClXOKt/lDJ1YVuv++8Xdi3fcpScRaE7lXxMPPNY1lA2CT1ddLlchI2/Hx8c+cIS27hwlD0NvOdi8BANlJMs8qEkQEQo3FLGvNUuDUNuM5Uv3YzGz4UavuCjFdlplNcA3nseoqPRdGyiZA2Tq5+PcDVU8q0YkdSyXaAcNok7gq5KauaF7D+AU+kVFJOFjDTq6F4OnrbMeUMXPwqQbgO0zOY1aFAwwyZ1H3fmQRN3qTb9w9E LpJVFAtz mhrVas5JDFEhyk0qF55evAvcq6OCna/uSA7bXeoQR/f+8+FAvtL2YtFjs64iYEYmqkoMTt0pj+mGommDXAls8UyW95nL+woUY8HLHYuCL0KcyxpMiYEJcPGEj/v8aMQFnlBhwa2Byl6LYBf1KAZYe4RG9BDUS+e0henhxTJOz8q6y77AvVWUEIcoGovMMSi4tIyJlqNcfRX2F9AFnt5s12+1ED7TAMWMw6CRH+SwIlKdDckRffCt61stuNW7EGh3ILNPVFDzCTOoyAc15ttiZ44+b1dGEW6/0h4QXqsjR+D2yIhHKSu8nGCu3Cg== 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 26/02/2025 11:44, Thomas Weißschuh wrote: > vdso_standalone_test_x86 is the only user of vdso_init_from_auxv(). > Instead of combining the parsing the aux vector with the parsing of the > vDSO, split them apart into getauxval() and the regular > vdso_init_from_sysinfo_ehdr(). > > The implementation of getauxval() is taken from > tools/include/nolibc/stdlib.h. > > Signed-off-by: Thomas Weißschuh > Reviewed-by: Vincenzo Frascino > --- > All of this code will be deleted later again. > --- > .../selftests/vDSO/vdso_standalone_test_x86.c | 27 +++++++++++++++++++++- > 1 file changed, 26 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c b/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c > index 644915862af8883131e5defd336f1bd80736fc0f..500608f89c66b5747e3d845ebc54e4c3a35b6ccd 100644 > --- a/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c > +++ b/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c > @@ -15,6 +15,7 @@ > #include > #include > #include > +#include > > #include "parse_vdso.h" > > @@ -84,6 +85,30 @@ void to_base10(char *lastdig, time_t n) > } > } > > +unsigned long getauxval(const unsigned long *auxv, unsigned long type) > +{ > + unsigned long ret; > + > + if (!auxv) > + return 0; > + > + while (1) { > + if (!auxv[0] && !auxv[1]) { > + ret = 0; > + break; > + } > + > + if (auxv[0] == type) { > + ret = auxv[1]; > + break; > + } > + > + auxv += 2; > + } > + > + return ret; > +} > + > void c_main(void **stack) > { > /* Parse the stack */ > @@ -96,7 +121,7 @@ void c_main(void **stack) > stack++; > > /* Now we're pointing at auxv. Initialize the vDSO parser. */ > - vdso_init_from_auxv((void *)stack); > + vdso_init_from_sysinfo_ehdr(getauxval((unsigned long *)stack, AT_SYSINFO_EHDR)); > > /* Find gettimeofday. */ > typedef long (*gtod_t)(struct timeval *tv, struct timezone *tz); > -- Regards, Vincenzo