All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Cc: "Marek Vasut" <marex@denx.de>,
	"Patrick Delaunay" <patrick.delaunay@foss.st.com>,
	"Pali Rohár" <pali@kernel.org>
Subject: [PATCH] Revert "common/memsize.c: Fix get_effective_memsize() to check for overflow"
Date: Fri,  6 Jan 2023 10:51:43 -0500	[thread overview]
Message-ID: <20230106155143.4025812-1-trini@konsulko.com> (raw)

This reverts commit 777aaaa706bcfe08c284aed06886db7d482af3f8.

The changes to this generic function, which is intended to help with
32bit platforms with large amounts of memory has unintended side effects
(which in turn lead to boot failures) on other platforms which were
previously functional.

Reported-by: Marek Vasut <marex@denx.de>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cc: Pali Rohár <pali@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 common/memsize.c | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/common/memsize.c b/common/memsize.c
index 3c80ad2c8346..31884acca0df 100644
--- a/common/memsize.c
+++ b/common/memsize.c
@@ -94,23 +94,11 @@ long get_ram_size(long *base, long maxsize)
 
 phys_size_t __weak get_effective_memsize(void)
 {
-	phys_size_t ram_size = gd->ram_size;
-
-	/*
-	 * Check for overflow and limit ram size to some representable value.
-	 * It is required that ram_base + ram_size must be representable by
-	 * phys_size_t type and must be aligned by direct access, therefore
-	 * calculate it from last 4kB sector which should work as alignment
-	 * on any platform.
-	 */
-	if (gd->ram_base + ram_size < gd->ram_base)
-		ram_size = ((phys_size_t)~0xfffULL) - gd->ram_base;
-
 #ifndef CONFIG_MAX_MEM_MAPPED
-	return ram_size;
+	return gd->ram_size;
 #else
 	/* limit stack to what we can reasonable map */
-	return ((ram_size > CONFIG_MAX_MEM_MAPPED) ?
-		CONFIG_MAX_MEM_MAPPED : ram_size);
+	return ((gd->ram_size > CONFIG_MAX_MEM_MAPPED) ?
+		CONFIG_MAX_MEM_MAPPED : gd->ram_size);
 #endif
 }
-- 
2.25.1


             reply	other threads:[~2023-01-06 15:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-06 15:51 Tom Rini [this message]
2023-01-06 16:45 ` [PATCH] Revert "common/memsize.c: Fix get_effective_memsize() to check for overflow" Pali Rohár
2023-01-06 17:25   ` Tom Rini
2023-01-06 20:22     ` Pali Rohár
2023-01-06 21:14       ` Tom Rini
2023-01-06 21:45         ` Tom Rini
2023-01-06 22:09           ` Pali Rohár
2023-01-06 22:51             ` Tom Rini
2023-01-07 16:26               ` Pali Rohár
2023-01-07 17:32                 ` Tom Rini
2023-01-07 17:38                   ` Pali Rohár
2023-01-07 17:40                     ` Tom Rini
2023-01-07 17:44                       ` Pali Rohár
2023-01-07 17:46                         ` Tom Rini
2023-01-07 21:58                           ` Pali Rohár
2023-01-06 20:29 ` Fabio Estevam

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=20230106155143.4025812-1-trini@konsulko.com \
    --to=trini@konsulko.com \
    --cc=marex@denx.de \
    --cc=pali@kernel.org \
    --cc=patrick.delaunay@foss.st.com \
    --cc=u-boot@lists.denx.de \
    /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.