From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CFBA368D7A for ; Thu, 21 May 2026 18:16:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779387363; cv=none; b=MZUUAtneVA0LUZReF7uRHqELH1JxbNvbf8Zd1v53QQXVvIqNyTopn/+mej8Tocovn4vjhm7xkuK4hZ2RJ/JMMnhi0S8wgon2XJhjou9K/luvlJJchYoFIAQ0pu02FK2jy8sPNWYIHXqVVtCCWitnYdZ7xJuYJRz/b2TidJn/4/c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779387363; c=relaxed/simple; bh=Cw66GL4ZKQEH8CKm3VylDGj1MjnxrfypF0t5Ksau2xk=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=FM3Sp/QKGTaHd8Wh8O0M67XFvIfZLpF6tkFMWrcTXTBUIq2MbMgXONKsTO6M8KnoeHw+RWdYqK2+sCq9b/+dLLXj2N34mPklS93cvi8jknKcdNy6+y3ahsx/FHrUphoFPZkzetkoVkHW76NNlfMch+3lw4mF27lwg/vrO40dy5A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gY565LqW; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gY565LqW" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4904127c32cso1026265e9.2 for ; Thu, 21 May 2026 11:16:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779387360; x=1779992160; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=hZVfkvjSH+D0eVh8cazzZFDoyLeCyux64thIjuIpJYA=; b=gY565LqW/k8zC7kk1/xKsVAb0mbqou0VDDiLMd5vdQtLXkPVS9ENGVg4TCGg/7Kuq1 4ubneb+0jFRUlZbkDHEc9m8y8hfbPCekWaeWxGOxuLYnud36XvQuApyxnCigGxfqjC+a dyizhNyIzZK/Fc4N5Y9u7nCxbW/dwQ9qWI5VNkYbCMijKFKclete9npQ899LlwIhF/eT 8zkX2S/C3joVlmc0bb5Zl3PfqO8pJIECAXJN7lM0SbooWqE2G6epc6/l2kayFD/YGGWv tcVj9r+c5+ENMjbSZEk2ZhjHKziRTx2QtOO6U9+g/WlUyalewqPdcNolQXmUU2u4wD5O uRZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779387360; x=1779992160; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hZVfkvjSH+D0eVh8cazzZFDoyLeCyux64thIjuIpJYA=; b=S7HSdtiq6OvxLd/lif34lFKQLQ5ybCDzNjq5YMgdMQmomzA4rjkEns4jRyiMOu4sDU E50PuBJhLXdGkF98iEr2r48S3kFr9UMxeH+xzgNhiCzkJgfsLzXv9aOoGbQ/7q2UpQpC wCyMaJP1BH7heBgxRnUUSeEUv8WVm92awkV+sSrSFwjeT0Zpy/Tmt/piwAOdDgAzQEGa sYFJvufWLBP60PXm8n8clFIat+o/HYZU0moPyzsz6qaPh1qR+CBpgPLu7fxiNakHmZGQ Ak+Wdtr6fNOrBRpaRvSeRCJ2ZIlrF6GT0iThti+aD9f2ea6TC9+kj3PVIN2F9d84K3Hd X3Yw== X-Forwarded-Encrypted: i=1; AFNElJ8oS/qyf5MkMKkgGFWrxTC6wHw5eqm0WcnZLrLa4NcFjKlyItv6dUA3H1KkTdqy+dKCHQF4bjwISHOeLDI=@vger.kernel.org X-Gm-Message-State: AOJu0YzkOSVAhddtLseSnf1ICi4EqjthVBWUTHuqP9IiyEpSWof5a9kh 7y+gyqevYKulmlXra7B/jv4fYzogWoGc9WsHdoJzwm4sU2PCVJiTUbelOJ3dPIxbLic= X-Gm-Gg: Acq92OGhbhvA8ziYKOB9Ed9TnswFWlln53AQWi++cqBZngxb100o0gmDJVRssOLurIp keYEEFbL0Qbbgwfl08kRaekspjVGpsVPXHSrB7pQ1shEjDXl05VgNXwdOFQVfrlJMv/oe2/P4h+ ym1a3aQz7PBZLKIGKKeqFmPSJazngWb0zAhaNulBdyaKKQWkorvJ4Ov4eq6u+woeFRiT822kgaK jOwaiXPtxk/3866vkqkMaikHbew0vVj02O4pxhjyMLaItVz5sV4+k+OU1TN/dKH9ZOLhv4oip0E +UNBm6y/iWV/hWqIhpPaAem8tHd6mOrIvexsy12t7SNnlLGcWPDWMEIr6cavKfNnaYtik0zdkLj QaYKvIxbKVWL7yBeQ+FEPUMdzheBLn+1bNY5v+ReoMhAHAFvQqVWo1tcZQXB0hypMBTGcPXl2va KcGxZ+KTX1yBWX8F2YeLgFW/kZ2V6sMbf7xJeROBqnVmXW9OpP7wNL0R3fPl2K+UNXS6bd15xVc 6g= X-Received: by 2002:a05:600c:8b16:b0:490:388f:1c0d with SMTP id 5b1f17b1804b1-490388f1d92mr49324445e9.5.1779387359969; Thu, 21 May 2026 11:15:59 -0700 (PDT) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eaa7cf23bsm4432081f8f.5.2026.05.21.11.15.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 11:15:59 -0700 (PDT) Date: Thu, 21 May 2026 19:15:58 +0100 From: David Laight To: Thomas =?UTF-8?B?V2Vpw59zY2h1aA==?= Cc: Willy Tarreau , linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/3] selftests/nolibc: cast execve() argv string to character pointer Message-ID: <20260521191558.6e62c6bc@pumpkin> In-Reply-To: <20260521-nolibc-write-strings-v1-2-2debb3ad4142@weissschuh.net> References: <20260521-nolibc-write-strings-v1-0-2debb3ad4142@weissschuh.net> <20260521-nolibc-write-strings-v1-2-2debb3ad4142@weissschuh.net> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) 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 On Thu, 21 May 2026 18:29:30 +0200 Thomas Wei=C3=9Fschuh wrote: > 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. I suspect you'll have to fix it again to avoid 'casting away const'. Can you use something like (char[]){"/"} ? -- David > See the section "Rationale" in page linked below. >=20 > Link: https://pubs.opengroup.org/onlinepubs/9799919799/functions/exec.html > Signed-off-by: Thomas Wei=C3=9Fschuh > --- > tools/testing/selftests/nolibc/nolibc-test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > 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 =3D dup2(-1, 100); EXPECT_SYSER(1, t= mp, -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); = break; > CASE_TEST(file_stream); EXPECT_SYSZR(1, test_file_stream()); bre= ak; >=20