[PATCH] env: Fix warning when forcing environment without ENV_ACCESS_IGNORE_FORCE

Fuzzey, Martin
2021-01-29T07:42:02Z

On Fri, 29 Jan 2021 at 00:05, Marek Vasut <marex@denx.de> wrote:
>
> On 1/28/21 8:37 PM, Fuzzey, Martin wrote:
> > Hi Marek,
>
> Hi,
>
> > On Thu, 28 Jan 2021 at 20:07, Marek Vasut <marex@denx.de> wrote:
> >>
> >> Based on env/Kconfig description of this option:
> >>
> >> config ENV_ACCESS_IGNORE_FORCE
> >> bool "Block forced environment operations"
> >> default n
> >> help
> >> If defined, don't allow the -f switch to env set override
> >> variable
> >> access flags.
> >>
> >> I would think the code should look like this:
> >>
> >> #ifdef CONFIG_ENV_ACCESS_IGNORE_FORCE
> >> if (flag & H_FORCE) {
> >> printf("## Error: Can't force access to \"%s\"\n", name);
> >> return 1;
> >> }
> >> #else
> >> if (flag & H_FORCE)
> >> return 0;
> >> #endif
> >
> > I don't think that is right.
> >
> > If you do that force update will be refused when
> > CONFIG_ENV_ACCESS_IGNORE_FORCE, regardless if the access would be
> > valid without the force
>
> That's how I understand the option was intended to work, based on the
> Kconfig help text.
>

Ok we are understanding different things about what it's supposed to do then.

But if everyone agrees that the option should completely disable -f
then I'm fine with that, in which case the version of the patch you
propose is good (and easier to understand).

The problem I have is with the current 0f036bf4b87e which leads to log
spam on boards that *don't* have CONFIG_ENV_ACCESS_IGNORE_FORCE set
and do use -f.

> > The kconfig options says don't allow the -f switch to OVERRIDE
> > variable access flags, not "don't allow the -f switch to be used"
>
> I suspect the help text needs clarification then.

Agreed

Martin