~tuxonice/linux:precise

Last commit made on 2016-12-23
Get this branch:
git clone -b precise https://git.launchpad.net/~tuxonice/linux
Members of TuxOnIce can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
precise
Repository:
lp:~tuxonice/linux

Recent commits

41dac88... by Martin Schläffer

Merge tag 'Ubuntu-3.2.0-119.162'

784bb78... by Martin Schläffer

Merge tag 'Ubuntu-3.2.0-118.161'

ae1da0e... by Luis Henriques

UBUNTU: Ubuntu-3.2.0-119.162

Signed-off-by: Luis Henriques <email address hidden>

3ebd7f5... by Mathias Krause <email address hidden>

proc: prevent accessing /proc/<PID>/environ until it's ready

If /proc/<PID>/environ gets read before the envp[] array is fully set up
in create_{aout,elf,elf_fdpic,flat}_tables(), we might end up trying to
read more bytes than are actually written, as env_start will already be
set but env_end will still be zero, making the range calculation
underflow, allowing to read beyond the end of what has been written.

Fix this as it is done for /proc/<PID>/cmdline by testing env_end for
zero. It is, apparently, intentionally set last in create_*_tables().

This bug was found by the PaX size_overflow plugin that detected the
arithmetic underflow of 'this_len = env_end - (env_start + src)' when
env_end is still zero.

The expected consequence is that userland trying to access
/proc/<PID>/environ of a not yet fully set up process may get
inconsistent data as we're in the middle of copying in the environment
variables.

Fixes: https://forums.grsecurity.net/viewtopic.php?f=3&t=4363
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=116461
Signed-off-by: Mathias Krause <email address hidden>
Cc: Emese Revfy <email address hidden>
Cc: Pax Team <email address hidden>
Cc: Al Viro <email address hidden>
Cc: Mateusz Guzik <email address hidden>
Cc: Alexey Dobriyan <email address hidden>
Cc: Cyrill Gorcunov <email address hidden>
Cc: Jarod Wilson <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
CVE-2016-7916
(backported from commit 8148a73c9901a8794a50f950083c00ccf97d43b3)
[ luis: adjusted context ]
Signed-off-by: Luis Henriques <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Colin Ian King <email address hidden>

89a15e5... by Long Li

hv: do not lose pending heartbeat vmbus packets

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

The host keeps sending heartbeat packets independent of the
guest responding to them. Even though we respond to the heartbeat messages at
interrupt level, we can have situations where there maybe multiple heartbeat
messages pending that have not been responded to. For instance this occurs when the
VM is paused and the host continues to send the heartbeat messages.
Address this issue by draining and responding to all
the heartbeat messages that maybe pending.

Signed-off-by: Long Li <email address hidden>
Signed-off-by: K. Y. Srinivasan <email address hidden>
CC: Stable <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
(cherry picked from commit 407a3aee6ee2d2cb46d9ba3fc380bc29f35d020c)
Signed-off-by: Joseph Salisbury <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Signed-off-by: Luis Henriques <email address hidden>

cff5717... by Luis Henriques

UBUNTU: Start new release

Ignore: yes
Signed-off-by: Luis Henriques <email address hidden>

6e89c69... by Brad Figg

UBUNTU: Ubuntu-3.2.0-118.161

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

70cfcfc... by Martin Schläffer

Merge tag 'Ubuntu-3.2.0-116.158'

e698df7... by Philip Pettersson <email address hidden>

packet: fix race condition in packet_set_ring

CVE-2016-8655

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

When packet_set_ring creates a ring buffer it will initialize a
struct timer_list if the packet version is TPACKET_V3. This value
can then be raced by a different thread calling setsockopt to
set the version to TPACKET_V1 before packet_set_ring has finished.

This leads to a use-after-free on a function pointer in the
struct timer_list when the socket is closed as the previously
initialized timer will not be deleted.

The bug is fixed by taking lock_sock(sk) in packet_setsockopt when
changing the packet version while also taking the lock at the start
of packet_set_ring.

Fixes: f6fb8f100b80 ("af-packet: TPACKET_V3 flexible buffer implementation.")
Signed-off-by: Philip Pettersson <email address hidden>
Signed-off-by: Eric Dumazet <email address hidden>
Signed-off-by: Brad Figg <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Ben Romer <email address hidden>

22eef9f... by Brad Figg

UBUNTU: Start new release

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