[PATCH] board: toradex: Quote variables in `test` cmd expression
Francesco Dolcini
francesco at dolcini.it
Fri Apr 3 10:53:32 CEST 2026
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.
In the past when trying to move to some more modern shell as default stuff broke
for us, we reverted the change without investigating. Maybe it was exactly the
same issue.
See https://lore.kernel.org/u-boot/20240111170418.GA7220@francesco-nb/
More information about the U-Boot
mailing list