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 DA5C6C021B8 for ; Wed, 26 Feb 2025 21:19:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 70396280002; Wed, 26 Feb 2025 16:19:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B0EB280001; Wed, 26 Feb 2025 16:19:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 59FA7280002; Wed, 26 Feb 2025 16:19:04 -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 3E96A280001 for ; Wed, 26 Feb 2025 16:19:04 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D5388160C10 for ; Wed, 26 Feb 2025 21:19:03 +0000 (UTC) X-FDA: 83163360966.26.A125E4D Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by imf19.hostedemail.com (Postfix) with ESMTP id CE90D1A0011 for ; Wed, 26 Feb 2025 21:19:01 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=UJJIVRs2; dmarc=pass (policy=none) header.from=linuxfoundation.org; spf=pass (imf19.hostedemail.com: domain of skhan@linuxfoundation.org designates 209.85.166.51 as permitted sender) smtp.mailfrom=skhan@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740604742; a=rsa-sha256; cv=none; b=dbQlP2DHeR42q9xWd03QAFSFh2Dh8Kanl7tEVnOpw4Jq3tFPERnFY0A3/+6TxNiQxctcgc kdPglFXsUosRDj7lR46Uz21MYwTCKbKnIGNsecSAFrwcgz6ZmErC55Eb65IipLDAXKzxN5 SmMYfpdJxLWGRelsMKJitVj4SymXnT4= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=UJJIVRs2; dmarc=pass (policy=none) header.from=linuxfoundation.org; spf=pass (imf19.hostedemail.com: domain of skhan@linuxfoundation.org designates 209.85.166.51 as permitted sender) smtp.mailfrom=skhan@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740604742; 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=1ZbQT0VE61svKMbdd+Gr8k060Ven1mqK+4ryvXWXDro=; b=lYXQhLh03a4MbT58zBFwMEWMcGE/lTeNpCfmvevFmZOMgz4wfJlisydI6CwNuTzRCxtoxY DHRSzfbJePBEu+6lEQGf9wuWJ4o2Mq+WHNWeaIdw1NZHpWChP+WGrSFNvCGM/144i5U6Hm aM310R3cIGTj/AhzdS8WNpzBivZWD3I= Received: by mail-io1-f51.google.com with SMTP id ca18e2360f4ac-855a1f50a66so5694339f.3 for ; Wed, 26 Feb 2025 13:19:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1740604741; x=1741209541; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=1ZbQT0VE61svKMbdd+Gr8k060Ven1mqK+4ryvXWXDro=; b=UJJIVRs2Wob08EVTw5Q/LJJclaWjW7hOQEnDZm9CJlFzrpqkSDYVbilpfpuxVTK58V K+4xWwktjnfwjWrbaKyaYHnvNRN86I7dH/L9bwD8d7YXdsMNe9WbUbzr5qByUyZUd8Mc Uns4+/c9XV0NvODvamjyhP75LSTxTkOFwV45Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740604741; x=1741209541; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1ZbQT0VE61svKMbdd+Gr8k060Ven1mqK+4ryvXWXDro=; b=RUQifo9ec5szjhdnbwXxAfcDysS+PN1s9nCIC8f+nrtSKNGLP8/0Diyv2lh7MitqUd Mmp/xnjzuoDu6uPPEZLfaGDtx2ASJ0laJ9/TUfe7Rwjby95rADSbpGlIdfqs4W4m8tUK u3j1n39MysUtyGm93BkteY97hWLbgpcijLbzHbgcom/Sv6MLie7oS5w1nhvVYwUvc80u UTIutkyZn/eLBGLc3quTlpY3TJSgzeODKQfm7DOC0NyirS/HspRwTUFl4EvEKyIVYBsf A51XJDWdZ3UUL17zjipm7qUutWKVIlCF3VIBX7RynGSgUWLgpOUIqD23Jz6jFid3Wa2X BTsA== X-Forwarded-Encrypted: i=1; AJvYcCU3tBeLlmsJXDqgO4D2+WmRclzbPHyksE69SAJPfaTfwIGov6TJjEiYYpeRmvLqJO4sn5a+3F5USA==@kvack.org X-Gm-Message-State: AOJu0Yx1VNsIZrhdisoalUwk1PnSdFs4wg9A4kNypA3fZrTaXXnZ0vh3 nGyCDvqqBayrOgLhuuNeQHFko/fEVUe4/p3L7lH87XhRLmpvzsTYeTnaLoJAA5A= X-Gm-Gg: ASbGncuRP0Rz1atFCIJq6EMwzFbqAfN1afbaO16biiWlq8/oQmjJ+5Xi19rcCtFZsQP l91KPABceJ49SFLCVGqnFwQuPX5XbW4qPdy16KU1+TcQJfypXTmh0hrXOv9jj5ietq2ZuIcEAYt vUR8LV9fjGYMFXmfoFawM3znTQfCEzk1klQ4X2Ac6FK/DwCTbGOQj4uQ0/hWFKyX1fZX6RZKjmE 1rGmJDOAY/o2OvukZH8Bf8VFH2yK5xmGOGNpQS0Qt5f+/EGJSeseZ9LgglUgl3mLIOfyseCMCya 86MBRzMr864FYmnuFsmQIiFJTfDU4TGp0BYb X-Google-Smtp-Source: AGHT+IHg/BsbrgiJltrFchrlWBr0v+eZMH3MictkWOtFDu7d/SE6nIbG1gWpAIgUIS6K/fYcfLTKKQ== X-Received: by 2002:a05:6602:13d4:b0:855:9c88:7894 with SMTP id ca18e2360f4ac-857c18025c7mr464165939f.11.1740604740789; Wed, 26 Feb 2025 13:19:00 -0800 (PST) Received: from [192.168.1.14] ([38.175.170.29]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f061c550a7sm33193173.48.2025.02.26.13.18.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Feb 2025 13:19:00 -0800 (PST) Message-ID: <51fc3603-bad8-4ff7-9e72-88858812e3cc@linuxfoundation.org> Date: Wed, 26 Feb 2025 14:18:59 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 00/16] selftests: vDSO: parse_vdso: Make compatible with nolibc 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 , Vincenzo Frascino , 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, Shuah Khan References: <20250226-parse_vdso-nolibc-v2-0-28e14e031ed8@linutronix.de> Content-Language: en-US From: Shuah Khan In-Reply-To: <20250226-parse_vdso-nolibc-v2-0-28e14e031ed8@linutronix.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: CE90D1A0011 X-Rspamd-Server: rspam12 X-Stat-Signature: cdi1nifagodskm9gonfwsq5ju4y9q4om X-HE-Tag: 1740604741-623070 X-HE-Meta: U2FsdGVkX1847BFefNV3DqQ2sKTer68uHSHtIF56ZiLiH/TYpCzq5s7nZeZw7emp3DHym7dszq+pYU3Vs8a4CsbFIWIJq58qebJJIjUMqIqkkXWIXXR14jByPk4g5fySvHwUZt+11VkHpt+djrtSojmG5Ueso4hqWSoSwuXFFJEV7rwf+WDFGcTPPERIUm8gZAsMsRwsNo0byOujakQQoNrgo0gM4rrE9GDj1CSYRDCKEGbCzLPYcqcBKSvubvHsG406c697rE+5OhHAfh6PcvfaaBy/nLi7bMD1EkxjzkCykD1ls5gHPX+70l5psVq0rrUfkGJKij/DOEQ8tJzG4V19v2W5W1syifK1roCQMkegBo/3dI9n820mCovmh0SJX7FPTuaR+azzw3QFQeA+a6s/bly620WXi1cQhfommaSAb+f83G2+SbO9r4IVFC2adk9uzOiHk7IUdjh3kTkWOHAyyk9PRt9n+ebgFOFUq01dXbeYqKJoKpfoYkKTChcb82LVMBtKpZerDYda5+RZpwa5SSUU74W/aIJxYYKRHFfw5OQXjr/xvK3pD+CG/O6zm92jv7JAlQQEG+U0zOLjhE3/Y/MInfjIiEzDm9+JBKSnMnGtf5L6SaMhfPq6w1VpV5wHQH33VydxWQ4Y8YOZhPwEjHNpXPNuu7AlyRf1dijfB2O7LQ6jVafBfqwzfoegJF0ApmuLlqyLQyoE4VyAerBzhYxuobFjStGzawI22uE19peWaGOdxA3Y7QZo3JYTNxbkejU3oda4k8LyA1EgMqLaAY0FWEv1WKJkImPJ/m3R/81hFGcsImXv3RTB4qEYO2JRpTFdY6T7fpGeOjWbl/UsR0i3RtnPS/iyQdFrZ5lKzisvihJ5R2tz+o4lZoGiJB9ur/P0X1QQvBquIBBqfgNlir5A+HgvsvodLDG1XZawjF60jLFuOjj+1pkXfqVONsLZvKfRCrwa3c9k0s5 yMhVgefy D6P7IzWlby1rImpGfyC6v0Ttg9EUFiUPhgRGSZZSUg8pZ7vvuraUm6i8IBoGro4tyanpQwsg8q37+Vjah4ZtxC0J+PHUv+Db0EE5sZPmSgTuXfGVZH5NO485CTD74q+F7SzwkkY0wv/S6Oj8/1Hjt3AwiQVRMXL661zXXvkucJCEN9pzcpP3r5LGPtitEO6284yOW6m/bh6jdq2bll8hJAVSV8OPXhtNuB+mF+R4nQ8N2fkLT8HQfqMWrrJ3MeSjv8nbhTFz6lNyIXEF+V5eTI+9qWrTxZGAySDKimBuqy62Tamx1h/lMOmcyjotz4sJpMqeTnF0ASud8PCo4FZbQiHwCxcJgFZudw4gkBmq/axdenLw6veopskiU+CUSI0nMgufT44OTcuwG0DZga7yQAyrqWV5Qes69yRt7x13HXy2vWLaV31JcQLcz3onupxjT6ZTDWycj4UIvpnYrPswbHaFZaN2rg25jFrIuk1rxDv9eIRIYE1lUaX1JW1EmkXtlviyf X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 2/26/25 04:44, Thomas Weißschuh wrote: > For testing the functionality of the vDSO, it is necessary to build > userspace programs for multiple different architectures. > It is additional work to acquire matching userspace cross-compilers with > full C libraries and then building root images out of those. > The kernel tree already contains nolibc, a small, header-only C library. > By using it, it is possible to build userspace programs without any > additional dependencies. > For example the kernel.org crosstools or multi-target clang can be used > to build test programs for a multitude of architectures. > While nolibc is very limited, it is enough for many selftests. > With some minor adjustments it is possible to make parse_vdso.c > compatible with nolibc. > As an example, vdso_standalone_test_x86 is now built from the same C > code as the regular vdso_test_gettimeofday, while still being completely > standalone. > Also drop the dependency of parse_vdso.c on the elf.h header from libc and only > use the one from the kernel's UAPI. > > While this series is useful on its own now, it will also integrate with the > kunit UAPI framework currently under development: > https://lore.kernel.org/lkml/20250217-kunit-kselftests-v1-0-42b4524c3b0a@linutronix.de/ > > Signed-off-by: Thomas Weißschuh > --- > Changes in v2: > - Provide a limits.h header in nolibc > - Pick up Reviewed-by tags from Kees > - Link to v1: https://lore.kernel.org/r/20250203-parse_vdso-nolibc-v1-0-9cb6268d77be@linutronix.de > > --- > Thomas Weißschuh (16): > MAINTAINERS: Add vDSO selftests > elf, uapi: Add definition for STN_UNDEF > elf, uapi: Add definition for DT_GNU_HASH > elf, uapi: Add definitions for VER_FLG_BASE and VER_FLG_WEAK > elf, uapi: Add type ElfXX_Versym > elf, uapi: Add types ElfXX_Verdef and ElfXX_Veraux > tools/include: Add uapi/linux/elf.h > selftests: Add headers target > tools/nolibc: add limits.h shim header > selftests: vDSO: vdso_standalone_test_x86: Use vdso_init_form_sysinfo_ehdr > selftests: vDSO: parse_vdso: Drop vdso_init_from_auxv() > selftests: vDSO: parse_vdso: Use UAPI headers instead of libc headers > selftests: vDSO: parse_vdso: Test __SIZEOF_LONG__ instead of ULONG_MAX > selftests: vDSO: vdso_test_gettimeofday: Clean up includes > selftests: vDSO: vdso_test_gettimeofday: Make compatible with nolibc > selftests: vDSO: vdso_standalone_test_x86: Switch to nolibc > > MAINTAINERS | 1 + > include/uapi/linux/elf.h | 38 ++ > tools/include/nolibc/Makefile | 1 + > tools/include/nolibc/limits.h | 7 + > tools/include/uapi/linux/elf.h | 524 +++++++++++++++++++++ > tools/testing/selftests/lib.mk | 5 +- > tools/testing/selftests/vDSO/Makefile | 11 +- > tools/testing/selftests/vDSO/parse_vdso.c | 19 +- > tools/testing/selftests/vDSO/parse_vdso.h | 1 - > .../selftests/vDSO/vdso_standalone_test_x86.c | 143 +----- > .../selftests/vDSO/vdso_test_gettimeofday.c | 4 +- > 11 files changed, 590 insertions(+), 164 deletions(-) > --- > base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b > change-id: 20241017-parse_vdso-nolibc-e069baa7ff48 > > Best regards, Here is my Ack for this series to go through vDSO or x86 tree Acked-by: Shuah Khan thanks, -- Shuah