Re: [PATCH v10 0/5] Kernel parameter parser cleanup/enhancement

From: Andy Shevchenko
Date: Tue Jun 05 2018 - 13:15:41 EST


On Tue, Jun 5, 2018 at 7:43 PM, Michal Suchanek <msuchanek@xxxxxxx> wrote:
> Hello,
>
> due to work on the fadump_extra_args I looked at the kernel parameter parser
> and found its grammar rather curious.
>
> It supports double quotes but not any other quoting characters so double quotes
> cannot be quoted. What's more, the quotes can be anywhere in the parameter
> name or value and are interpteted but are removed only from start and end of
> the parameter value.
>
> These are the patches not specific to fadump which somewhat straighten the
> qouting grammar to make it on par with common shell interpreters.

I didn't notice any use of string_unescape_*() functionality. So, your
patch is kinda very specific to some narrow subset of escaping and
unescaping stuff.
Thus, it's still not on par with shell, right?

>
> Specifically double and single quotes can be used for quoting as well as
> backslashes with the usual shell semantic. All quoting characters are removed
> while the parameters are parsed.
>
> Previous versions (including the fadump part) can be found here:
>
> https://www.mail-archive.com/linuxppc-dev@xxxxxxxxxxxxxxxx/msg126148.html
> https://www.mail-archive.com/linuxppc-dev@xxxxxxxxxxxxxxxx/msg123639.html
>
> Thanks
>
> Michal
>
> Michal Suchanek (5):
> lib/cmdline.c: Add backslash support to kernel commandline parsing.
> Documentation/admin-guide: backslash support in kernel arguments.
> init/main.c: simplify repair_env_string.
> lib/cmdline.c: Implement single quotes in commandline argument
> parsing.
> Documentation/admin-guide: single quotes in kernel arguments.
>
> Documentation/admin-guide/kernel-parameters.rst | 5 +-
> init/main.c | 13 ++---
> lib/cmdline.c | 63 +++++++++++++++----------
> 3 files changed, 46 insertions(+), 35 deletions(-)
>
> --
> 2.13.6
>



--
With Best Regards,
Andy Shevchenko