All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Andreas Larsson <andreas@gaisler.com>,
	Mike Rapoport <rppt@linux.ibm.com>,
	"David S . Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>,
	sparclinux@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 09/21] sparc32: Limit memblock allocation to low memory
Date: Tue,  2 Mar 2021 06:58:23 -0500	[thread overview]
Message-ID: <20210302115835.63269-9-sashal@kernel.org> (raw)
In-Reply-To: <20210302115835.63269-1-sashal@kernel.org>

From: Andreas Larsson <andreas@gaisler.com>

[ Upstream commit bda166930c37604ffa93f2425426af6921ec575a ]

Commit cca079ef8ac29a7c02192d2bad2ffe4c0c5ffdd0 changed sparc32 to use
memblocks instead of bootmem, but also made high memory available via
memblock allocation which does not work together with e.g. phys_to_virt
and can lead to kernel panic.

This changes back to only low memory being allocatable in the early
stages, now using memblock allocation.

Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/sparc/mm/init_32.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c
index 92634d4e440c..89a9244f2cf0 100644
--- a/arch/sparc/mm/init_32.c
+++ b/arch/sparc/mm/init_32.c
@@ -199,6 +199,9 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
 	size = memblock_phys_mem_size() - memblock_reserved_size();
 	*pages_avail = (size >> PAGE_SHIFT) - high_pages;
 
+	/* Only allow low memory to be allocated via memblock allocation */
+	memblock_set_current_limit(max_low_pfn << PAGE_SHIFT);
+
 	return max_pfn;
 }
 
-- 
2.30.1


WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Andreas Larsson <andreas@gaisler.com>,
	Mike Rapoport <rppt@linux.ibm.com>,
	"David S . Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>,
	sparclinux@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 09/21] sparc32: Limit memblock allocation to low memory
Date: Tue, 02 Mar 2021 11:58:23 +0000	[thread overview]
Message-ID: <20210302115835.63269-9-sashal@kernel.org> (raw)
In-Reply-To: <20210302115835.63269-1-sashal@kernel.org>

From: Andreas Larsson <andreas@gaisler.com>

[ Upstream commit bda166930c37604ffa93f2425426af6921ec575a ]

Commit cca079ef8ac29a7c02192d2bad2ffe4c0c5ffdd0 changed sparc32 to use
memblocks instead of bootmem, but also made high memory available via
memblock allocation which does not work together with e.g. phys_to_virt
and can lead to kernel panic.

This changes back to only low memory being allocatable in the early
stages, now using memblock allocation.

Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/sparc/mm/init_32.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c
index 92634d4e440c..89a9244f2cf0 100644
--- a/arch/sparc/mm/init_32.c
+++ b/arch/sparc/mm/init_32.c
@@ -199,6 +199,9 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
 	size = memblock_phys_mem_size() - memblock_reserved_size();
 	*pages_avail = (size >> PAGE_SHIFT) - high_pages;
 
+	/* Only allow low memory to be allocated via memblock allocation */
+	memblock_set_current_limit(max_low_pfn << PAGE_SHIFT);
+
 	return max_pfn;
 }
 
-- 
2.30.1

  parent reply	other threads:[~2021-03-02 14:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02 11:58 [PATCH AUTOSEL 4.19 01/21] i2c: rcar: optimize cacheline to minimize HW race condition Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 02/21] udf: fix silent AED tagLocation corruption Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 03/21] mmc: mxs-mmc: Fix a resource leak in an error handling path in 'mxs_mmc_probe()' Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 04/21] mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 05/21] mmc: mediatek: fix race condition between msdc_request_timeout and irq Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 06/21] powerpc/pci: Add ppc_md.discover_phbs() Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 07/21] powerpc: improve handling of unrecoverable system reset Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 08/21] powerpc/perf: Record counter overflow always if SAMPLE_IP is unset Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` Sasha Levin [this message]
2021-03-02 11:58   ` [PATCH AUTOSEL 4.19 09/21] sparc32: Limit memblock allocation to low memory Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 10/21] sparc64: Use arch_validate_flags() to validate ADI flag Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 11/21] x86, build: use objtool mcount Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 12/21] PCI: xgene-msi: Fix race in installing chained irq handler Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 13/21] misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 14/21] PCI: mediatek: Add missing of_node_put() to fix reference leak Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 15/21] drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 16/21] PCI: Fix pci_register_io_range() memory leak Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 17/21] i40e: Fix memory leak in i40e_probe Sasha Levin
2021-03-02 11:58   ` [Intel-wired-lan] " Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 18/21] s390/smp: __smp_rescan_cpus() - move cpumask away from stack Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 19/21] scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 20/21] scsi: target: core: Add cmd length set before cmd complete Sasha Levin
2021-03-02 11:58   ` Sasha Levin
2021-03-02 11:58 ` [PATCH AUTOSEL 4.19 21/21] scsi: target: core: Prevent underflow for service actions Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210302115835.63269-9-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=andreas@gaisler.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rppt@linux.ibm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.