From patchwork Wed Feb 26 11:44:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 13992104 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 DCEDDC021BF for ; Wed, 26 Feb 2025 11:45:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 519B2280007; Wed, 26 Feb 2025 06:45:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4A3B7280003; Wed, 26 Feb 2025 06:45:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 343B9280007; Wed, 26 Feb 2025 06:45:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 17024280003 for ; Wed, 26 Feb 2025 06:45:23 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 508CBB690D for ; Wed, 26 Feb 2025 11:45:16 +0000 (UTC) X-FDA: 83161915032.11.2F0240E Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf17.hostedemail.com (Postfix) with ESMTP id 5C1DB40017 for ; Wed, 26 Feb 2025 11:45:14 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=YjdFSRuy; dkim=pass header.d=linutronix.de header.s=2020e header.b=NqgJ2Fef; spf=pass (imf17.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740570314; 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=bkCRw2BpQUYAjvfhyaUo+iyDwhLAUESJLqMGOQ+XVwI=; b=3YEa+TJxQEcbBcbvUgtMLGzaYolXGloxPJeFSoMCNIfx+IWyHKKOZf/MM6ImCYeGlH5rHC Ls4ytV93iqeQSmiFf79+eDeJRYP3dzE6zufyKLkU9mvR4uLdawCiOUFwbkBl0yYjs9FVui 4qiMQDyfZNdae+WF2MZzUTqMmbX9yso= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=YjdFSRuy; dkim=pass header.d=linutronix.de header.s=2020e header.b=NqgJ2Fef; spf=pass (imf17.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740570314; a=rsa-sha256; cv=none; b=6K7mJNnAZvXVZaHVKRt9HmJjMTLnVRB/DC7uA6GNz00/gTsuJP/KQX06O98jW7HUdSefOb TZ5bU1eObWVLxusjGsdjFpoKet31E56AyHwv6dUiyJb+ck8QU0FlV+REm+KkYorhUEa7Ae FuVjmjdc/nXx8JZMZ90dH8o6f6GC8+M= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1740570312; h=from:from: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=bkCRw2BpQUYAjvfhyaUo+iyDwhLAUESJLqMGOQ+XVwI=; b=YjdFSRuyb91zkSTPvJ8cgiS1svich7dObnXdLP24CYPu3D5EQrrVweJJQnvReCGRuxeEdn 5XC6Grer4PT+zGmGd6bcuCUeAwpG1bX7ALed3vso/6rIEnY1OdfnW21BzlLJQNzTJnRcDK V+gfY+69wDAOWdpsPYUa9GK5r9CE8RIAPU44kjN53A1d7DqSKuuBPb6Uxa5YJcevVAhlB3 o6Bp+HknlhyCZejpdymUi+tbdQ6TvwDg+UbYoFvfthEvK0BtqLFrTALKt2tEKMyqBtn6U7 R2HcDJIS2PgQDgXU+7guk0pzWRZJGKt0LVC+MqiTCk5oQFhCw4hMxJDalLXqoQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1740570312; h=from:from: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=bkCRw2BpQUYAjvfhyaUo+iyDwhLAUESJLqMGOQ+XVwI=; b=NqgJ2FefRdRXfd22mRV3zWNKN+hKj9Uq/0fpZT08jqL33unPCrnhLCKAx/UEbIOAznpOpz kSX0oMt34JymlVBQ== Date: Wed, 26 Feb 2025 12:44:45 +0100 Subject: [PATCH v2 06/16] elf, uapi: Add types ElfXX_Verdef and ElfXX_Veraux MIME-Version: 1.0 Message-Id: <20250226-parse_vdso-nolibc-v2-6-28e14e031ed8@linutronix.de> References: <20250226-parse_vdso-nolibc-v2-0-28e14e031ed8@linutronix.de> In-Reply-To: <20250226-parse_vdso-nolibc-v2-0-28e14e031ed8@linutronix.de> To: 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, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1740570307; l=1560; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=f0elSrf4G5nhNoS671eA0MwXLIFN+3JjK3K2nUIR4+Y=; b=XqArEjVM/ETm9hIaH7qXWZUILAITcT9I7PEhlL1NXqPj1HuOR3bmJ792iqIy/A/oOqMP2t3ft TQ3c8kUy3wZC2IHOaunkr6mjGBwCzhkfBG0tTSfQNu+CFOefmVG+fa2 X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 5C1DB40017 X-Stat-Signature: defkakxbd6m9o94zmpk4xpug9iiprnja X-HE-Tag: 1740570314-136599 X-HE-Meta: U2FsdGVkX1+g1r4mlAor9EHfSUolnLJ0+e0T2Bl9X9mtqaUueLu7tV3EifsMrqNNdRMVimQc4xk7quQh5cY0nW4De2e8e8KN5MYyHMYr08k7iDA2iBHcqFzEXSf/Gwy+f47XsWm90RndcZdGSi1ts6Vd5j46TuBCCUJAPYtFVIPXhiH7foHsYlISSLDaIEa1yUWeICHnh2ScbSXIFECfPGOytFciN4HfMdoLj0VJ5Vs3xXZ5FzRi7rsxz5U9BPVNpJpA3TWeO/JRBzKV9eE1NwNMAQgLK1tYK0NHWEQetKTjfbDPUNil+YQ/6pBPsipbLqQWQtgZZRJ+ar/Qdm9WJTmwzKBeIG8M5sN9XKBf9edEv34KwvSnzBGXZviQe2Zv/B00WQIpM08/qRbPkcansObz/CJKmsBXEfsXvcDPZRnjvknaC55qtDHxDwRGGDZ6GyCHjGz4CYnGDGkgeJhg4VSzmez6Ry1kxRiLMEn3v9y+C0Q5bCdNI9c8rJZWb6R3aG51b7cRt+wHqXNihTQXubCQfd5uNVT52/3ktUZ5U28dgBkXDvy8xoXn7l+PtD2Gd623B3Iz3lDJJoghYpylq400IOat1gaktZXf8e80OZYmgAnnKaecf72S8ysUSsiNmF3dnDGR3Wd/SAaVSSTYKBizjoHlfUu+UqGR7nIaV0i2oF2ADxoldePZF0ELIJ6l11p7UIS0+0QXCXzo+GVoVk6GCudP2lin4obnMa7MFOpTWhsuv3j8d3GpAIiHBCf2lR0itPuEpv5a1g82LMCC8kXxKSCAB4+0UAMDQaJ4dCONZrGbDaSr9DCCWyGZ5i5InydKA+u0gkqH9WgMsBi3ypCC/lDxmEpfxC2V82vnrQVQYmRysKL9uLiHvrQlMDz7KkB68610DAiPA4rWAxi4ctGUhLy/E+UE+fZJ8VbN5cuNTThqy3zK7D6BTnonEEZmxFVJeLGKaKVy9wwM3xC Bqs1I5oG hcZ64SBX9XSxFC7a7H2Lt9HYB0tr8QgsKAY4QR8G63zujRuMiNc2rI91U8sH+iTV6bfNobd8EvYpgJDPlo+3pdWCEBpuoh3dBZSo1hdQcKGoKHaZXUpj1z3ELlCd++XV4a4ZHElm6pBbfO+qLP0PSkV85PGmyV3MkT4tLeFwYAWW7WO3OinzEbiMML/iyh+UwRSEW/wdiIz7K9gJOB7vea1LHUAKv1FG3Ufm/LdojQk2J6gOvAIMlBOkxq4EVApCM+o/hMgZc3pBfk9OjJzBXiho3oaUR6+iZoLmlsxskUz5pp9DlOMtqBoP06wLuXrM0/NWXJbPZDkEJfqrW2TF1vPBobQsRWTM+VKsWzovKwdQh1Z/hszjbx9g0qHNlngKrM2BdDTQLHDH2nw8gmdMMQ/o8fji3TFjM10x7KY91kHQYE4tX9lIRxRQ2IOxWu4wE+OkvBg7CTfmZ6lA/6c5s7v0uRmKJRrrKGS4/ozDt1ojqRdj8XQ4FOXv8Gn3LQhwPXeXUpj5vtvX7MrXOGuMcBru6j5AjC4H2x5KXq839UL4tmyt2er2qzMKFV7q9PV4tpWc9qPott+yYQoW6ajGfllh9lw== 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: The types are used by tools/testing/selftests/vDSO/parse_vdso.c. To be able to build the vDSO selftests without a libc dependency, add the types to the kernels own UAPI headers. Link: https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/symversion.html#VERDEFEXTS Reviewed-by: Kees Cook Signed-off-by: Thomas Weißschuh --- include/uapi/linux/elf.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index 8846fe03ca5b836c96aad1be6d8fb9daf3d4b1d9..49f9f90458d8ca8e7b8f823d32be0a719ff827b3 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h @@ -491,4 +491,34 @@ typedef struct elf64_note { /* Bits for GNU_PROPERTY_AARCH64_FEATURE_1_BTI */ #define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) +typedef struct { + Elf32_Half vd_version; + Elf32_Half vd_flags; + Elf32_Half vd_ndx; + Elf32_Half vd_cnt; + Elf32_Word vd_hash; + Elf32_Word vd_aux; + Elf32_Word vd_next; +} Elf32_Verdef; + +typedef struct { + Elf64_Half vd_version; + Elf64_Half vd_flags; + Elf64_Half vd_ndx; + Elf64_Half vd_cnt; + Elf64_Word vd_hash; + Elf64_Word vd_aux; + Elf64_Word vd_next; +} Elf64_Verdef; + +typedef struct { + Elf32_Word vda_name; + Elf32_Word vda_next; +} Elf32_Verdaux; + +typedef struct { + Elf64_Word vda_name; + Elf64_Word vda_next; +} Elf64_Verdaux; + #endif /* _UAPI_LINUX_ELF_H */