Hello Wolfgang, On 07/28/2018 03:56 PM, Wolfgang Denk wrote: > Dear Yaniv, > > In message <[email protected]> you wrote: >> U-Boot fails to load read-only variables from storage after a reset. It >> happens because the environment hash table prevents creating read-only >> variables unless the H_FORCE flag is passed. > > This is NOT a good idea. "env import" should respect read-only > settings in exactly the same way as "env set" does. Please keep in > minf that the user my set a variable to read-only exactly just to > prevent if from bein (accidentially) overwritten when importing an > (not exactly know) set of environment settings. Your patch would > kill any such protection. > > IMO the correct approach would be to add a "-f" flag to "env import" > and the, and ONLY then, also set the H_FORCE flag. > > Naked-by: Wolfgang Denk <[email protected]> > > Best regards, > > Wolfgang Denk > Thank you for reviewing the patch.
The command "env import" should of course respect access restriction flags. Confusingly, the function env_import() in env/common.c has nothing to do with the implementation of the "env import" command. This is done entirely by do_env_import() in cmd/nvedit.c. To the best of my knowledge, the function env_import() is used only by storage devices to load the environment on boot. In this scenario, I think we do need to ignore access restriction flags. Otherwise, read-only variables won't load from storage with the rest of the environment. Please correct me if I'm wrong. Thanks, Yaniv _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

