[PATCH] board: toradex: Quote variables in `test` cmd expression
Simon Glass
sjg at chromium.org
Mon May 4 14:15:28 CEST 2026
Hi,
On Sun, 3 May 2026 at 22:56, Francesco Dolcini <francesco at dolcini.it> wrote:
>
> +Simon
>
> Hello Tom,
>
> On Thu, Apr 09, 2026 at 11:07:31AM +0200, Rasmus Villemoes wrote:
> > On Fri, Apr 03 2026, Francesco Dolcini <francesco at dolcini.it> wrote:
> > > On Thu, Apr 02, 2026 at 05:30:29PM -0600, Tom Rini wrote:
> > >> On Wed, Apr 01, 2026 at 07:10:27AM +0200, Francesco Dolcini wrote:
> > >> > On Tue, Mar 31, 2026 at 10:10:10AM +0200, Franz Schnyder wrote:
> > >> > > From: Franz Schnyder <franz.schnyder at toradex.com>
> > >> > >
> > >> > > With correct POSIX handling, unquoted empty variables can turn the
> > >> > > expression like
> > >> > > test -n ${fdtfile}
> > >> > > into
> > >> > > test -n
> > >> > >
> > >> > > The POSIX handling for single argument `test` evaluates it as true,
> > >> > > so the fallback initialization will be skipped unexpectedly.
> > >> > > Quoting variable expansions in `test` expressions will always result in
> > >> > > correct behavior for empty and non-empty values.
> > >> > > This change was triggered by
> > >> > > commit 8b0619579b22 ("cmd: test: fix handling of single-argument form of test")
> > >> > > The aim is to have a less fragile codebase that is not dependent on a
> > >> > > quirk of the shell implementation.
> > >> > >
> > >> > > Use quoted variable expansions in `test` expressions throughout.
> > >> > >
> > >> > > Signed-off-by: Franz Schnyder <franz.schnyder at toradex.com>
> > >> >
> > >> > Acked-by: Francesco Dolcini <francesco.dolcini at toradex.com>
> > >>
> > >> I've decided to go with:
> > >> https://patchwork.ozlabs.org/project/uboot/patch/20260330140106.401876-1-ravi@prevas.dk/
> > >> to make sure that everyone that might hit this problem doesn't end up
> > >> broken, thanks.
> > >
> > > I am wondering if you should apply this in any case. This change is generally correct.
> >
> > I agree. And note that this really isn't anything to do with the 'test'
> > command per se, it's simply that using any variable whose value can be
> > empty or contain spaces is prone to produce something other than exactly
> > 1 word, exactly as in userspace shell, and once the shell has done its
> > parsing and word splitting, the called command really has no way of
> > knowing that there's an empty argument missing.
>
> Tom? I think this should be applied, see also the related change from
> Simon.
Ah, I didn't see this one.
Reviewed-by: Simon Glass <sjg at chromium.org>
Regards,
Simon
More information about the U-Boot
mailing list