From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa1-x2f.google.com (mail-oa1-x2f.google.com [IPv6:2001:4860:4864:20::2f]) by sourceware.org (Postfix) with ESMTPS id 687C53858D20 for ; Mon, 15 May 2023 18:32:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 687C53858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-199ba5154b3so9910625fac.1 for ; Mon, 15 May 2023 11:32:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684175544; x=1686767544; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=LCW7giiBsB7ZW6tmWA2QTmk3p7kJVJyIB5oxtwLtpfk=; b=P+Xjilo8ffszBnMOOb8IkyMsUInVAxb7OIlRJ9l/rmSfYSWJMwrKob4RI0OcCph2yO iUC6rUQhlKX9YtwrQnX/WYANreyS9PiBDJmWgVOS4qru1nB7L6jlCE6ctlH76jXommgv XsLXrbg+tJOtTkUsHZv+Dgd2JYQFRGPpg87MFh1Ww5bfHiLXTE0y0Ii2hXG2qMXGwGMt wewLjAeePFCWdK2Z2b80fscaipRExgF6PzZZyKGLjiN+whrnoPlMwGZTsQHvxNz2aZbU OgbiZqXGxCwLgn6vuQ/yPWcSUYopzvZ7AQfYhjVSNjDaS9uyqaEdcqqpYJXyCG4TZ+CT M73Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684175544; x=1686767544; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LCW7giiBsB7ZW6tmWA2QTmk3p7kJVJyIB5oxtwLtpfk=; b=F0TOiHqEnyOqOwmnF1G1vr1wpV2YysSOzX06XbJuNV2uyfwFbc5GLchMW3i/5qJ+3f W7RnA8JI4KQrtqoWWvCe3SYRlF0nTudvR8LtxQfEJZPDu6llr6CQxk5wGXhPkZxZPZGH fjPPUjjVTb1lUXgbSmgg7gDOFZOZffMHuY78R7Zwh7McQf+nczcv4lNtXCzW3Atfdph1 4cOLhIbFZk5hD0TFPlLYKoV7lx+Vcg8BM4Iw3vqpK30r5gPXElwayfuDWNh++uvr1IVb jSVR2OajroQDjDFsWFHOp+bVUEVqMEev9gZ+2wJZA7PBrG99+T8K/5Ch03wUhjlakqXZ HRuA== X-Gm-Message-State: AC+VfDzcfoHhcJEpS+AnUBz5N/xllwUyANydYAJDSHquyL89kJnp9eCF L4mUW9uGjbvxOrTIDW2u3XZI13J0EdOCIa9V9HtaLw== X-Google-Smtp-Source: ACHHUZ6HAgDetrDHM8A4854EhK6h3WC3qb2mmxr2m+ksXwzUvo4p4NhEM2chRg6xqGvi5Flw89rXIQ== X-Received: by 2002:a05:6870:9a25:b0:177:c990:927c with SMTP id fo37-20020a0568709a2500b00177c990927cmr18701572oab.16.1684175543884; Mon, 15 May 2023 11:32:23 -0700 (PDT) Received: from ?IPV6:2804:1b3:a7c0:7359:809b:29db:c429:1aa0? ([2804:1b3:a7c0:7359:809b:29db:c429:1aa0]) by smtp.gmail.com with ESMTPSA id v1-20020a4ac901000000b0054c9382b871sm11135029ooq.12.2023.05.15.11.32.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 May 2023 11:32:23 -0700 (PDT) Message-ID: Date: Mon, 15 May 2023 15:32:21 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: process 'ld-linux-x86-64' launched '/tmp/testscriptWLyRCA' with NULL argv: empty string added Content-Language: en-US To: =?UTF-8?Q?Cristian_Rodr=c3=adguez?= , libc mailing list References: From: Adhemerval Zanella Netto Organization: Linaro In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 03/05/23 16:17, Cristian Rodríguez via Libc-alpha wrote: > Hi: > > Apparently posix/tst-execvpe6.c is not valid anymore at least on linux > where NULL argv is invalid. The kernel is way too nice and not killing the > process as it should but using an empty string instead. > > so, > > char *args3[] = { NULL }; > if (run_script (fname2, args3)) > return 1; > > is testing.. > > char *args3[] = { "", NULL }; > if (run_script (fname2, args3)) > return 1; > > instead. My understanding is kernel will append an empty string to avoid breaking userspace: fs/exec.c: 1919 retval = count(argv, MAX_ARG_STRINGS); 1920 if (retval == 0) 1921 pr_warn_once("process '%s' launched '%s' with NULL argv: empty string added\n", 1922 current->comm, bprm->filename); [...] 1949 /* 1950 * When argv is empty, add an empty string ("") as argv[0] to 1951 * ensure confused userspace programs that start processing 1952 * from argv[1] won't end up walking envp. See also 1953 * bprm_stack_limits(). 1954 */ 1955 if (bprm->argc == 0) { 1956 retval = copy_string_kernel("", bprm); 1957 if (retval < 0) 1958 goto out_free; 1959 bprm->argc = 1; 1960 } So this is not really 'invalid'.