~ubuntu-kernel/ubuntu/+source/linux/+git/dapper:master

Last commit made on 2011-04-27
Get this branch:
git clone -b master https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/dapper
Members of Ubuntu Kernel Repositories can upload to this branch. Log in for directions.

Branch merges

Branch information

Recent commits

8bc862d... by Brad Figg

UBUNTU: Ubuntu-2.6.15-57.97

Signed-off-by: Brad Figg <email address hidden>

549c330... by Timo Warns <email address hidden>

ldm: corrupted partition table can cause kernel oops, CVE-2011-1017

BugLink: http://bugs.launchpad.net/bugs/771382

CVE-2011-1017

backported from 294f6cf48666825d23c9372ef37631232746e40d upstream.

The kernel automatically evaluates partition tables of storage devices.
The code for evaluating LDM partitions (in fs/partitions/ldm.c) contains
a bug that causes a kernel oops on certain corrupted LDM partitions. A
kernel subsystem seems to crash, because, after the oops, the kernel no
longer recognizes newly connected storage devices.

The patch changes ldm_parse_vmdb() to Validate the value of vblk_size.

Signed-off-by: Timo Warns <email address hidden>
Cc: Eugene Teo <email address hidden>
Acked-by: Richard Russon <email address hidden>
Cc: Harvey Harrison <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>
Acked-by: Brad Figg <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>

c83969a... by Timo Warns <email address hidden>

fs/partitions/ldm.c: fix oops caused by corrupted partition table, CVE-2011-1017

BugLink: http://bugs.launchpad.net/bugs/771382

CVE-2011-1017

The kernel automatically evaluates partition tables of storage devices.
The code for evaluating LDM partitions (in fs/partitions/ldm.c) contains
a bug that causes a kernel oops on certain corrupted LDM partitions.
A kernel subsystem seems to crash, because, after the oops, the kernel no
longer recognizes newly connected storage devices.

The patch validates the value of vblk_size.

[<email address hidden>: coding-style fixes]
Signed-off-by: Timo Warns <email address hidden>
Cc: Eugene Teo <email address hidden>
Cc: Harvey Harrison <email address hidden>
Cc: Richard Russon <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>

(backported from commit c340b1d640001c8c9ecff74f68fd90422ae2448a)
Signed-off-by: Brad Figg <email address hidden>
Acked-by: Steve Conklin <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>

59d0c55... by Sean Hefty <email address hidden>

IB/cm: Bump reference count on cm_id before invoking callback, CVE-2011-0695

CVE-2011-0695

BugLink: http://bugs.launchpad.net/bugs/770369

When processing a SIDR REQ, the ib_cm allocates a new cm_id. The
refcount of the cm_id is initialized to 1. However, cm_process_work
will decrement the refcount after invoking all callbacks. The result
is that the cm_id will end up with refcount set to 0 by the end of the
sidr req handler.

If a user tries to destroy the cm_id, the destruction will proceed,
under the incorrect assumption that no other threads are referencing
the cm_id. This can lead to a crash when the cm callback thread tries
to access the cm_id.

This problem was noticed as part of a larger investigation with kernel
crashes in the rdma_cm when running on a real time OS.

Signed-off-by: Sean Hefty <email address hidden>
Acked-by: Doug Ledford <email address hidden>
Cc: <email address hidden>
Signed-off-by: Roland Dreier <email address hidden>

(backported from commit 29963437a48475036353b95ab142bf199adb909e)
Signed-off-by: Brad Figg <email address hidden>
Acked-by: Leann Ogasawara <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>

2d462d8... by Eric Dumazet

af_unix: limit unix_tot_inflight, CVE-2010-4249

CVE-2010-4249

BugLink: http://bugs.launchpad.net/bugs/769182

Vegard Nossum found a unix socket OOM was possible, posting an exploit
program.

My analysis is we can eat all LOWMEM memory before unix_gc() being
called from unix_release_sock(). Moreover, the thread blocked in
unix_gc() can consume huge amount of time to perform cleanup because of
huge working set.

One way to handle this is to have a sensible limit on unix_tot_inflight,
tested from wait_for_unix_gc() and to force a call to unix_gc() if this
limit is hit.

This solves the OOM and also reduce overall latencies, and should not
slowdown normal workloads.

Reported-by: Vegard Nossum <email address hidden>
Signed-off-by: Eric Dumazet <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
Signed-off-by: Brad Figg <email address hidden>

100346a... by error27

av7110: check for negative array offset, CVE-2011-0521

BugLink: http://bugs.launchpad.net/bugs/767526

CVE-2011-0521

info->num comes from the user. It's type int. If the user passes
in a negative value that would cause memory corruption.

Signed-off-by: Dan Carpenter <email address hidden>
Signed-off-by: Mauro Carvalho Chehab <email address hidden>
(cherry picked from commit cb26a24ee9706473f31d34cc259f4dcf45cd0644)

Signed-off-by: Leann Ogasawara <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Brad Figg <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>

0004a8c... by Brad Figg

UBUNTU: Start next release

Signed-off-by: Brad Figg <email address hidden>

e0ef4a5... by Steve Conklin

UBUNTU: Ubuntu-2.6.15-57.96

Signed-off-by: Steve Conklin <email address hidden>

50773cd... by Dan Rosenberg <email address hidden>

irda: prevent integer underflow in IRLMP_ENUMDEVICES, CVE-2010-4529

CVE-2010-4529

BugLink: http://bugs.launchpad.net/bugs/737823

If the user-provided len is less than the expected offset, the
IRLMP_ENUMDEVICES getsockopt will do a copy_to_user() with a very large
size value. While this isn't be a security issue on x86 because it will
get caught by the access_ok() check, it may leak large amounts of kernel
heap on other architectures. In any event, this patch fixes it.

Signed-off-by: Dan Rosenberg <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(backport of upstream commit fdac1e0697356ac212259f2147aa60c72e334861)

Signed-off-by: Leann Ogasawara <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Stefan Bader <email address hidden>

75d45e3... by Dan Rosenberg <email address hidden>

sound: Prevent buffer overflow in OSS load_mixer_volumes, CVE-2010-4527

CVE-2010-4527

BugLink: http://bugs.launchpad.net/bugs/737073

The load_mixer_volumes() function, which can be triggered by
unprivileged users via the SOUND_MIXER_SETLEVELS ioctl, is vulnerable to
a buffer overflow. Because the provided "name" argument isn't
guaranteed to be NULL terminated at the expected 32 bytes, it's possible
to overflow past the end of the last element in the mixer_vols array.
Further exploitation can result in an arbitrary kernel write (via
subsequent calls to load_mixer_volumes()) leading to privilege
escalation, or arbitrary kernel reads via get_mixer_levels(). In
addition, the strcmp() may leak bytes beyond the mixer_vols array.

Signed-off-by: Dan Rosenberg <email address hidden>
Cc: stable <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

(cherry picked from commit d81a12bc29ae4038770e05dce4ab7f26fd5880fb)
Signed-off-by: Leann Ogasawara <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>