Issued:
2012-09-25
Updated:
2012-09-25

RHBA-2012:1310 - kernel bug fix and enhancement update


Synopsis

kernel bug fix and enhancement update

Type/Severity

Bug Fix Advisory

Topic

Updated kernel packages that fix several bugs and add an enhancement are now available for Red Hat Enterprise Linux 6 Extended Update Support.

[Updated 23 Oct 2012] This advisory has been updated with an accurate value of the clock drift for BZ#853951 (+/- 20 MHz). This update does not change the packages in any way.

Description

The kernel packages contain the Linux kernel, the core of any Linux operating system.

This update fixes the following bugs:

  • Prior to this update, the find_busiest_group() function used sched_group->cpu_power in the denominator of a fraction with a value of 0. Consequently, a kernel panic occurred. This update prevents the divide by zero in the kernel and the panic no longer occurs. (BZ#844943)

  • Previously, the TCP socket bound to NFS server contained a stale skb_hints socket buffer. Consequently, kernel could terminate unexpectedly. A patch has been provided to address this issue and skb_hints is now properly cleared from the socket, thus preventing this bug. (BZ#846830)

  • Previously, when a server attempted to shut down a socket, the svc_tcp_sendto() function set the XPT_CLOSE variable if the entire reply failed to be transmitted. However, before XPT_CLOSE could be acted upon, other threads could send further replies before the socket was really shut down. Consequently, data corruption could occur in the RPC record marker. With this update, send operations on a closed socket are stopped immediately, thus preventing this bug. (BZ#853255)

  • When a PIT (Programmable Interval Timer) MSB (Most Significant Byte) transition occurred very close to an SMI (System Management Interrupt) execution, the pit_verify_msb() function did not see the MSB transition. Consequently, the pit_expect_msb() function returned success incorrectly, eventually causing a large clock drift in the quick_pit_calibrate() function. As a result, the TSC (Time Stamp Counter) calibration on some systems was off by +/- 20 MHz, which led to inaccurate timekeeping or ntp synchronization failures. This update fixes pit_expect_msb() and the clock drift no longer occurs in the described scenario. (BZ#853951)

This update adds the following enhancement:

  • This update adds support for the Proportional Rate Reduction (PRR) algorithms for the TCP protocol. This algorithm determines TCP's sending rate in fast recovery. PRR avoids excessive window reductions and improves accuracy of the amount of data sent during loss recovery. In addition, a number of other enhancements and bug fixes for TCP are part of this update. (BZ#847731)

All users are advised to upgrade to these updated packages, which fix these bugs and add this enhancement. The system must be rebooted for this update to take effect.

Solution

Before applying this update, make sure all previously-released errata relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to use the Red Hat Network to apply this update are available at https://access.redhat.com/knowledge/articles/11258

Affected Products

ProductVersionArch
Red Hat Virtual Storage Appliance (from RHUI)6.1x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support6.1x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support6.1i386
Red Hat Enterprise Linux for Power, big endian - Extended Update Support6.1ppc64
Red Hat Enterprise Linux for IBM z Systems - Extended Update Support6.1s390x
Red Hat Enterprise Linux Server - Extended Update Support from RHUI6.1x86_64
Red Hat Enterprise Linux Server - Extended Update Support from RHUI6.1i386

Updated Packages

  • kernel-debuginfo-common-x86_64-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-headers-2.6.32-131.33.1.el6.i686.rpm
  • perf-2.6.32-131.33.1.el6.i686.rpm
  • kernel-debug-devel-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-debuginfo-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-devel-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-2.6.32-131.33.1.el6.src.rpm
  • kernel-debuginfo-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-kdump-debuginfo-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-kdump-devel-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-debug-2.6.32-131.33.1.el6.i686.rpm
  • kernel-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-doc-2.6.32-131.33.1.el6.noarch.rpm
  • kernel-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-debug-devel-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-debug-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-devel-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-debug-devel-2.6.32-131.33.1.el6.i686.rpm
  • kernel-debuginfo-2.6.32-131.33.1.el6.i686.rpm
  • perf-debuginfo-2.6.32-131.33.1.el6.i686.rpm
  • kernel-2.6.32-131.33.1.el6.i686.rpm
  • perf-debuginfo-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-headers-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-debuginfo-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-headers-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-debug-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-debuginfo-common-s390x-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-debug-devel-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-kdump-2.6.32-131.33.1.el6.s390x.rpm
  • perf-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-debuginfo-common-ppc64-2.6.32-131.33.1.el6.ppc64.rpm
  • perf-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-debug-debuginfo-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-devel-2.6.32-131.33.1.el6.i686.rpm
  • kernel-debug-debuginfo-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-devel-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-debug-debuginfo-2.6.32-131.33.1.el6.s390x.rpm
  • kernel-debug-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-bootwrapper-2.6.32-131.33.1.el6.ppc64.rpm
  • kernel-headers-2.6.32-131.33.1.el6.x86_64.rpm
  • perf-2.6.32-131.33.1.el6.x86_64.rpm
  • kernel-firmware-2.6.32-131.33.1.el6.noarch.rpm
  • kernel-debug-debuginfo-2.6.32-131.33.1.el6.i686.rpm
  • kernel-debuginfo-common-i686-2.6.32-131.33.1.el6.i686.rpm
  • perf-debuginfo-2.6.32-131.33.1.el6.x86_64.rpm
  • perf-debuginfo-2.6.32-131.33.1.el6.s390x.rpm

Fixes

(none)

CVEs

(none)

References

(none)


Additional information