From nobody Sun Jun 21 06:31:39 2026 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) (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 B17763988EE for ; Mon, 6 Apr 2026 20:02:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.69.126.157 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775505767; cv=none; b=VDy3pw0YyKpiy99GWpX0f5bNfMZ/N0idOEh4dJFCGpNaJzaqta2wOsGAyogyFhdwsXWMYqKHUJmRjDy9/f0WS4LbnSOQkEhpzHGcB7/hHs9m4Mr5CeRIReisdgalIjBN0eCcuJqdzagSefEO7qx+p0QYZcwOogCXssVHsAXCcfE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775505767; c=relaxed/simple; bh=Mly5LNvaoO8we/QHExZVcQG0Nod90Lv+Y21FMC5QCyc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KVqbFyXQ+XUI+B0sKSTi84KASugBUdPB4yhyLD+cMstn6Vh08NaOMTDsz+tGPZH+IFrsp6votfPOF7onmIiEykGcaIt2X2so6E5qNpARBLQCn1mwcckdTKd+8hSsPre9MK72xOsfnH2dBt+C4GMP6tx00EFXbF4/2NAa8O8auhA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net; spf=pass smtp.mailfrom=weissschuh.net; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b=SDhWnngf; arc=none smtp.client-ip=159.69.126.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b="SDhWnngf" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1775505763; bh=Mly5LNvaoO8we/QHExZVcQG0Nod90Lv+Y21FMC5QCyc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=SDhWnngfMOshgjlbgD4lrsQHpfx8q2v72yQUrQTXKg6pS2X+kmRBy5g73si+3TEGB ofQhmGOpuGkWmZJz6Hmh0XmeA64CoL0cp/zWUWEnKh5XGQp+3kmgOriinhgLXeVVcs tLmSe//WBB2bVi+0Wfmec2OUZoDR5mfcEFGQz2Hs= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Mon, 06 Apr 2026 22:02:37 +0200 Subject: [PATCH 1/2] selftests/nolibc: explicitly handle ENOSYS from ptrace() 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: <20260406-nolibc-no-skip-enosys-v1-1-c046b1ac7d73@weissschuh.net> References: <20260406-nolibc-no-skip-enosys-v1-0-c046b1ac7d73@weissschuh.net> In-Reply-To: <20260406-nolibc-no-skip-enosys-v1-0-c046b1ac7d73@weissschuh.net> To: Willy Tarreau Cc: linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775505762; l=1455; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=Mly5LNvaoO8we/QHExZVcQG0Nod90Lv+Y21FMC5QCyc=; b=UZx3bK+XqIRkYtceL7k94JErK2oWT0NntAocaSxmAgJ47DFSdhjfIGzbcqa0b1XyoZfCw9a5L rJhan8gHssIC1IbT+G3VrospG9Xiu6EMEvMkK0BiPaVkeM63BChHPb/ X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= The automatic ENOSYS handling in EXPECT_SYSER() is about to be removed. ptrace() will return legitimately return ENOSYS on qemu-user, so handle it explicitly. Signed-off-by: Thomas Wei=C3=9Fschuh Acked-by: Willy Tarreau --- tools/testing/selftests/nolibc/nolibc-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/s= elftests/nolibc/nolibc-test.c index dd10402267ee..9f24b98fb578 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -1504,7 +1504,7 @@ int run_syscall(int min, int max) CASE_TEST(readv_zero); EXPECT_SYSZR(1, readv(0, NULL, 0)); break; CASE_TEST(writev_badf); EXPECT_SYSER(1, writev(-1, &iov_one, 1), -= 1, EBADF); break; CASE_TEST(writev_zero); EXPECT_SYSZR(1, writev(1, NULL, 0)); break; - CASE_TEST(ptrace); EXPECT_SYSER(1, ptrace(PTRACE_CONT, getpid= (), NULL, NULL), -1, ESRCH); break; + CASE_TEST(ptrace); tmp =3D ptrace(PTRACE_CONT, getpid(), NULL= , NULL); EXPECT_SYSER(tmp !=3D -1 && errno !=3D ENOSYS, tmp, -1, EFAULT); b= reak; CASE_TEST(syscall_noargs); EXPECT_SYSEQ(1, syscall(__NR_getpid), getp= id()); break; CASE_TEST(syscall_args); EXPECT_SYSER(1, syscall(__NR_statx, 0, NUL= L, 0, 0, NULL), -1, EFAULT); break; CASE_TEST(namespace); EXPECT_SYSZR(euid0 && proc, test_namespace= ()); break; --=20 2.53.0 From nobody Sun Jun 21 06:31:39 2026 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) (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 A8D992E54B6 for ; Mon, 6 Apr 2026 20:02:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.69.126.157 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775505767; cv=none; b=MxnB8Zx8tCvTZRDVQwVYpgm35r5utiSADZ9NzrGp9dG9kA2SZoWcyOdUtPgkUpNcVV1b3N203C1W7cc5Xhwyg6Vfl6Y43AVHC8lNfd5icl6ZSUPxQVSzlvJCINiiWBH7f56Jdgod7oKiXAJacYQKIhcpAmrU7cWzLECBcxGlzQE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775505767; c=relaxed/simple; bh=Y7OLu6DAkG8+Ptuelscp3+EdQZRqzO5rL8bqwaC3n1o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kkQyxF+4GGAXK2g6d79D8Wz1fF1kixg3sQemhdHxCyrbuEoElqPUNFA+BXP3Y9mDszVjvDr0bUbfJip3tSZbZJJUQfJsmo7PtausPYgUNJ4f22yZAHU6dahAdCiIiEh/TRfBxj+ihnMAq8jSmf1lqYKvtjtDmd+kx21ug+0JEAQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net; spf=pass smtp.mailfrom=weissschuh.net; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b=S5Ty5pCq; arc=none smtp.client-ip=159.69.126.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b="S5Ty5pCq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1775505763; bh=Y7OLu6DAkG8+Ptuelscp3+EdQZRqzO5rL8bqwaC3n1o=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=S5Ty5pCqT1PmD9/lcdWZXWFQcz9Ckedcc9c516dxjirC+5SIVSaTaLzi6EnOzwBtZ JbsqIojgDRa+urP1kG4YdcMs+/yfAWALVpD2bb3N4BlCIpr7U/5OFaQ2o+wZ2J5Yfe PDWbR6alELuLKT/d1YeoY4xvYNHUkaG6PBSjLt1o= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Mon, 06 Apr 2026 22:02:38 +0200 Subject: [PATCH 2/2] selftests/nolibc: don't skip tests for unimplemented syscalls anymore 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: <20260406-nolibc-no-skip-enosys-v1-2-c046b1ac7d73@weissschuh.net> References: <20260406-nolibc-no-skip-enosys-v1-0-c046b1ac7d73@weissschuh.net> In-Reply-To: <20260406-nolibc-no-skip-enosys-v1-0-c046b1ac7d73@weissschuh.net> To: Willy Tarreau Cc: linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775505762; l=2020; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=Y7OLu6DAkG8+Ptuelscp3+EdQZRqzO5rL8bqwaC3n1o=; b=LK2O4oPftXH4FNFq4tRn9OPzKXdYMpmHn8Mz4I6j6KexUcZaFUvlNL8Sevpq6am/3R09LF1BV P6izAEZ9+N6CFj0vU2BbZ39E/WP710/a3HeKUOHVvnNkwuRAkTR0L7I X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= The automatic skipping of tests on ENOSYS returns was introduced in commit 349afc8a52f8 ("selftests/nolibc: skip tests for unimplemented syscalls"). It handled the fact that nolibc would return ENOSYS for many syscall wrappers on riscv32. Nowadays nolibc handles all these correctly, so this logic is not used anymore. To make missing nolibc functionality more obvious fail the tests again if something is not implemented. Revert the mentioned commit again. Signed-off-by: Thomas Wei=C3=9Fschuh Acked-by: Willy Tarreau --- tools/testing/selftests/nolibc/nolibc-test.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/s= elftests/nolibc/nolibc-test.c index 9f24b98fb578..15a100c07504 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -314,10 +314,7 @@ int expect_syszr(int expr, int llen) { int ret =3D 0; =20 - if (errno =3D=3D ENOSYS) { - llen +=3D printf(" =3D ENOSYS"); - result(llen, SKIPPED); - } else if (expr) { + if (expr) { ret =3D 1; llen +=3D printf(" =3D %d %s ", expr, errorname(errno)); result(llen, FAIL); @@ -357,10 +354,7 @@ int expect_sysne(int expr, int llen, int val) { int ret =3D 0; =20 - if (errno =3D=3D ENOSYS) { - llen +=3D printf(" =3D ENOSYS"); - result(llen, SKIPPED); - } else if (expr =3D=3D val) { + if (expr =3D=3D val) { ret =3D 1; llen +=3D printf(" =3D %d %s ", expr, errorname(errno)); result(llen, FAIL); @@ -385,9 +379,7 @@ int expect_syserr2(int expr, int expret, int experr1, i= nt experr2, int llen) int _errno =3D errno; =20 llen +=3D printf(" =3D %d %s ", expr, errorname(_errno)); - if (errno =3D=3D ENOSYS) { - result(llen, SKIPPED); - } else if (expr !=3D expret || (_errno !=3D experr1 && _errno !=3D experr= 2)) { + if (expr !=3D expret || (_errno !=3D experr1 && _errno !=3D experr2)) { ret =3D 1; if (experr2 =3D=3D 0) llen +=3D printf(" !=3D (%d %s) ", expret, errorname(experr1)); --=20 2.53.0