01 Feb, 2020

1 commit

  • I overlooked that some fields are words and need the converts from
    LE in the recently added USB descriptor validation code.
    This patch fixes those with the proper macro usages.

    Fixes: 57f8770620e9 ("ALSA: usb-audio: More validations of descriptor units")
    Cc:
    Link: https://lore.kernel.org/r/20200201080530.22390-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

05 Jan, 2020

1 commit

  • Apply const prefix to the remaining places: the static table for the
    unit information, the mixer maps, the validator tables, etc.

    Just for minor optimization and no functional changes.

    Link: https://lore.kernel.org/r/20200105144823.29547-12-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

15 Nov, 2019

2 commits

  • The unit descriptor validation may lead to a probe error when the
    device provides a buggy descriptor or the validator detected
    incorrectly. For identifying such an error and band-aiding, give a
    new module option, skip_validation. With this option, the driver
    ignores the validation errors with the hexdump of the unit
    descriptor, so we can check it in a bit more details.

    Link: https://lore.kernel.org/r/20191114165613.7422-2-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The recently introduced unit descriptor validation had some bug for
    processing and extension units, it counts a bControlSize byte twice so
    it expected a bigger size than it should have been. This seems
    resulting in a probe error on a few devices.

    Fix the calculation for proper checks of PU and EU.

    Fixes: 57f8770620e9 ("ALSA: usb-audio: More validations of descriptor units")
    Cc:
    Link: https://lore.kernel.org/r/20191114165613.7422-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

22 Oct, 2019

1 commit

  • The recently introduced USB-audio descriptor validator had a stupid
    copy&paste error that may lead to an unexpected overlook of too short
    descriptors for processing and extension units. It's likely the cause
    of the report triggered by syzkaller fuzzer. Let's fix it.

    Fixes: 57f8770620e9 ("ALSA: usb-audio: More validations of descriptor units")
    Reported-by: syzbot+0620f79a1978b1133fd7@syzkaller.appspotmail.com
    Link: https://lore.kernel.org/r/s5hsgnkdbsl.wl-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

22 Aug, 2019

1 commit

  • Introduce a new helper to validate each audio descriptor unit before
    and check the unit before actually accessing it. This should harden
    against the OOB access cases with malformed descriptors that have been
    recently frequently reported by fuzzers.

    The existing descriptor checks are still kept although they become
    superfluous after this patch. They'll be cleaned up eventually
    later.

    Signed-off-by: Takashi Iwai

    Takashi Iwai