From nobody Tue Nov 11 01:37:59 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; spf=pass (zoho.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=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1560862943; cv=none; d=zoho.com; s=zohoarc; b=DPShsX54pTqCT2BUC5B1j+ULtbIedCme+uNNFgxccn0zcKFqxSlMHI/X9cTSvtz33SwJgMjx47MPS2Ror1JWfX0Nh1vf/l1UXmhd/brBG0nmmMDvVRb8wvvLwNvQ2Ok0UnCmbmsxWe4tHCQ0q/MYqYB3BaxuCbKlFg0S0z8BYVI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1560862943; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To:ARC-Authentication-Results; bh=9fWpsy49pOZEU3fIeipj0urTg1lrcKHWmb9lpIs81yQ=; b=JGk2lXvNdSzDuh3e1YJzgWIZ2gMl1bWGKfsLOPi3EV7wgHNC4lpYLwdl5qqRXpoCUiYH2xMGr3o/XTwPd7qodQ2MM6zeGf8O6ZUKZR7Vyz7bnjEs36HgrFBMW6DYSdBrPte8S7BH9n/oZZTCYvrN7IAwfE5DsrpYX2ODQUAyT0c= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.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 156086294365638.992617737838145; Tue, 18 Jun 2019 06:02:23 -0700 (PDT) Received: from localhost ([::1]:57522 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hdDkh-0004Mn-2X for importer@patchew.org; Tue, 18 Jun 2019 09:02:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41403) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hdDhb-0003iZ-Vc for qemu-devel@nongnu.org; Tue, 18 Jun 2019 08:59:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hdDhb-00071y-1Q for qemu-devel@nongnu.org; Tue, 18 Jun 2019 08:59:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59060) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hdDhX-0006sQ-J5; Tue, 18 Jun 2019 08:59:03 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 56817882FF; Tue, 18 Jun 2019 12:58:51 +0000 (UTC) Received: from kamzik.brq.redhat.com (unknown [10.43.2.160]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1FC6E36FA; Tue, 18 Jun 2019 12:58:45 +0000 (UTC) From: Andrew Jones To: qemu-devel@nongnu.org, qemu-arm@nongnu.org Date: Tue, 18 Jun 2019 14:58:44 +0200 Message-Id: <20190618125844.4863-1-drjones@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 18 Jun 2019 12:58:57 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH] hw/arm/boot: fix direct kernel boot with initrd 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: peter.maydell@linaro.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Fix the condition used to check whether the initrd fits into RAM; in some cases if an initrd was also passed on the command line we would get an error stating that it was too big to fit into RAM after the kernel. Despite the error the loader continued anyway, though, so also add an exit(1) when the initrd is actually too big. Fixes: 852dc64d665f ("hw/arm/boot: Diagnose layouts that put initrd or DTB off the end of RAM") Signed-off-by: Andrew Jones Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/boot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/arm/boot.c b/hw/arm/boot.c index b2f93f6beff6..1fb24fbef27e 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -1109,10 +1109,11 @@ static void arm_setup_direct_kernel_boot(ARMCPU *cp= u, info->initrd_filename); exit(1); } - if (info->initrd_start + initrd_size > info->ram_size) { + if (info->initrd_start + initrd_size > ram_end) { error_report("could not load initrd '%s': " "too big to fit into RAM after the kernel", info->initrd_filename); + exit(1); } } else { initrd_size =3D 0; --=20 2.20.1