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/Kconfig | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 sound/Kconfig (limited to 'sound/Kconfig') diff --git a/sound/Kconfig b/sound/Kconfig new file mode 100644 index 000000000..8b4020539 --- /dev/null +++ b/sound/Kconfig @@ -0,0 +1,112 @@ +# SPDX-License-Identifier: GPL-2.0-only +menuconfig SOUND + tristate "Sound card support" + depends on HAS_IOMEM || INDIRECT_IOMEM + help + If you have a sound card in your computer, i.e. if it can say more + than an occasional beep, say Y. + +if SOUND + +config SOUND_OSS_CORE + bool + default n + +config SOUND_OSS_CORE_PRECLAIM + bool "Preclaim OSS device numbers" + depends on SOUND_OSS_CORE + default y + help + With this option enabled, the kernel will claim all OSS device + numbers if any OSS support (native or emulation) is enabled + whether the respective module is loaded or not and try to load the + appropriate module using sound-slot/service-* and char-major-* + module aliases when one of the device numbers is opened. With + this option disabled, kernel will only claim actually in-use + device numbers and opening a missing device will generate only the + standard char-major-* aliases. + + The only visible difference is use of additional module aliases + and whether OSS sound devices appear multiple times in + /proc/devices. sound-slot/service-* module aliases are scheduled + to be removed (ie. PRECLAIM won't be available) and this option is + to make the transition easier. This option can be overridden + during boot using the kernel parameter soundcore.preclaim_oss. + + Disabling this allows alternative OSS implementations. + + If unsure, say Y. + +source "sound/oss/dmasound/Kconfig" + +menuconfig SND + tristate "Advanced Linux Sound Architecture" + help + Say 'Y' or 'M' to enable ALSA (Advanced Linux Sound Architecture), + the new base sound system. + + For more information, see + +if SND + +source "sound/core/Kconfig" + +source "sound/drivers/Kconfig" + +source "sound/isa/Kconfig" + +source "sound/pci/Kconfig" + +source "sound/hda/Kconfig" + +source "sound/ppc/Kconfig" + +source "sound/ac97/Kconfig" + +source "sound/aoa/Kconfig" + +source "sound/arm/Kconfig" + +source "sound/atmel/Kconfig" + +source "sound/spi/Kconfig" + +source "sound/mips/Kconfig" + +source "sound/sh/Kconfig" + +# the following will depend on the order of config. +# here assuming USB is defined before ALSA +source "sound/usb/Kconfig" + +source "sound/firewire/Kconfig" + +# the following will depend on the order of config. +# here assuming PCMCIA is defined before ALSA +source "sound/pcmcia/Kconfig" + +source "sound/sparc/Kconfig" + +source "sound/parisc/Kconfig" + +source "sound/soc/Kconfig" + +source "sound/x86/Kconfig" + +source "sound/synth/Kconfig" + +source "sound/xen/Kconfig" + +source "sound/virtio/Kconfig" + +endif # SND + +endif # SOUND + +config AC97_BUS + tristate + help + This is used to avoid config and link hard dependencies between the + sound subsystem and other function drivers completely unrelated to + sound although they're sharing the AC97 bus. Concerned drivers + should "select" this. -- cgit v1.3.1