[PATCH] env: mtd: fix usability with NAND flashes

Christian Marangi ansuelsmth at gmail.com
Tue May 6 13:44:11 CEST 2025


On Tue, May 06, 2025 at 03:15:01PM +0800, Weijie Gao wrote:
> 1. As this is for MTD-based devices, the Kconfig dependency should be MTD
>    instead of only spi-nor flashes
> 2. Initialize saved_buf to avoid crash on free()
> 3. Remaining size shoule be set correctly to write_size
> 
> Fixes: 03fb08d4aef (env: Introduce support for MTD)
> Signed-off-by: Weijie Gao <weijie.gao at mediatek.com>

Reviewed-by: Christian Marangi <ansuelsmth at gmail.com>

> ---
>  env/Kconfig | 2 +-
>  env/mtd.c   | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/env/Kconfig b/env/Kconfig
> index 1e876c6fa85..ce869a24d46 100644
> --- a/env/Kconfig
> +++ b/env/Kconfig
> @@ -404,7 +404,7 @@ config ENV_IS_IN_SPI_FLASH
>  
>  config ENV_IS_IN_MTD
>  	bool "Environment is in MTD flash"
> -	depends on !CHAIN_OF_TRUST && (SPI_FLASH || DM_SPI_FLASH)
> +	depends on !CHAIN_OF_TRUST && MTD
>  	default y if ARCH_AIROHA
>  	help
>  	  Define this if you have a MTD Flash memory device which you
> diff --git a/env/mtd.c b/env/mtd.c
> index 721faebd8f2..d7ec30e183a 100644
> --- a/env/mtd.c
> +++ b/env/mtd.c
> @@ -32,7 +32,7 @@ static int setup_mtd_device(struct mtd_info **mtd_env)
>  
>  static int env_mtd_save(void)
>  {
> -	char *saved_buf, *write_buf, *tmp;
> +	char *saved_buf = NULL, *write_buf, *tmp;
>  	struct erase_info ei = { };
>  	struct mtd_info *mtd_env;
>  	u32 sect_size, sect_num;
> @@ -105,7 +105,7 @@ static int env_mtd_save(void)
>  	}
>  
>  	offset = CONFIG_ENV_OFFSET;
> -	remaining = sect_size;
> +	remaining = write_size;
>  	tmp = write_buf;
>  
>  	puts("Writing to MTD...");
> -- 
> 2.34.1
> 

-- 
	Ansuel


More information about the U-Boot mailing list