From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C08CE385E82F; Sun, 23 Jun 2024 18:24:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C08CE385E82F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1719167063; bh=S8Ll24mKML3tN8ev+2bc30AFpDINWFVjJYPqmPm0qV0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=BTDsYf0FqfuoCld9XtNpd70lQmRgRkNItLli2MqpQzDrraHIH8gEenvSI7T1dEa0X 38TDMgTCzdmMo8A+Dj6xIUVeiZWA0ZJ0ks03o8+guk5dLlcn7kxbi1h3gHXSSio6Z8 tPYZpa0UJShrno3OF6+kUOK1bz+iDERhQJAqomy0= From: "corsix at corsix dot org" To: glibc-bugs@sourceware.org Subject: [Bug dynamic-link/31076] Extra struct vm_area_struct with ---p created when PAGE_SIZE < max-page-size Date: Sun, 23 Jun 2024 18:24:21 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: dynamic-link X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: corsix at corsix dot org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: security- X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D31076 Peter Cawley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |corsix at corsix dot org --- Comment #22 from Peter Cawley --- (In reply to Adhemerval Zanella from comment #11) > It does indeed, which makes me realize that _dl_find_object does not work= correctly if the loader is built with -Wl,-z,max-page-size=3D different th= an the system one. FWIW, I've just hit this issue in practice on off-the-shelf Debian on aarch= 64: /lib/ld-linux-aarch64.so.1 specifies 64K alignment for its segments, but the system page size is 4K, so the kernel leaves gaps when mapping it in. Other shared objects can then get loaded into those gaps (if they are small and specify only 4K alignment for their segments), and then _dl_find_object aga= inst those shared objects will return /lib/ld-linux-aarch64.so.1 rather than returning the correct shared object. In turn, this causes _Unwind_Backtrace= et. al. to fail to unwind through these shared objects, as _Unwind_Backtrace re= lies on _dl_find_object to find the unwind data. --=20 You are receiving this mail because: You are on the CC list for the bug.=