[PATCH v3 2/5] misc: fs_loader: allow using long script name in request_firmware_into_buf_via_script()

Weijie Gao weijie.gao at mediatek.com
Thu Sep 4 02:23:28 CEST 2025


On Wed, 2025-09-03 at 13:36 +0200, Lothar Waßmann wrote:
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> Hi,
> 
> On Wed, 3 Sep 2025 16:38:30 +0800 Weijie Gao wrote:
> > Use cmd_process() to remove the length limit of script name used
> > for
> > run_command().
> > 
> > Signed-off-by: Weijie Gao <weijie.gao at mediatek.com>
> > ---
> >  drivers/misc/fs_loader.c | 9 +++------
> >  1 file changed, 3 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c
> > index 87acd385e23..6a6796c1931 100644
> > --- a/drivers/misc/fs_loader.c
> > +++ b/drivers/misc/fs_loader.c
> > @@ -232,18 +232,15 @@ int request_firmware_into_buf_via_script(void
> > **buf, size_t max_size,
> >                                        const char *script_name,
> >                                        size_t *retsize)
> >  {
> > +     char *args[2] = { (char *)"run", (char *)script_name };
> > 
> 
> const char *args[2] = { "run", script_name };
> does not work?
> 
> I don't see any need for a non-const 'args' here.

We'll get compiler warning if using const char *[]:

  CC      drivers/misc/fs_loader.o
drivers/misc/fs_loader.c: In function
'request_firmware_into_buf_via_script':
drivers/misc/fs_loader.c:243:33: warning: passing argument 3 of
'cmd_process' from incompatible pointer type [-Wincompatible-pointer-
types]
  243 |         ret = cmd_process(0, 2, args, &repeatable, NULL);
      |                                 ^~~~
      |                                 |
      |                                 const char **
In file included from include/image.h:35,
                 from include/spl.h:17,
                 from drivers/misc/fs_loader.c:22:
include/command.h:278:64: note: expected 'char * const*' but argument
is of type 'const char **'
  278 | enum command_ret_t cmd_process(int flag, int argc, char *const
argv[],
      |                                                    ~~~~~~~~~~~~
^~~~~~

> 
> 
> Lothar Waßmann



More information about the U-Boot mailing list