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 030BCC47DD9 for ; Fri, 22 Mar 2024 16:40:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6CD2B6B009C; Fri, 22 Mar 2024 12:40:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 654776B009D; Fri, 22 Mar 2024 12:40:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4CE6F6B009E; Fri, 22 Mar 2024 12:40:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 352406B009C for ; Fri, 22 Mar 2024 12:40:00 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 072481A0E36 for ; Fri, 22 Mar 2024 16:40:00 +0000 (UTC) X-FDA: 81925236960.30.31F2B03 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by imf23.hostedemail.com (Postfix) with ESMTP id 3F7FF140010 for ; Fri, 22 Mar 2024 16:39:57 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JH3O4Xs0; spf=pass (imf23.hostedemail.com: domain of jcmvbkbc@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=jcmvbkbc@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711125597; a=rsa-sha256; cv=none; b=B+6jhOlJFr9hSW4lmVtZDCREXQUepQrk7qIJeXKaA7S3Da8xFdfNpFzrBcw0Lf0STzquVv ldZLn98mNQtR441CzcMnugrY0KOaJ4BO/opiLOUGiqKM9Lw0SvcdiCi/4Hf1SIFTWS77op NSdoey8KV0WRAECi+YqXnW4FhYbuYy4= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JH3O4Xs0; spf=pass (imf23.hostedemail.com: domain of jcmvbkbc@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=jcmvbkbc@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711125597; 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=ZidRDuY5Aevf95sEzZzzxNl7J8LcO4JJpSyMrNFhevQ=; b=H+yMZMPZGTYKHBi3CyBfp6yvjMh02LwAkXbfdFpCRO4di0A6A4EHIuKTZ7kViS/frSmlhQ tWs58/3PFZ11KemJDiN6hzyYKlZqxS97Hj+BN/WbvHjZBkt0ZbySoKzOO4ABLqeO9HSL55 Do4A7GS/XFRilZ34hlQsIQtwWI/UUag= Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-6e6c0098328so1646435b3a.3 for ; Fri, 22 Mar 2024 09:39:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711125596; x=1711730396; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ZidRDuY5Aevf95sEzZzzxNl7J8LcO4JJpSyMrNFhevQ=; b=JH3O4Xs0xLvqdpRJI2APe0HIFygtDN1aospxTEdIEdPA3oV7kgd50/QVxrklYbXkrF 2cnbef64Bcx9qQUPMyjLFD2q+wXTA0r/3ZU5EwGpd168vpwydc5qLDbRyI6C+BQ5Ql1T HCsqvYZLf2q3rsQkIMS7ZdOfv2wBs11tNSUZD2QcjjqCux0D6MbW6ZHKqdtT5Hhs6i/+ r+2VmBzdAeyV2AFllbDCJKiE6gMJYkWMgFnGnjkWufIdmK2sH4PBmpxt0d0+lyxjSa6x NvrJN2FBz6SjhNCBBCpv6gRmchRudPgDsAAaM99+sRfR9U9HiW2n43b0tk5XImCRdrVl t9FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711125596; x=1711730396; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZidRDuY5Aevf95sEzZzzxNl7J8LcO4JJpSyMrNFhevQ=; b=Nd8pvZqcBfqaNdbkSySM6sbtmzPJpKeA6Lq00W00Q34IaNirX8aayYBGw4LUZxPGYC 8R277b772W7VKn6Br3amMMRsgHBI3UEp+CEdhzpGum7/EvLDg1Cn55D51L5JJsx7FL9u sB9Ver4cuZq7VYlDRDLZi09InVrDtV6MKZt5Eg6dJ32DmlMgopCvE6qTVHG1q4sFV8aR xwkcD6Rcg2mDhp9EJx9raP1cI7VPcD97xQ68AmQoZJ/ZcxGlBcg+wFnlNhdJQSJd3OZL Mzosi+li8PTSZztW5kAnqZWfN4LxuPtXjcVJm96WJ+uHoJE3AgcYbucJBQJrVrP0DlA6 JV5Q== X-Forwarded-Encrypted: i=1; AJvYcCVax6Nk/TAICCvNsTGSw71ik/twjkpRdSAjnWloPSd0fG0IiyjIBenpjcA0G+ITygYf8yD4dPdNJfftRsSyDQRrla0= X-Gm-Message-State: AOJu0YyTSjEeBYR+XQ25ZVY/ngW9VvyKPy0UXNBoyjhh1WaPQ99EBJTl bT3Rufz6IdYwGFiwyZmaTtbUFBm51XZyD8r/R/afrdRJo3GdkuMJUdpRevETKeP7Zdhfo83oTH/ Kq1dxyWugi7u3swNY2xA7ivSPYq4= X-Google-Smtp-Source: AGHT+IFFDT4lxr5rv/sSdVPMZV2VS9eEMJx70sZTwM8qOxvzpf7GeHb5N66oQ8piCdfm1OVUveKq3wOuVHYS3S5Oii8= X-Received: by 2002:a17:90a:c503:b0:29f:aee7:f41b with SMTP id k3-20020a17090ac50300b0029faee7f41bmr154889pjt.42.1711125595924; Fri, 22 Mar 2024 09:39:55 -0700 (PDT) MIME-Version: 1.0 References: <20240320182607.1472887-1-jcmvbkbc@gmail.com> <202403211004.19F5EE27F@keescook> <202403212041.AEB471AC@keescook> In-Reply-To: <202403212041.AEB471AC@keescook> From: Max Filippov Date: Fri, 22 Mar 2024 09:39:43 -0700 Message-ID: Subject: Re: [PATCH] exec: fix linux_binprm::exec in transfer_args_to_stack() To: Kees Cook Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Eric Biederman , Alexander Viro , Christian Brauner , Jan Kara , Rich Felker , stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3F7FF140010 X-Stat-Signature: cwzaitpijz5h7uha56okfikkufe16pas X-Rspam-User: X-HE-Tag: 1711125597-433007 X-HE-Meta: U2FsdGVkX19fSWm5PYd2G+l4m6XxFMhw0N8GyOmgN2bbF8Z7EDwYqga5TuvK4gUyk0LDgdQycaYvyVjIN0nB2EaMrBHE/xGaoiKXK5l9Q8e1gPkkaKAFfv/BuzLlXSuuCz7TdJgDyZ58pE32REDUitWL1F5lvlAPKBHE7R/4GSX/Wh025CquMDmZZltMiP4zDu+s6I6VxQwthZre3eCeaPNMl4/olqFzNNqsvd5+09LYAn8+Z0u9EvAyR8OdfZUqqpJJVqCfXu36Do4xH+UEuYrsCuvjb96FCqQnKnUKtfjKv4Ib85j4ohJnZ4YE2qZQ1jExeUB3VHYpIoy5RetalbsUaaRH10EUbX4uCdUfVxD2VwsXtaFDP/cE9yOJUcBmuITQ8HhGKJwdbfva5XFUJpBza0C+R6EKyekfaX0d/koyo9qsJnHOou3hbouBiyKxi2JVq7zhrQV+b6HODTBtD5859semgWx4tFVGMIKu6cRDauaW2upL37yzejTm3BVtkL4kr7z6MtIKOc1O+htSu7AKo8PUbY4Bfn+FLK9pZnBhCT4MgjordA0oPDVTEH2NBj+bPwsacelc58CtAQu73jmK3BdmQknY4BUD3/XJpygGjOiwATUmpw8medyxfo/5938eOZz2sWTAU1Fco9UJm1UJPejwSwNA1sUYlyLO7f6hvSe7IPuM5AQ04IhKeNhu3ShPp/hjUghal/f4qbuHMOXbzxSbl9yczds/41ls58QM/PdIuyRLfgikzNOBWMDVnt/xXGoIMDN5XvTDv4VpB8Qkb/ypXHjsGmXFERfKHbUftXlh+QLwqcfLZfpUmMSWOhaTkl1RL8JLnMB70r++Pxt9MSIbvBMl0Ps+7Rz9PtSfj7NWF78J/t5B11k6BlleVYmKrHbw7fcD7F8j5GHL0QwqKb0oMDgMngO3DEPICTOeUTtktdbRQid2sWCuYqMZXE6zys+VB1LM8WKqWV6 ODpAIVNm PR91hoXF6OFcPXW8xKNfr31I1dcxXKT+rsDSA6GOoMj9lPvMKr38/ZxWNxg3MoZlTFA9vmw+5xxRpcIv2z8/aCe4WhbMm+WdWf5WZQT+HexEWDuo+KnkfICSRTAlwm/0BdKIe8wog2I351vlKsXLvdoJybUWnCVrYcJ+iuagt+dCqq22je9qcU7vifXZnDzBbYMg507HJ7a/ulfJfpWCbtUsGn5JKcckMN8qGN0tjoIvPj+RAQ0VaBs1ip03XMynZLcvVyLPUbiM9XuioCsjfwxD/PxwE8L5VIJ/L3EjXZAc4wmw921wyU5I1LMuoCj7FeeAvlgRUOUUAgeSv9a6oX9UK+BF+IIwBZQvQAxfMT3M/2mHziH0mb8J11kzPAKm/ueKG1too9N1jZbg/hEQyPL+cRTk24OJ5E9Uo+QMj9XYb5uv+kQf4tNbXUZwJNpOJwP0PewceeEWuNnAUm3isQ/J3efQMxT34rF0SvyXvhvq9gzG6iUD1aMN7jkP3s/5WS9aGGu9qdR1Y2XI= 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 Thu, Mar 21, 2024 at 8:48=E2=80=AFPM Kees Cook w= rote: > On Thu, Mar 21, 2024 at 12:52:16PM -0700, Max Filippov wrote: > > On Thu, Mar 21, 2024 at 10:05=E2=80=AFAM Kees Cook wrote: > > > What's the best way to test this? (Is there a qemu setup I can use to > > > see the before/after of AT_EXECFN?) > > > > I put a readme with the steps to build such system here: > > http://jcmvbkbc.org/~dumb/tmp/202403211236/README > > it uses a prebuilt rootfs image and a 6.8 kernel branch with two > > patches on top of it: one adds a dts and a defconfig and the other > > is this fix. The rootfs boots successfully with this fix, but panics > > if this fix is removed. > > Does musl have something like the LD_SHOW_AUXV env variable. With glibc, > I usually explore auxv like so: > > $ LD_SHOW_AUXV=3D1 uname -a | grep EXECFN > AT_EXECFN: /usr/bin/uname I couldn't find anything like that in either musl or uClibc-ng. So I updated the above rootfs and put the following program into it as /bin/test-auxv: #include #include int main() { unsigned long p =3D getauxval(AT_EXECFN); fprintf(stderr, "AT_EXECFN: 0x%lx\n", p); if (p) fprintf(stderr, "%s\n", (const char *)p); return 0; } While looking at it I also noticed that /proc//auxv is empty on NOMMU, looks like there will be yet another fix for that. --=20 Thanks. -- Max