- Issued:
- 2012-10-23
- Updated:
- 2012-10-23
RHSA-2012:1401 - Important: kernel security and bug fix update
Synopsis
Important: kernel security and bug fix update
Type/Severity
Security Advisory Important
Topic
Updated kernel packages that fix one security issue and several bugs are now available for Red Hat Enterprise Linux 6.2 Extended Update Support.
The Red Hat Security Response Team has rated this update as having important security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link in the References section.
Description
The kernel packages contain the Linux kernel, the core of any Linux operating system.
This update fixes the following security issue:
- A flaw was found in the way socket buffers (skb) requiring TSO (TCP segment offloading) were handled by the sfc driver. If the skb did not fit within the minimum-size of the transmission queue, the network card could repeatedly reset itself. A remote attacker could use this flaw to cause a denial of service. (CVE-2012-3412, Important)
Red Hat would like to thank Ben Hutchings of Solarflare (tm) for reporting CVE-2012-3412.
This update also fixes the following bugs:
-
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#853256)
-
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#853952)
-
Sometimes, the crypto allocation code could become unresponsive for 60 seconds or multiples thereof due to an incorrect notification mechanism. This could cause applications, like Openswan, to become unresponsive. The notification mechanism has been improved to avoid such hangs. (BZ#854475)
-
Traffic to the NFS server could trigger a kernel oops in the svc_tcp_clear_pages() function. The source code has been modified, and the kernel oops no longer occurs in this scenario. (BZ#856105)
-
Under certain circumstances, a system crash could result in data loss on XFS file systems. If files were created immediately before the file system was left to idle for a long period of time and then the system crashed, those files could appear as zero-length once the file system was remounted. This occurred even if a sync or fsync was run on the files. This was because XFS was not correctly idling the journal, and therefore it incorrectly replayed the inode allocation transactions upon mounting after the system crash, which zeroed the file size. This problem has been fixed by re-instating the periodic journal idling logic to ensure that all metadata is flushed within 30 seconds of modification, and the journal is updated to prevent incorrect recovery operations from occurring. (BZ#856685)
-
On architectures with the 64-bit cputime_t type, it was possible to trigger the "divide by zero" error, namely, on long-lived processes. A patch has been applied to address this problem, and the "divide by zero" error no longer occurs under these circumstances. (BZ#856702)
Users should upgrade to these updated packages, which contain backported patches to resolve these issues. 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
To install kernel packages manually, use "rpm -ivh [package]". Do not use "rpm -Uvh" as that will remove the running kernel binaries from your system. You may use "rpm -e" to remove old kernels after determining that the new kernel functions properly on your system.
Affected Products
| Product | Version | Arch |
|---|---|---|
| Red Hat Storage | 2.0 | x86_64 |
| Red Hat Storage for Public Cloud (via RHUI) | 2.0 | x86_64 |
| Red Hat Gluster Storage Server for On-premise | 2.0 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Extended Update Support | 6.2 | x86_64 |
| Red Hat Enterprise Linux for x86_64 - Extended Update Support | 6.2 | i386 |
| Red Hat Enterprise Linux for Power, big endian - Extended Update Support | 6.2 | ppc64 |
| Red Hat Enterprise Linux for IBM z Systems - Extended Update Support | 6.2 | s390x |
| Red Hat Enterprise Linux Server - Extended Update Support from RHUI | 6.2 | x86_64 |
| Red Hat Enterprise Linux Server - Extended Update Support from RHUI | 6.2 | i386 |
| Red Hat Enterprise Linux Server - AUS | 6.2 | x86_64 |
Updated Packages
- kernel-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm
- python-perf-2.6.32-220.28.1.el6.s390x.rpm
- kernel-debug-2.6.32-220.28.1.el6.s390x.rpm
- kernel-debuginfo-common-x86_64-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-debuginfo-common-ppc64-2.6.32-220.28.1.el6.ppc64.rpm
- perf-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm
- kernel-devel-2.6.32-220.28.1.el6.s390x.rpm
- kernel-debug-devel-2.6.32-220.28.1.el6.ppc64.rpm
- kernel-kdump-2.6.32-220.28.1.el6.s390x.rpm
- kernel-debug-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm
- python-perf-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-debug-devel-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-debug-2.6.32-220.28.1.el6.x86_64.rpm
- python-perf-debuginfo-2.6.32-220.28.1.el6.i686.rpm
- kernel-bootwrapper-2.6.32-220.28.1.el6.ppc64.rpm
- kernel-headers-2.6.32-220.28.1.el6.i686.rpm
- kernel-debug-devel-2.6.32-220.28.1.el6.i686.rpm
- perf-debuginfo-2.6.32-220.28.1.el6.s390x.rpm
- python-perf-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm
- perf-2.6.32-220.28.1.el6.ppc64.rpm
- kernel-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-debug-2.6.32-220.28.1.el6.ppc64.rpm
- perf-2.6.32-220.28.1.el6.s390x.rpm
- kernel-devel-2.6.32-220.28.1.el6.x86_64.rpm
- perf-2.6.32-220.28.1.el6.x86_64.rpm
- perf-debuginfo-2.6.32-220.28.1.el6.i686.rpm
- kernel-debug-2.6.32-220.28.1.el6.i686.rpm
- python-perf-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-debug-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm
- python-perf-debuginfo-2.6.32-220.28.1.el6.s390x.rpm
- kernel-headers-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-kdump-debuginfo-2.6.32-220.28.1.el6.s390x.rpm
- kernel-devel-2.6.32-220.28.1.el6.ppc64.rpm
- kernel-kdump-devel-2.6.32-220.28.1.el6.s390x.rpm
- kernel-devel-2.6.32-220.28.1.el6.i686.rpm
- kernel-2.6.32-220.28.1.el6.i686.rpm
- kernel-debug-debuginfo-2.6.32-220.28.1.el6.s390x.rpm
- kernel-2.6.32-220.28.1.el6.src.rpm
- perf-2.6.32-220.28.1.el6.i686.rpm
- kernel-firmware-2.6.32-220.28.1.el6.noarch.rpm
- kernel-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-2.6.32-220.28.1.el6.s390x.rpm
- kernel-doc-2.6.32-220.28.1.el6.noarch.rpm
- kernel-2.6.32-220.28.1.el6.ppc64.rpm
- python-perf-2.6.32-220.28.1.el6.i686.rpm
- kernel-debuginfo-2.6.32-220.28.1.el6.s390x.rpm
- kernel-headers-2.6.32-220.28.1.el6.s390x.rpm
- kernel-headers-2.6.32-220.28.1.el6.ppc64.rpm
- perf-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm
- kernel-debuginfo-common-s390x-2.6.32-220.28.1.el6.s390x.rpm
- python-perf-2.6.32-220.28.1.el6.ppc64.rpm
- kernel-debug-debuginfo-2.6.32-220.28.1.el6.i686.rpm
- kernel-debuginfo-2.6.32-220.28.1.el6.i686.rpm
- kernel-debug-devel-2.6.32-220.28.1.el6.s390x.rpm
- kernel-debuginfo-common-i686-2.6.32-220.28.1.el6.i686.rpm
Fixes
CVEs
References
Additional information
- The Red Hat security contact is This content is not included.secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.