sound fixes for 7.2-rc1

A collection of small bug fixes accumulated over the last week.
Most are device-specific fixes while there are a few core fixes as
well.

Here are the highlights:

ALSA Core:
- A fix for an uninitialised heap leak in ALSA sequencer core
- A fix for error handling/resource leak in compress-offload API

USB-audio:
- A teardown-ordering fix in USB MIDI 2.0 to prevent use-after-free
- Bounds and length checks for packet data in Native Instruments caiaq
  / Traktor Kontrol input parsers
- Avoidance of expensive kobject path lookups in DualSense controller
  matches
- Robustness/memory leak fixes for Qualcomm USB offload driver
- Focusrite Control Protocol (FCP) NULL-pointer dereference fix and a
  new device quirk (ISA C8X)
- Device-specific quirks for Yamaha CDS3000 and SC13A

HD-Audio:
- A bunch of quirks and mute/mic-mute LED fixups for various laptops
  (Acer, Clevo, Lenovo, HP)

ASoC & SoundWire:
- Avoid failing card registration if the device_link creation fails
- A workaround for SoundWire randconfig build failures by making
  helper functions static inline
- Corrected MCLK reference validation for CS530x codecs
- Clean up of untested, problematic guard() macro replacements in
  Rockchip SAI driver
- Fix for eDMA maxburst misalignment with channel count in Freescale
  ASRC
- Miscellaneous hardware-specific fixes (qcom, rt5650, tlv320aic3x,
  tas2781/3)

Others:
- Bounds and length checks for packet data in Apple iSight
ALSA: FCP: Fix NULL pointer dereference in interface lookup

A malformed USB device can provide a vendor-specific interface without
any endpoint descriptors. fcp_find_fc_interface() currently selects the
first vendor-specific interface and reads endpoint 0 from it, without
checking whether the interface actually has any endpoints.

When bNumEndpoints is zero, no endpoint array is allocated for the parsed
alternate setting, so get_endpoint(..., 0) yields an invalid endpoint
descriptor pointer. Dereferencing it through usb_endpoint_num() then
triggers a NULL pointer dereference.

Skip vendor-specific interfaces that do not have any endpoints.

Fixes: 46757a3e7d50 ("ALSA: FCP: Add Focusrite Control Protocol driver")
Reported-by: Jiaming Zhang <r772577952@gmail.com>
Closes: https://lore.kernel.org/lkml/CANypQFb1EHj0xX8bA1WxSOSK-5xca6ZNKzOQcp12=s=puY7VFw@mail.gmail.com/
Signed-off-by: Jiaming Zhang <r772577952@gmail.com>
Link: https://patch.msgid.link/20260625134933.425785-1-r772577952@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 file changed