kconfig: Clear "written" flag to avoid data loss
authorM. Vefa Bicakci <m.v.b@runbox.com>
Sat, 3 Aug 2019 10:02:12 +0000 (06:02 -0400)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 4 Aug 2019 03:44:15 +0000 (12:44 +0900)
commit0c5b6c28ed68becb692b43eae5e44d5aa7e160ce
treec0325f0a0b1c7c5c60f2b7b7d07ab752f2ccde93
parente8de12fb7cde2c85bc31097cd098da79a4818305
kconfig: Clear "written" flag to avoid data loss

Prior to this commit, starting nconfig, xconfig or gconfig, and saving
the .config file more than once caused data loss, where a .config file
that contained only comments would be written to disk starting from the
second save operation.

This bug manifests itself because the SYMBOL_WRITTEN flag is never
cleared after the first call to conf_write, and subsequent calls to
conf_write then skip all of the configuration symbols due to the
SYMBOL_WRITTEN flag being set.

This commit resolves this issue by clearing the SYMBOL_WRITTEN flag
from all symbols before conf_write returns.

Fixes: 8e2442a5f86e ("kconfig: fix missing choice values in auto.conf")
Cc: linux-stable <stable@vger.kernel.org> # 4.19+
Signed-off-by: M. Vefa Bicakci <m.v.b@runbox.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/kconfig/confdata.c