<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/scripts/kconfig, branch rpi-mipi</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/scripts/kconfig?h=rpi-mipi</id>
<link rel='self' href='https://git.amat.us/linux/atom/scripts/kconfig?h=rpi-mipi'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2025-05-29T09:02:17Z</updated>
<entry>
<title>kconfig: do not clear SYMBOL_VALID when reading include/config/auto.conf</title>
<updated>2025-05-29T09:02:17Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2025-02-07T18:41:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=572ed3fb99c4ea267fe7afdd96fab2263e49cc7f'/>
<id>urn:sha1:572ed3fb99c4ea267fe7afdd96fab2263e49cc7f</id>
<content type='text'>
[ Upstream commit 226ac19c217f24f0927d0a73cf9ee613971a188d ]

When conf_read_simple() is called with S_DEF_AUTO, it is meant to read
previous symbol values from include/config/auto.conf to determine which
include/config/* files should be touched.

This process should not modify the current symbol status in any way.
However, conf_touch_deps() currently invalidates all symbol values and
recalculates them, which is totally unneeded.

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: merge_config: use an empty file as initfile</title>
<updated>2025-05-29T09:02:02Z</updated>
<author>
<name>Daniel Gomez</name>
<email>da.gomez@samsung.com</email>
</author>
<published>2025-03-28T14:28:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=192b02f8c7ba824d65945cb40ae4199bc6cef744'/>
<id>urn:sha1:192b02f8c7ba824d65945cb40ae4199bc6cef744</id>
<content type='text'>
[ Upstream commit a26fe287eed112b4e21e854f173c8918a6a8596d ]

The scripts/kconfig/merge_config.sh script requires an existing
$INITFILE (or the $1 argument) as a base file for merging Kconfig
fragments. However, an empty $INITFILE can serve as an initial starting
point, later referenced by the KCONFIG_ALLCONFIG Makefile variable
if -m is not used. This variable can point to any configuration file
containing preset config symbols (the merged output) as stated in
Documentation/kbuild/kconfig.rst. When -m is used $INITFILE will
contain just the merge output requiring the user to run make (i.e.
KCONFIG_ALLCONFIG=&lt;$INITFILE&gt; make &lt;allnoconfig/alldefconfig&gt; or make
olddefconfig).

Instead of failing when `$INITFILE` is missing, create an empty file and
use it as the starting point for merges.

Signed-off-by: Daniel Gomez &lt;da.gomez@samsung.com&gt;
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>kbuild: suppress stdout from merge_config for silent builds</title>
<updated>2025-02-21T13:01:27Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2024-12-10T10:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bf5a5e636aaba2a264840075cc51bad9115bdfa1'/>
<id>urn:sha1:bf5a5e636aaba2a264840075cc51bad9115bdfa1</id>
<content type='text'>
[ Upstream commit 1f937a4bcb0472015818f30f4d3c5546d3f09933 ]

merge_config does not respect the Make's -s (--silent) option.

Let's sink the stdout from merge_config for silent builds.

This commit does not cater to the direct invocation of merge_config.sh
(e.g. arch/mips/Makefile).

Reported-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Closes: https://lore.kernel.org/all/e534ce33b0e1060eb85ece8429810f087b034c88.1733234008.git.leonro@nvidia.com/
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Tested-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: fix memory leak in sym_warn_unmet_dep()</title>
<updated>2025-02-08T08:58:11Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2025-01-20T08:10:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e4e8ed67e0854eac779f6f601d11f9ba8a589538'/>
<id>urn:sha1:e4e8ed67e0854eac779f6f601d11f9ba8a589538</id>
<content type='text'>
[ Upstream commit a409fc1463d664002ea9bf700ae4674df03de111 ]

The string allocated in sym_warn_unmet_dep() is never freed, leading
to a memory leak when an unmet dependency is detected.

Fixes: f8f69dc0b4e0 ("kconfig: make unmet dependency warnings readable")
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Reviewed-by: Petr Vorel &lt;pvorel@suse.cz&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: fix file name in warnings when loading KCONFIG_DEFCONFIG_LIST</title>
<updated>2025-02-08T08:58:10Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2025-01-20T07:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6e26ca181870100560c032283b1357b372f7cfd4'/>
<id>urn:sha1:6e26ca181870100560c032283b1357b372f7cfd4</id>
<content type='text'>
[ Upstream commit a314f52a0210730d0d556de76bb7388e76d4597d ]

Most 'make *config' commands use .config as the base configuration file.

When .config does not exist, Kconfig tries to load a file listed in
KCONFIG_DEFCONFIG_LIST instead.

However, since commit b75b0a819af9 ("kconfig: change defconfig_list
option to environment variable"), warning messages have displayed an
incorrect file name in such cases.

Below is a demonstration using Debian Trixie. While loading
/boot/config-6.12.9-amd64, the warning messages incorrectly show .config
as the file name.

With this commit, the correct file name is displayed in warnings.

[Before]

  $ rm -f .config
  $ make config
  #
  # using defaults found in /boot/config-6.12.9-amd64
  #
  .config:6804:warning: symbol value 'm' invalid for FB_BACKLIGHT
  .config:9895:warning: symbol value 'm' invalid for ANDROID_BINDER_IPC

[After]

  $ rm -f .config
  $ make config
  #
  # using defaults found in /boot/config-6.12.9-amd64
  #
  /boot/config-6.12.9-amd64:6804:warning: symbol value 'm' invalid for FB_BACKLIGHT
  /boot/config-6.12.9-amd64:9895:warning: symbol value 'm' invalid for ANDROID_BINDER_IPC

Fixes: b75b0a819af9 ("kconfig: change defconfig_list option to environment variable")
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: show sub-menu entries even if the prompt is hidden</title>
<updated>2024-10-31T12:42:20Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2024-10-26T17:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d01661e1f422f071279417c6a21d9d7989844d25'/>
<id>urn:sha1:d01661e1f422f071279417c6a21d9d7989844d25</id>
<content type='text'>
Since commit f79dc03fe68c ("kconfig: refactor choice value
calculation"), when EXPERT is disabled, nothing within the "if INPUT"
... "endif" block in drivers/input/Kconfig is displayed. This issue
affects all command-line interfaces and GUI frontends.

The prompt for INPUT is hidden when EXPERT is disabled. Previously,
menu_is_visible() returned true in this case; however, it now returns
false, resulting in all sub-menu entries being skipped.

Here is a simplified test case illustrating the issue:

    config A
           bool "A" if X
           default y

    config B
           bool "B"
           depends on A

When X is disabled, A becomes unconfigurable and is forced to y.
B should be displayed, as its dependency is met.

This commit restores the necessary code, so menu_is_visible() functions
as it did previously.

Fixes: f79dc03fe68c ("kconfig: refactor choice value calculation")
Reported-by: Edmund Raile &lt;edmund.raile@proton.me&gt;
Closes: https://lore.kernel.org/all/5fd0dfc7ff171aa74352e638c276069a5f2e888d.camel@proton.me/
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: qconf: fix buffer overflow in debug links</title>
<updated>2024-10-02T07:02:40Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2024-10-01T09:02:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=984ed20ece1c6c20789ece040cbff3eb1a388fa9'/>
<id>urn:sha1:984ed20ece1c6c20789ece040cbff3eb1a388fa9</id>
<content type='text'>
If you enable "Option -&gt; Show Debug Info" and click a link, the program
terminates with the following error:

    *** buffer overflow detected ***: terminated

The buffer overflow is caused by the following line:

    strcat(data, "$");

The buffer needs one more byte to accommodate the additional character.

Fixes: c4f7398bee9c ("kconfig: qconf: make debug links work again")
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: qconf: move conf_read() before drawing tree pain</title>
<updated>2024-10-01T08:05:34Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2024-09-30T17:02:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=da724c33b685463720b1c625ac440e894dc57ec0'/>
<id>urn:sha1:da724c33b685463720b1c625ac440e894dc57ec0</id>
<content type='text'>
The constructor of ConfigMainWindow() calls show*View(), which needs
to calculate symbol values. conf_read() must be called before that.

Fixes: 060e05c3b422 ("kconfig: qconf: remove initial call to conf_changed()")
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: clear expr::val_is_valid when allocated</title>
<updated>2024-10-01T08:05:30Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2024-09-30T17:02:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8d095547debdd26583171a6b589acbc9fd76aa9f'/>
<id>urn:sha1:8d095547debdd26583171a6b589acbc9fd76aa9f</id>
<content type='text'>
Since commit 95573cac25c6 ("kconfig: cache expression values"), xconfig
emits a lot of false-positive "unmet direct dependencies" warnings.

While conf_read() clears val_is_valid flags, 'make xconfig' calculates
symbol values even before the conf_read() call. This is another issue
that should be addressed separately, but it has revealed that the
val_is_valid field is not initialized.

Fixes: 95573cac25c6 ("kconfig: cache expression values")
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kconfig: fix infinite loop in sym_calc_choice()</title>
<updated>2024-09-30T11:42:52Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2024-09-25T11:25:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4d46b5b623e0adee1153b1d80689211e5094ae44'/>
<id>urn:sha1:4d46b5b623e0adee1153b1d80689211e5094ae44</id>
<content type='text'>
Since commit f79dc03fe68c ("kconfig: refactor choice value calculation"),
Kconfig for ARCH=powerpc may result in an infinite loop. This occurs
because there are two entries for POWERPC64_CPU in a choice block.

If the same symbol appears twice in a choice block, the -&gt;choice_link
node is added twice to -&gt;choice_members, resulting a corrupted linked
list.

A simple test case is:

    choice
            prompt "choice"

    config A
            bool "A"

    config B
            bool "B 1"

    config B
            bool "B 2"

    endchoice

Running 'make defconfig' results in an infinite loop.

One solution is to replace the current two entries:

    config POWERPC64_CPU
            bool "Generic (POWER5 and PowerPC 970 and above)"
            depends on PPC_BOOK3S_64 &amp;&amp; !CPU_LITTLE_ENDIAN
            select PPC_64S_HASH_MMU

    config POWERPC64_CPU
            bool "Generic (POWER8 and above)"
            depends on PPC_BOOK3S_64 &amp;&amp; CPU_LITTLE_ENDIAN
            select ARCH_HAS_FAST_MULTIPLIER
            select PPC_64S_HASH_MMU
            select PPC_HAS_LBARX_LHARX

with the following single entry:

    config POWERPC64_CPU
            bool "Generic 64 bit powerpc"
            depends on PPC_BOOK3S_64
            select ARCH_HAS_FAST_MULTIPLIER if CPU_LITTLE_ENDIAN
            select PPC_64S_HASH_MMU
            select PPC_HAS_LBARX_LHARX if CPU_LITTLE_ENDIAN

In my opinion, the latter looks cleaner, but PowerPC maintainers may
prefer to display different prompts depending on CPU_LITTLE_ENDIAN.

For now, this commit fixes the issue in Kconfig, restoring the original
behavior. I will reconsider whether such a use case is worth supporting.

Fixes: f79dc03fe68c ("kconfig: refactor choice value calculation")
Reported-by: Marco Bonelli &lt;marco@mebeim.net&gt;
Closes: https://lore.kernel.org/all/1763151587.3581913.1727224126288@privateemail.com/
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
</feed>
