Synopsis: Important: kernel security and bug fix update
Advisory ID: SLSA-2015:1042-1
Issue Date: 2015-06-02
CVE Numbers: CVE-2015-1805
* It was found that the Linux kernel’s implementation of vectored pipe
read and write functionality did not take into account the I/O vectors
that were already processed when retrying after a failed atomic access
operation, potentially resulting in memory corruption due to an I/O vector
array overrun. A local, unprivileged user could use this flaw to crash the
system or, potentially, escalate their privileges on the system.
This update fixes the following bugs:
* Due to a bug in the lpfc_device_reset_handler() function, a scsi command
timeout could lead to a system crash. With this update,
lpfc_device_reset_handler recovers storage without crashing.
* Due to the code decrementing the reclaim_in_progress counter without
having incremented it first, severe spinlock contention occurred in the
shrink_zone() function even though the vm.max_reclaims_in_progress feature
was set to 1. This update provides a patch fixing the underlying source
code, and spinlock contention no longer occurs in this scenario.
* A TCP socket using SACK that had a retransmission but recovered from it,
failed to reset the retransmission timestamp. As a consequence, on certain
connections, if a packet had to be re-transmitted, the retrans_stamp
variable was only cleared when the next acked packet was received. This
could lead to an early abortion of the TCP connection if this next packet
also got lost. With this update, the socket clears retrans_stamp when the
recovery is completed, thus fixing the bug.
* Previously, the signal delivery paths did not clear the TS_USEDFPU flag,
which could cause problems in the switch_to() function and lead to
floating-point unit (FPU) corruption. With this update, TS_USEDFPU is
cleared as expected, and FPU is no longer under threat of corruption.
* A race condition in the exit_sem() function previously caused the
semaphore undo list corruption. As a consequence, a kernel crash could
occur. The corruption in the semaphore undo list has been fixed, and the
kernel no longer crashes in this situation.
* Previously, when running the “virsh blockresize [Device] [Newsize]”
command to resize the disk, the new size was not reflected in a Scientific
Linux 5 Virtual Machine (VM). With this update, the new size is now
reflected online immediately in a Scientific Linux 5 VM so it is no longer
necessary to reboot the VM to see the new disk size.
The system must be rebooted for this update to take effect.
– Scientific Linux Development Team