From 6668ed271eaefaa63e686bdfbedaeb7b8e492722 Mon Sep 17 00:00:00 2001 From: Kumar Kartikeya Dwivedi Date: Fri, 4 Sep 2026 10:43:19 +0200 Subject: selftests/bpf: Reject graph kptr use after RCU unlock Add a sleepable verifier test that loads a graph-node local kptr in an explicit RCU read-side critical section, then passes its node to bpf_rbtree_remove() after the section ends. Before the verifier fix, the stale NON_OWN_REF flag makes the node look like a live borrowed reference and the program is accepted. After the fix, the pointer is demoted without NON_OWN_REF and the graph kfunc argument is rejected. Also exercise a graph kptr loaded while a spin lock provides implicit RCU protection. The pointer must be invalidated when the lock is released, which guards the required ordering between non-owning-reference invalidation and RCU demotion. Update the existing fault-protected load test state description. The post-unlock pointer no longer carries NON_OWN_REF, but remains readable because the load is rewritten to use BPF_PROBE_MEM. Signed-off-by: Kumar Kartikeya Dwivedi Link: https://lore.kernel.org/r/20260904084325.52250-7-memxor@gmail.com Signed-off-by: Alexei Starovoitov --- sound/soc/Kconfig | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 sound/soc/Kconfig (limited to 'sound/soc/Kconfig') diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig new file mode 100644 index 000000000..edfdcbf73 --- /dev/null +++ b/sound/soc/Kconfig @@ -0,0 +1,157 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# SoC audio configuration +# + +menuconfig SND_SOC + tristate "ALSA for SoC audio support" + select SND_PCM + select AC97_BUS if SND_SOC_AC97_BUS + select SND_JACK + select REGMAP_I2C if I2C + select REGMAP_SPI if SPI_MASTER + help + + If you want ASoC support, you should say Y here and also to the + specific driver for your SoC platform below. + + ASoC provides power efficient ALSA support for embedded battery powered + SoC based systems like PDA's, Phones and Personal Media Players. + + This ASoC audio support can also be built as a module. If so, the module + will be called snd-soc-core. + +if SND_SOC + +config SND_SOC_AC97_BUS + bool + +config SND_SOC_GENERIC_DMAENGINE_PCM + bool + select SND_DMAENGINE_PCM + +config SND_SOC_COMPRESS + bool + select SND_COMPRESS_OFFLOAD + +config SND_SOC_TOPOLOGY + bool + select SND_DYNAMIC_MINORS + +config SND_SOC_TOPOLOGY_BUILD + bool "Build topology core" + select SND_SOC_TOPOLOGY + depends on KUNIT + help + This option exists to facilitate running the KUnit tests for + the topology core, KUnit is frequently tested in virtual + environments with minimal drivers enabled but the topology + core is usually selected by drivers. There is little reason + to enable it if not doing a KUnit build. + +config SND_SOC_TOPOLOGY_KUNIT_TEST + tristate "KUnit tests for SoC topology" + depends on KUNIT + depends on SND_SOC_TOPOLOGY + default KUNIT_ALL_TESTS + help + If you want to perform tests on ALSA SoC topology support say Y here. + + This builds a module which can be later manually loaded to run KUNIT + test cases against soc-topology.c API. This should be primarily used + by developers to test their changes to ASoC. + + Do note that it creates fake playback devices which do not interact + well with userspace. When running tests one may want to disable + userspace applications such as pulseaudio, to prevent unnecessary + problems. + +config SND_SOC_CARD_KUNIT_TEST + tristate "KUnit tests for SoC card" + depends on KUNIT + default KUNIT_ALL_TESTS + help + If you want to perform tests on ALSA SoC card functions say Y here. + If unsure, say N. + +config SND_SOC_UTILS_KUNIT_TEST + tristate "KUnit tests for SoC utils" + depends on KUNIT + default KUNIT_ALL_TESTS + help + If you want to perform tests on ALSA SoC utils library say Y here. + +config SND_SOC_OPS_KUNIT_TEST + tristate "KUnit tests for SoC ops" + depends on KUNIT + default KUNIT_ALL_TESTS + help + If you want to perform tests on ALSA SoC ops library say Y here. + +config SND_SOC_ACPI + tristate + +config SND_SOC_USB + tristate "SoC based USB audio offloading" + depends on SND_USB_AUDIO + help + Enable this option if an ASoC platform card has support to handle + USB audio offloading. This enables the SoC USB layer, which will + notify the ASoC USB DPCM backend DAI link about available USB audio + devices. Based on the notifications, sequences to enable the audio + stream can be taken based on the design. + +# All the supported SoCs +source "sound/soc/adi/Kconfig" +source "sound/soc/amd/Kconfig" +source "sound/soc/apple/Kconfig" +source "sound/soc/atmel/Kconfig" +source "sound/soc/au1x/Kconfig" +source "sound/soc/bcm/Kconfig" +source "sound/soc/cirrus/Kconfig" +source "sound/soc/dwc/Kconfig" +source "sound/soc/fsl/Kconfig" +source "sound/soc/google/Kconfig" +source "sound/soc/hisilicon/Kconfig" +source "sound/soc/jz4740/Kconfig" +source "sound/soc/kirkwood/Kconfig" +source "sound/soc/loongson/Kconfig" +source "sound/soc/img/Kconfig" +source "sound/soc/intel/Kconfig" +source "sound/soc/mediatek/Kconfig" +source "sound/soc/meson/Kconfig" +source "sound/soc/mxs/Kconfig" +source "sound/soc/pxa/Kconfig" +source "sound/soc/qcom/Kconfig" +source "sound/soc/renesas/Kconfig" +source "sound/soc/rockchip/Kconfig" +source "sound/soc/samsung/Kconfig" +source "sound/soc/sdca/Kconfig" +source "sound/soc/sophgo/Kconfig" +source "sound/soc/spacemit/Kconfig" +source "sound/soc/spear/Kconfig" +source "sound/soc/sprd/Kconfig" +source "sound/soc/starfive/Kconfig" +source "sound/soc/sti/Kconfig" +source "sound/soc/stm/Kconfig" +source "sound/soc/sunxi/Kconfig" +source "sound/soc/tegra/Kconfig" +source "sound/soc/ti/Kconfig" +source "sound/soc/uniphier/Kconfig" +source "sound/soc/ux500/Kconfig" +source "sound/soc/xilinx/Kconfig" +source "sound/soc/xtensa/Kconfig" + +# SOF +source "sound/soc/sof/Kconfig" + +# Supported codecs +source "sound/soc/codecs/Kconfig" + +source "sound/soc/sdw_utils/Kconfig" + +# generic frame-work +source "sound/soc/generic/Kconfig" + +endif # SND_SOC + -- cgit v1.3.1