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 489EEC3DA49 for ; Thu, 25 Jul 2024 22:45:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D2B9B6B0093; Thu, 25 Jul 2024 18:45:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDBC76B0095; Thu, 25 Jul 2024 18:45:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA2DD6B0099; Thu, 25 Jul 2024 18:45:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 9BCD96B0093 for ; Thu, 25 Jul 2024 18:45:12 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2EC531409CF for ; Thu, 25 Jul 2024 22:45:12 +0000 (UTC) X-FDA: 82379757264.21.49DDA8E Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by imf16.hostedemail.com (Postfix) with ESMTP id EA587180023 for ; Thu, 25 Jul 2024 22:45:09 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="Ei5muU/N"; spf=none (imf16.hostedemail.com: domain of ak@linux.intel.com has no SPF policy when checking 192.198.163.14) smtp.mailfrom=ak@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721947471; 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=Nba48kV2kVLTfCxr/yJuiC9VkLrUs2wsbTRs2WSX+L8=; b=EOFdno79Tex/SzLS2pPc500CkMdNt+xIJAYf7RRCqwjcue5KL+QuMyeylOsb0mYEPZExl7 VlPxM501CxrUKlEU+GozqTgcYM4hv3B1EUNYYEokcNO/1BoONt9ymLKTgHP4KegWcnLBjE T/m/t3jGfUbb/k36inUZ8FuPKsvSZzw= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="Ei5muU/N"; spf=none (imf16.hostedemail.com: domain of ak@linux.intel.com has no SPF policy when checking 192.198.163.14) smtp.mailfrom=ak@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721947471; a=rsa-sha256; cv=none; b=CKa/6xSBPJTM47ZcmpXdyCvA3qnGfrbAT7bWDHltmvDNpI9QRy/M+nmoNH1Sve5sKhbSis XzHFfa+uq5H/BxerqUMIQAQLr+IyQ3p/7Jje6eAcKfEqNqFj9HOD/nGyGG6NK67lcOw1rJ jIXIxjYUL+Cn72do/w29lJYmoOKR/38= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1721947510; x=1753483510; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=wa0i97Arv3R7zWU+J9jYul3SRq3C3EZXSTybRawhVpI=; b=Ei5muU/NsEHBaYUMxGCrVhgD+w2P1cxWAK/O23U+V/h+sKyUv1VpI2SW IycSFus1aUqLNkcs68B80fjfPlJ1oG3qz8dgufnaIbpdvWIuw6hAzbOVq od3t6ugV3XHBv6K4BP+ReO3+RXYMHxcjwHmpc8MH07HMJuZd4SwgSOBbB up5CBqbQNhi1WzVRXXr7uUV/cn9KvMBthjUiJqdy1ZLzOIjvtPWBrestu 4fH/RpRmDiTXoVn8UJ4CWdZfUqsKVi7tZisBVZyT9MYegAXRBR4DtCpWR QjkO0HxnGE3U96i9663vNcYkFgHKs80MPLp7wmckyDtiG4wwZJXGtDPKB g==; X-CSE-ConnectionGUID: WOIolG8BRaOioBT3TI3+tQ== X-CSE-MsgGUID: YhuoHJ8LQiCG6AHPxJIfxw== X-IronPort-AV: E=McAfee;i="6700,10204,11144"; a="19907609" X-IronPort-AV: E=Sophos;i="6.09,237,1716274800"; d="scan'208";a="19907609" Received: from fmviesa008.fm.intel.com ([10.60.135.148]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2024 15:45:09 -0700 X-CSE-ConnectionGUID: /CAkRQ9oQjibyGexYuPX7Q== X-CSE-MsgGUID: 5RTO3smYTQeU6TB6wuGjHQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,237,1716274800"; d="scan'208";a="52970373" Received: from tassilo.jf.intel.com (HELO tassilo) ([10.54.38.190]) by fmviesa008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2024 15:45:08 -0700 Date: Thu, 25 Jul 2024 15:45:07 -0700 From: Andi Kleen To: Andrii Nakryiko Cc: bpf@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, adobriyan@gmail.com, shakeel.butt@linux.dev, hannes@cmpxchg.org, osandov@osandov.com, song@kernel.org Subject: Re: [PATCH v2 bpf-next 02/10] lib/buildid: take into account e_phoff when fetching program headers Message-ID: References: <20240724225210.545423-1-andrii@kernel.org> <20240724225210.545423-3-andrii@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240724225210.545423-3-andrii@kernel.org> X-Stat-Signature: w9x8fj41hkuxpixcb6pef97qptxjsspd X-Rspam-User: X-Rspamd-Queue-Id: EA587180023 X-Rspamd-Server: rspam02 X-HE-Tag: 1721947509-45294 X-HE-Meta: U2FsdGVkX1+v8vgIVHkiVkTV59Om1pZGLlfnUZUVG+sXIqBmF15KaNhyifrGjVgOvTMB5zYUcs+gmAixoAN+Cn0IUZHU1XfkkH507xPgVbTjKhst+Sxl/Rmds3vjKMpAI7mwnIrtXgDR4E/+uYvd+HHGn9t7Q9c0cWRlI/+/rlb/QvJ0L45bV3tf0zwfUb4mJSRRnAf6y1FTA1o9MxewSWjXfMVSviUqj9i39GJBWSDuJLw9JHiigSvWF0kX6pyzfa2l1JheFB2aLwqNl1+1CKYasAwN15OGIEKpom22lmuJJK/rCEfaUgRbtnJ/3qwnW2Qti1qaRu2ucpoWV3KcdISnA+Lsjo0JxnPRCA6MB6v6WJKk+nVNfJnjuAN/aaSNGWoScGwtWq760nK0kG4y0OqatWvdiWHlOLzNzsiHld4fCbgr2Tf/ZnEBDsoZZlX9ftlT5seTyZrsTkCceCl7v1mbVPkeLPlOuvChJ/zmz439rg1qFdv163tKTjb0wPIGbPLC7x/DzwmXgW7f8xP+9lZVDdh/I2VX5CWYXC2Iw6EzZPRIXtjrL0TqhQ2E6jYmfQgAVLva95HySHG0DSGi84RKtBDQ92UoKGO/U5yV7chqruKnY5bLFABQuULVk6X6zxBoJ8NFL+eaiT/jARzzi6UXY0UldNV9BhmHy/ZYWCoTOrsQJpXGs0SXHD/w5i3b3DrzebDTtvVwEW5bE9PlmP1L/k4y7n92J8uPAmXY5MymLV0yYcKdsCQ514GB0lMY2FJ/O4vwZ60r6N28MYigb2DIy45ukKOovuG4RUOBB0LAAcJtXGMK1SdO5Y1UWMd4/b3pCjsi5s7YhWQwml8Me1Ipj9wJsTVCszMZM4XEjClPGSHRp2SLvXzTUVffrnlrq+0k8eRuaMYrKp0QE32BjwyI4pgMV25mvT2VdKWdXai2SA/vQyt6GlVMwVeUUFtVLurYMkXBiP/tyjyX4OW g4OAEBFJ GfyeavSz60aR+RIh6dinESmzm7a+xixxR8fXxmj6o2IrPa0If2TGjxMuJXX32vUz7aHlLt3yX+4wL4CAVN1uuAU6mPgXOG/I2u1uzbf/qzcy+aslQQxqQYOY6J9ZansKp/vEKdC3jkIO3ebE7+IoBCFxSRHD8WfnJ3+YrVrwsJ6ch3HvUFr0v8cKzcEBLyK0VyApYFsneKMgfBn0= 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: > @@ -214,13 +214,14 @@ static int get_build_id_32(struct freader *r, unsigned char *build_id, __u32 *si > > /* subsequent freader_fetch() calls invalidate pointers, so remember locally */ > phnum = ehdr->e_phnum; > + phoff = READ_ONCE(ehdr->e_phoff); > > /* only supports phdr that fits in one page */ > if (phnum > (PAGE_SIZE - sizeof(Elf32_Ehdr)) / sizeof(Elf32_Phdr)) > return -EINVAL; > > for (i = 0; i < phnum; ++i) { > - phdr = freader_fetch(r, i * sizeof(Elf32_Phdr), sizeof(Elf32_Phdr)); > + phdr = freader_fetch(r, phoff + i * sizeof(Elf32_Phdr), sizeof(Elf32_Phdr)); What happens if phoff is big enough that this computation wraps?