From patchwork Mon Feb 3 09:05:07 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: 13957107 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 F027EC02192 for ; Mon, 3 Feb 2025 09:05:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8734B280008; Mon, 3 Feb 2025 04:05:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7FBD6280002; Mon, 3 Feb 2025 04:05:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 628A2280008; Mon, 3 Feb 2025 04:05:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 3C42B280002 for ; Mon, 3 Feb 2025 04:05:59 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 020421625B8 for ; Mon, 3 Feb 2025 09:05:25 +0000 (UTC) X-FDA: 83078049894.29.B8F3007 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf06.hostedemail.com (Postfix) with ESMTP id 1B7FC18000B for ; Mon, 3 Feb 2025 09:05:23 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=xGfx6yHi; dkim=pass header.d=linutronix.de header.s=2020e header.b=94Z1dN2Q; spf=pass (imf06.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=1738573524; 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=VgSqTSk81su0MmtqYLownOdk49YkaFaYXYtHKJAxgm0=; b=CkzAT9bfEo8w7EUQO2VltgWGCPI9S1b/LNuD4uvz1EyKxYeLg++1TEzRYbIjxOsdbHpw1Y ezaHfOrbnL9RrkqK+dGaiUoNmEuRRogCRZcFkVK0JVAampoRZUWoXg2Tx9o04Deat2WeM0 9bvYtf5SXf65XKGTNYzOwVjWeH2sIxs= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=xGfx6yHi; dkim=pass header.d=linutronix.de header.s=2020e header.b=94Z1dN2Q; spf=pass (imf06.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=1738573524; a=rsa-sha256; cv=none; b=2opJPY+DeTekoZdhI7hrK+NIJ+o/9a169RxwFLIN9JBNXZ7VNtcttxInciQBmCYDymhlN0 9M6NULuvtCdq6g3dnIaZI9OtOF0Rn7aITyoZ9+1gpZp6zAzwP0YhYjQ9IltAcps7O1xemm KXO2wMPdkVaw2k2iIwFbRxqrEgj6OA8= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1738573521; 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=VgSqTSk81su0MmtqYLownOdk49YkaFaYXYtHKJAxgm0=; b=xGfx6yHi7iZ3B50wSZNmDCxhoV3oerxbIl2ErFtWav52FPiddPhdhOciwkBMntgQhFximk yCTtzX4GgCWDIveJ8PZwLnNjl+aHmyPZkm0NlVbCpBf/zHfydpWcYv0XL5iSmTX9AgagXw LrEKVjWPLp/43xACs1aooe450j/1mUODTSBUMhqhA7Zf/a5xga8zhWb2EILAtQZEx/8s38 tFDUV2IDZ7dnXovL/3Qb/b6mCfnYNuLvG6ZTyMwvwC6NXeett0g/jCSBF3kB7rDL2ohhQl wKx6cgKzFN6dIOYFSEFug1EGJ4lt4oq2zS/yHOdm0gqeuht2HOa6Et91Az97Zw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1738573521; 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=VgSqTSk81su0MmtqYLownOdk49YkaFaYXYtHKJAxgm0=; b=94Z1dN2QIVLYeT7X8BukIFB1pvRBZ6naLClEBvXDwYwMHCHp2L4vY5GaF9jAJcIOiwyVCt YeoqYPpzVKYwMnCQ== Date: Mon, 03 Feb 2025 10:05:07 +0100 Subject: [PATCH 06/16] elf, uapi: Add types ElfXX_Verdef and ElfXX_Veraux MIME-Version: 1.0 Message-Id: <20250203-parse_vdso-nolibc-v1-6-9cb6268d77be@linutronix.de> References: <20250203-parse_vdso-nolibc-v1-0-9cb6268d77be@linutronix.de> In-Reply-To: <20250203-parse_vdso-nolibc-v1-0-9cb6268d77be@linutronix.de> To: Kees Cook , Eric Biederman , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Thomas_We?= =?utf-8?q?i=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1738573516; l=1518; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=FHjDFl0GoKn6nit/F9ipB8685b6fIBNR9d7/04YuOok=; b=K34MIkI7ABRtpHTTzHhgAEtIuBVWA3OhksDhhthQLvZ5GSkDTjSWJ4guUs3+fffHpJGidwdBJ pKjCcN1XSZwCXzYW1BHvHOTiY17D9qpTzV9/nm9rj5CRqcZetbWcppf X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= X-Rspamd-Queue-Id: 1B7FC18000B X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: kxccc6ru39phdmb4qbgjap4dwmhj5nax X-HE-Tag: 1738573523-923481 X-HE-Meta: U2FsdGVkX18siToWmAYYxP0IRoXN+fUuNhO2h7AvK6YwtHkikPFLF1bbbBn5R6ZBPhNDrBfFw9IMxOHUu3PjLHxFqt+i3zucsQ127XjvMNGiHchDyWMdnjPz+g/6t29i8U+1RlyA1+Y9Jy/euaK+WeKOhcDC4S/UQ5SoZx8aJniZ+2Q6fIlSSp57dA8p8HO3k4z9r68WU/ySkWDbAhgrLIQQLji6u2awQDsF/eUFnoB7/dm0fZQ6Ch6jHS8BPSoY5Z8SKTCguF7kFFmTQM0pg87hVhpg3zjqvwD4G6E0nuqN+g5zFBVb5/izQMRzBQPCjVQ+bh654jHEtq94kstO90dtSYUXgicQvV92cFeY41n2ZnQtjVbMLDGMCbSTt3q/NdfrbQ9zcb4sfaTGvcJOJpVifa2annc/EXTtCZ0iujos8+SiEnHSrf0eQIY24raJz/PrpFgUWHiS/Ek29tDir6obb2FPdMkDIDxkuxoEpBbIcwqAjaF/m0AoB/hiDe4a2Vr0SsCc+3KvvpT3/xwQtMAX/S3a6eua9q4+2EK1e0Wflk2CYEH6XLgJwyyknOuhZL+Tf7skPuOjcPvLdDKHXNJq20iaoG7gl2cLIpwZ2Ub2vudExv9wNo7xnDjsJIoZZAqkMf1IPLcXtK7bylBJZCyx2piG3586cCKLonlCGs4Zv4f4NXw0kMtuC7Y/Hpc7Ts3b3r2Xex65WU1nCotnSnRvqhR3epjxEMol5oQ1+g6MqDwD3++YOqEqrWWfdm7EmRJfMyLbbNRGFmSk5XGfZ2yE84CrnKnKUNxGGiIXmAx134smDBYM8M41hK5RtKAxzvU/kmjcdsPtAeh6lh/W64knMiyQZKgQ+GHaQ44khJ+HayPtttJEmV3cO71R7F0jeJXFKXlREoD3o1bYh9nsqgxIJQpruKnnxcH3yEN7MelSEfbD5c6H9Bam+5ixCSfkw5zPhiduJFO4KXn52y/ pxXULv+D KSWS8Uc7HSs3xsqCkvzR4tM1/9wVv43cpSJhftqYMtg5g6sCvbZwsi42ZksNEOnsD5KyC/98M2atom+/iplwMJUtyEbGFqkopoznfsJKm5cLDxqB3SZSVamPu2wv6kNSxaf3QGNcOQ/cKb4CKmpJN1KtAK2jwURtCa5rP6H0xPvkwirndNyGNla91CClGXRR0/HfEarJKLMFsj4BTmxgDT33aqx6Wxq0IdtyHzwueKyEL4jfeDYYJQmC7CFtUJU4j7pTMMAz/3uh5QPFV7wcWXhUwWOlFYZwLBcC9/8COtXUrfVm4avy1ULGWJUsxiNcATHRYHkrnt6Ki1vmlNfg5BkVUxyu8RUOnCL1geH9e5rLQV4FJrT9WsP27YngMKmvEV3RqKIDbfAyZ5e4lOxnIn8gRNGP+cnwmTugBXgfMvthGTGCaeUYh71aE+WC3OCNfhuOTnrZNwqmrkuU7NLS+mRDF9f81/ED7CDvfzyxHiRojq4tJlO2SzbAGZEinqGR/H+Clx7s4pidiOoxBdISECpiiq9UN+P+El9NtgF92zUBemsYxtlCSUlubkrSGoEyA524t 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 Signed-off-by: Thomas Weißschuh Reviewed-by: Kees Cook --- 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 */