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 21194C5321E for ; Mon, 26 Aug 2024 03:28:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A3CBE8D0041; Sun, 25 Aug 2024 23:28:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9EA948D0029; Sun, 25 Aug 2024 23:28:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B2DD8D0041; Sun, 25 Aug 2024 23:28:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 63C9F8D0029 for ; Sun, 25 Aug 2024 23:28:30 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CA1E3140AD7 for ; Mon, 26 Aug 2024 03:28:29 +0000 (UTC) X-FDA: 82492963938.29.F75A56F Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by imf13.hostedemail.com (Postfix) with ESMTP id 0493F20015 for ; Mon, 26 Aug 2024 03:28:27 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=P8Karo5A; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of jcmvbkbc@gmail.com designates 209.85.215.173 as permitted sender) smtp.mailfrom=jcmvbkbc@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724642838; a=rsa-sha256; cv=none; b=8YGOY13+k5n4hwMkjVESl/1fnLxgwRj5lzgSYjUzeOVpr+GqzN8YIl72dti+XGvcg24NSG B5zy9pgSiei0zBdS4fA7mcwN9gojLzrA9nFJuaOR5pk2+O5dirW4PKP24Y8xmTwalDqhBV dkuWWHmJph+eu9hMn1nr+WUBHWilpv0= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=P8Karo5A; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of jcmvbkbc@gmail.com designates 209.85.215.173 as permitted sender) smtp.mailfrom=jcmvbkbc@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724642838; 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=GwF+G59zpDQUV1LMkNWg0wx6pA43KdE7uc78AuQZoS8=; b=fOB8iU2doz2qTUTseID7al4P4vf8D7laur+MgFziqCRUhY+0V9nRnYBh68/574ueJIt1pb kI0ja7xDA1whGQJsh/vCftTkUkuiiW27+MbQDYxJGxEbN92Ke2SnlwNSUaHrGl8YI1/bvo eSh+K9AjdfcVuwdP2YPNlRhWJ4Kf914= Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-76cb5b6b3e4so2361408a12.1 for ; Sun, 25 Aug 2024 20:28:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724642907; x=1725247707; 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=GwF+G59zpDQUV1LMkNWg0wx6pA43KdE7uc78AuQZoS8=; b=P8Karo5A18AjXkCEvxuL85ar/0GUqynFeU5PwlM+YiBWKU6chzaaZnRVYIOwsXpSX/ 1nqqEamafoSqjW05j4KgeCJoYwPuM3LH2kDha0SFYQ68d2xwejbCAcy+d5qlFp8zXl50 txVst7GG9Tihpa5HEkl2STi9KeUxArgbFd1fWxRlah1qvAAZQ54lYeSCrwJCLB5gbxsi 5+irJVmOFdleq4Bp85gJAwzV8l0RNem9rMTONfCkA2TRbBHm24jn8+mqffV1A20MT23P Q8oI5KXlb8r+pvJqcjt9fJudA2ycMHNlQlLnb2LXkz98ZFFbXPdvcGsW4o/kaC48mFfu 5Xzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724642907; x=1725247707; 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=GwF+G59zpDQUV1LMkNWg0wx6pA43KdE7uc78AuQZoS8=; b=bxbvn8eAqczi6yRqCrFWvSlTBoJ0UVk1ZGCwCWs+GtGMTBf8W/0yUYpfIrLhTVOWB2 N5pDDsCyApAf5IFDCjSzwRLsUcMluLPVpJoNxZlAYjuuQFFFp+tmRDU8VKzhv6HWqiap +M1tXQNkvIr6/ElUjwCwWBSjR2Djk7j6AhKafACYgNDN25VkuKSo0r/DdovK2ZCzfJq0 6jNtzeS7sqX2OV09pzXpra84pj2fSaxRkvVpnURo8wKU8Xc7eDfclRRfqWVENidfw0rY 1i+B5bRAfhdAPO3ozyWQ63d14c+BK9WyVKA71Zl2WB78Aik2LBy6UPHQK+PLGoM4JUjH dxRA== X-Forwarded-Encrypted: i=1; AJvYcCXlLZpSvPDIsJfZAqxaoDvhb4Sevjg+OL/3ZT3UKbSryjuSsIFV1v9LpQUiji1UAxZY39xwjgWTIA==@kvack.org X-Gm-Message-State: AOJu0Yx3FgVdApkC4WmxDt0XXeBdKW/b4uU8ycH8o001yFlTQV5kHxM2 PcBvcCgFGjRgk0rY6KYzr70QHeix59ZVCTvqEUXzsI4xtYdnYs/Wd13Gt7hNq7AB002EAAIQ3Yg dFCKf6y+Z+sdyZ57fcWyimRKxUSA= X-Google-Smtp-Source: AGHT+IGVk5TmZ7H1YpTwGww1u11+pv3OGDsxzVatU/N8uKd+Y/CdMF6bcLjWsx6WYZUMKKN3F2hlbmCPwb1YRj3wqpo= X-Received: by 2002:a05:6a20:6c89:b0:1c4:21c0:ea0f with SMTP id adf61e73a8af0-1cc8b5916c4mr6364264637.33.1724642906607; Sun, 25 Aug 2024 20:28:26 -0700 (PDT) MIME-Version: 1.0 References: <20240322195418.2160164-1-jcmvbkbc@gmail.com> <5b51975f-6d0b-413c-8b38-39a6a45e8821@westnet.com.au> In-Reply-To: From: Max Filippov Date: Sun, 25 Aug 2024 20:28:15 -0700 Message-ID: Subject: Re: [PATCH] binfmt_elf_fdpic: fix /proc//auxv To: Greg Ungerer Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Eric Biederman , Kees Cook , Alexander Viro , Christian Brauner , Jan Kara Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 0493F20015 X-Stat-Signature: assrc1mzb4sn18jzdck946yugjhgq5gr X-Rspam-User: X-HE-Tag: 1724642907-76510 X-HE-Meta: U2FsdGVkX1+SaO0NAdo/W8Tw0vvIkkNoP3xfs6ZH3go08T/Xad5gkzqsdYPBnLl8gx09cmgEzsa+RsBptLS0Doy69GUzvXwg2xUmFGy1RCKU2RGY/ookHy3A3U1440uzqTLhXmHNlN5rcvRv9L9BL8cbmXE/TrlkN4H4Ua0/ZHz9FWNHa7MyfIBuLnKSsx8zAfncDTU3V7grh1pyn+5hSWdk1g+1vrkRHPblgbb7xtQj3A2wBYK+8/LReX1pDwCEBaryS+vHLgsjZ/vG7ngwcw/rPN3Pyw3jYwzLPYQSaPMF+R2FcsOPeViMzeyFPWBiySRHf8oFiW6zxzrNn1Y7p6n/8KrUKDvPmCSE6Rl5s8rC+zjwG3nN8I82UuHp3WMyr/bXEFtTyu2awNlrRvM+N87Koa9621X8yImYps/9NQX/HLEJQLb4o+AUF1Sj9ESpRGh0AxCSwBX67XJZaAgHooY7PgLR0BqA38svdg4bDeiUQOH9pAsE7DJIg/aLMJd2wpAo2ufxlr0Mcohoa9Yq1NKfLA0QbOlkFYCM23QM1gQOsexKj/yEILxSUXt8dFVp0BofrjOOmL7bDvwFM2qzA1xRnFp92r1ESWTfrxsdhXGW0KZifRfovh4X0XQtmIZ2dXu7Vbe9JJdYFgyaYt5xEcxb32UnqOCL8U81CohrjX3TK/dPvUK00OUWgurakKoxEuHDb8uFP2TktNdAaFaKjtlcbSVxTgwyGuEOR6MzktIHQuko5fcXEllXFM3Cx6Ozs5UVUf5WiSyb5wGoZGD0/rCpNY0dLFcAXkBIFhRZVPjSnzFoMSmN6bYJZ68mL7r97bjH53L/niN44XjDgRYVtDXrQWvm2QiRbdR6QbdnDntqvZHh2xuVjnqOtDH9yk+rn0kEbokHEPi8aVdTB0SXWswBAuYAKSEdntMlSEUu8baDI9ufSCQMNUBe0mW2O5+l8v+DZKtrQlAOPdw0Tm5 p9n9//PQ aOT2NpwoX7CJXfZOlI2Vd7JKExJUsY3L/FoXGUho6g5gezw6QXePYTADLfZJUXdPFE9WaKLRozo7hz9cY4zq7FzNWMaGmDW1c0LcmM2tNn6joXJp7wxA2igOT6F8sNG4hovkwYesybQ36G5JlU1zcJp4AWTE5H+xzbYqiAYaK6f4LPKOjTYEJ2gN/b5ZTgFzTiEuXnhxCOqbtzaCqLXzgxWO/2qnzvCCwEd9nunDLRuk7a90+E01BwpVbVCL7kXNNFXXG+AvRIKTzH4JVPUix3Tiu8ztSwzGVvkjegE1tM84OFgzwcCgnyIahw2bHW9jwiH+YnJ1avojJfPFPx9jWpdizU+O1B2dyHDgJRsztd+MhHlgo7GuK8Q9jviF6vaE/YeZew6/mz/VlldQDLuGwd+Q0yaUJ1x/LWiCm X-Bogosity: Ham, tests=bogofilter, spamicity=0.000053, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Greg, On Tue, Aug 13, 2024 at 11:28=E2=80=AFAM Max Filippov = wrote: > On Mon, Aug 12, 2024 at 9:53=E2=80=AFPM Greg Ungerer wrote: > > On 13/8/24 04:02, Max Filippov wrote: > > > On Sun, Aug 11, 2024 at 7:26=E2=80=AFPM Greg Ungerer wrote: > > >> On 23/3/24 05:54, Max Filippov wrote: > > >>> Althought FDPIC linux kernel provides /proc//auxv files they a= re > > >>> empty because there's no code that initializes mm->saved_auxv in th= e > > >>> FDPIC ELF loader. > > >>> > > >>> Synchronize FDPIC ELF aux vector setup with ELF. Replace entry-by-e= ntry > > >>> aux vector copying to userspace with initialization of mm->saved_au= xv > > >>> first and then copying it to userspace as a whole. > > >>> > > >>> Signed-off-by: Max Filippov > > >> > > >> This is breaking ARM nommu builds supporting fdpic and elf binaries = for me. > > >> > > >> Tests I have for m68k and riscv nommu setups running elf binaries > > >> don't show any problems - I am only seeing this on ARM. I see the following: - the issue with the change is caused by unaccouncounted AUX vector entry AT_HWCAP2 that is defined for ARM, but not for any other architecture that you tested. - in the original code this off-by-one error resulted in the last entry of = the AUX vector being set to zero. Below are the stack dumps from the ARM kernels built by your script, one with my change (left) and the other whe= re this change is reverted (right): argc: 00000001 00000001 argv: 00b8ffde 00b8ffde 00000000 00000000 envp: 00b8ffe4 00b8ffe4 00b8ffeb 00b8ffeb 00000000 00000000 auxv entries: 00000010 00000010 000001d7 000001d7 0000001a 0000001a 00000000 00000000 00000006 00000006 00001000 00001000 00000011 00000011 00000064 00000064 00000003 00000003 00980034 00a00034 00000004 00000004 00000020 00000020 00000005 00000005 00000007 00000007 00000007 00000007 00a40000 00a40000 00000008 00000008 00000000 00000000 00000009 00000009 00984040 00a04040 0000000b 0000000b 00000000 00000000 0000000c 0000000c 00000000 00000000 0000000d 0000000d 00000000 00000000 0000000e 0000000e 00000000 00000000 00000017 00000017 00000000 00000000 0000001f 0000001f 00b8fff6 00b8fff6 0000000f 00000000 00b8ffcc 00000000 00000000 00000000 00000000 00000000 The fix is in correct accounting of space for the AT_HWCAP2 entry. --=20 Thanks. -- Max