summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlrich Ölmann <u.oelmann@pengutronix.de>2018-12-18 14:57:51 +0100
committerRoland Hieber <rhi@pengutronix.de>2019-01-07 15:47:56 +0100
commitd147aa0d2cf9ef16b6d02c7eb1b9bf9eca96d3fc (patch)
treec7c2bce6a1e396765e30f5ac39df87eb3084e35c
parent7bc669877217f54bf0f390205f481f18d33222f8 (diff)
downloaddt-utils-d147aa0d2cf9ef16b6d02c7eb1b9bf9eca96d3fc.tar.gz
dt-utils-d147aa0d2cf9ef16b6d02c7eb1b9bf9eca96d3fc.tar.xz
state: refuse to set dirty parameter via setenv
This ports the following barebox commit: | commit 6d3e10c67822816d3ff2021dcfba5e7a83906586 | Author: Sascha Hauer <s.hauer@pengutronix.de> | Date: Wed May 4 11:59:59 2016 +0200 | | state: refuse to set dirty parameter via setenv | | The dirty parameter is readonly, so refuse to set it. | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
-rw-r--r--src/barebox-state/state.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/barebox-state/state.c b/src/barebox-state/state.c
index 0036b69..7315688 100644
--- a/src/barebox-state/state.c
+++ b/src/barebox-state/state.c
@@ -152,6 +152,11 @@ void state_backend_set_readonly(struct state *state)
state_storage_set_readonly(&state->storage);
}
+static int state_set_deny(struct param_d *p, void *priv)
+{
+ return -EROFS;
+}
+
static struct state *state_new(const char *name)
{
struct state *state;
@@ -171,7 +176,7 @@ static struct state *state_new(const char *name)
}
state->dirty = 1;
- dev_add_param_bool(&state->dev, "dirty", NULL, NULL, &state->dirty,
+ dev_add_param_bool(&state->dev, "dirty", state_set_deny, NULL, &state->dirty,
NULL);
state->save_on_shutdown = 1;
dev_add_param_bool(&state->dev, "save_on_shutdown", NULL, NULL,