From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D989BCEACDD for ; Tue, 1 Oct 2024 15:14:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4D84D280092; Tue, 1 Oct 2024 11:14:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4880D280068; Tue, 1 Oct 2024 11:14:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34F95280092; Tue, 1 Oct 2024 11:14:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1697D280068 for ; Tue, 1 Oct 2024 11:14:55 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BC5D21415AE for ; Tue, 1 Oct 2024 15:14:54 +0000 (UTC) X-FDA: 82625380908.17.C938504 Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) by imf20.hostedemail.com (Postfix) with ESMTP id B1CC01C001A for ; Tue, 1 Oct 2024 15:14:52 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=XjmIUBmN; spf=pass (imf20.hostedemail.com: domain of skhan@linuxfoundation.org designates 209.85.166.169 as permitted sender) smtp.mailfrom=skhan@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727795565; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kKqi6XAaCDK4ylDvOJNyWgR8U3btYX9UaPK/lnzXIXY=; b=iF0ME5nhgBpHvVznQll9fllfawDG3jU4lAnpLad6/5epF5BlygK49KHRWuGuyMheltHUWh wVGUgwulTtOIzteo6z2BJpwytlBYy62xUaPnw82ZFlD/cJLIw5URkH5XC05WJZazqc8OXV RZBOwyF97knaJ3e/QF7JohqBzgUf4y0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727795565; a=rsa-sha256; cv=none; b=JcWJpevGpnooMriGcuXMKsFpHajIq4DfTGrFY0brBloy3d8DZuSn7J94rXXhvh4mdWS/fA tU92godVxnNHxEEpmb45+QXGXBUf06uaZhP3D1jN6hxrnsDA1si24+D2/2UUPfHbfgpEHR agHRhNGMwoXE/fNhUrioIPHl5TTuAcQ= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=XjmIUBmN; spf=pass (imf20.hostedemail.com: domain of skhan@linuxfoundation.org designates 209.85.166.169 as permitted sender) smtp.mailfrom=skhan@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org Received: by mail-il1-f169.google.com with SMTP id e9e14a558f8ab-37636c3872bso20091805ab.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=kvack.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=XjmIUBmNmVIuF3hNurBxximaKyIm0k5v/tcE3PwW8mTetgwB6pbL/1gmpNm/8GyKYx eouEE9e7IyHBkhtpht8mixiwWtiNC9znHoV8k/pa+Eeb3nVDCbkRklp5pro8xTmmBfZU WKMI4w2pQmvojv1OGrBSxkqlj8p1AVmFyiNlk= 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=awFUFeQCXDaAqY+pq8O0LOJr5iGBl0ANnqBnRYL39W+9lkKKLsPqutiDNoE4KLbbli inl4MAxzWzjRUFIN97DVGdBpzPY0vDN2hCarmWygxIgWVxKhUdXJvjESP0QbflpBc4rD 6rifJN+bV8wl6KmXliz5ELbhN7ZvKi6yCt503/m3m9BRWP2NK/OOyd071IGchacCT6kG Omk7PMIKUaXrrLfrOACZsUyNXR9FvUe1Lc9pjKSicX/EG31vTV2bJXLlvp/CgvYXu6sI yvnS6FwQeivRzSSWhxBBAexsAyGhehOs9oIETFfS7S54zvW1uL/7PANSjvIwBFJtjdCK NhSw== X-Forwarded-Encrypted: i=1; AJvYcCU5t8NRPc8GrfEZ6P5Pnb04zjsLcGVliCJIgaXzl4ptV4eDq8NyWxp/pGwmTqWy+oYpVHv6kaurig==@kvack.org X-Gm-Message-State: AOJu0YzFTO5C6dUVUM5UwDe6h16ZoVhhT079JCR8xaalmf9tpd7zjbvW 89Ws9+jL97auDimkY1yxlqs31mDW7WSv/+0JGFWTNTTB6HrWEqCh+Df47w7uFPMKhEZ6hR4D9TO Z 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 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 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B1CC01C001A X-Stat-Signature: y55pn415amx66zgh46osqndohzeo9eap X-HE-Tag: 1727795692-836216 X-HE-Meta: U2FsdGVkX1+03Ic27d0/6+urECKL+l1g9xqKC0k9iWgyCIIw0wIDI4PUsf0DzllbcOdtYtwOdtjJqxmAqB9df+TyYEKz7z/e2t+V+89RxdQQZ5NBQWifmksNGcHCE12JfO8QZ/U/6qoLllZteFBVcFqlyzU7ScOg5QTi8hAFzCaPBZ9/Tl1IgeGjmgHlatR7UqI1bAiK2lcHbSkOTekiQKjx7C6ShUm82X+1MgjjI7SkJL+3HzDD6hXB8xJwQQIubVuG+UIOWDLqAlcP/ETy62G8ODzl5kZXwdjNpHiQDBQsMO+orDBwJE0okQ3uZ9KsPHNPPel4SoNWMPDtiI1MqT8uZkkXxooSPFcCZtLYrTzmYdcdhc8RgcxaKNu5l+gCVPdVl0PikviK4TDzTMh8L4y5jyxXiB0Vwo8NpOlxQxSG5xKPwekJ8R3hwVxTM+niy/+qbACUQw4Tg6epoIxHZc7MNr7/Yh70T+9PHnLce64mE1uqasONKNq4NyA15drt4qfOrU+85zzekb3mkUsKXZGBT/v/eqqy5BP54T6Ziw6JLbpRwSXIEWBStq1Jp2GvvCafaFOYp0yb54Yf/gPAJtX25Ch0UA0Kh/Ps/qTbXgY7PhDISD/76MMpHn96A5w0oqZ9LWLVxE5/zcGLtSolJDg0a9NCI17RafGOLpaGvc2unlsr0hvERmyzomhH8FvA/9LVR9zi2KnH6gLogyYVM9vAxTYPhQIIYtGUkp/ciZQJDA6OFr2dZ/dkHpfwp5DGaWTOxla8vedusKgd+2DKoJGL2pLakGzVAdire6s0ud8rU+pUNDeR3w2NZl8+zpx0038z+R2V8I0uROx6d0XxbvvuYonIdHRUVQ2aapLmUua9yyrvR4IyXwTeMwIuHGZNImGjJARwTBbt53AQ3HCfDpcNIuaA+45FPg65JJshbhYQBdJ2cbYppl3IaHkwODKUchz5UQvaSxV6gS68rUN tcFs6p2+ OAFjx81Bn2yBIK67wHA8OPaAzX2VOrbS+TpqNWlZFkz3Hku7nyERTGPe/add+EnoQp+d40Xd9m/y0/WE7kj9NrcZJk8w3hNkNKcwMx6kmdIuUXH8QZUf07fdpsILIcoog8rQgrDyUvZXKTVbqz+KS7XognDmjNHrYcdArvBpNx1cyqbrLL5/Zq0EGwdR1Y6kHTbymuyVCsdFOhRpByzbZtOOSWdrriB2roVJCn/+MAFpH7c3rH/OPFCI+0HzcM82k2+ycDbkW9mb3iokONGZQ6nM8sltpUc568kWQBAziP4qGp/pN2vlWl9b14IHvwnDEqh7NfxMSqQziLwgmZ7oHg7hD+NDyK7CrzFKW85Blu+BuKIDFANScdn56kA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000532, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 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