diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-05-04 11:59:59 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-02-06 08:45:46 +0100 |
commit | 6d3e10c67822816d3ff2021dcfba5e7a83906586 (patch) | |
tree | 4dc110bebe8b2c056357a9cac0aa8e50586a1594 | |
parent | 1d8f7f3403366831b37f29361dba8da0e43d82e1 (diff) | |
download | barebox-6d3e10c67822816d3ff2021dcfba5e7a83906586.tar.gz barebox-6d3e10c67822816d3ff2021dcfba5e7a83906586.tar.xz |
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>
-rw-r--r-- | common/state/state.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/common/state/state.c b/common/state/state.c index 6399bd3736..5a1a1af856 100644 --- a/common/state/state.c +++ b/common/state/state.c @@ -153,6 +153,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; @@ -172,7 +177,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, |