lkml.org 
[lkml]   [2018]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] kconfig: Don't leak choice names during parsing
On Tue, Feb 20, 2018 at 08:54:58PM +0100, Ulf Magnusson wrote:
> On Tue, Feb 20, 2018 at 12:40 PM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
> > The named choice is not used in the kernel tree, but if it were used,
> > it would not be freed.
> >
> > The intention of the named choice can be seen in the log of
> > commit 5a1aa8a1aff6 ("kconfig: add named choice group").
> >
> > There is room for argument if this is useful in practice, but anyway
> > I am fixing the memory leak.
> >
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > ---
> >
> > scripts/kconfig/zconf.y | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
> > index 4be9805..4893676 100644
> > --- a/scripts/kconfig/zconf.y
> > +++ b/scripts/kconfig/zconf.y
> > @@ -276,6 +276,7 @@ choice: T_CHOICE word_opt T_EOL
> > sym->flags |= SYMBOL_AUTO;
> > menu_add_entry(sym);
> > menu_add_expr(P_CHOICE, NULL, NULL);
> > + free($2);
> > printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
> > };
> >
> > --
> > 2.7.4
> >
>
> Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
>
> Only place I've seen named choices in practice is in the esp-idf
> project. Not sure what they're using them for.

The plan with named choices was that it should
allow one to do something like this:

# in one file the choice was defined:
choice FOOBAR
prompt "foobar"

config SAMBAR
bool "bar"

endchoice


# and in another file the choice was extended:
choice FOOBAR

config SAMFOO
bool "foo"

endchoice

The user was then presented only with a single list of choices.

The idea was that this would allow better support for a base
configuration that could be extended in another file.
Think arch/Kconfig versus an arch specific Kconfig file.

But Roman nor I never got around to actually implement this.
Most likely because the need was not big enough.

Sam

\
 
 \ /
  Last update: 2018-02-20 21:40    [W:0.045 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site