Re: KMSAN: uninit-value in get_term_name

From: Andrey Konovalov
Date: Mon Oct 28 2019 - 09:38:34 EST


On Mon, Oct 28, 2019 at 2:13 PM Takashi Iwai <tiwai@xxxxxxx> wrote:
>
> On Mon, 28 Oct 2019 11:32:07 +0100,
> syzbot wrote:
> >
> > Uninit was stored to memory at:
> > kmsan_save_stack_with_flags mm/kmsan/kmsan.c:151 [inline]
> > kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:319
> > __msan_chain_origin+0x6b/0xd0 mm/kmsan/kmsan_instr.c:179
> > parse_term_proc_unit+0x73d/0x7e0 sound/usb/mixer.c:896
> > __check_input_term+0x13ef/0x2360 sound/usb/mixer.c:989
>
> So this comes from the invalid descriptor for a processing unit, and
> it's very likely the same issue as already spotted -- the validator up
> to 5.3-rc4 had a bug that passed the invalid descriptor falsely.
> This should have been covered by 5.3-rc5, commit ba8bf0967a15 ("ALSA:
> usb-audio: Fix copy&paste error in the validator").

#syz dup: KASAN: slab-out-of-bounds Read in build_audio_procunit