<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/usb, branch linux-5.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-05-22T05:38:41Z</updated>
<entry>
<title>ALSA: usb-audio: Fix a memory leak bug</title>
<updated>2019-05-22T05:38:41Z</updated>
<author>
<name>Wenwen Wang</name>
</author>
<published>2019-04-27T06:06:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bc3c4c9e00b0a3eda51a43f9d1a7daf45bd7e725'/>
<id>urn:sha1:bc3c4c9e00b0a3eda51a43f9d1a7daf45bd7e725</id>
<content type='text'>
commit cb5173594d50c72b7bfa14113dfc5084b4d2f726 upstream.

In parse_audio_selector_unit(), the string array 'namelist' is allocated
through kmalloc_array(), and each string pointer in this array, i.e.,
'namelist[]', is allocated through kmalloc() in the following for loop.
Then, a control instance 'kctl' is created by invoking snd_ctl_new1(). If
an error occurs during the creation process, the string array 'namelist',
including all string pointers in the array 'namelist[]', should be freed,
before the error code ENOMEM is returned. However, the current code does
not free 'namelist[]', resulting in memory leaks.

To fix the above issue, free all string pointers 'namelist[]' in a loop.

Signed-off-by: Wenwen Wang &lt;wang6495@umn.edu&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: line6: toneport: Fix broken usage of timer for delayed execution</title>
<updated>2019-05-22T05:38:40Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2019-05-08T13:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=592b655a306b2944fdafc32e140a7c8c11290eb8'/>
<id>urn:sha1:592b655a306b2944fdafc32e140a7c8c11290eb8</id>
<content type='text'>
commit 7f84ff68be05ec7a5d2acf8fdc734fe5897af48f upstream.

The line6 toneport driver has code for some delayed initialization,
and this hits the kernel Oops because mutex and other sleepable
functions are used in the timer callback.  Fix the abuse by a delayed
work instead so that everything works gracefully.

Reported-by: syzbot+a07d0142e74fdd595cfb@syzkaller.appspotmail.com
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: line6: use dynamic buffers</title>
<updated>2019-05-05T12:43:40Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2019-04-28T16:04:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c391e6198768b56b81295bccc473f578b79fed2d'/>
<id>urn:sha1:c391e6198768b56b81295bccc473f578b79fed2d</id>
<content type='text'>
commit e5c812e84f0dece3400d5caf42522287e6ef139f upstream.

The line6 driver uses a lot of USB buffers off of the stack, which is
not allowed on many systems, causing the driver to crash on some of
them.  Fix this up by dynamically allocating the buffers with kmalloc()
which allows for proper DMA-able memory.

Reported-by: Christo Gouws &lt;gouws.christo@gmail.com&gt;
Reported-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Tested-by: Christo Gouws &lt;gouws.christo@gmail.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix implicit fb endpoint setup by quirk</title>
<updated>2019-02-07T19:04:43Z</updated>
<author>
<name>Manuel Reinhardt</name>
</author>
<published>2019-01-31T14:32:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2bc16b9f3223d049b57202ee702fcb5b9b507019'/>
<id>urn:sha1:2bc16b9f3223d049b57202ee702fcb5b9b507019</id>
<content type='text'>
The commit a60945fd08e4 ("ALSA: usb-audio: move implicit fb quirks to
separate function") introduced an error in the handling of quirks for
implicit feedback endpoints. This commit fixes this.

If a quirk successfully sets up an implicit feedback endpoint, usb-audio
no longer tries to find the implicit fb endpoint itself.

Fixes: a60945fd08e4 ("ALSA: usb-audio: move implicit fb quirks to separate function")
Signed-off-by: Manuel Reinhardt &lt;manuel.rhdt@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add support for new T+A USB DAC</title>
<updated>2019-02-05T16:21:55Z</updated>
<author>
<name>Udo Eberhardt</name>
</author>
<published>2019-02-05T16:20:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3bff2407fbd28fd55ad5b5cccd98fc0c9598f23b'/>
<id>urn:sha1:3bff2407fbd28fd55ad5b5cccd98fc0c9598f23b</id>
<content type='text'>
This patch adds the T+A VID to the generic check in order to enable
native DSD support for T+A devices. This works with the new T+A USB
DAC model SD3100HV and will also work with future devices which
support the XMOS/Thesycon style DSD format.

Signed-off-by: Udo Eberhardt &lt;udo.eberhardt@thesycon.de&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add Opus #3 to quirks for native DSD support</title>
<updated>2019-01-25T18:45:42Z</updated>
<author>
<name>Olek Poplavsky</name>
</author>
<published>2019-01-25T04:30:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e6966646b6bc5078d579151b90016522d4ff2cb'/>
<id>urn:sha1:9e6966646b6bc5078d579151b90016522d4ff2cb</id>
<content type='text'>
This patch adds quirk VID/PID IDs for the Opus #3 DAP (made by 'The Bit')
in order to enable Native DSD support.

[ NOTE: this could be handled in the generic way with fp-&gt;dvd_raw if
  we add 0x10cb to the vendor whitelist, but since 0x10cb shows a
  different vendor name (Erantech), put to the individual entry at
  this time -- tiwai ]

Signed-off-by: Olek Poplavsky &lt;woodenbits@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: fix CM6206 register definitions</title>
<updated>2019-01-08T21:51:44Z</updated>
<author>
<name>Amadeusz Sławiński</name>
</author>
<published>2019-01-08T20:03:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5c9571e2265b3cbfad2ed41ba60c3da474daa61'/>
<id>urn:sha1:f5c9571e2265b3cbfad2ed41ba60c3da474daa61</id>
<content type='text'>
fix typo after a recent commit causing headphones to have no sound

Fixes: ad43d528a7ac (ALSA: usb-audio: Define registers for CM6206)
Signed-off-by: Amadeusz Sławiński &lt;amade@asmblr.net&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks</title>
<updated>2019-01-07T10:10:31Z</updated>
<author>
<name>Hui Peng</name>
</author>
<published>2018-12-25T23:11:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cbb2ebf70daf7f7d97d3811a2ff8e39655b8c184'/>
<id>urn:sha1:cbb2ebf70daf7f7d97d3811a2ff8e39655b8c184</id>
<content type='text'>
In `create_composite_quirk`, the terminating condition of for loops is
`quirk-&gt;ifnum &lt; 0`. So any composite quirks should end with `struct
snd_usb_audio_quirk` object with ifnum &lt; 0.

    for (quirk = quirk_comp-&gt;data; quirk-&gt;ifnum &gt;= 0; ++quirk) {

    	.....
    }

the data field of Bower's &amp; Wilkins PX headphones usb device device quirks
do not end with {.ifnum = -1}, wihch may result in out-of-bound read.

This Patch fix the bug by adding an ending quirk object.

Fixes: 240a8af929c7 ("ALSA: usb-audio: Add a quirck for B&amp;W PX headphones")
Signed-off-by: Hui Peng &lt;benquike@163.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Always check descriptor sizes in parser code</title>
<updated>2019-01-07T10:10:17Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2019-01-02T16:12:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e96d7280f16e2f787307f695a31296b9e4a1cd7'/>
<id>urn:sha1:3e96d7280f16e2f787307f695a31296b9e4a1cd7</id>
<content type='text'>
There are a few places where we access the data without checking the
actual object size from the USB audio descriptor.  This may result in
OOB access, as recently reported.

This patch addresses these missing checks.  Most of added codes are
simple bLength checks in the caller side.  For the input and output
terminal parsers, we put the length check in the parser functions.
For the input terminal, a new argument is added to distinguish between
UAC1 and the rest, as they treat different objects.

Reported-by: Mathias Payer &lt;mathias.payer@nebelwelt.net&gt;
Reported-by: Hui Peng &lt;benquike@163.com&gt;
Tested-by: Hui Peng &lt;benquike@163.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Check mixer unit descriptors more strictly</title>
<updated>2019-01-07T09:46:27Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2018-12-19T13:04:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bfe5e434e6665b3590575ec3c5e4f86a1ce51c9'/>
<id>urn:sha1:0bfe5e434e6665b3590575ec3c5e4f86a1ce51c9</id>
<content type='text'>
We've had some sanity checks of the mixer unit descriptors but they
are too loose and some corner cases are overlooked.  Add more strict
checks in uac_mixer_unit_get_channels() for avoiding possible OOB
accesses by malformed descriptors.

This also changes the semantics of uac_mixer_unit_get_channels()
slightly.  Now it returns zero for the cases where the descriptor
lacks of bmControls instead of -EINVAL.  Then the caller side skips
the mixer creation for such unit while it keeps parsing it.
This corresponds to the case like Maya44.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
