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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5B548C197BF for ; Thu, 27 Feb 2025 23:31:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tnnLM-0006DX-3v; Thu, 27 Feb 2025 18:31:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnnLK-0006DJ-AS for qemu-devel@nongnu.org; Thu, 27 Feb 2025 18:31:02 -0500 Received: from smtp-relay-services-1.canonical.com ([185.125.188.251]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnnLH-0003x7-Lz for qemu-devel@nongnu.org; Thu, 27 Feb 2025 18:31:02 -0500 Received: from scripts.lp.internal (scripts.lp.internal [10.131.215.246]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-services-1.canonical.com (Postfix) with ESMTPSA id 6941F4B727 for ; Thu, 27 Feb 2025 23:30:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=launchpad.net; s=20210803; t=1740699056; bh=e8TQ4Y2VlSPUqLNFPiLTKyhsG7bDGZHoixynmsDrB6s=; h=MIME-Version:Content-Type:Date:From:To:Reply-To:References: Message-Id:Subject; b=qsMGyoSIAQcb66je88xuGPrYypJta+0aSbLoHBws+3tzOHIdFfWFmEwVxxENO+g8G YYusCDYEb+L2nzadO+VdURilOigYz75J3IdEyCdaoBwhnyk73Yi9pDUlRrmCcyV+r+ 4wWkj8Ui3h88RnpdpX859nE02WCnDfrAxEWeQebFMPfAwbgP29r5aF5H9sOS/Sm3zX UonJjjbOeCuQqXxZTqNYJsdQEA4ThRw7xKL6KnWTTeTpj3R/3RBR0B3XeGvdiTbDIy CgMgApEaUzo/EEzzxnTK1pRlWQpyUTXIFpSancdvNTlWYi0Z08L848IVXadHjMOj7J tUk8SZopx2Jow== Received: from scripts.lp.internal (localhost [127.0.0.1]) by scripts.lp.internal (Postfix) with ESMTP id 5F7297E34C for ; Thu, 27 Feb 2025 23:30:56 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Thu, 27 Feb 2025 23:24:13 -0000 From: Launchpad Bug Tracker <2072564@bugs.launchpad.net> To: qemu-devel@nongnu.org X-Launchpad-Notification-Type: bug X-Launchpad-Bug: product=qemu; status=Fix Released; importance=Unknown; assignee=None; X-Launchpad-Bug: distribution=ubuntu; sourcepackage=qemu; component=main; status=Fix Released; importance=Undecided; assignee=lukas.maerdian@canonical.com; X-Launchpad-Bug: distribution=ubuntu; distroseries=noble; sourcepackage=qemu; component=main; status=Triaged; importance=Undecided; assignee=None; X-Launchpad-Bug: distribution=ubuntu; distroseries=oracular; sourcepackage=qemu; component=main; status=Triaged; importance=Undecided; assignee=None; X-Launchpad-Bug-Tags: patch X-Launchpad-Bug-Information-Type: Public X-Launchpad-Bug-Private: no X-Launchpad-Bug-Security-Vulnerability: no X-Launchpad-Bug-Commenters: crichton dimitry.unified-streaming.com janitor michal.fita paelzer sergiodj thir820 X-Launchpad-Bug-Reporter: Dimitry Andric (dimitry.unified-streaming.com) X-Launchpad-Bug-Modifier: Launchpad Janitor (janitor) References: <172053137048.3332067.13534832802726064667.malonedeb@juju-98d295-prod-launchpad-7> Message-Id: <174069865743.3007169.8650772165213878816.malone@scripts.lp.internal> Subject: [Bug 2072564] Re: qemu-aarch64-static segfaults running ldconfig.real (amd64 host) X-Launchpad-Message-Rationale: Subscriber (QEMU) @qemu-devel-ml X-Launchpad-Message-For: qemu-devel-ml Precedence: bulk X-Generated-By: Launchpad (canonical.com); Revision="aa29ae0fff49e4e804b39147c9f259d2fb023199"; Instance="launchpad-scripts" X-Launchpad-Hash: ba417f3ebe6fdc891b5d6a1a7d3df2b00292f399 Received-SPF: pass client-ip=185.125.188.251; envelope-from=noreply@launchpad.net; helo=smtp-relay-services-1.canonical.com X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Bug 2072564 <2072564@bugs.launchpad.net> Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org This bug was fixed in the package qemu - 1:9.2.1+ds-1ubuntu3 --------------- qemu (1:9.2.1+ds-1ubuntu3) plucky; urgency=3Dmedium * Fix qemu-aarch64-static segfaults running ldconfig.real (LP: #2072564) - lp-2072564-elfload-Fix-alignment-when-unmapping-excess-reservat.patch Thanks to Dimitry Andric for identifying the fix. -- Lukas M=C3=A4rdian Wed, 26 Feb 2025 09:56:38 +0100 ** Changed in: qemu (Ubuntu) Status: In Progress =3D> Fix Released --=20 You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/2072564 Title: qemu-aarch64-static segfaults running ldconfig.real (amd64 host) Status in QEMU: Fix Released Status in qemu package in Ubuntu: Fix Released Status in qemu source package in Noble: Triaged Status in qemu source package in Oracular: Triaged Bug description: [ Impact ] * QEMU crashes when running (emulating) ldconfig in a Ubuntu 22.04 arm64 guest * This affects the qemu-user-static 1:8.2.2+ds-0ubuntu1 package on Ubuntu 24.04+, running on a amd64 host. * When running docker containers with Ubuntu 22.04 in them, emulating arm64 with qemu-aarch64-static, invocations of ldconfig (actually ldconfig.real) segfault, leading to problems when loading shared libraries. [ Test Plan ] * Reproducer is very easy: $ sudo snap install docker docker 27.5.1 from Canonical** installed $ docker run -ti --platform linux/arm64/v8 ubuntu:22.04 Unable to find image 'ubuntu:22.04' locally 22.04: Pulling from library/ubuntu 0d1c17d4e593: Pull complete=20 Digest: sha256:ed1544e454989078f5dec1bfdabd8c5cc9c48e0705d07b678ab6ae3fb6= 1952d2 Status: Downloaded newer image for ubuntu:22.04 # Execute ldconfig.real inside the arm64 guest. # This should not crash after the fix! root@ad80af5378dc:/# /sbin/ldconfig.real qemu: uncaught target signal 11 (Segmentation fault) - core dumped Segmentation fault (core dumped) [ Where problems could occur ] * This changes the alignment of sections in the ELF binary via QEMUs elfloader, if something goes wrong with this change, it could lead to all kind of crashes (segfault) of any emulated binaries. [ Other Info ] * Upstream bug: https://gitlab.com/qemu-project/qemu/-/issues/1913 * Upstream fix: https://gitlab.com/qemu-project/qemu/-/commit/4b7b20a3 - Fix dependency (needed for QEMU < 9.20): https://gitlab.com/qemu-pro= ject/qemu/-/commit/c81d1faf --- original bug report --- =20 This affects the qemu-user-static 1:8.2.2+ds-0ubuntu1 package on Ubuntu 2= 4.04, running on a amd64 host. When running docker containers with Ubuntu 22.04 in them, emulating arm64 with qemu-aarch64-static, invocations of ldconfig (actually ldconfig.real) segfault. For example: $ docker run -ti --platform linux/arm64/v8 ubuntu:22.04 root@8861ff640a1c:/# /sbin/ldconfig.real Segmentation fault If you copy the ldconfig.real binary to the host, and run it directly via qemu-aarch64-static: $ gdb --args qemu-aarch64-static ./ldconfig.real GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: =C2=A0=C2=A0=C2=A0=C2=A0. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from qemu-aarch64-static... Reading symbols from /home/dim/.cache/debuginfod_client/86579812b213be096= 4189499f62f176bea817bf2/debuginfo... (gdb) r Starting program: /usr/bin/qemu-aarch64-static ./ldconfig.real [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff76006c0 (LWP 28378)] Thread 1 "qemu-aarch64-st" received signal SIGSEGV, Segmentation fault. 0x00007fffe801645b in ?? () (gdb) disassemble No function contains program counter for selected frame. It looks like this is a known qemu regression after v8.1.1: https://gitlab.com/qemu-project/qemu/-/issues/1913 Downgrading the package to qemu-user- static_8.0.4+dfsg-1ubuntu3_amd64.deb fixes the segfault. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/2072564/+subscriptions