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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 745CFC7EE22 for ; Thu, 11 May 2023 19:38:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239179AbjEKTik (ORCPT ); Thu, 11 May 2023 15:38:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239248AbjEKTif (ORCPT ); Thu, 11 May 2023 15:38:35 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 537A47DA8; Thu, 11 May 2023 12:38:28 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9F5A46511A; Thu, 11 May 2023 19:38:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E322DC4339C; Thu, 11 May 2023 19:38:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1683833907; bh=eusArGtpQsQ/mI/dj7NQjj77kk6DhjwgGYGdfDlh95U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cUFOOxVzusGEU6LqxtMDNV/tkXapWIk0EvGg7MrtmFeo6dO1lgBfl3JQsGn2ikYQt iLGcbv/6yj8YrGNl30268qnMq3IDzP6WaNFW4PYDy4tIzLTtDa5/V39XEhbtN0ycr5 rrR0OnQWTTYS45SCtDrc9o7/wRzaCSMKgS7ml7WpuJQIr+UWGsIy5+5iDtVqdKAQxl 6j8ynNAEnvLaUf2im4fa+6G0mhpWsTfC/niNOP0aHVMGcI9/WyAyj2VdlqPHawel7m BjPPojSf6dSkdsrpnc/IrAchDjrQmX7Ew8S/osoog4bqww6OiqAE8bA3RcJBwqbNMs 4hU9Av3KEUUDA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Lucas Tanure , Rob Herring , Sasha Levin , robh+dt@kernel.org, frowand.list@gmail.com, devicetree@vger.kernel.org Subject: [PATCH AUTOSEL 6.3 06/11] of: fdt: Scan /memreserve/ last Date: Thu, 11 May 2023 15:37:49 -0400 Message-Id: <20230511193757.623114-6-sashal@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230511193757.623114-1-sashal@kernel.org> References: <20230511193757.623114-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Lucas Tanure [ Upstream commit b413281876292de44ae84e9a9ce9d62e47f266e9 ] Change the scanning /memreserve/ and /reserved-memory node order to fix Kernel panic on Khadas Vim3 Board. If /memreserve/ goes first, the memory is reserved, but nomap can't be applied to the region. So the memory won't be used by Linux, but it is still present in the linear map as normal memory, which allows speculation. Legitimate access to adjacent pages will cause the CPU to end up prefetching into them leading to Kernel panic. So /reserved-memory node should go first, as it has a more updated description of the memory regions and can apply flags, like nomap. Link: https://lore.kernel.org/all/CAJX_Q+1Tjc+-TjZ6JW9X0NxEdFe=82a9626yL63j7uVD4LpxEA@mail.gmail.com/ Signed-off-by: Lucas Tanure Link: https://lore.kernel.org/r/20230424113846.46382-1-tanure@linux.com Signed-off-by: Rob Herring Signed-off-by: Sasha Levin --- drivers/of/fdt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index d1a68b6d03b3f..c28aedd7ae1f7 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -635,6 +635,9 @@ void __init early_init_fdt_scan_reserved_mem(void) if (!initial_boot_params) return; + fdt_scan_reserved_mem(); + fdt_reserve_elfcorehdr(); + /* Process header /memreserve/ fields */ for (n = 0; ; n++) { fdt_get_mem_rsv(initial_boot_params, n, &base, &size); @@ -643,8 +646,6 @@ void __init early_init_fdt_scan_reserved_mem(void) memblock_reserve(base, size); } - fdt_scan_reserved_mem(); - fdt_reserve_elfcorehdr(); fdt_init_reserved_mem(); } -- 2.39.2