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 C6327C0218A for ; Sat, 1 Feb 2025 11:03:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D34E36B007B; Sat, 1 Feb 2025 06:03:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CE3B96B0082; Sat, 1 Feb 2025 06:03:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD2A96B0083; Sat, 1 Feb 2025 06:03:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9FA2F6B007B for ; Sat, 1 Feb 2025 06:03:05 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 300FA16168C for ; Sat, 1 Feb 2025 11:03:05 +0000 (UTC) X-FDA: 83071088730.27.3B1C7DF Received: from lichtman.org (lichtman.org [149.28.33.109]) by imf08.hostedemail.com (Postfix) with ESMTP id 7B03316000F for ; Sat, 1 Feb 2025 11:03:03 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=lichtman.org header.s=mail header.b=Eb0cA8mC; spf=pass (imf08.hostedemail.com: domain of nir@lichtman.org designates 149.28.33.109 as permitted sender) smtp.mailfrom=nir@lichtman.org; dmarc=pass (policy=none) header.from=lichtman.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738407783; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=PZShgI62YckoKBvQI1RxIz0Q5pksOKC8exH5we90ARc=; b=3DwKFT5f6l4/u9ujQv9EOowihfK369e1nPXtr20YwYhbMaUCm7r0+JeVzPik6/+gI/sNwf 4df1v555XsqsS3l0WMP9xTTCoTtydT+RuONqALjsBs97hnaDgXI8n8pTdQip++WkOWaqCy DKF+uhNxbLRPpJTLtApXReqAVoJtvTI= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=lichtman.org header.s=mail header.b=Eb0cA8mC; spf=pass (imf08.hostedemail.com: domain of nir@lichtman.org designates 149.28.33.109 as permitted sender) smtp.mailfrom=nir@lichtman.org; dmarc=pass (policy=none) header.from=lichtman.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738407783; a=rsa-sha256; cv=none; b=0adO3QXS5oNd21lm70+2gYPVu5hzYzZ9uLxKDzhHaSfMjC6nFAON9oWmjIMfm7N+2kcYGd U6vei4P7CJAjqDcZoGjShehojO367UMUe2GxKifLR7xT5xqAAlr9+V7N8u4iO2yZcRs0YK M9dJrjAE4rw9EDiRI3C9Zg/cpuOvzL8= Received: by lichtman.org (Postfix, from userid 1000) id AD4EF1771FC; Sat, 1 Feb 2025 11:03:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=lichtman.org; s=mail; t=1738407782; bh=pR9s0IQyvMWtNefe0ZwhuFBEehDQVrZLPbNEAKkKVQM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Eb0cA8mCXrFU1vO08vcIs1pX0mNHeyDNfAfPfImRFDkYnI3zX/SIZFEzWLwax3Rnu Dm6LemNN4Nm4vjx+LBe7gkSHZ0RhDIEAucGL/SXVpVRGI/YW4aKUHm7cpkXJvkjPWe MYHemQcwpMdX2RjegxIQMqi6CHQLpNA0MF3kTAADJgTTEC4kreoPfJGvA2e9Knk06C Q63JR3DPKeQTBFHa8WhKhrJ9gST4Q5AnODSz/3/jW6mz2Nf4Oc180TMMLKSlbqrGqw 7LhoJ6/t/URcNMH5REklux0Zqa9ocxKBOY9d+Lya9JGFxxAZCCmlLTJXVfsNXpXLEz EQz4yY8QVXj4w== Date: Sat, 1 Feb 2025 11:03:02 +0000 From: Nir Lichtman To: Kees Cook Cc: viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, ebiederm@xmission.com, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] exec: remove redundant save asides of old pid/vpid Message-ID: <20250201110302.GA1186433@lichtman.org> References: <20250201083127.GA1185473@lichtman.org> <0B25310A-0907-481E-8ADF-EEFA78927BFF@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0B25310A-0907-481E-8ADF-EEFA78927BFF@kernel.org> X-Rspamd-Queue-Id: 7B03316000F X-Stat-Signature: ypief3czqiden9qjowpgmk58jefwcge8 X-Rspamd-Server: rspam08 X-Rspam-User: X-HE-Tag: 1738407783-224179 X-HE-Meta: U2FsdGVkX1/ch0FosNqfb1YJNn0GGpjNupKrl3uMeR/lodIxtA9gWp2EOfWIAuSKpgniitFZb1MnPDK/L4krYjXMOyTIfOrff9Ckbei48dKHiYOYYMxd7vZCYKBF1NaecuJJ5mpLcf+IzKaOSDLN9/qqc9yw+bjC6aP9xmz18NZtq5DQczx3CGtaMIv61MT2uR3XlphyPq48jkSBrGku1X2MJlnAc7zE6N2B/jtR+0ShcqhuyFUS5/kcn1kOURRWhMOzNPrQDguw/7EE+i9pckpFd6DCY44ElqbZPoHffveEecUHICNaPveAJN4Dco9P8QALkZ4Nm+tVXJOD7i/gpv1xOxsgF/oKXUzl8KkkQ64lHquk6A32xUVbcY/M9LLfEN7CL3oZ+Bc9p5M22VrKm16JkXTLJT3UdUVp0t0+IdyZxCyeP5PSQ6g3Xc4qocoLLC0Us3zxsoeT4JxoKq7uAgwSyxGQQmpS4Kol9uL8ww2I+NQ5duLjO+5IBmYyg/BQlbTCkbiw189q1PzM7mkq4ZPd2e6wHdwqF8qPrfdzn2BF/9424FHeucsh6XfqKdy07BiY8cKR6L0E4sOGsYzdq4Hbns4JYKpALsKdZJHOCojt8oYipb+FRbcdX4kcqrJsV/27U/neMx7PWTReW+QS+zMWl562T9jXXuBRtACyAoLSp9qAPRndOkK7EWxb7avvFrzwjz9QaHmooaRgwrHFF2sQFkFZ1i6hstOL3U409TB1tVoE4feKjk0qR9szbN6OYSV2T4nB1DbP+77ml4joomQ6j7eBqol5B7T9wbAPIkv/TTRtUat2Pqdp/r/erTDz5gXpkpiefcPk92bBmXm9zoonvh0n2fbzAkRenG9uWqADSoOKzyRo+goTJkxW7Db8uvJ/CcUe7S44dy7Zp2JzbvMaDqmLkM9WcnvE8g+RMbt0o20ueiJGPnsDzSkeqbEWo9IbUav7pqI6vynYkPx xploXa2+ m3xGDuifZX6DA6Cniy9ZIA1XoLk5dcdrBRZYai2QQL/29ue8OkrVkduLrzN9UaiHr0g2cK4ViDtcYMWlXZAkQ+rikDVYBiozIbpKPS9+EOkS3VjT3FNI6R/7KRwoJSXPeRbZijJdcvpG+fVv4NdSOkDeAy9Xkrg/u6mv7Z4SlXOaZuJV3uZ0vNxQtbCrr8b2+4Y8/LFJhoGWUrTxl9li5lLH6hXVJ/UihuIUPXuxQdeqTIjS4VLSEkepBM4ysA5d7p4Ss3eqZ7CbNFBuZhkOz5w1Sow== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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 Sat, Feb 01, 2025 at 01:40:00AM -0800, Kees Cook wrote: > > > On February 1, 2025 12:31:27 AM PST, Nir Lichtman wrote: > >Problem: Old pid and vpid are redundantly saved aside before starting to > >parse the binary, with the comment claiming that it is required since > >load_binary changes it, though from inspection in the source, > >load_binary does not change the pid and this wouldn't make sense since > >execve does not create any new process, quote from man page of execve: > >"there is no new process; many attributes of the calling process remain > >unchanged (in particular, its PID)." > > See commit bb188d7e64de ("ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop") > > This is for making sense of a concurrent exec made by a multi threaded process. Specifically see de_thread(), where the pid *can* change: > > /* > * At this point all other threads have exited, all we have to > * do is to wait for the thread group leader to become inactive, > * and to assume its PID: > */ > > The described problem in the commit hasn't changed, so this code needs to stay as-is. Or perhaps the comment could be improved? Thanks for answering, interesting, I'll take a deeper look. Nir