From nobody Sun May 24 20:35:36 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 6E0E8371895 for ; Thu, 21 May 2026 16:29:42 +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=1779380985; cv=none; b=mNBhoFtULzbGoeNWz3hyULpWFJDr1npYYvUpHFx3J6i0g+vknLs1hKcZ3brMukjOFNN3+GGw3lbXUXE6zCpcB/n/OiWyaoPpk7rLoGpXaUyxTriMAywMQ1fFkf2iZnETTMXK1HOo1Uk1hloEJu/dRPG2Nb9OZ7IIRI4q6s1DDjs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779380985; c=relaxed/simple; bh=vo9Ot6RiKEj3QiJvt55Jt7E9av3V2YZ1slgnnQPQXzg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WxDmxGDxrz3KEc+XGS8Id4sQ7WgXA62yVYSQkpu7KzVgHpFLnDxQPTELxngSSpUDSO7PunQdP7WJrWfxiW0VCJhH8R2W41pnjbB++qxMAODEpq8/8avY7LyuK4BL5A6YCYbl08GWqNKeH37xivYWX21QxpehuQdtXlqNJUazMyw= 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=eqBJHqvY; 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="eqBJHqvY" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1779380975; bh=vo9Ot6RiKEj3QiJvt55Jt7E9av3V2YZ1slgnnQPQXzg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=eqBJHqvYstGChOOhGgZQFPdhJcy4f3oBT+We43W3875zyQHklQRwx1db/5Qr/9nPP kfQmkAxMCGYvotAZRIwzNG63gM4xlafSU2P3dD1Tyji0nMOhNPumeZQlvnsqycWFDQ dpn1yAxISyYvQqnULGIY2upr1rjhOGDPsqOf0a6k= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 21 May 2026 18:29:29 +0200 Subject: [PATCH 1/3] tools/nolibc: cast default values of program_invocation_name 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: <20260521-nolibc-write-strings-v1-1-2debb3ad4142@weissschuh.net> References: <20260521-nolibc-write-strings-v1-0-2debb3ad4142@weissschuh.net> In-Reply-To: <20260521-nolibc-write-strings-v1-0-2debb3ad4142@weissschuh.net> To: Willy Tarreau Cc: linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779380974; l=1103; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=vo9Ot6RiKEj3QiJvt55Jt7E9av3V2YZ1slgnnQPQXzg=; b=VAv9XWQShsBv3GzN9R7A2+S3LbhOFvdeLdudegscoKT1RRPfwe5NULe7vi0TY0ehcqHcDHlNz y6MXgWqrqaMAJB1EV6fSGDhn87QGr7/pYuLf3w99n5XTqjU2TOXYywv X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= With -Wwrite-strings the plain assignment triggers a warning as a 'const char *' is assigned to a 'char *', removing the const qualifier. Casting the const away is fine, as there is no valid modification that can be done to an empty string anyways. Signed-off-by: Thomas Wei=C3=9Fschuh Acked-by: Willy Tarreau --- tools/include/nolibc/errno.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/include/nolibc/errno.h b/tools/include/nolibc/errno.h index bab83692ea1c..a2325596d550 100644 --- a/tools/include/nolibc/errno.h +++ b/tools/include/nolibc/errno.h @@ -15,8 +15,8 @@ #ifndef NOLIBC_IGNORE_ERRNO #define SET_ERRNO(v) do { errno =3D (v); } while (0) int errno __attribute__((weak)); -char *program_invocation_name __attribute__((weak)) =3D ""; -char *program_invocation_short_name __attribute__((weak)) =3D ""; +char *program_invocation_name __attribute__((weak)) =3D (char *)""; +char *program_invocation_short_name __attribute__((weak)) =3D (char *)""; #else #define SET_ERRNO(v) do { } while (0) #define program_invocation_name "" --=20 2.54.0 From nobody Sun May 24 20:35:36 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 5AC9042AA9 for ; Thu, 21 May 2026 16:29:43 +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=1779380984; cv=none; b=b1qaygdB6ZE5X47m+dL5kBfLOCQhsRfmG8JCs8KNdZsc2joOOiaLIKZZHRk/M5G6LyKdTObadeI3IJDhubrgXgtCg5963/C4J0xr0tcqa+R2+9RWZNcB8fnXj45v5bQx0H9p0fKvV8QyvFHAp8CyQMCjSszB09gAPTBled5Fw8Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779380984; c=relaxed/simple; bh=Xnd8Dg6XXO3B6tonwtnwE6UerDdKAzeUNdsKxJvSVfg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mmsI4SjFEe9F+JvVaza/DK1VdqBsEgo6TMgW5eRPCo78KaFGOwGqAoAeKJY0NsC9VOQwgAEhrp16JlJdRdMSPHUzKwUp/YELsVaMHsPBFBxqjtdwvF1+iLbmXJsyndPL4gnb+HmkpVDuHQBO8QwfhGFPSKWIVu+SYvsAcZyUIpY= 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=a9o3Q46v; 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="a9o3Q46v" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1779380975; bh=Xnd8Dg6XXO3B6tonwtnwE6UerDdKAzeUNdsKxJvSVfg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=a9o3Q46vrPjRK4w8e0MNuFkR20QbiICPufR0uYg3nvurV1TUD2L6Vma3qoAkE0dch PO8jU5zQhR+z2qOJaXDTTmeWrm8OAT/wZp/2qy7JTm+YFial0TzPDix5zf0LMm+qVQ R/+cCuWk9oGWRR+J9+YmcYn/GseEGvvQqlTUPECY= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 21 May 2026 18:29:30 +0200 Subject: [PATCH 2/3] selftests/nolibc: cast execve() argv string to character pointer 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: <20260521-nolibc-write-strings-v1-2-2debb3ad4142@weissschuh.net> References: <20260521-nolibc-write-strings-v1-0-2debb3ad4142@weissschuh.net> In-Reply-To: <20260521-nolibc-write-strings-v1-0-2debb3ad4142@weissschuh.net> To: Willy Tarreau Cc: linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779380974; l=1696; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=Xnd8Dg6XXO3B6tonwtnwE6UerDdKAzeUNdsKxJvSVfg=; b=NaIBTfENIQHWsPLG9UgmcL1ltP5laeL5X89Pjjvp8bfhehJsNFWrNrC/TBCXE1wtUlb/b3WhB WUNyQSTo7f9A9G88y9dGNadDD4lPZ1J+D7NNO4mAeKE1r594MBzsYHn X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= The existing code would trigger a warning under -Wwrite-strings which is about to be enabled. execve() is specified as not modifying the argv array, but the exact semantics are not representable in the type system. See the section "Rationale" in page linked below. Link: https://pubs.opengroup.org/onlinepubs/9799919799/functions/exec.html 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 c3867cc570c6..9f8cb3672737 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -1533,7 +1533,7 @@ int run_syscall(int min, int max) CASE_TEST(dup2_m1); tmp =3D dup2(-1, 100); EXPECT_SYSER(1, tmp= , -1, EBADF); if (tmp !=3D -1) close(tmp); break; CASE_TEST(dup3_0); tmp =3D dup3(0, 100, 0); EXPECT_SYSNE(1, = tmp, -1); close(tmp); break; CASE_TEST(dup3_m1); tmp =3D dup3(-1, 100, 0); EXPECT_SYSER(1, = tmp, -1, EBADF); if (tmp !=3D -1) close(tmp); break; - CASE_TEST(execve_root); EXPECT_SYSER(1, execve("/", (char*[]){ [0]= =3D "/", [1] =3D NULL }, NULL), -1, EACCES); break; + CASE_TEST(execve_root); EXPECT_SYSER(1, execve("/", (char*[]){ [0]= =3D (char *)"/", [1] =3D NULL }, NULL), -1, EACCES); break; CASE_TEST(fchdir_stdin); EXPECT_SYSER(1, fchdir(STDIN_FILENO), -1, = ENOTDIR); break; CASE_TEST(fchdir_badfd); EXPECT_SYSER(1, fchdir(-1), -1, EBADF); br= eak; CASE_TEST(file_stream); EXPECT_SYSZR(1, test_file_stream()); break; --=20 2.54.0 From nobody Sun May 24 20:35:36 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 6E171372079 for ; Thu, 21 May 2026 16:29:42 +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=1779380984; cv=none; b=DayrXPHyOOG5sXRunCZB7+TuqjS0pmP2ELg+/igUPSNaqAlgFHwMwOU2WzmR962s0zOH1AwLw7XBP9xFAg6/I8MVbeNY8N3Wm1B7xfAtwYAdpR71gWTMp4TDyGlEap92JlRtxArNApm6k7pbcUh3/uwJvu7kPFKNL0keoBcS41k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779380984; c=relaxed/simple; bh=+elVUawdnEbvOAPon8TPMnzTjwPfIlNQApBTKJ8cVtg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NWh9nhcfohCOCG3yTtE116VoKWKWo3Vph3CMbdunU4czNCQTlaRWGZDqT4t87qYZNNPYg1YPP0L91xPXxc/dp2hPUO5so12HkVKv0XHv7f+80/h2+MMv3O5UnRpN5l7A4GnJ51X4UrJMrHqZBuHyFzMRiH4V8boP7MteZ+XZI2c= 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=MdNvE24y; 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="MdNvE24y" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1779380975; bh=+elVUawdnEbvOAPon8TPMnzTjwPfIlNQApBTKJ8cVtg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=MdNvE24yt6TrjlbBjWCdoZYWCdgpk5UPIAOGQc1gH1hrBTyKtN44J6wT5X/0Avgsy 8PEhtYsXBRANVqzv3Es2MMQNqHIj14C6nhP3BqMfsjT2FALfSbW46A6fJSPxXwD2Z3 +RultCPhntweVuBYh4yz8ub3SytLcH/vbqLTFpKA= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Thu, 21 May 2026 18:29:31 +0200 Subject: [PATCH 3/3] selftests/nolibc: test against -Wwrite-strings 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: <20260521-nolibc-write-strings-v1-3-2debb3ad4142@weissschuh.net> References: <20260521-nolibc-write-strings-v1-0-2debb3ad4142@weissschuh.net> In-Reply-To: <20260521-nolibc-write-strings-v1-0-2debb3ad4142@weissschuh.net> To: Willy Tarreau Cc: linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779380974; l=1047; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=+elVUawdnEbvOAPon8TPMnzTjwPfIlNQApBTKJ8cVtg=; b=TJSoXUFWBsgKuk9k7kkKT9roaLAIpznll2NKkNgOWX9xX2MPggiSFpA/9xAQsT1ZtFS6Ah+1n 5fsTsOLEOcKBFbjn4K8xi2gqbpePAFmcA6gcFSrr742LpCoxbf1b8hB X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= Users may use this warning when building their own applications. Make sure that nolibc does not trigger any such warnings. Signed-off-by: Thomas Wei=C3=9Fschuh Acked-by: Willy Tarreau --- tools/testing/selftests/nolibc/Makefile.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/nolibc/Makefile.include b/tools/testin= g/selftests/nolibc/Makefile.include index 96fe2bc2191e..c30ca3a9ef14 100644 --- a/tools/testing/selftests/nolibc/Makefile.include +++ b/tools/testing/selftests/nolibc/Makefile.include @@ -6,7 +6,7 @@ _CFLAGS_STACKPROTECTOR ?=3D $(call try-run, \ $(__CFLAGS_STACKPROTECTOR)) _CFLAGS_SANITIZER ?=3D $(call cc-option,-fsanitize=3Dundefined -fsanitize-= trap=3Dall) CFLAGS_NOLIBC_TEST ?=3D -Os -fno-ident -fno-asynchronous-unwind-tables -s= td=3Dc89 \ - -W -Wall -Wextra -Wundef \ + -W -Wall -Wextra -Wundef -Wwrite-strings \ $(call cc-option,-fno-stack-protector) $(call cc-option,-Wmissing-protot= ypes) \ $(_CFLAGS_STACKPROTECTOR) $(_CFLAGS_SANITIZER) =20 --=20 2.54.0