[PATCH] env: Add option to only ever append environment

Rasmus Villemoes rasmus.villemoes at prevas.dk
Tue Jun 2 08:42:34 CEST 2020


On 29/05/2020 19.54, Marek Vasut wrote:
> +config ENV_APPEND
> +	bool "Always append the environment with new data"
> +	default n
> +	help
> +	  If defined, the environment hash table is only ever appended with new
> +	  data, but the existing hash table can never be dropped and reloaded
> +	  with newly imported data. This may be used in combination with static
> +	  flags to e.g. to protect variables which must not be modified.
> +
>  config ENV_ACCESS_IGNORE_FORCE
>  	bool "Block forced environment operations"
>  	default n
> diff --git a/env/env.c b/env/env.c
> index 024d36fdbe..967a9d36d7 100644
> --- a/env/env.c
> +++ b/env/env.c
> @@ -204,7 +204,9 @@ int env_load(void)
>  		ret = drv->load();
>  		if (!ret) {
>  			printf("OK\n");
> +#if !CONFIG_IS_ENABLED(ENV_APPEND)
>  			return 0;
> +#endif

Don't use CONFIG_IS_ENABLED() unless you actually introduce both
CONFIG_FOO and CONFIG_SPL_FOO. Otherwise the above
CONFIG_IS_ENABLED(ENV_APPEND) is guaranteed to evaluate to false in SPL.
Of course that only matters if environment support is enabled in SPL,
but some actually use that.

Rasmus


More information about the U-Boot mailing list