From mboxrd@z Thu Jan 1 00:00:00 1970 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: 8bit 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ßschuh --- 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/selftests/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 = dup2(-1, 100); EXPECT_SYSER(1, tmp, -1, EBADF); if (tmp != -1) close(tmp); break; CASE_TEST(dup3_0); tmp = dup3(0, 100, 0); EXPECT_SYSNE(1, tmp, -1); close(tmp); break; CASE_TEST(dup3_m1); tmp = dup3(-1, 100, 0); EXPECT_SYSER(1, tmp, -1, EBADF); if (tmp != -1) close(tmp); break; - CASE_TEST(execve_root); EXPECT_SYSER(1, execve("/", (char*[]){ [0] = "/", [1] = NULL }, NULL), -1, EACCES); break; + CASE_TEST(execve_root); EXPECT_SYSER(1, execve("/", (char*[]){ [0] = (char *)"/", [1] = 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); break; CASE_TEST(file_stream); EXPECT_SYSZR(1, test_file_stream()); break; -- 2.54.0