From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 510442F747D; Tue, 23 Dec 2025 06:59:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473167; cv=none; b=BTdYXEmWjSnQZdeRT5yhvyqS1lD7Svxc7wxo2FFjBKN/4BsNkXVY6TpWp3tQWnGyPtHqPzQSN8UVWLhdZnQFqfyn8XYlQuom7DEoVfZXcMjFjKX0fYimFj3t1Xe6mlCMcITQ6fsoG8sw1XNuVvVpt0FGk5ZZ/63LFdqrpseCtMc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473167; c=relaxed/simple; bh=K4wy0s4CBq0/Oz/7KIB2b4pnhTCd4YJf0KADDSnMZSU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LdLfZLh2csnpSrzdZtyg/iwlVi5A1CNfnnehP2JjJTnMDkfr6zzrJOubDZyXc1tmbCsEcuzR7vvgHUT6wqLadYo6ducIdoWJV5qyDHDR38yzo6O1wKUI5p9XH48DFDoXEq9KU3a2Cn5NRqCU+K77DGA6jhdZWIgeC+NwDS702Qs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=EoXm8aC5; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=NsAYVGKe; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="EoXm8aC5"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="NsAYVGKe" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473164; 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=8E8Ivu99/HVuC0LZwh9B42Hwzqh7mGm8g9MZgjeErS0=; b=EoXm8aC55tPTBXK/gCo2lxmTsv/A6ohpOKDAsy2GpS6bsMK0F8g4blnpIr9npv3ziGeTYN CL6vT5zL208usp8hRLLHVLGZ2NdMnRYibOlqqKrLQGaA70fxf3WiXmdPvLRJRaH8ub7PhM rAW8ByxEH5Fz6uSNkhQdZfUE/6SNYnDHOA/3Hu06rH3TPnRdyV2ZfLLm5Mp4zpDbZy9LU/ Pca3jvTqBYnJtd/2UXHGd8itL2yL9WUhIf4XfTpBz6YBMahB8fHWzmfZjt0bc5v0h6zw4q qN/QTyYslcJ7F8jbOBRkdCGN+zmzcWc6V4d7m6vo2MOzccaxmp5hkjyYGXYhlQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473164; 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=8E8Ivu99/HVuC0LZwh9B42Hwzqh7mGm8g9MZgjeErS0=; b=NsAYVGKe6DQvVeQdirLy9LxIA1vyd6cesbtD3Xkk2DJhNBvdNXzQryrumcjnwNTy6UTqZK b4R6zZBReHFT4UDA== Date: Tue, 23 Dec 2025 07:59:12 +0100 Subject: [PATCH 1/9] vdso: Add prototype for __vdso_clock_getres_time64() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-1-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=1264; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=K4wy0s4CBq0/Oz/7KIB2b4pnhTCd4YJf0KADDSnMZSU=; b=Ipjk/byTy8QYXnH5TqmDxb6BDi4gwx7RLw3Nonfnjc2lw/87OQyuJRuYaYanY8bb3n/Fth7bO WA1HeouZqZxCr4cvwyepl0r4aycsRVwYkSUrUlijSIWlwZ4y4bJ5QyE X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= For consistency with __vdso_clock_gettime64() there should also be a 64-bit variant of clock_getres(). This will allow the extension of CONFIG_COMPAT_32BIT_TIME to the vDSO and finally the removal of 32-bit time types from the kernel and UAPI. The generic vDSO library already provides nearly all necessary building blocks for architectures to provide this function. Only a prototype is missing. Add the prototype to the generic header so architectures can start providing this function. Suggested-by: Arnd Bergmann Signed-off-by: Thomas Wei=C3=9Fschuh --- include/vdso/gettime.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/vdso/gettime.h b/include/vdso/gettime.h index 9ac161866653..16a0a0556b86 100644 --- a/include/vdso/gettime.h +++ b/include/vdso/gettime.h @@ -20,5 +20,6 @@ int __vdso_clock_gettime(clockid_t clock, struct __kernel= _timespec *ts); __kernel_old_time_t __vdso_time(__kernel_old_time_t *t); int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *= tz); int __vdso_clock_gettime64(clockid_t clock, struct __kernel_timespec *ts); +int __vdso_clock_getres_time64(clockid_t clock, struct __kernel_timespec *= ts); =20 #endif --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38E5B3054EC; Tue, 23 Dec 2025 06:59:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473168; cv=none; b=TeFBi/MybV+IzzmHVeVjGft/pADMKocZDwEazIZQRZYUgzQ3Jxuc+TBvVCbNDg0j2azWK1F51UjJlYTG1WfzyEU1lq9eDUhAdNl3XwyklqsfV7vDfOcDVLn7T9tRUPIBJ/kUcyVBJwL2yzP+rRUu5Fky6UqOLeEZOACPKIrpR8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473168; c=relaxed/simple; bh=3oEs5t8kcw4pff3/fxmwVbbNr3F+8kVWQ5JxjTLWNN0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f0jGngT3iAcLQZ+zesEJNey/gk1Y2gO8jhLcWfwKt9zC/GfCc9rZvWQzquwtCFtdnKcnv/T211xAs2yVhTYtctwpKBnxsnc7VBU8fS2YZuHoyb93HdD7OOXpWb/dXZL7zc72IeAW7skdJXFdO1pIhFLrPcKaQd0xlEmDRLoWtnA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=Hkw+tEB2; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=mBU157Fk; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="Hkw+tEB2"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="mBU157Fk" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473165; 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=boeLpF9WDhdBW8/8XalkGVrMMM8dMtfSsPcLznvCp14=; b=Hkw+tEB2yMUUE6Mor+NRnWTO0lwB6U+Ba3sAzEYTuRKnupzAYPIH6BRmkgoo0ecwGvfYrs tGPWb2S594YNkvwPrnN1nJDOseOc0/88vej2lrYBAdg2d53H9N/N9M5FVrCyFy59tuu3qg FRAnlCQzx1Q14Z2WYZHXnNe/Dhu6wJkF27rYxRrxaijiVueExSnumvro92bgcADtPxKdg0 CGS8ghn7jLmUniHi/JAaYoHv9Ht0gvxRPtfbtVtgA93B85PTp6HnH4zEPOpXRNtokVIWi1 5aexoGYjotxYzJ4Nuqq9eW6jQKE8gDj8LkdFQxKEjcPIL+2zCYGcqeDkNpAesQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473165; 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=boeLpF9WDhdBW8/8XalkGVrMMM8dMtfSsPcLznvCp14=; b=mBU157FkcpYw23skKX2BNcGNQT5kMr8gUgG4EhHPJxACEsVAFlSteTQrgL8962Oie8hOgy R/BgvRtaO3hvKOAg== Date: Tue, 23 Dec 2025 07:59:13 +0100 Subject: [PATCH 2/9] selftests: vDSO: vdso_config: Add configurations for clock_getres_time64() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-2-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=1154; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=3oEs5t8kcw4pff3/fxmwVbbNr3F+8kVWQ5JxjTLWNN0=; b=94S1aojsIz+AvSGGvP1+uQ1Zn56fqN2xhvjTe0sHg67LZ5VHZkqwK0z23deRKcNZ1SoS5v8Fw Ufc9DZKFW58C2L1JCrLIuXrIys4yvbKrvf0TcJfCs7YcnyjPWpawoQQ X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= Some architectures will start to implement this function. Make sure that tests can be written for it. Signed-off-by: Thomas Wei=C3=9Fschuh --- tools/testing/selftests/vDSO/vdso_config.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/vDSO/vdso_config.h b/tools/testing/sel= ftests/vDSO/vdso_config.h index 50c261005111..5da223731b81 100644 --- a/tools/testing/selftests/vDSO/vdso_config.h +++ b/tools/testing/selftests/vDSO/vdso_config.h @@ -66,7 +66,7 @@ static const char *versions[7] =3D { }; =20 __attribute__((unused)) -static const char *names[2][7] =3D { +static const char *names[2][8] =3D { { "__kernel_gettimeofday", "__kernel_clock_gettime", @@ -75,6 +75,7 @@ static const char *names[2][7] =3D { "__kernel_getcpu", "__kernel_clock_gettime64", "__kernel_getrandom", + "__kernel_clock_getres_time64", }, { "__vdso_gettimeofday", @@ -84,6 +85,7 @@ static const char *names[2][7] =3D { "__vdso_getcpu", "__vdso_clock_gettime64", "__vdso_getrandom", + "__vdso_clock_getres_time64", }, }; =20 --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 305373074AB; Tue, 23 Dec 2025 06:59:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473169; cv=none; b=YdXTpNbdOtYJnt4DSYoixv8eYc3p5Hzu4pnt1Fvpw9PQEzeQHG9a+oeUUjkw0516teYVgV5Cqw88KN54+n3iH2dVMCaSDG7YQSvNTgdUgrJmsPnaLSIz5qNAhdMcqx6ukzC93MKLmpa+8rVlhk1SV1QJrfcsz+6jgBstUhP70h4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473169; c=relaxed/simple; bh=+SXAsfJphfIrvDszr56VyWDDLyMl5UJIQY3RHDubCt4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gnNnSh2ReB2SL9aWk0nFTw56MJSW/P5Ecan1wsM3n6wx4bygwDobfAZNJtekw1c4tdiSny33MAKXJbXnxqyKpRqH4ynZOgh7GFq5pkyNjD6+5RfXSf7S0lR1zvOBDmgxnfDyO6+zlhAOmna2fd6Vwi5fw8/4cgTHZhOh4BjMhfk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=blCiFHJw; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=ZaXbnglG; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="blCiFHJw"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="ZaXbnglG" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473166; 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=iDPjMJktX5CXG0MV0cMYF1xoy0v5P9eoHVtBs/6YCzU=; b=blCiFHJw2mRAV9nwsUR5N6L3+ukSSfnvpTxeAKtZRQ1NEq1VUzr7E6tZWQbslgmDrke50e C27FaPVWZmTPJ7h9YHRAYFfYu5QAdAzP3ZyPtktWU8z5mM7fEEB1+JBBj2dgxnjb5Ion8W G68dpQdI/lAJUS9BSvRerzsyVQ0rmzL/QJLrU05/0NtAb9tM5CQNTHubGebVasejz3S7Hb hzlvoFlVo/moVxdc8dN3npjtsF3BJAKakNCDGqqNRWJdkDguD27Ir78ICun9HGV5XTNTXF yX2VofiI1MpUOQQ7MeOCMRrGasNDFr1bHbX/wetCkoftIQXjo83Ak0e6fZ1lKA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473166; 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=iDPjMJktX5CXG0MV0cMYF1xoy0v5P9eoHVtBs/6YCzU=; b=ZaXbnglGzz9TnvdPj6mUCHiTlAorZmY88jZbjNgKVgKwDS+5kRvbDCV1WyuHL2KqKvIEs0 lLzqwNqX06g2XlBA== Date: Tue, 23 Dec 2025 07:59:14 +0100 Subject: [PATCH 3/9] selftests: vDSO: vdso_test_abi: Use UAPI system call numbers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-3-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=1042; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=+SXAsfJphfIrvDszr56VyWDDLyMl5UJIQY3RHDubCt4=; b=wb277NVSHU6OwOBuItRYOE+qyzBzlMOBeppSwno9BH+tm/ZyHJAKOewX2axUQrpKLxCo4KNw2 avEoktIEeBXCSQoGtEti/srIu339lEm3z1kmLKuKVW5+Qle5byz+MXN X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= SYS_clock_getres might have been redirected by libc to some other system call than the actual clock_getres. In the test we want to make sure to use exactly this system call. Use the system call number exported by the UAPI headers which is always correct. Signed-off-by: Thomas Wei=C3=9Fschuh --- tools/testing/selftests/vDSO/vdso_test_abi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/vDSO/vdso_test_abi.c b/tools/testing/s= elftests/vDSO/vdso_test_abi.c index c620317eaeea..a75c12dcb0f1 100644 --- a/tools/testing/selftests/vDSO/vdso_test_abi.c +++ b/tools/testing/selftests/vDSO/vdso_test_abi.c @@ -179,7 +179,7 @@ static void vdso_test_clock_getres(clockid_t clk_id) clock_getres_fail++; } =20 - ret =3D syscall(SYS_clock_getres, clk_id, &sys_ts); + ret =3D syscall(__NR_clock_getres, clk_id, &sys_ts); =20 ksft_print_msg("The syscall resolution is %lld %lld\n", (long long)sys_ts.tv_sec, (long long)sys_ts.tv_nsec); --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A43A2308F03; Tue, 23 Dec 2025 06:59:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473170; cv=none; b=mNLtMTxah8Iv9348xVWN0/ju1wq65rpBPv+HEsxd+aq45Y5iQf2qMEpFdabNbNzfZuQ2VdsYdE/A3eztswU0YxcmtConzWPyuq6gvrwSh1O25QlAYdZ7cNiysvzPla/8gukEjeFbpLrNHUaqS33HKe6IJRjpHKU3uufefWM604Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473170; c=relaxed/simple; bh=IhlJsJlp1zBklWKzws3h9OECAM068REwLIQfQ/1/XBk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YOs6y4YVnWhlAjZwqDZrYtY5I58rfnADrqYBFeODP8gwPXtuxjmC0QHxyJP6vzSEYTMLCrb2iyDjMMTjMLiKgJZLjxgiOWkG2Vx+NOBRE7BwA8u2NQ4VWLmZqldQCqd7w58ebdAEiR2XwVRHepcFkeAhSevNMnD+kVgk841uz0A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=DGjnp63x; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=jIKZadyE; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="DGjnp63x"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="jIKZadyE" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473166; 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=67PdeczaSRW/csFNxd099uybA45ukLvFMyBWzVQFWoY=; b=DGjnp63x9J2xF5JMJLPECLk3uok5cOKB5usb6vQxg1xbkQKyZ7lAj491/UF5adorihTjFS A52lddQ5iND+DjZnpMlEhDr/hZ2xfHkK2vNxmKw9sjLNQEEaups/NoGGgDoTdS/XEC6NCv cNfdDmRQvcQhE5pVnKRLZYDaK3x3C2qSgPz4C0zFUDrgCWSkevIC/3+MSlJqWOkonTWmnx lY74F4KnunbzTzX5St+Dlt9APPVCjnMQOlAA/cEh/GFBKinRxhP8jqI5H9oygC/fvjVKHm Izgk7VhcPrXR6Ti+3ZmGY6pZmyLjhcQeHFnuFLkyHP7sIBBECVql1KcUWwPC+Q== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473166; 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=67PdeczaSRW/csFNxd099uybA45ukLvFMyBWzVQFWoY=; b=jIKZadyEdJA/NILHOtR5tRsncX1708ixcVpS30Y2i8qCBMIPKn35S044wY4TMNKQfgUFBC K4tkzVYICJ8QR5Bg== Date: Tue, 23 Dec 2025 07:59:15 +0100 Subject: [PATCH 4/9] selftests: vDSO: vdso_test_abi: Add test for clock_getres_time64() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-4-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=3097; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=IhlJsJlp1zBklWKzws3h9OECAM068REwLIQfQ/1/XBk=; b=xeX2munaLG7MWGHPIInB4SzeRrscFxo+r622nRd43SWYQppyA7t3HaQcNJPboykuDbZ4yD6uA diipSgp6KkaBWGnW+CdLf+orOZOEDAzfN+6qiy7Y6KkmJgs7eH3bDXt X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= Some architectures will start to implement this function. Make sure it works correctly. Signed-off-by: Thomas Wei=C3=9Fschuh --- tools/testing/selftests/vDSO/vdso_test_abi.c | 53 ++++++++++++++++++++++++= +++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/vDSO/vdso_test_abi.c b/tools/testing/s= elftests/vDSO/vdso_test_abi.c index a75c12dcb0f1..b162a4ba9c4f 100644 --- a/tools/testing/selftests/vDSO/vdso_test_abi.c +++ b/tools/testing/selftests/vDSO/vdso_test_abi.c @@ -36,6 +36,7 @@ typedef long (*vdso_gettimeofday_t)(struct timeval *tv, s= truct timezone *tz); typedef long (*vdso_clock_gettime_t)(clockid_t clk_id, struct timespec *ts= ); typedef long (*vdso_clock_gettime64_t)(clockid_t clk_id, struct vdso_times= pec64 *ts); typedef long (*vdso_clock_getres_t)(clockid_t clk_id, struct timespec *ts); +typedef long (*vdso_clock_getres_time64_t)(clockid_t clk_id, struct vdso_t= imespec64 *ts); typedef time_t (*vdso_time_t)(time_t *t); =20 static const char * const vdso_clock_name[] =3D { @@ -196,6 +197,55 @@ static void vdso_test_clock_getres(clockid_t clk_id) } } =20 +#ifdef __NR_clock_getres_time64 +static void vdso_test_clock_getres_time64(clockid_t clk_id) +{ + int clock_getres_fail =3D 0; + + /* Find clock_getres. */ + vdso_clock_getres_time64_t vdso_clock_getres_time64 =3D + (vdso_clock_getres_time64_t)vdso_sym(version, name[7]); + + if (!vdso_clock_getres_time64) { + ksft_print_msg("Couldn't find %s\n", name[7]); + ksft_test_result_skip("%s %s\n", name[7], + vdso_clock_name[clk_id]); + return; + } + + struct vdso_timespec64 ts, sys_ts; + long ret =3D VDSO_CALL(vdso_clock_getres_time64, 2, clk_id, &ts); + + if (ret =3D=3D 0) { + ksft_print_msg("The vdso resolution is %lld %lld\n", + (long long)ts.tv_sec, (long long)ts.tv_nsec); + } else { + clock_getres_fail++; + } + + ret =3D syscall(__NR_clock_getres_time64, clk_id, &sys_ts); + + ksft_print_msg("The syscall resolution is %lld %lld\n", + (long long)sys_ts.tv_sec, (long long)sys_ts.tv_nsec); + + if ((sys_ts.tv_sec !=3D ts.tv_sec) || (sys_ts.tv_nsec !=3D ts.tv_nsec)) + clock_getres_fail++; + + if (clock_getres_fail > 0) { + ksft_test_result_fail("%s %s\n", name[7], + vdso_clock_name[clk_id]); + } else { + ksft_test_result_pass("%s %s\n", name[7], + vdso_clock_name[clk_id]); + } +} +#else /* !__NR_clock_getres_time64 */ +static void vdso_test_clock_getres_time64(clockid_t clk_id) +{ + ksft_test_result_skip("%s %s\n", name[7], vdso_clock_name[clk_id]); +} +#endif /* __NR_clock_getres_time64 */ + /* * This function calls vdso_test_clock_gettime and vdso_test_clock_getres * with different values for clock_id. @@ -208,9 +258,10 @@ static inline void vdso_test_clock(clockid_t clock_id) vdso_test_clock_gettime64(clock_id); =20 vdso_test_clock_getres(clock_id); + vdso_test_clock_getres_time64(clock_id); } =20 -#define VDSO_TEST_PLAN 29 +#define VDSO_TEST_PLAN 38 =20 int main(int argc, char **argv) { --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A43293081CA; Tue, 23 Dec 2025 06:59:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473170; cv=none; b=dw5vCEoQil4VemITkajUbAalpr2CELff/JhqeUxrfBZa8DhgsKylysM0zt/2i0VMO/3N+mfmPgbEFGRuuSwnB0CO3PzZrbYjT2vw9bLc4B8rByZAFrCc5V8i9Ba4RwGa36sim2VUS+nMgUyaWR9c9gDDkpLkjeba4KzQR0R9YEw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473170; c=relaxed/simple; bh=IvA+uiMrAr9HqJqYohodphYTHFiPNDzZlCh3LmEVNwY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=q5PhnwuPZZQxZd2uKfeOkJPGd+u78ZPMdRpDxmf3lPUzOjzkRJuf9ahJc1SyHMHyAt3TM2/aLhDAgMk4HuEJMTyECJYVLgDEtvt4qU++iONZApT9fAp5ul9NYnUCSDNebARes7hJMvYqFnz278ZVrDOuMJsjFOYQ3tQFE8fjWiE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=dMbBbCtJ; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=MSy4y5aY; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="dMbBbCtJ"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="MSy4y5aY" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473167; 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=Fal5Lt8Ujjh98Cvo/iVl7Sv7IWHmGFZ2hmLaXyUcQ9c=; b=dMbBbCtJPAN363V9bWHRKHal43sPznzFhzguiLQR5kee2VlsH5FzeRxZeeBhNUGoVIFJXy JiAeERtfEIYgpNdmpjibcyJAsKSBkMhHCo7pORZ4dwpun8hTLvs4QIdNSLFrEQfLUrp0n3 UVjmYt97DuX4FFA//5/ZJp3sVnt9c8lQnmeaYC1ikX7Eu3+K2ugpFaqAozZXHF58Vo5leq VcJ63NqyPJ8hmR//naAyOOhFco5wr0DmVlJy8UEGjGmwrWHtanQSX9H1Pt6RvZeoqX8FN4 4mLFD3B8JNW4xquc4VEh9/HYon71GqK+N5+SlhakcOXJmilzWrxZ6AXUj2KNHw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473167; 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=Fal5Lt8Ujjh98Cvo/iVl7Sv7IWHmGFZ2hmLaXyUcQ9c=; b=MSy4y5aYk0luzcuZ5fml8H0+lOtatthm2+rP7QBlAp6WCW01J2hsOahTjqzGZ2z2NMzdcC kp+W7OhQWnWIP6Cw== Date: Tue, 23 Dec 2025 07:59:16 +0100 Subject: [PATCH 5/9] x86/vdso: Provide clock_getres_time64() for x86-32 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-5-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=1562; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=IvA+uiMrAr9HqJqYohodphYTHFiPNDzZlCh3LmEVNwY=; b=ryWMVgZE7OSgfUee0YnHDNFjRmfEX2J4YH5AvG6em4P29DD8b0MhuVsHOGOzVC6aJ6yp48/du u7hWc6Xkk4pAd8nIUvH/QKa/qTWBKThZk5+4uhx+GvgXI6Pv/BWqrXT X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= For consistency with __vdso_clock_gettime64() there should also be a 64-bit variant of clock_getres(). This will allow the extension of CONFIG_COMPAT_32BIT_TIME to the vDSO and finally the removal of 32-bit time types from the kernel and UAPI. Signed-off-by: Thomas Wei=C3=9Fschuh --- arch/x86/entry/vdso/vclock_gettime.c | 8 ++++++++ arch/x86/entry/vdso/vdso32/vdso32.lds.S | 1 + 2 files changed, 9 insertions(+) diff --git a/arch/x86/entry/vdso/vclock_gettime.c b/arch/x86/entry/vdso/vcl= ock_gettime.c index 0debc194bd78..027b7e88d753 100644 --- a/arch/x86/entry/vdso/vclock_gettime.c +++ b/arch/x86/entry/vdso/vclock_gettime.c @@ -74,4 +74,12 @@ int __vdso_clock_getres(clockid_t clock, struct old_time= spec32 *res) =20 int clock_getres(clockid_t, struct old_timespec32 *) __attribute__((weak, alias("__vdso_clock_getres"))); + +int __vdso_clock_getres_time64(clockid_t clock, struct __kernel_timespec *= ts) +{ + return __cvdso_clock_getres(clock, ts); +} + +int clock_getres_time64(clockid_t, struct __kernel_timespec *) + __attribute__((weak, alias("__vdso_clock_getres_time64"))); #endif diff --git a/arch/x86/entry/vdso/vdso32/vdso32.lds.S b/arch/x86/entry/vdso/= vdso32/vdso32.lds.S index 8a3be07006bb..6f977c103584 100644 --- a/arch/x86/entry/vdso/vdso32/vdso32.lds.S +++ b/arch/x86/entry/vdso/vdso32/vdso32.lds.S @@ -28,6 +28,7 @@ VERSION __vdso_time; __vdso_clock_getres; __vdso_clock_gettime64; + __vdso_clock_getres_time64; __vdso_getcpu; }; =20 --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 694FA3093BF; Tue, 23 Dec 2025 06:59:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473171; cv=none; b=VwtM4V3Fzqd03U+JnsCM0gd7YU173mNSkvKieHr7v9FR3hzq79UnuJjAqMgJbwVvXXt0GijlzAYKo93HDc1A7XSruXAFMk0thAEWWBWWExgJcl3MKkhyB3E4JbpddJXzJGUpovSh41fgmw3VLSBr15NrXD4JLqha6/T2jSccXBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473171; c=relaxed/simple; bh=LdmbtEljOlFyOZ6OrGxnqW75nza0HGI8PoT+uoNSI7M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lSmq/Xc9QI2m6C+3ZWQ85epYcZCMMwJldBEIyaBY0AbYnM2fpigVqPdKxQT3KDAQ8TduDEEsch1Y2NNKRgHrztQIE8goDtz4ZYdDf9QizKSFtV1sbTeBT6Mm4HZL20+PAn0qQfaFrulcPaRurcq1TAhxhq+YaOg9uFv34IJ3lqY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=bjH9bAf0; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=WGVAL1uj; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="bjH9bAf0"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="WGVAL1uj" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473167; 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=PeL+wNwtwp13/IriifZjEinyNYsN2WU00+W+l3D3JKc=; b=bjH9bAf08zKh3tAojpWoL3lwE4aziyDxCSkUkVIhCye/CcVYT7mR6MCF5e98jTHn0xdotd b0IyYodFLpYFw6/2+8ivpw3fA2h0+NVcXbekaet3Dt7F15oPF0Ho1jq1bpbW8HpSDjwdeL r/FPNWtEWkOIhuRFaslDfreIILE96n5JOQtWmL8iA5Of3rfQd3/bKk1v/kanAnFDOn/kv0 Jguykck40SqjdphGGu4eTnXXJgpXp6w8dKIgR0LzLvP5N9tP4APpm7UP03QfAIwMRXIzx7 xaG1aR7RUPMQJnonfu5ynB+lrqJ2lZoKg9Uff8TEjEKa38AihhEvtX8v8ttYsQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473167; 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=PeL+wNwtwp13/IriifZjEinyNYsN2WU00+W+l3D3JKc=; b=WGVAL1ujmSWzDJFGCarIiVPBmebqrKoHBbZ/8WEH9BEyDbQX4f26hDbVfoL91hJOG6z4tE KGZ/I0SZ+VV4xKCg== Date: Tue, 23 Dec 2025 07:59:17 +0100 Subject: [PATCH 6/9] ARM: VDSO: also patch out __vdso_clock_getres() if unavailable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-6-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=814; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=LdmbtEljOlFyOZ6OrGxnqW75nza0HGI8PoT+uoNSI7M=; b=wlCQXSEJCoro5/Gj9o6p9RQLUD8hyzOugG9AocBBzD5Jh/2OlROC1hfuz+G7GHz2eosk52Ypr Aetv2oFKV1kDXvVyOyKB+fVpgD/q+Z3ndRGByNySeJ4yOjtX5I9z+4l X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= The vDSO code hides symbols which are non-functional. __vdso_clock_getres() was not added to this list when it got introduced. Fixes: 052e76a31b4a ("ARM: 8931/1: Add clock_getres entry point") Signed-off-by: Thomas Wei=C3=9Fschuh --- arch/arm/kernel/vdso.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/kernel/vdso.c b/arch/arm/kernel/vdso.c index e38a30477f3d..566c40f0f7c7 100644 --- a/arch/arm/kernel/vdso.c +++ b/arch/arm/kernel/vdso.c @@ -161,6 +161,7 @@ static void __init patch_vdso(void *ehdr) vdso_nullpatch_one(&einfo, "__vdso_gettimeofday"); vdso_nullpatch_one(&einfo, "__vdso_clock_gettime"); vdso_nullpatch_one(&einfo, "__vdso_clock_gettime64"); + vdso_nullpatch_one(&einfo, "__vdso_clock_getres"); } } =20 --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D626A3043D6; Tue, 23 Dec 2025 06:59:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473171; cv=none; b=i8EkqcldOLbnT20j8g9VCPKMqHUyT0YJiy1OazTiGK7PCk8YVGJDMgJ6eQlr/F5XYkBPXt19fxahwo+wpmwrwXUedyaAjCW1pv5sVqK0DBHSCFkH7bSdBFzp3VrrRUlNHTMo3fJxeJNemsCCRTlFlSyji5JETtHu1Hl0rFjbpEE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473171; c=relaxed/simple; bh=nldWa4kQ886kbFTIL9sYV2DTnWNpLETSHelHafpckaI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=skP9Qk/t2LGbhCXcH5dPFZKr4QtiKmOHXX1LLNggqEOayVr16fTK7CbgeQwUcxAIByolbbpwOURVr3zpne4SUa0gs4kNAxCoG9fN8dns9+JWBk85eJ1Yb4QsSFCJYagcX2Jnf8a+vguvBabkD0NlzJoJuf98jwQkHIU3QWZUSS8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=IjVn5f6A; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=QpVdPWBa; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="IjVn5f6A"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="QpVdPWBa" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473168; 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=nvs5Ig22q3GUo5N50D+zEpwy+yzRC74cy8bQ/BN/E5s=; b=IjVn5f6AgLOlQfCHqp5GJzD65PArhFv7j8tFOSrZFyFjtHhdHgGxHCjFO2TIOdIGVLHFbN 06/dTedixnpJhwXuj8Ez+fhs2n0GZfNsHk8FV/jeqg5/xNHDf9W1mBKEW+l92KuIkMLqgS uApAoSv4xORbWiLCJYYLjBjGev4WDji4CEqG8/xRAIh0E9ghPKLfrWbAIbhVRztlaYzAfC 9IHp0O1AVqo3QRJUK3+UQHs2GRpKEFT//IZo6FOsfTsRILuID50rdfYJt6dEIfQM55nDZ0 jKMIdZPsjJNRcvvXyMZSfaKT2g0ePAKdc6jo17vFnZtMzcMnzAW3L7IzgQSNPw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473168; 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=nvs5Ig22q3GUo5N50D+zEpwy+yzRC74cy8bQ/BN/E5s=; b=QpVdPWBaPRZhT8wSESJZpjGlGAynxMrdY3o0+Ym4QaYxBDrB9hbYm4kqWxhtAxjFnpqTck 4ibmJ2Q5RxcrYwAg== Date: Tue, 23 Dec 2025 07:59:18 +0100 Subject: [PATCH 7/9] ARM: VDSO: provide clock_getres_time64() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-7-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=1854; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=nldWa4kQ886kbFTIL9sYV2DTnWNpLETSHelHafpckaI=; b=vNEJ/cyb1VaiaSFk+v0znP7UhHkc4mdRjK0VM30s+Pybx74RtyeUjLXYWr8QgB0B4rHpxCTuJ Cwfk3P1kGexBdd4oc+78w1+EcqgakcjUzBwj7H6xYdzY9xDY4h0YVsc X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= For consistency with __vdso_clock_gettime64() there should also be a 64-bit variant of clock_getres(). This will allow the extension of CONFIG_COMPAT_32BIT_TIME to the vDSO and finally the removal of 32-bit time types from the kernel and UAPI. Signed-off-by: Thomas Wei=C3=9Fschuh --- arch/arm/kernel/vdso.c | 1 + arch/arm/vdso/vdso.lds.S | 1 + arch/arm/vdso/vgettimeofday.c | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/arch/arm/kernel/vdso.c b/arch/arm/kernel/vdso.c index 566c40f0f7c7..0108f33d6bed 100644 --- a/arch/arm/kernel/vdso.c +++ b/arch/arm/kernel/vdso.c @@ -162,6 +162,7 @@ static void __init patch_vdso(void *ehdr) vdso_nullpatch_one(&einfo, "__vdso_clock_gettime"); vdso_nullpatch_one(&einfo, "__vdso_clock_gettime64"); vdso_nullpatch_one(&einfo, "__vdso_clock_getres"); + vdso_nullpatch_one(&einfo, "__vdso_clock_getres_time64"); } } =20 diff --git a/arch/arm/vdso/vdso.lds.S b/arch/arm/vdso/vdso.lds.S index 7c08371f4400..74d8d8bc8a40 100644 --- a/arch/arm/vdso/vdso.lds.S +++ b/arch/arm/vdso/vdso.lds.S @@ -74,6 +74,7 @@ VERSION __vdso_gettimeofday; __vdso_clock_getres; __vdso_clock_gettime64; + __vdso_clock_getres_time64; local: *; }; } diff --git a/arch/arm/vdso/vgettimeofday.c b/arch/arm/vdso/vgettimeofday.c index 3554aa35f1ba..2874dde7e6cf 100644 --- a/arch/arm/vdso/vgettimeofday.c +++ b/arch/arm/vdso/vgettimeofday.c @@ -34,6 +34,12 @@ int __vdso_clock_getres(clockid_t clock_id, return __cvdso_clock_getres_time32(clock_id, res); } =20 +int __vdso_clock_getres_time64(clockid_t clock_id, + struct __kernel_timespec *res) +{ + return __cvdso_clock_getres(clock_id, res); +} + /* Avoid unresolved references emitted by GCC */ =20 void __aeabi_unwind_cpp_pr0(void) --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7BE9C30AD02; Tue, 23 Dec 2025 06:59:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473172; cv=none; b=XlqIz756tUczrdW5/K3UBmQ7C+C6IIiJ4/xeh8AWfCvzSszoaKbRKyvzscKMxcuO0UmueWigcZsEeCOI1HN3XlHPVR/E8SHegZ3x23724Mu9HIBExiAP4fMQLkaWuWrnMVLrTNu/kFtAHYR903bnQ16aYjzN61W5ZZIf3OcMdiY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473172; c=relaxed/simple; bh=Z9yCCabeK7jaWFUWKtoNtsuOTpJwxt6wFaVjSU0iZHI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ca4tMfhlP3qqHx6blKTwFJAIFtGzZzba2wQrFgB2Ud98ti2aYcHH1UKM7wsXGuyZzNifdDQJM6oE2f+Bu7xckT7fvX5LDKo05KjKJPViH8fjWdY678QdQfsCRcX+6xBXqfW0oebbwpAmuWJB62jtB7cAfUM6PwoIuxNAsYyoxKU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=v0XPcIRJ; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=mjcx9Ik8; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="v0XPcIRJ"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="mjcx9Ik8" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473168; 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=OIQm5LcPW4i4G7+h/utBT1F7s6FgqfydzlSs5Y7YPiM=; b=v0XPcIRJ1Se9VWcrfikZ8SiUMqYy3NIC9jGeLIKDjV+4S8qjjReSNxUZdjLmIeXDlSB8HG 6woEZ7kPsqJG2LZluOjiYMxc0FxtIRWYm2iPmYblur8Rpnu7LE8AABtlXMABxHcrBalDjp pMEfdwJ13TOmbV4sw/Rnp/Y1E+4h0yBXm81lzNDIRMQeExLQsuyc0j1FiMvE+GrKm2ZJbK qk8D/WFRyppCewOe0hPRhJ1mK5u+5+2t9jg5WC/RF1M7yNa2csSwbBJCqsQcVM5Hwt1vC1 qBZmMBIbVU5OQBWql3z73dicscAhvNP/5366gNjKEXr6RhyaLg5PTRJtt42ocA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473168; 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=OIQm5LcPW4i4G7+h/utBT1F7s6FgqfydzlSs5Y7YPiM=; b=mjcx9Ik8vkbaK6t0OpQYxk1r9PLVVep7H1cDDK24He2cDIuq9wrtzQv0/Rk9mL2FxKeVzk rpElHTWJVOY61jBw== Date: Tue, 23 Dec 2025 07:59:19 +0100 Subject: [PATCH 8/9] arm64: vdso32: Provide clock_getres_time64() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-8-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=1457; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=Z9yCCabeK7jaWFUWKtoNtsuOTpJwxt6wFaVjSU0iZHI=; b=8IHbebF9ZQt0Il3apsZmxynrbfbdJv1ROO2ft36v1vYuVLRlXzwnOY562A9kyn3RCXEsfyJFR cuMTyK0BTyID8hPsdYaw2hU185R2LxwVSs3mOhjbSNQPY8dCpBhEUMy X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= For consistency with __vdso_clock_gettime64() there should also be a 64-bit variant of clock_getres(). This will allow the extension of CONFIG_COMPAT_32BIT_TIME to the vDSO and finally the removal of 32-bit time types from the kernel and UAPI. Signed-off-by: Thomas Wei=C3=9Fschuh --- arch/arm64/kernel/vdso32/vdso.lds.S | 1 + arch/arm64/kernel/vdso32/vgettimeofday.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/arch/arm64/kernel/vdso32/vdso.lds.S b/arch/arm64/kernel/vdso32= /vdso.lds.S index e02b27487ce8..c374fb0146f3 100644 --- a/arch/arm64/kernel/vdso32/vdso.lds.S +++ b/arch/arm64/kernel/vdso32/vdso.lds.S @@ -86,6 +86,7 @@ VERSION __vdso_gettimeofday; __vdso_clock_getres; __vdso_clock_gettime64; + __vdso_clock_getres_time64; local: *; }; } diff --git a/arch/arm64/kernel/vdso32/vgettimeofday.c b/arch/arm64/kernel/v= dso32/vgettimeofday.c index 29b4d8f61e39..d7b39b0a9668 100644 --- a/arch/arm64/kernel/vdso32/vgettimeofday.c +++ b/arch/arm64/kernel/vdso32/vgettimeofday.c @@ -32,6 +32,12 @@ int __vdso_clock_getres(clockid_t clock_id, return __cvdso_clock_getres_time32(clock_id, res); } =20 +int __vdso_clock_getres_time64(clockid_t clock_id, + struct __kernel_timespec *res) +{ + return __cvdso_clock_getres(clock_id, res); +} + /* Avoid unresolved references emitted by GCC */ =20 void __aeabi_unwind_cpp_pr0(void) --=20 2.52.0 From nobody Sun Feb 8 22:22:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FFAD30B524; Tue, 23 Dec 2025 06:59:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473172; cv=none; b=m9s3bfrWQLTmOTu3sggrRoD1dQuE28FItByfkElHh+i7FE6zZn/IL/ZiWlSZt5vfIZbRjXUrVh6slkQn4fvoeGBWE2mi+gKUP3YD6v8wt3LVWg+bJYiY2g0c9dlO7Ter8gjWS25UMTtyvgVbs0labMum/jH1ccEYbzDSgvynaFo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766473172; c=relaxed/simple; bh=RMI5k+F7krRakVS3hHkFucei6uZny6MTPLu5777RVD0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V1hT3Ym3SK1iqeLgzw7VKcc9mN+HFQknMjFrVGD8pNZKbfse9Nn3OUMTF+WE7kKOzfg9i8SzHrC4uo/BNZE2nMpbAITbsBgHMBlWvEtkBaa7tZISJtqL5Yo0WllWsd5sxyR1fLuCteTfVCuulQQR9FuDbJwdsehmqze1avPpU8I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=XC+dlZEx; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=aQcdd4oK; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="XC+dlZEx"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="aQcdd4oK" From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1766473169; 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=mM2FUnSVD45WvsERcA4Tj2tAAZnWuUSteOTQa2M4nbc=; b=XC+dlZEx0hOWtTVhdiY1gIT200+4orY4OLW8hMT+k7m18wWJVaCcoQKTHEKQyuIyAF+rzr ykEATKYYMNDUSqd1YHXYZsTw45sBhGZ5hwPRiRygEq1bjNb9SHg2hyUe1OYZDmD0UM60wG +bsmBC5tDjIhvyl0fRDM5G6kvu7hbC7xLuw08kzbrP+Es9gCB9ZlXUpk9jebL/E1JvQbot B+Ma3layleeKbj0lFMowyi4gWvp09XSOQHKDgcN8/+9SzauRdohUwdlMf3bcPlOWgxXNp2 2ZR1xfSYHw2BNUHOXBrF/fCOqJ6vGlkitwtnwi0+HZwvoPHjKUEaIvI6h8fMEw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1766473169; 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=mM2FUnSVD45WvsERcA4Tj2tAAZnWuUSteOTQa2M4nbc=; b=aQcdd4oK6OqxKV0iUCrlWPMUZ5iWlq0R4haZuSns4MDs+JY4k89d4sUXTdM13mP8NgkUja f74MfFbCgkiLkaBg== Date: Tue, 23 Dec 2025 07:59:20 +0100 Subject: [PATCH 9/9] MIPS: vdso: Provide getres_time64() for 32-bit ABIs Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-vdso-compat-time32-v1-9-97ea7a06a543@linutronix.de> References: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> In-Reply-To: <20251223-vdso-compat-time32-v1-0-97ea7a06a543@linutronix.de> To: Andy Lutomirski , Thomas Gleixner , Vincenzo Frascino , Shuah Khan , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Russell King , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Arnd Bergmann , linux-api@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Developer-Signature: v=1; a=ed25519-sha256; t=1766473161; l=1324; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=RMI5k+F7krRakVS3hHkFucei6uZny6MTPLu5777RVD0=; b=FByXLnZDtqFeAsI04xGLObUsOOvjQRML1ATRv1MT5GgR20btjHvIoffIcSRS07gaXJejOb1Ou U7yhvSnzbP0AqwbnejJr7AWQjsKwDDviO1gh3dDeEK9TMplIHHd665C X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= For consistency with __vdso_clock_gettime64() there should also be a 64-bit variant of clock_getres(). This will allow the extension of CONFIG_COMPAT_32BIT_TIME to the vDSO and finally the removal of 32-bit time types from the kernel and UAPI. Signed-off-by: Thomas Wei=C3=9Fschuh --- arch/mips/vdso/vdso.lds.S | 1 + arch/mips/vdso/vgettimeofday.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/arch/mips/vdso/vdso.lds.S b/arch/mips/vdso/vdso.lds.S index c8bbe56d89cb..5d08be3a6b85 100644 --- a/arch/mips/vdso/vdso.lds.S +++ b/arch/mips/vdso/vdso.lds.S @@ -103,6 +103,7 @@ VERSION __vdso_clock_getres; #if _MIPS_SIM !=3D _MIPS_SIM_ABI64 __vdso_clock_gettime64; + __vdso_clock_getres_time64; #endif #endif local: *; diff --git a/arch/mips/vdso/vgettimeofday.c b/arch/mips/vdso/vgettimeofday.c index 604afea3f336..59627f2f51b7 100644 --- a/arch/mips/vdso/vgettimeofday.c +++ b/arch/mips/vdso/vgettimeofday.c @@ -46,6 +46,12 @@ int __vdso_clock_gettime64(clockid_t clock, return __cvdso_clock_gettime(clock, ts); } =20 +int __vdso_clock_getres_time64(clockid_t clock, + struct __kernel_timespec *ts) +{ + return __cvdso_clock_getres(clock, ts); +} + #else =20 int __vdso_clock_gettime(clockid_t clock, --=20 2.52.0