]> git.baikalelectronics.ru Git - kernel.git/commit
kconfig: do not accept a directory for configuration output
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 10 May 2019 06:12:04 +0000 (15:12 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 10 May 2019 17:14:27 +0000 (02:14 +0900)
commitf4eb56a175f5dd342e5536e1124827f04e3b0280
tree7b7bbbb1e9eb33a74f6221c433f7fc6e5c0309a6
parentf920b770fb0bc85955fd029d4e0f123919fcfb8e
kconfig: do not accept a directory for configuration output

Currently, conf_write() can be called with a directory name instead
of a file name. As far as I see, this can happen for menuconfig,
nconfig, gconfig.

If it is given with a directory path, conf_write() kindly appends
getenv("KCONFIG_CONFIG"), but this ends up with hacky dir/basename
handling, and screwed up in corner-cases like "what if KCONFIG_CONFIG
is an absolute path?" as discussed before:

  https://patchwork.kernel.org/patch/9910037/

Since conf_write() is already messed up, I'd say "do not do it".
Please pass a file path all the time. If a directory path is specified
for the configuration output, conf_write() will simply error out.

Now that the tmp file is created in the same directory as the .config,
the previously reported "what if KCONFIG_CONFIG points to a different
file system?" has been solved.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Nicolas Porcel <nicolasporcel06@gmail.com>
scripts/kconfig/confdata.c