<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/core/seq/seq_prioq.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-05-31T23:30:21Z</updated>
<entry>
<title>ALSA: seq: Fix possible UAF in snd_seq_check_queue()</title>
<updated>2018-05-31T23:30:21Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2018-03-09T20:58:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=deeaca310dc1d79b70384810c47b64b550f6bef7'/>
<id>urn:sha1:deeaca310dc1d79b70384810c47b64b550f6bef7</id>
<content type='text'>
commit d0f833065221cbfcbadf19fd4102bcfa9330006a upstream.

Although we've covered the races between concurrent write() and
ioctl() in the previous patch series, there is still a possible UAF in
the following scenario:

A: user client closed		B: timer irq
  -&gt; snd_seq_release()		  -&gt; snd_seq_timer_interrupt()
    -&gt; snd_seq_free_client()	    -&gt; snd_seq_check_queue()
				      -&gt; cell = snd_seq_prioq_cell_peek()
      -&gt; snd_seq_prioq_leave()
         .... removing all cells
      -&gt; snd_seq_pool_done()
         .... vfree()
				      -&gt; snd_seq_compare_tick_time(cell)
				         ... Oops

So the problem is that a cell is peeked and accessed without any
protection until it's retrieved from the queue again via
snd_seq_prioq_cell_out().

This patch tries to address it, also cleans up the code by a slight
refactoring.  snd_seq_prioq_cell_out() now receives an extra pointer
argument.  When it's non-NULL, the function checks the event timestamp
with the given pointer.  The caller needs to pass the right reference
either to snd_seq_tick or snd_seq_realtime depending on the event
timestamp type.

A good news is that the above change allows us to remove the
snd_seq_prioq_cell_peek(), too, thus the patch actually reduces the
code size.

Reviewed-by: Nicolai Stange &lt;nstange@suse.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
[bwh: Backported to 3.2: Deleted function had different log message]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ALSA: Add missing KERN_* prefix to printk in sound/core</title>
<updated>2009-02-05T15:00:49Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2009-02-05T14:51:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=006de267351aa3d836f3307370eae7ec16eac09d'/>
<id>urn:sha1:006de267351aa3d836f3307370eae7ec16eac09d</id>
<content type='text'>
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: Kill snd_assert() in sound/core/*</title>
<updated>2008-08-13T09:46:35Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2008-08-08T15:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7eaa943c8ed8e91e05d0f5d0dc7a18e3319b45cf'/>
<id>urn:sha1:7eaa943c8ed8e91e05d0f5d0dc7a18e3319b45cf</id>
<content type='text'>
Kill snd_assert() in sound/core/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Jaroslav Kysela &lt;perex@perex.cz&gt;
</content>
</entry>
<entry>
<title>[ALSA] Remove sound/driver.h</title>
<updated>2008-01-31T16:29:48Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2008-01-08T17:13:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9004acc70e8c49c50c4c7b652f906f1e0ed5709d'/>
<id>urn:sha1:9004acc70e8c49c50c4c7b652f906f1e0ed5709d</id>
<content type='text'>
This header file exists only for some hacks to adapt alsa-driver
tree.  It's useless for building in the kernel.  Let's move a few
lines in it to sound/core.h and remove it.
With this patch, sound/driver.h isn't removed but has just a single
compile warning to include it.  This should be really killed in
future.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Jaroslav Kysela &lt;perex@perex.cz&gt;
</content>
</entry>
<entry>
<title>[ALSA] Remove xxx_t typedefs: Sequencer</title>
<updated>2006-01-03T11:17:52Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2005-11-17T13:04:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7e0b5bf9fff1b726495081447c107a2333fb82c'/>
<id>urn:sha1:c7e0b5bf9fff1b726495081447c107a2333fb82c</id>
<content type='text'>
Modules: ALSA sequencer

Remove xxx_t typedefs from the core sequencer codes.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>[ALSA] Replace with kzalloc() - seq stuff</title>
<updated>2005-09-12T08:48:06Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2005-09-09T12:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ecca82b4b447f8df73c807a018dac3e2863912d9'/>
<id>urn:sha1:ecca82b4b447f8df73c807a018dac3e2863912d9</id>
<content type='text'>
ALSA sequencer,Instrument layer,ALSA&lt;-OSS sequencer
Replace kcalloc(1,..) with kzalloc().

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>Linux-2.6.12-rc2</title>
<updated>2005-04-16T22:20:36Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2005-04-16T22:20:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2'/>
<id>urn:sha1:1da177e4c3f41524e886b7f1b8a0c1fc7321cac2</id>
<content type='text'>
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
</content>
</entry>
</feed>
