Re: [PATCH v2 05/21] kconfig: remove string expansion in file_lookup()

From: Kees Cook
Date: Tue Mar 27 2018 - 23:34:49 EST


On Mon, Mar 26, 2018 at 10:29 PM, Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
> There are two callers of file_lookup().
>
> [1] zconf_initscan()
> This is used to open the first Kconfig. However, it cannot
> contain environments in the file path because zconf_fopen() is
> called before file_lookup(). By swapping the call order,
> KBUILD_KCONFIG would be able to contain environments, but I do
> not see practical benefits to support it.
>
> [2] zconf_nextfile()
> This is used to open the next file from 'source' statement like
> source "arch/$SRCARCH/Kconfig"
> but this has already been expanded in the lexer phase.
>
> So, file_lookup() does not need to expand the given path.
>
> By the way, file_lookup() was already buggy; it expanded a given path,
> but it used the path before expansion for look-up:
> if (!strcmp(name, file->name)) {
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

--
Kees Cook
Pixel Security