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 63932C7EE32 for ; Fri, 27 Jun 2025 01:04:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F36676B00B2; Thu, 26 Jun 2025 21:04:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EBF516B00B3; Thu, 26 Jun 2025 21:04:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DAD7E6B00B4; Thu, 26 Jun 2025 21:04:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id C5F426B00B2 for ; Thu, 26 Jun 2025 21:04:19 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4C338804BE for ; Fri, 27 Jun 2025 01:04:19 +0000 (UTC) X-FDA: 83599384638.19.38A1B33 Received: from out30-111.freemail.mail.aliyun.com (out30-111.freemail.mail.aliyun.com [115.124.30.111]) by imf23.hostedemail.com (Postfix) with ESMTP id 4493A140002 for ; Fri, 27 Jun 2025 01:04:15 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=ptG0VHQ7; spf=pass (imf23.hostedemail.com: domain of fengwei_yin@linux.alibaba.com designates 115.124.30.111 as permitted sender) smtp.mailfrom=fengwei_yin@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750986257; 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: references:dkim-signature; bh=zzsOvPofranR4VW3KfgumZYrk2uPPq3zcvTSbWlvrRY=; b=iM5azVoA6qSTkMvtjVDKueajZEVwJU39r7zR/snmLyYwfcYy1Qj3R7csj468NzQC2W2ECz FYN8k7wvix3Xi5YYi5qgVD9IEjM5tnNNsGg8l19n9ScyT7R9fbsXFY8j/MIHjHxTKMxppF ioI/Cr/tSgwMTVs2FPToBzPIKJ1HmQc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750986257; a=rsa-sha256; cv=none; b=ONGqdf7naHpk0V5piBH3sLH5zXLRZ4uWHlpYhHcgYwVsHVYByxKn1sVd6sJg5LnRmm9VdV xV3oobyIBPDWK5DAF/eGL5EhESbflXec+v6a4IIklDDe6pNPi3/WlkDxw2gIxaEk0f5Xkj t/9wzsCXykOM9SkPLAzNUNkSwqEl4h8= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=ptG0VHQ7; spf=pass (imf23.hostedemail.com: domain of fengwei_yin@linux.alibaba.com designates 115.124.30.111 as permitted sender) smtp.mailfrom=fengwei_yin@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1750986253; h=Date:From:To:Subject:Message-ID:MIME-Version:Content-Type; bh=zzsOvPofranR4VW3KfgumZYrk2uPPq3zcvTSbWlvrRY=; b=ptG0VHQ7xY8bH+kBEbg7OHC/shns5t2Bc4/E3jBR85dlxVOz/aq3vshZXcQOwVB3pdTTMVSwP/VQM8Kwflxo9mnEgx7gS0gEwyRV/xgd4OJE5FreArtBUlClXPdQ3GjflpBDMmX1DZPCiIFCfJxJ1LZVz0zq1bT1scqr0d0WW4E= Received: from U-V2QX163P-2032.local(mailfrom:fengwei_yin@linux.alibaba.com fp:SMTPD_---0WfKwkgn_1750986251 cluster:ay36) by smtp.aliyun-inc.com; Fri, 27 Jun 2025 09:04:12 +0800 Date: Fri, 27 Jun 2025 09:04:11 +0800 From: YinFengwei To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kees Cook Cc: fengwei_yin@linux.alibaba.com, zhourundong.zrd@linux.alibaba.com Subject: [Question] About the elf program header size Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: 4493A140002 X-Stat-Signature: t7jdudmmyc5984aekqofud75ojpjmkt8 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1750986255-83860 X-HE-Meta: U2FsdGVkX1/z/ChD2dILVZms0g4oEkaSsFObAiENhYMq+EuaSo0Js3rryiJQOMqI83whpkz7Wy2BU/+LPa95T27P9nttW9U+bcN0Rm98Hb0mBqvdzDbe9nwRypemK35O2xWEmSE38+W+ZIUB4anz7byFH4kHL/ifM47kLgfm1Tz4Zmqf/GUrwV4NZUqRAZkx0H45TMqBEju7jTT8EMHZoDJkRuABzWhtO1sT34fF4NKIRZieyADe6XBuXGBGptK/5haOqfrJJAyusw8WsXE5IDJGLwj5ZhDZ6uNudSejoEJ8aLsSTfubzlMCpUkgm2JmIXroTh/IeJd4WbScNYdoeiBWJsJcgvwBe5mmtnEFUjg0RfimtepSbAqPLU24cHYqudndCsdCFhvmBPW0QiGygjjUTwfjc1mqIfthHd+pl7a94n0XD5Xmo0gUJR8x1NH4LvzgShUbh5vDz3x9Y05cr/edg19ym+X66Fw4EnoIWb/8eLY8Orrcm0nIX4OEBjwrGPmnWZ3KtK49DxawGKhWT5D4TueXokrKtA9tmqI9Kgz+sKAge0hm3tb6yEM3uPJbKOcrdFqXHHSjXqnWb4GYGuk1Z1ZpqXUATc4zgT4OB8/r25Ckg1uIfNHtKs5IvwSiEN6BSuFf+6gmvytiLpJTjL0TyUvnMyQkOOvOVxhd9LQKZrMv66+y5jA9ecIdZkWrTCAa4B8ae/58grUedP9iyy0bLh3m84hfXXGUskJm4lfp6ieTpuENISEF+Cg+AaKXcpRa8GX/IdBM8OFUHOYM/98bz+1y1qIWcjd51+M9Pa8PPjPaN23JoQWjWVDCVQBn05W5D1EPDRTUD78/0dkTnlqME5DmzVu2P+0ctMhhcyw2RbFvAhOMU+f+jCsh36UQJmix1SX6edNnEsdfLOv07+72MtbehFMJniRehA+o4Z1TUqLkZNefP1hsEnc/L+68/p4kSdh1DrvwfPL9iav wJFPi6ol yZ3zDVNrEmZR6BSuejsruebBEKe50Ldim29OT0z+ufX6rMZZxCuQGiVQUzdEGEO2anomQYDTPqF0VkEETNHrNymEgM8PkWNyOBADO6mSnCdGZ4IBsRfhBYSBE500RJdEOx6rhADCsaZZekywtjI2n8A4AOAA8+OSTrpk2+pxla5jXuCEDZ+FICViobfuAxRsG0SaRSjlEqsE4LxeeQBApFchfMT3iq4vRJMSyTjeMWk9N5Ie/ATA2QxM4vAGQy/76IxTuhgmoWo0OnuCXVtCF9+IlJ4b+iLImd7QxpUUVxxev4UcPmq446eaSSqgvgTeQ2GTE 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: Hi, We had a script generated assembly code. built it with gcc and the output elf file had 78 program headers. On an arm64 platform, if we have 64KB base page size, the elf can be started correctly. But if we have 4KB base page size, the elf can NOT be started with: cannot execute binary file: Exec format error Look at the function load_elf_phdrs(): if (size == 0 || size > 65536 || size > ELF_MIN_ALIGN) goto out; ELF_MIN_ALIGN is defined as PAGE_SIZE on arm64. Which can explain above inconsistent behaviors (from user perspetive). I didn't find the limitation definition in ELF spec(Maybe I missed some obvious info there). If I remove "size > ELF_MIN_ALIGN", the same elf can be started correctly even with 4KB page size. So my question is why we limit the who program headers total size to PAGE_SIZE? git history couldn't tell anything because the limitation was introduced when whole linux kernel tree was migrated to git. Is there a possible constrain on other architecture? Thanks. Regards Yin, Fengwei