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)
committerChristian Lamparter <chunkeey@gmail.com>
Fri, 27 Sep 2019 20:39:33 +0000 (22:39 +0200)
commit223118345c05519fa124f6abaf7dcdc48b8d0089
tree99e8027b9065cc5fb14a83cec48fb2fffb393731
parent0d75c389402a322ffbf7d3f9573dd832cd456ebe
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>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
config/confdata.c