From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-il1-f177.google.com (mail-il1-f177.google.com [209.85.166.177]) (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 740A51C9B71 for ; Tue, 1 Oct 2024 15:14:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727795695; cv=none; b=XrVIZ0W4BzzPEA789X5mUKCWf4P7xDQfQNMIQjQUHjm937d7KbDF7BWujLMVmgjbQH5R+znGgVXj2T2NPNBgmiUJHknzhZhSPTmjwM1FH9CnR2r0wnYnRzaMidM/RlDgrqJFNz1HKRtqVQdgXwjQpYmjl5ZdIm8QwmS6ygO4FKE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727795695; c=relaxed/simple; bh=vGfztZfGRFWc4NBs1quyq8Qr4M8gtUs6U3u8lP4FNeQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Lj2Lc88nJm7HjcqqQNSeJnJhBNRn8XMn9PkvZt4MLZxOSGlTBkWPOBnrKfuhJvKkubFdJW3xd53Qm1PF4fzEdflhuKmf7F/WYezSkEslemSdztyHrbonIZR5C6A3spNamN1UDls1R/WX1HmbPKFF5jRRyZwS6/Sudn7Zxf3CuvQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linuxfoundation.org; spf=pass smtp.mailfrom=linuxfoundation.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=P9RaiR6X; arc=none smtp.client-ip=209.85.166.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linuxfoundation.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="P9RaiR6X" Received: by mail-il1-f177.google.com with SMTP id e9e14a558f8ab-37636c3872bso20091815ab.3 for ; Tue, 01 Oct 2024 08:14:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1727795691; x=1728400491; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=kKqi6XAaCDK4ylDvOJNyWgR8U3btYX9UaPK/lnzXIXY=; b=P9RaiR6XixRGUHqE6aOSlXaS0ZB5mEnnE2GTOxtd8U+rKL5soSEa7lX/xsCNo0LDXy SZEfWWzq9mNYElr/OJL0RgRAHyPZZ/gfNmcv0Kq7uyZrYTTa1MRSPapbeeq0LCpCViXq gnGudGV/92wN0o0E6qwuz3Ae37xazpz1nXk7w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795691; x=1728400491; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kKqi6XAaCDK4ylDvOJNyWgR8U3btYX9UaPK/lnzXIXY=; b=wdCVgpJky/D/nW1AKuLW8+3kWsKRZj2NPaaAnecUiFBmSieZC3nqyeb/rJMhRBB0hl +1tvMD/oDlCv+7Hx8GuWmZQKDQGFAt9v1iWgJ9zRyv511HMgibszGGqsFCMOGm175g4X nTj85JOMqG9C6JIDRIiuMRDB0OLlZxUjt7WA0niVxncBe2yed3sizFGuL+WPMT29FIfw 216j4HhaDy5bmgupZcNeyJY4zhiDrAoSQ7qxyOlQ9wadAnODVK40P5tfpv9yNO15KAus aHgCYy4iK7DwMo3qBmiaOuHGZ55ETfxu032Irdyu8Nv8fkZIMXVqBxu4x2KkoIarOVmN q0iw== X-Forwarded-Encrypted: i=1; AJvYcCXA8mny3o5N62VkwlvvWKK8Oh5/Y2USkrYc/BI6Rn1sUatpY84TaBXxUvBRqlNy8bn33w9NPfQzpX++Kj4=@vger.kernel.org X-Gm-Message-State: AOJu0Yylj4Ndq+YNCl/PXJuNaELi7nJivyIkWRSckRedZjxQ5EAJ2SP9 mc0JrsVAr18quVN+2UDGEiVbmx/jPQs6gKEp0ah1PFLnoAzlCmpyG8QUMhZ7d2w= X-Google-Smtp-Source: AGHT+IHPRaDLHh5NNr+7xNJ7xQp3GFEDDjA2gli79iP+lkT3RW37GJzP/Nly6ScHDzliGfN1hpNRrg== X-Received: by 2002:a05:6e02:1d10:b0:3a0:4db0:ddbf with SMTP id e9e14a558f8ab-3a34515d316mr128132985ab.8.1727795691507; Tue, 01 Oct 2024 08:14:51 -0700 (PDT) Received: from [192.168.1.128] ([38.175.170.29]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4d8888c2c51sm2677358173.102.2024.10.01.08.14.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:14:51 -0700 (PDT) Message-ID: <7ad58665-ed3f-4b20-b7ee-5d8314de3cc2@linuxfoundation.org> Date: Tue, 1 Oct 2024 09:14:49 -0600 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 2/2] selftests/exec: add a test to enforce execveat()'s comm To: Tycho Andersen , Alexander Viro , Christian Brauner , Jan Kara , Eric Biederman , Kees Cook Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Tycho Andersen , Shuah Khan References: <20241001134945.798662-1-tycho@tycho.pizza> <20241001134945.798662-2-tycho@tycho.pizza> Content-Language: en-US From: Shuah Khan In-Reply-To: <20241001134945.798662-2-tycho@tycho.pizza> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 10/1/24 07:49, Tycho Andersen wrote: > From: Tycho Andersen > > We want to ensure that /proc/self/comm stays useful for execveat() callers. This commit message is vague? What does staying useful mean? Elaborate on the staying useful and the tests added to ensure. Add test results as well. > > Signed-off-by: Tycho Andersen > --- > tools/testing/selftests/exec/execveat.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/tools/testing/selftests/exec/execveat.c b/tools/testing/selftests/exec/execveat.c > index 071e03532cba..091029f4ca9b 100644 > --- a/tools/testing/selftests/exec/execveat.c > +++ b/tools/testing/selftests/exec/execveat.c > @@ -419,6 +419,9 @@ int main(int argc, char **argv) > if (argc >= 2) { > /* If we are invoked with an argument, don't run tests. */ > const char *in_test = getenv("IN_TEST"); > + /* TASK_COMM_LEN == 16 */ > + char buf[32]; > + int fd; > > if (verbose) { > ksft_print_msg("invoked with:\n"); > @@ -432,6 +435,28 @@ int main(int argc, char **argv) > return 1; > } > > + fd = open("/proc/self/comm", O_RDONLY); > + if (fd < 0) { > + perror("open comm"); The existing code in this file uses ksft_perror() - please keep the new code consistent with the existing code. > + return 1; > + } > + > + if (read(fd, buf, sizeof(buf)) < 0) { > + close(fd); > + perror("read comm"); Same comment as above. > + return 1; > + } > + close(fd); > + > + /* > + * /proc/self/comm should fail to convert to an integer, i.e. > + * atoi() should return 0. > + */ > + if (atoi(buf) != 0) { > + ksft_print_msg("bad /proc/self/comm: %s", buf); > + return 1; > + } > + > /* Use the final argument as an exit code. */ > rc = atoi(argv[argc - 1]); > exit(rc); thanks, -- Shuah