From nobody Mon Feb 9 20:10:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1593612551; cv=none; d=zohomail.com; s=zohoarc; b=VvqxypEsPY/dLTCR1bbNdq7WbuukdfFQWJhahR8RN7RgO0vPVbcGeMJ17WPN/LfDnfz0vqkFzJntfdSAGNlyt+43E6qWDbE3VtVRrPj1Lh8tIRIG2j8j3tTaTKyWeEqx3M/rKd3n2BMH5DSBNLmcyaDBRvNk3AFL0Dg/4kSUhds= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593612551; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=JbHSSp+OWWoLJx/9MSaLrM42pM2ZJc5nMwUPC3QEVGo=; b=b09pRNuffeZKB16Z+EMYIidzsaV8KWT0qyBjGBN9ykmZgwEMOKyW9vPXoC5SyneqxS7p453niwJt6Um4/oX6o6tBXAYu8ykND28/udKRENL/nQQaq4W6fcWkci6IA2acvBrD0x1cejxJVnilHIzZ9ywVGGvU0w/kNQ/7DE78vB4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593612551740942.9319633566092; Wed, 1 Jul 2020 07:09:11 -0700 (PDT) Received: from localhost ([::1]:46876 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jqdQE-00061B-41 for importer@patchew.org; Wed, 01 Jul 2020 10:09:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60852) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jqdKt-0004sS-7x for qemu-devel@nongnu.org; Wed, 01 Jul 2020 10:03:39 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:53461) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jqdKr-0006pi-5g for qemu-devel@nongnu.org; Wed, 01 Jul 2020 10:03:38 -0400 Received: by mail-wm1-x343.google.com with SMTP id j18so22556029wmi.3 for ; Wed, 01 Jul 2020 07:03:36 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id t2sm7243554wma.43.2020.07.01.07.03.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jul 2020 07:03:32 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 3EE5B1FFBA; Wed, 1 Jul 2020 14:56:56 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JbHSSp+OWWoLJx/9MSaLrM42pM2ZJc5nMwUPC3QEVGo=; b=tmWLG9Z8Nyx4I30963cbylorfLynCpuEmbskKfJHBstLR7tyDiobK0hzmaonbkljfR TfLmfJyMQ7Ds6eO4E+ae0OO+8xJaHzijIcvU/eN5hQwiC9d/buZjSb7PPqzlXX6fJnMa u7kTntpc8abytSyn1bdvgd8HUPSQmkhaEB/RZSVJ9rWghdPbOjiWnX+s5zk+w1lvLKy6 A8Sx0oua6oTp0bEgv0DO4dhAm19o5EgKkIrPpcZ434l12ZZVeVH+JKGSzoH5HjKIcKwZ dm4PRsdrht4MouRLBSoEEAc0fQzRHJzOoicr7QkSGiubvfWTcO3cWzTreH/i2DG1RgWa o+yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JbHSSp+OWWoLJx/9MSaLrM42pM2ZJc5nMwUPC3QEVGo=; b=TNBAHZS1LFjx0bGPeGlmbjijGyanQYCO9phu0UMMAxLej4/KpwQqBtLiLoNKn6ycRU SgO/RXFPuZ1oKP4m0uibtf3On6o+ymdbPesrinU22aPfUdVRoZjpRqe7HS+Z+0QVT2nC j+3SJJmjD9DEpdkS13Dx4akUvTxIv3dwAuzY8MGb8IBIpxgNYDW1MiC8RMMxUYJg5s6x 9oOXh9Tvzn7kA4StRUKHFXYQM/Hiq64UtIKy4Xw7HxBKlQkh/O99VwKxn+9GmQ00sp1I Livp5UdAKkk7nnvEWIg+LaDzSyUWtac6T2rctBaPpHgQ7zdxXJhr9IajvPzUyr7MZnxu Ro5Q== X-Gm-Message-State: AOAM531OuzCNhXB9mRVonXAJ49yxrQE1OrhKOsy4Cc4cCUV0HTYZf0Pe W6S/PZDRJ4c7OTc47tL3qr6P4A== X-Google-Smtp-Source: ABdhPJzpq2YPcXx5UiCx7YW0y5EOgZMWah4n/t/t9sexghkbsSjgG1zWvWRXqdltGKvqJiSsG+dHHQ== X-Received: by 2002:a1c:6308:: with SMTP id x8mr28002337wmb.92.1593612215706; Wed, 01 Jul 2020 07:03:35 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v4 33/40] linux-user/elfload: use MAP_FIXED_NOREPLACE in pgb_reserved_va Date: Wed, 1 Jul 2020 14:56:45 +0100 Message-Id: <20200701135652.1366-34-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200701135652.1366-1-alex.bennee@linaro.org> References: <20200701135652.1366-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::343; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x343.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: fam@euphon.net, berrange@redhat.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Riku Voipio , richard.henderson@linaro.org, f4bug@amsat.org, Laurent Vivier , cota@braap.org, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Given we assert the requested address matches what we asked we should also make that clear in the mmap flags. Otherwise we see failures in the GitLab environment for some currently unknown but allowable reason. We use MAP_FIXED_NOREPLACE if we can so we don't just clobber an existing mapping. Also include the strerror string for a bit more info on failure. Signed-off-by: Alex Benn=C3=A9e --- v4 - use MAP_FIXED_NOREPLACE instead - also dump strerror --- linux-user/elfload.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index b5cb21384a1..7e7f642332d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -2294,7 +2294,7 @@ static void pgb_dynamic(const char *image_name, long = align) static void pgb_reserved_va(const char *image_name, abi_ulong guest_loaddr, abi_ulong guest_hiaddr, long align) { - const int flags =3D MAP_ANONYMOUS | MAP_PRIVATE | MAP_NORESERVE; + int flags =3D MAP_ANONYMOUS | MAP_PRIVATE | MAP_NORESERVE; void *addr, *test; =20 if (guest_hiaddr > reserved_va) { @@ -2307,15 +2307,19 @@ static void pgb_reserved_va(const char *image_name,= abi_ulong guest_loaddr, /* Widen the "image" to the entire reserved address space. */ pgb_static(image_name, 0, reserved_va, align); =20 +#ifdef MAP_FIXED_NOREPLACE + flags |=3D MAP_FIXED_NOREPLACE; +#endif + /* Reserve the memory on the host. */ assert(guest_base !=3D 0); test =3D g2h(0); addr =3D mmap(test, reserved_va, PROT_NONE, flags, -1, 0); if (addr =3D=3D MAP_FAILED) { error_report("Unable to reserve 0x%lx bytes of virtual address " - "space for use as guest address space (check your " + "space (%s) for use as guest address space (check you= r " "virtual memory ulimit setting or reserve less " - "using -R option)", reserved_va); + "using -R option)", reserved_va, strerror(errno)); exit(EXIT_FAILURE); } assert(addr =3D=3D test); --=20 2.20.1