U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] mx53loco: Fix U-Boot corruption after saving the environment
@ 2019-08-30 16:58 Fabio Estevam
  2019-08-30 18:14 ` Tom Rini
  0 siblings, 1 reply; 4+ messages in thread
From: Fabio Estevam @ 2019-08-30 16:58 UTC (permalink / raw)
  To: u-boot

U-Boot binary has grown in such a way that it goes beyond the reserved
area for the environment variables.
    
Running "saveenv" causes U-Boot to hang because of this overlap.
    
Fix this problem by increasing the CONFIG_ENV_OFFSET size.
    
Also, in order to prevent this same problem in the future, use
CONFIG_BOARD_SIZE_LIMIT, which will detect the overlap in build-time.
    
CONFIG_BOARD_SIZE_LIMIT does not accept math expressions, so declare
CONFIG_ENV_OFFSET with its direct value instead.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 include/configs/mx53loco.h | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index b734b822dd..65a5993f61 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -163,8 +163,18 @@
 #define CONFIG_SYS_INIT_SP_ADDR \
 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 
-/* environment organization */
-#define CONFIG_ENV_OFFSET      (6 * 64 * 1024)
+/* Environment starts at 768k = 768 * 1024 = 786432 */
+#define CONFIG_ENV_OFFSET		786432
+/*
+ * Detect overlap between U-Boot image and environment area in build-time
+ *
+ * CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot.imx offset
+ * CONFIG_BOARD_SIZE_LIMIT = 768k - 1k = 767k = 785408
+ *
+ * Currently CONFIG_BOARD_SIZE_LIMIT does not handle expressions, so
+ * write the direct value here
+ */
+#define CONFIG_BOARD_SIZE_LIMIT		785408
 #define CONFIG_ENV_SIZE        (8 * 1024)
 #define CONFIG_SYS_MMC_ENV_DEV 0
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] mx53loco: Fix U-Boot corruption after saving the environment
  2019-08-30 16:58 [U-Boot] [PATCH] mx53loco: Fix U-Boot corruption after saving the environment Fabio Estevam
@ 2019-08-30 18:14 ` Tom Rini
  2019-09-02 16:40   ` Fabio Estevam
  0 siblings, 1 reply; 4+ messages in thread
From: Tom Rini @ 2019-08-30 18:14 UTC (permalink / raw)
  To: u-boot

On Fri, Aug 30, 2019 at 01:58:29PM -0300, Fabio Estevam wrote:

> U-Boot binary has grown in such a way that it goes beyond the reserved
> area for the environment variables.
>     
> Running "saveenv" causes U-Boot to hang because of this overlap.
>     
> Fix this problem by increasing the CONFIG_ENV_OFFSET size.
>     
> Also, in order to prevent this same problem in the future, use
> CONFIG_BOARD_SIZE_LIMIT, which will detect the overlap in build-time.
>     
> CONFIG_BOARD_SIZE_LIMIT does not accept math expressions, so declare
> CONFIG_ENV_OFFSET with its direct value instead.
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>

Gah!

Are there more i.mx platforms that are not setting BOARD_SIZE_LIMIT
today?  I assume there are, sadly.  Can you audit and catch the rest of
these likely problems, and add limits so we won't repeat this again.
Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190830/529e1dc2/attachment.sig>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] mx53loco: Fix U-Boot corruption after saving the environment
  2019-08-30 18:14 ` Tom Rini
@ 2019-09-02 16:40   ` Fabio Estevam
  2019-09-03 14:36     ` Tom Rini
  0 siblings, 1 reply; 4+ messages in thread
From: Fabio Estevam @ 2019-09-02 16:40 UTC (permalink / raw)
  To: u-boot

Hi Tom,

On Fri, Aug 30, 2019 at 3:14 PM Tom Rini <trini@konsulko.com> wrote:

> Are there more i.mx platforms that are not setting BOARD_SIZE_LIMIT
> today?  I assume there are, sadly.  Can you audit and catch the rest of

Yes, only a very few i.MX boards set BOARD_SIZE_LIMIT currently.

> these likely problems, and add limits so we won't repeat this again.

Yes, I can audit this, but this task requires more time and I can do
that after 2019.10 is released.

Could this one that fixes mx53qsb be applied for 2019.10?

Thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] mx53loco: Fix U-Boot corruption after saving the environment
  2019-09-02 16:40   ` Fabio Estevam
@ 2019-09-03 14:36     ` Tom Rini
  0 siblings, 0 replies; 4+ messages in thread
From: Tom Rini @ 2019-09-03 14:36 UTC (permalink / raw)
  To: u-boot

On Mon, Sep 02, 2019 at 01:40:27PM -0300, Fabio Estevam wrote:
> Hi Tom,
> 
> On Fri, Aug 30, 2019 at 3:14 PM Tom Rini <trini@konsulko.com> wrote:
> 
> > Are there more i.mx platforms that are not setting BOARD_SIZE_LIMIT
> > today?  I assume there are, sadly.  Can you audit and catch the rest of
> 
> Yes, only a very few i.MX boards set BOARD_SIZE_LIMIT currently.
> 
> > these likely problems, and add limits so we won't repeat this again.
> 
> Yes, I can audit this, but this task requires more time and I can do
> that after 2019.10 is released.
> 
> Could this one that fixes mx53qsb be applied for 2019.10?

As some is better than none, yes, we should fix and detect this for this
platform.  But I am a little frustrated in that this is not a new
problem and the hook to check for this problem was put in back in June,
so I had hoped for more preemptive conversions.  It's also on me for
having not reminded folks about that too.  So please, can we make sure
to get this covered ASAP?  I think the kludge patch I've posted and
linked to before (http://patchwork.ozlabs.org/patch/790476/) can be used
here to get a current value calculated and spit out.  Moving the
question to Kconfig would then make it easier still to:
1. sync all configs
2. loop over appending value to defconfigs
3. re-sync all defconfigs
4. drop first patch, squash next
approximately anyhow.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190903/b628a8a1/attachment.sig>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-03 14:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-30 16:58 [U-Boot] [PATCH] mx53loco: Fix U-Boot corruption after saving the environment Fabio Estevam
2019-08-30 18:14 ` Tom Rini
2019-09-02 16:40   ` Fabio Estevam
2019-09-03 14:36     ` Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox