linux/include/uapi/sound
Baisong Zhong a69b1faa9b ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
[ Upstream commit cf59e1e4c7 ]

Shifting signed 32-bit value by 31 bits is undefined, so changing
significant bit to unsigned. The UBSAN warning calltrace like below:

UBSAN: shift-out-of-bounds in sound/core/seq/seq_clientmgr.c:509:22
left shift of 1 by 31 places cannot be represented in type 'int'
...
Call Trace:
 <TASK>
 dump_stack_lvl+0x8d/0xcf
 ubsan_epilogue+0xa/0x44
 __ubsan_handle_shift_out_of_bounds+0x1e7/0x208
 snd_seq_deliver_single_event.constprop.21+0x191/0x2f0
 snd_seq_deliver_event+0x1a2/0x350
 snd_seq_kernel_client_dispatch+0x8b/0xb0
 snd_seq_client_notify_subscription+0x72/0xa0
 snd_seq_ioctl_subscribe_port+0x128/0x160
 snd_seq_kernel_client_ctl+0xce/0xf0
 snd_seq_oss_create_client+0x109/0x15b
 alsa_seq_oss_init+0x11c/0x1aa
 do_one_initcall+0x80/0x440
 kernel_init_freeable+0x370/0x3c3
 kernel_init+0x1b/0x190
 ret_from_fork+0x1f/0x30
 </TASK>

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Baisong Zhong <zhongbaisong@huawei.com>
Link: https://lore.kernel.org/r/20221121111630.3119259-1-zhongbaisong@huawei.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2022-12-31 13:14:11 +01:00
..
sof ASoC: SOF: Add memory_info file to debugfs 2020-11-25 11:07:17 +00:00
asequencer.h ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT 2022-12-31 13:14:11 +01:00
asoc.h ASoC: topology: use inclusive language for bclk and fsync 2020-11-13 14:22:05 +00:00
asound.h ASoC: hdmi-codec: Fix OOB memory accesses 2022-02-08 18:34:03 +01:00
asound_fm.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
compress_offload.h ALSA: fix kernel-doc markups 2020-10-26 15:26:31 +01:00
compress_params.h ALSA: compress: add alac & ape decoder params 2020-03-16 17:52:09 +00:00
emu10k1.h ALSA: uapi: Add linux/types.h include back (but carefully) 2019-12-30 22:28:59 +01:00
firewire.h ALSA: firewire-tascam: notify events of change of state for userspace applications 2018-11-23 15:31:15 +01:00
hdsp.h ALSA: uapi: Add linux/types.h include back (but carefully) 2019-12-30 22:28:59 +01:00
hdspm.h ALSA: uapi: Add linux/types.h include back (but carefully) 2019-12-30 22:28:59 +01:00
sb16_csp.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
sfnt_info.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
skl-tplg-interface.h ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT 2020-04-27 16:02:26 +01:00
snd_sst_tokens.h ASoC: Intel: Skylake: Support multiple format configs 2021-08-23 16:40:02 +01:00
tlv.h ALSA: control: complement TLV macro for db-minmax and db-linear types 2018-05-14 17:47:37 +02:00
usb_stream.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00