Find a file
Masahiro Yamada 47ad16894c kconfig: tests: add a test for randconfig with dependent choices
Since commit 3b9a19e089 ("kconfig: loop as long as we changed some
symbols in randconfig"), conf_set_all_new_symbols() is repeated until
there is no more choice left to be shuffled. The motivation was to
shuffle a choice nested in another choice.

Although commit 09d5873e4d ("kconfig: allow only 'config', 'comment',
and 'if' inside 'choice'") disallowed the nested choice structure,
we must still keep 3b9a19e089 because there are still cases where
conf_set_all_new_symbols() must iterate.

scripts/kconfig/tests/choice_randomize/Kconfig is the test case.
The second choice depends on 'B', which is the member of the first
choice.

With 3b9a19e089 reverted, we would never get the pattern specified by
scripts/kconfig/tests/choice_randomize/expected_config2.

A real example can be found in lib/Kconfig.debug. Without 3b9a19e089,
the randconfig would not shuffle the "Compressed Debug information"
choice, which depends on DEBUG_INFO, which is derived from another
choice "Debug information".

My goal is to refactor Kconfig so that randconfig will work more
simply, without using the loop.

For now, let's add a test case to ensure all dependent choices are
shuffled, as it is a somewhat tricky case for the current Kconfig.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2024-03-21 02:39:55 +09:00
arch kbuild: Use -fmin-function-alignment when available 2024-02-25 18:04:26 +09:00
block blk-iocost: Fix an UBSAN shift-out-of-bounds warning 2024-02-08 10:11:39 -07:00
certs This update includes the following changes: 2023-11-02 16:15:30 -10:00
crypto crypto: algif_hash - Remove bogus SGL free on zero-length error path 2024-02-02 18:08:12 +08:00
Documentation kconfig: remove named choice support 2024-03-10 13:29:48 +09:00
drivers treewide: replace or remove redundant def_bool in Kconfig files 2024-02-20 20:47:45 +09:00
fs bcachefs fixes for v6.8-rc5 2024-02-17 13:17:32 -08:00
include kbuild: Use -fmin-function-alignment when available 2024-02-25 18:04:26 +09:00
init treewide: replace or remove redundant def_bool in Kconfig files 2024-02-20 20:47:45 +09:00
io_uring io_uring/net: fix multishot accept overflow handling 2024-02-14 18:30:19 -07:00
ipc shm: Slim down dependencies 2023-12-20 19:26:31 -05:00
kernel kbuild: remove EXPERT and !COMPILE_TEST guarding from TRIM_UNUSED_KSYMS 2024-02-20 23:06:38 +09:00
lib treewide: replace or remove redundant def_bool in Kconfig files 2024-02-20 20:47:45 +09:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm treewide: replace or remove redundant def_bool in Kconfig files 2024-02-20 20:47:45 +09:00
net treewide: replace or remove redundant def_bool in Kconfig files 2024-02-20 20:47:45 +09:00
rust kbuild: unexport abs_srctree and abs_objtree 2024-03-10 17:27:17 +09:00
samples work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
scripts kconfig: tests: add a test for randconfig with dependent choices 2024-03-21 02:39:55 +09:00
security lsm/stable-6.8 PR 20240215 2024-02-16 07:58:43 -08:00
sound ALSA: usb-audio: More relaxed check of MIDI jack names 2024-02-15 16:56:05 +01:00
tools kbuild: unexport abs_srctree and abs_objtree 2024-03-10 17:27:17 +09:00
usr Kbuild updates for v6.8 2024-01-18 17:57:07 -08:00
virt Generic: 2024-01-17 13:03:37 -08:00
.clang-format clang-format: Update with v6.7-rc4's for_each macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig Add .editorconfig file for basic formatting 2023-12-28 16:22:47 +09:00
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap Including fixes from can, wireless and netfilter. 2024-02-15 11:39:27 -08:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING
CREDITS MAINTAINERS: supplement of zswap maintainers update 2024-01-25 23:52:21 -08:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig
MAINTAINERS Driver core fixes for 6.8-rc5 2024-02-17 08:56:41 -08:00
Makefile kbuild: unexport abs_srctree and abs_objtree 2024-03-10 17:27:17 +09:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.