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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 19FBDC77B61 for ; Mon, 24 Apr 2023 11:38:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 96B246B0071; Mon, 24 Apr 2023 07:38:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F5216B0075; Mon, 24 Apr 2023 07:38:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7BBB46B0078; Mon, 24 Apr 2023 07:38:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 69CF76B0071 for ; Mon, 24 Apr 2023 07:38:52 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3BEE5A036A for ; Mon, 24 Apr 2023 11:38:52 +0000 (UTC) X-FDA: 80716087704.21.51C5A94 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by imf27.hostedemail.com (Postfix) with ESMTP id 796AB40022 for ; Mon, 24 Apr 2023 11:38:50 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=none; spf=pass (imf27.hostedemail.com: domain of tanurelinux@gmail.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=tanurelinux@gmail.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682336330; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=Eglyz+j/occX8WNkEpcLNlY9OWqv/i1uyY+qtuXKrx0=; b=rOO2gDOXA5/dzjuyKwdYU+S99eJGSce4QqyApCd+ha1MO4tGrGAPKGjrALYtT+vCXp1HFE zjZRuvR3oIRmCoJCkuhYloc+5vu6P5Ts4IYc6AsRuUts20wBNqBUHsEvVE57vGYyD0KzIl KONYpAW1GSqwBPeuav6eaww2rMQnH/A= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=none; spf=pass (imf27.hostedemail.com: domain of tanurelinux@gmail.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=tanurelinux@gmail.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1682336330; a=rsa-sha256; cv=none; b=oukyp/gTI0TQ+U9quDOr0lVI8+RKGArRlEkddOdigSyc2+6/XVvpJ+gWB9lKJI/3qENk97 pLCSJ4cfmOTWwx98PB2SXtXG9+Hr101V1ofyqj0mPqpokV5dUGSi3obe2I5KbOYQZtyPDT Sf0dmHflZNQQo4HQRaLB5+y9MAIXv7o= Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f1957e80a2so74187515e9.1 for ; Mon, 24 Apr 2023 04:38:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682336329; x=1684928329; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Eglyz+j/occX8WNkEpcLNlY9OWqv/i1uyY+qtuXKrx0=; b=GiBAs9mN23ihENYuIXl7giydSIqZh3f/EReo0XPsaGMIuX6DIbSpN9dsMujoxYo2E8 T+A4TxrFCY+46qnAJHbXvAvAq8nEodgCn6oPCYI5MlIkS6H5+IwDNk6St9Or9fwyZCyg 11UxuWaI1XTnVVZJIWzxb+G/3sdRqAfJYELnzlqFzF6Zp41FRTPzMPvUZUn7RqfG4Yq1 ZY8gVYIpSl/GOcgYjqzmY/11VQfk8aMU36it33I7DRGy1WAMBkmmxHKMna+omlH/WQs+ CbcBUNc/WQd0cui2Weq2UdDO08Sk7hMfbO/dBiiTBZUlfgq/ko3FyRZJIrsdpsTzKCD2 1dNQ== X-Gm-Message-State: AAQBX9eQPIceke/2auKSYJfHWhDKK4hnlwVis53luN25rZCm90qFM+KT nbzoAd3Al9zN1vToujEeJZI= X-Google-Smtp-Source: AKy350bIiGtYQ95Um7VGjxvEpP0Bu+W7VgYMq+aOVIHhgROIjVQNbR2DGGAa6ASUxZR2oIKOoxEPVA== X-Received: by 2002:a5d:414c:0:b0:2fa:d00d:cab8 with SMTP id c12-20020a5d414c000000b002fad00dcab8mr9478626wrq.18.1682336328944; Mon, 24 Apr 2023 04:38:48 -0700 (PDT) Received: from ryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net. [82.11.51.62]) by smtp.gmail.com with ESMTPSA id e18-20020adffc52000000b002efacde3fc7sm10570820wrs.35.2023.04.24.04.38.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Apr 2023 04:38:48 -0700 (PDT) From: Lucas Tanure To: Rob Herring , Frank Rowand , Mike Rapoport , Andrew Morton Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, jbrunet@baylibre.com, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, martin.blumenstingl@googlemail.com, narmstrong@baylibre.com, stefan@agner.ch, Lucas Tanure Subject: [PATCH v4] of: fdt: Scan /memreserve/ last Date: Mon, 24 Apr 2023 12:38:46 +0100 Message-Id: <20230424113846.46382-1-tanure@linux.com> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 8itwwcx5mge7mgasmskidt4aojxezzox X-Rspamd-Queue-Id: 796AB40022 X-HE-Tag: 1682336330-444483 X-HE-Meta: U2FsdGVkX1930F6GwPp8odoG7KEmrW2YDTajcPJe8tq2VMzzRo9AhpQTXRImycaDcJZ0QitkPVvy7eYIOsIDG9adVcNqOhTudueo4XdbbV75NRfFFcTzBuc7FrDwXimBExUXZSdYZ4PFi/aOZ1MXqHKuqyoRtfeFN4+HqkHYgd6nZWBZgXcjdfJXM+pz7gxQqvE5+YsJFZS1nZchbP8NcQDZEkmKbiF7g3tWhMyAIAUyDYZOuB/aeyfewZ/e1KVjw6Ndm9SKuJq5mh6icEo2yyaeiZx7W4nMHh/NWnE3sRS2oSidaAKE9erKL/qKSRuluWp+Oqy8V80mjWl4876aQf0kixn8YdNuYKsfqFqm9pgMRygIgi8vuYRNN1FT5TTNzNSab/PULiCxfNk83MN1AmLJ/ZFluo+swJX3saINKHrehOJMzZKkSxfJCD0HqMboNsQ/pAvDowzPA15F7AwzJJ71zUJoIYHyRAI43H+rPJk9U6ZJunCG8Ft6S/6M4/qF3ALSkJ/ZrYv2XGQFxL+mEJ2aTrn33wU7iHQbVOJuFPDya5S+svDNwmLI4e45IqISsJ560BBAZMd9gTDnOwig2amj34u69bZxJcMeMm1ijRbfjgy9vX0EnAnE+DpE3BDiDwSHhPinGXJ7R8uZ37EQrSSVjMciY/G+VwTWfW5xTga3ZdIimatcVHL2+6FXTbT8miakXGEDtLKPQ7CykThm1O/FBFEVMOvgvWu5EJ/V6glGnmH7GLTOCqgyZugvJE2RHqeN9+pxj2pF7V4lUHyhwxFYcDFTu3VzfLBuKYDhONsucoW83p7tU8+Gmz9w6MCbqG2mVmKi+faeY9hray1srgDWUjWl78BRRDaGZLmRRFP6bwymZ4U+LKd14O9qUpCKHGt7rtbRjSw1FcDk9By8D9V+ydWHpdafVusD0PgbplLPF8KLFzdl025vmd4Jp7se9WvJ3cGUXAqEaTo8JVn Q3Yoof9a Mmre/6u944lqBFV8UrEVxk0z75eA0ZWaXKzKZ/q6GEm0XyVqhsqmGrRJBWFykhhiNMCFiGzDi/8NhTp1JzLp1mAk7iCyQpBFFKh1LN1KLEsMd8OIKvlAx2qo9AJ9qm8oZvXZ6ypePE3TYLq9+mzRL9+dKkLtZruV8UZTUODZ2P1k87ZQNqCEPL4bw3WRKduGwK5xhtTUolFPHz6AuW9bf96/f7xm6XKMK1GDRxZHKE+MyuETXhyRE8E8oNry+ZhIBPtLKLC85Yo/HzjKCqJvkIO+NcdwuqMnMutRVerHolvY2PTpcHK076Ew72thL3CUsghe2Tf9CIK4MARHCU0XQYunygDCYwoOEJgSj+aNR90vMtM+WlaygG5aiafTZsRTK60hvzmLBp4P0W7GGFrDKYH/KdFH59WzZj3A/XAGFhqJoRIA9UKoWcXsVDgk+HSfk0HP4UxVDILqiu5gho1HKWUHBuqeme4BTOljKLctS3Cw73xnZP85dLqdtEunBsEx/a+R4786mtCZAH1QzUtKDO670WRHupy48e6jXX+SLXiShHsBTloSuStvxfz+JcDht5hAZyjIj19ArzIBqdeMGtbMa1i52HqK+ogsCsU0Rpb8Nvdx0nDLFJsOROaetYBZNH63f X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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. Signed-off-by: Lucas Tanure i --- Previous Threads: #regzbot link: https://lore.kernel.org/linux-arm-kernel/40ca11f84b7cdbfb9ad2ddd480cb204a@agner.ch/#regzbot #regzbot link: https://lore.kernel.org/all/CAJX_Q+1Tjc+-TjZ6JW9X0NxEdFe=82a9626yL63j7uVD4LpxEA@mail.gmail.com/ V1: https://lore.kernel.org/all/20230406151429.524591-1-tanure@linux.com/ v2: https://lore.kernel.org/all/20230410120017.41664-1-tanure@linux.com/ v3: https://lore.kernel.org/linux-mm/20230412224620.8909-1-tanure@linux.com/T/ Change from V3: - Drop cover letter - Add more information into the patch Change from V2: - Remove region overlap and reserved checks Change from V1: - Instead of allowing to mark nomap a region already reserved, give precedence to /reserved-memory node scan. --- 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 d14735a81301..bf502ba8da95 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.40.0