aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/kconfig
Commit message (Collapse)AuthorAgeFilesLines
* all: use any instead of interface{}Dmitry Vyukov2025-12-221-1/+1
| | | | Any is the preferred over interface{} now in Go.
* pkg/kconfig: fix commentsTaras Madan2025-10-011-2/+2
|
* pkg/kconfig: support transitional lineTaras Madan2025-10-012-0/+11
| | | | | | | | | | | See https://www.phoronix.com/news/Linux-6.18-Transitional . First used in: config CFI_CLANG bool transitional help Transitional config for CFI_CLANG to CFI migration.
* all: apply linter auto fixesTaras Madan2025-07-171-4/+4
| | | | ./tools/syz-env bin/golangci-lint run ./... --fix
* tools/syz-kconfig: suggest reasons for wrongly selected configsAleksandr Nogikh2025-06-132-8/+75
| | | | | | | | | | The most frustrating part of updating syzbot configs is figuring out what config options (possibly transivitely) selected the configs we wanted to stay disabled. For each "X is present in the final config" message, auto-generate a small list of enabled config options that may have transitively "select"ed X.
* dashboard/config: update ChromeOS configsAleksandr Nogikh2024-05-031-0/+1
| | | | | | | Use the latest revisions for existing configs. Add the new ChromeOS 6.6 config. No longer generate ChromeOS 5.4 configs. Switch ChromeOS configs to clang.
* all: use special placeholder for errorsTaras Madan2023-07-242-2/+2
|
* pkg/kconfig: rewrite Minimize()Aleksandr Nogikh2023-07-073-66/+82
| | | | | | | | | | | 1) Use the generic bisection implementation in pkg/bisect. It adds the support of identifying several necessary config diffs at once. 2) For now, limit the number of minimization iterations to 6. It's a lengthy process and we don't want to spend too much time doing this. 3) Bisect over leaf configuration options -- that is, those no other config depends upon. This should make diff split during bisection more reliable. 4) Save all intermediate configs to the debug files folder.
* pkg/kconfig: make Clone() publicAleksandr Nogikh2023-07-052-3/+3
|
* all: tools/syz-env make generate resultTaras Madan2023-02-241-1/+1
|
* all: ioutil is deprecated in go1.19 (#3718)Taras Madan2023-02-232-5/+5
|
* pkg/kconfig: expand KCONFIG_EXT_PREFIX environment variable in pathTadeusz Struk2022-10-111-0/+1
| | | | | | | Expand KCONFIG_EXT_PREFIX environment variable in kconfig include path to an empty string. That's required for Android-5.10 build. Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
* pkg/kconfig: accept \n as valid within quoted stringMarco Elver2022-05-051-1/+1
| | | | | | | | | | | | | | | | linux-next contains "Kconfig: Add option for asm goto w/ tied outputs to workaround clang-13 bug", which added this elaborate config variable to init/Kconfig: | config CC_HAS_ASM_GOTO_TIED_OUTPUT | depends on CC_HAS_ASM_GOTO_OUTPUT | # Detect buggy gcc and clang, fixed in gcc-11 clang-14. | def_bool $(success,echo 'int foo(int *x) { asm goto (".long (%l[bar]) - .\n": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $CC -x c - -c -o /dev/null) The current validation in parser.go will complain with "bad quoted character", because of the '\n' in the quoted string. Fix it by allowing '\n'.
* pkg/kconfig: relax parsing for older kernelsDmitry Vyukov2021-04-161-3/+10
| | | | | An older kernel uses source directive w/o quotes, option with a quoted value and $SRCDIR without parens.
* pkg/kconfig: support the new modules keywordDmitry Vyukov2021-04-141-0/+1
|
* pkg/cover, syz-manager: show coverage summaryJoey Jiaojg2021-03-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pkg/cover, syz-manager: show coverage summary The funccover or cover page is not easy for statistic purpose. So add /cover?type=rawfiles to show coverage based on each file. And /cover?type=table page to show coverage for group of components. If driver_path_map.json exists, /cover?type=table can show component coverage. Format example: { "all": [ "/" ], "audio": [ "/techpack/audio/asoc", "/techpack/audio/dsp", "/techpack/audio/ipc", "/sound/core" ] } If driver_path_map.json not exist, it will show one line summary. * pkg/cover: use subsystem naming * syz-manager: use /subsystemcover and /filecover * pkg/cover: use subsystem from config * pkg/mgrconfig: add kernel_subsystem * pkg/cover, tools/syz-cover: fix make test * all: fix presumit errors * pkg/cover, syz-manager: fix subsystem
* pkg/kconfig: store minimization resultsJouni Hogander2020-12-102-19/+23
| | | | | Store config options identified using DebugTracer. Also change bisection and configuration minimization code to use new DebugTracer.
* pkg/kconfig: add minimization test with dependent configsDmitry Vyukov2020-11-173-7/+41
| | | | | | | | | | | Test for case described in: https://groups.google.com/g/syzkaller/c/c1J1kzzW7Ew/m/CeyEJm04AQAJ It seems to work as is (mostly). Fix parsing of the very last kconfig config (currently it's dropped). s/menuend/endmenu/ in error message. Sort dependencies so that we can express the test. But none of this should have affected actual config minimization.
* pkg/kconfig: accept target when parsing KconfigDmitry Vyukov2020-10-294-7/+20
| | | | | | Kconfig depends on the target arch. Add target argument for Kconfig parsing. Resolve $(SRCARCH) properly (previously we always assumed x86_64).
* pkg/kconfig: fix for Go 1.11Dmitry Vyukov2020-10-221-1/+1
| | | | dashboard/app is still on Go 1.11 :(
* pkg/kconfig: move all non-tristate configs in minimizationDmitry Vyukov2020-10-212-12/+22
| | | | | Always move all non-tristate configs from full because we don't minimize them.
* pkg/kconfig: add simple config minimizationDmitry Vyukov2020-10-212-0/+195
| | | | | | | | | | Minimize finds an equivalent with respect to the provided predicate, but smaller config. It accepts base (small) and full (large) config. It is assumed that the predicate returns true for the full config. It is also assumed that base and full are not just two completely arbitrary configs, but full it produced from base mostly by adding more configs. The minimization procedure thus consists of figuring out what set of configs that are present in full and are not present in base affect the predicate. Update #2171
* pkg/kconfig: add .config parsingDmitry Vyukov2020-10-212-0/+158
| | | | Update #2171
* pkg/kconfig: add Kconfig parsingDmitry Vyukov2020-10-213-0/+453
| | | | Update #2171
* pkg/kconfig: add packageDmitry Vyukov2020-10-214-0/+531
kconfig package is supposed to parse Kconfig/.config files and provide some algorithms on top. This commit includes only parser helper and expression parsing for starters. Update #2171