summaryrefslogtreecommitdiff
path: root/include/env_flags.h
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2020-07-07 20:51:39 +0200
committerTom Rini <trini@konsulko.com>2020-07-31 10:13:00 -0400
commitd045cbacf2529266bb312add023e12c0d400bf67 (patch)
tree1ce79c821d8045d76694786bfabb37aaf1bc12ea /include/env_flags.h
parent47f3b1f243acfe755340753c5d467ba781618fa6 (diff)
env: Add support for explicit write access list
This option marks any U-Boot variable which does not have explicit 'w' writeable flag set as read-only. This way the environment can be locked down and only variables explicitly configured to be writeable can ever be changed by either 'env import', 'env set' or loading user environment from environment storage. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include/env_flags.h')
-rw-r--r--include/env_flags.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/env_flags.h b/include/env_flags.h
index 725841a891..313cb8c49a 100644
--- a/include/env_flags.h
+++ b/include/env_flags.h
@@ -24,6 +24,9 @@ enum env_flags_varaccess {
env_flags_varaccess_readonly,
env_flags_varaccess_writeonce,
env_flags_varaccess_changedefault,
+#ifdef CONFIG_ENV_WRITEABLE_LIST
+ env_flags_varaccess_writeable,
+#endif
env_flags_varaccess_end
};
@@ -173,6 +176,7 @@ int env_flags_validate(const struct env_entry *item, const char *newval,
#define ENV_FLAGS_VARACCESS_PREVENT_CREATE 0x00000010
#define ENV_FLAGS_VARACCESS_PREVENT_OVERWR 0x00000020
#define ENV_FLAGS_VARACCESS_PREVENT_NONDEF_OVERWR 0x00000040
-#define ENV_FLAGS_VARACCESS_BIN_MASK 0x00000078
+#define ENV_FLAGS_VARACCESS_WRITEABLE 0x00000080
+#define ENV_FLAGS_VARACCESS_BIN_MASK 0x000000f8
#endif /* __ENV_FLAGS_H__ */