
On Wed, Nov 08, 2023 at 03:20:35PM +0100, Quentin Schulz wrote:
From: Quentin Schulz quentin.schulz@theobroma-systems.com
U-Boot proper automatically modifies boot_targets to swap the order in which MMC storage media are used for standard boot based on which MMC storage medium was used to load U-Boot proper. This is however only done if the user has not changed it manually, therefore a check between the default and current value is done.
This used to work fine until the migration to standard boot where boot_targets value size in the default environment went above the 32 characters that env_get_default function can return, thus resulting in a truncated variable.
Therefore the check between default and current value would always fail.
By using the newly added env_get_default_into function, a buffer of the appropriate size can be allocated on the stack to get the whole value of boot_targets in the default environment and thus fixing the check.
Cc: Quentin Schulz foss+uboot@0leil.net Signed-off-by: Quentin Schulz quentin.schulz@theobroma-systems.com
board/theobroma-systems/ringneck_px30/ringneck-px30.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
This looks like what the puma-rk3399 is doing in 5/6. Can we have this in a more common location? Or would there be a downside to that?