<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/core/control.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-03-21T19:43:11Z</updated>
<entry>
<title>ALSA: prevent heap corruption in snd_ctl_new()</title>
<updated>2011-03-21T19:43:11Z</updated>
<author>
<name>Dan Rosenberg</name>
</author>
<published>2010-09-28T18:18:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b259026c5eb96fae5c3c3884a7da7fd13886267f'/>
<id>urn:sha1:b259026c5eb96fae5c3c3884a7da7fd13886267f</id>
<content type='text'>
commit 5591bf07225523600450edd9e6ad258bb877b779 upstream.

The snd_ctl_new() function in sound/core/control.c allocates space for a
snd_kcontrol struct by performing arithmetic operations on a
user-provided size without checking for integer overflow.  If a user
provides a large enough size, an overflow will occur, the allocated
chunk will be too small, and a second user-influenced value will be
written repeatedly past the bounds of this chunk.  This code is
reachable by unprivileged users who have permission to open
a /dev/snd/controlC* device (on many distros, this is group "audio") via
the SNDRV_CTL_IOCTL_ELEM_ADD and SNDRV_CTL_IOCTL_ELEM_REPLACE ioctls.

Signed-off-by: Dan Rosenberg &lt;drosenberg@vsecurity.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Merge branch 'topic/misc' into for-linus</title>
<updated>2009-12-04T15:22:37Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2009-12-04T15:22:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57648cd52b1848c6885bdbd948d113d52f3ddd43'/>
<id>urn:sha1:57648cd52b1848c6885bdbd948d113d52f3ddd43</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ALSA: remove unnecessary null check</title>
<updated>2009-11-18T08:59:40Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2009-11-18T08:31:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bec145ae6f6978f0319e5600a742f45f76ecc4dd'/>
<id>urn:sha1:bec145ae6f6978f0319e5600a742f45f76ecc4dd</id>
<content type='text'>
This function is only called from snd_ctl_ioctl() and the file parameter
can never be null so there is no need to check it here.

We dereference file at the start of the function:
        struct snd_card *card = file-&gt;card;
and it confuses static checkers to dereference a pointer before
checking it.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>control: use reference-counted pid</title>
<updated>2009-11-06T13:32:06Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2009-11-02T08:35:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25d27eded1f4fc728e64f443adc339b5229be5d7'/>
<id>urn:sha1:25d27eded1f4fc728e64f443adc339b5229be5d7</id>
<content type='text'>
Instead of storing the PID number, take a reference to the task's pid
structure.  This protects against duplicates due to PID overflows, and
using pid_vnr() ensures that the PID returned by snd_ctl_elem_info() is
correct as seen from the current namespace.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>control: remove snd_konctrol_volatile::owner_pid field</title>
<updated>2009-11-06T13:32:03Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2009-11-02T08:34:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31cef7076ed9409a33f19ea372d6dc5fdefe27ae'/>
<id>urn:sha1:31cef7076ed9409a33f19ea372d6dc5fdefe27ae</id>
<content type='text'>
We do not need to save the ID of the process that locked a control
because that information is already available in the owner's file data.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>sound: snd_ctl_remove_user_ctl: prevent removal of kernel controls</title>
<updated>2009-08-17T10:48:21Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2009-08-17T10:28:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18dd0aa5afea7dc33953aa87de696e39074bbf78'/>
<id>urn:sha1:18dd0aa5afea7dc33953aa87de696e39074bbf78</id>
<content type='text'>
Ensure that userspace can remove only user controls.  Controls created
by kernel drivers must not be removed because they might be referenced
in calls to snd_ctl_notify().

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>sound: snd_ctl_remove_unlocked_id: simplify user control counting</title>
<updated>2009-08-17T10:48:15Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2009-08-17T10:27:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f217ac59b6dd73105abc13da3fe656391fa6d135'/>
<id>urn:sha1:f217ac59b6dd73105abc13da3fe656391fa6d135</id>
<content type='text'>
Move the decrementing of the user controls counter from
snd_ctl_elem_remove to snd_ctl_remove_unlocked_id; this saves the
separate locking of the controls semaphore, and therefore removes
a harmless race.

Since the purpose of the function is to operate on user controls (the
control being unlocked is just a prerequisite), rename it to
snd_ctl_remove_user_ctl.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>sound: snd_ctl_remove_unlocked_id: simplify error paths</title>
<updated>2009-08-17T10:48:06Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2009-08-17T10:26:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=317b80817fcaeac7ae7e062fcccef0d2aba38a78'/>
<id>urn:sha1:317b80817fcaeac7ae7e062fcccef0d2aba38a78</id>
<content type='text'>
Use a common exit path to release the mutex and to return a possible
error.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>sound: snd_ctl_elem_add: fix value count check</title>
<updated>2009-08-17T10:48:00Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2009-08-17T10:25:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2a031aedf7f574a01eb725507cb303d4d7b8b23a'/>
<id>urn:sha1:2a031aedf7f574a01eb725507cb303d4d7b8b23a</id>
<content type='text'>
Make sure that no user element that has no values can be added.

The check for count&gt;1024 is not needed because the count is checked
later for the individual control types.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: sound/core: use memdup_user()</title>
<updated>2009-04-14T10:39:12Z</updated>
<author>
<name>Li Zefan</name>
</author>
<published>2009-04-10T01:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef44a1ec6eeef189998f84e7230e1d3535b01074'/>
<id>urn:sha1:ef44a1ec6eeef189998f84e7230e1d3535b01074</id>
<content type='text'>
Remove open-coded memdup_user().

Signed-off-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
