mirror-linux/sound/pci
Arnd Bergmann 591721223b ALSA: asihpi: avoid write overflow check warning
clang-22 rightfully warns that the memcpy() in adapter_prepare() copies
between different structures, crossing the boundary of nested
structures inside it:

In file included from sound/pci/asihpi/hpimsgx.c:13:
In file included from include/linux/string.h:386:
include/linux/fortify-string.h:569:4: error: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
  569 |                         __write_overflow_field(p_size_field, size);

The two structures seem to refer to the same layout, despite the
separate definitions, so the code is in fact correct.

Avoid the warning by copying the two inner structures separately.
I see the same pattern happens in other functions in the same file,
so there is a chance that this may come back in the future, but
this instance is the only one that I saw in practice, hitting it
multiple times per day in randconfig build.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20260318124016.3488566-1-arnd@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2026-03-18 17:01:17 +01:00
..
ac97 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ali5451 ALSA: ali5451: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
asihpi ALSA: asihpi: avoid write overflow check warning 2026-03-18 17:01:17 +01:00
au88x0 Merge branch 'for-linus' into for-next 2025-11-20 09:49:30 +01:00
aw2 ALSA: aw2: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
ca0106 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cs46xx Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
cs5535audio ALSA: cs5535audio: Use guard() for spin locks 2025-09-01 13:52:40 +02:00
ctxfi Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
echoaudio Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
emu10k1 Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
ice1712 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
korg1212 ALSA: korg1212: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
lola ALSA: lola: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
lx6464es ALSA: lx6464es: Use guard() for mutex locks 2025-09-01 13:52:41 +02:00
mixart Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nm256 ALSA: nm256: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
oxygen ALSA: oxygen: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
pcxhr Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
riptide Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
rme9652 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
trident Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vx222 ALSA: vx222: Use guard() for mutex locks 2025-09-01 13:52:43 +02:00
ymfpci Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
Kconfig ALSA: hda: Move codec drivers into sound/hda/codecs directory 2025-07-11 09:55:37 +02:00
Makefile ALSA: hda: Move codec drivers into sound/hda/codecs directory 2025-07-11 09:55:37 +02:00
ad1889.c ALSA: ad1889: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
ad1889.h
ak4531_codec.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
als300.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
als4000.c ALSA: als4000: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
atiixp.c ALSA: atiixp: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
atiixp_modem.c ALSA: atiixp: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
azt3328.c ALSA: azt3328: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
azt3328.h
bt87x.c ALSA: bt87x: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
cmipci.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cs4281.c ALSA: cs4281: Send the PCM period elapsed notification properly 2025-09-06 19:55:10 +02:00
cs5530.c ALSA: cs5530: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:19 +02:00
ens1370.c ALSA: ens137x: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
ens1371.c ALSA: echoaudio: Add SPDX ids to some files 2026-02-18 08:57:38 +01:00
es1938.c ALSA: es1938: Use guard() for spin locks 2025-09-01 13:52:40 +02:00
es1968.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
fm801.c ALSA: fm801: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
intel8x0.c ALSA: intel8x0: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
intel8x0m.c ALSA: intel8x0: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
maestro3.c ALSA: maestro3: using vmalloc_array() to handle the code 2025-10-27 10:04:51 +01:00
rme32.c ALSA: rme32: Fix serialization in snd_rme32_capture_adat_open() 2025-09-03 09:21:58 +02:00
rme96.c ALSA: rme96: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
sis7019.c ALSA: sis7019: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
sis7019.h
sonicvibes.c ALSA: sonicvibes: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
via82xx.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
via82xx_modem.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00