RHSA-2017:0386 Important: kernel security, bug fix, and enhancement update

Updated

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

Red Hat Product Security has rated this update as having a security impact of Important. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE links.

This update also fixes the following bugs:

  • Previously, a hard lock up sometimes occurred due to serious I/O errors related to connectivity problems of Storage Area Network (SAN) devices. This update fixes the printk() function to avoid the live lock when another CPU performs printk() continuously. As a result, the hard lock up no longer occurs in the described situation. This content is not included.BZ#1402314

  • When the I/O Stress tool was running, performing the Dynamic Logical Partitioning (DLPAR) ADD or REMOVE operation triggered the Enhanced Error Handling (EEH) mechanism. Consequently, the QLogic adapter failed to recover with the following error message:

        hscroot@pwrio-hmc:~> chhwres -r io -m tuletapio2-fsp -o r --id 8 -l 2103001D
        HSCL2929 The dynamic removal of I/O resources failed: The I/O slot dynamic partitioning operation failed.  Here are the I/O slot IDs that failed and the reasons for failure:
       
        Validating PHB DLPAR capability...yes.
        Isolation failed for 2000001d with -9001
        Valid outstanding translations exist.
    
        The OS return code is 255.  U78CB.001.WZS00E2-P1-C9 (2103001d)       
        hscroot@pwrio-hmc:~> 
    

    This update fixes the qla2xxx driver, and the adapter now recovers as expected. This content is not included.BZ#1402436

  • When the PCI Host Bridge (PHB) devices were removed, the related PCI controller was freed before all references to the devices under the controller have been released. Consequently, a kernel oops occurred. This update fixes the cxl driver to prevent this problem by not freeing the PCI controller too early. As a result, the kernel oops no longer occurs in the described scenario. This content is not included.BZ#1402438

  • Previously, the cxl driver used an anonymous inode to make a backup of a file and cxl allocated a private address space for each context at the same time. Consequently, when the cxl_get_fd() function was used, a generation of a core dump failed. This update adds a simple pseudo file system to allow the cxl driver to allocate its own inodes. As a result, each file and each address space now have one inode, and the core dump is now generated as expected in the described situation. This content is not included.BZ#1402439

  • Previously, the platform partitionable endpoint (PE) instance that was not released in some cases dereferenced the PCI bus that has been released. Consequently, a kernel crash occurred if the PCI bus was unplugged during full hotplug for Enhanced Error Handling (EEH) recovery. This update fixes the PE's primary bus, and the kernel no longer crashes in the described circumstances. This content is not included.BZ#1402440

  • With this update, the cxlflash driver has been updated. This update provides a number of bug fixes and enhancements over the previous version.
    The most notable features of this update are:

    • The cxlflash driver no longer invokes the scsi_scan_host() function prior to the "login succeeded" interrupt. As a result, the SCSI devices are now scanned properly, without the 'port not available' error.
    • The shutdown hook now simply removes the CXL FLASH device when this device is enabled. The remove hook is no longer called when the CXL FLASH device is not enabled.
    • The Enhanced Error Handling (EEH) mechanism now evaluates the CXL FLASH device state to avoid EEH and host reset collisions.
    • The EEH recovery time has been improved. This content is not included.BZ#1402442
  • Previously, the derivation of the Last Level Cache ID represented by the cpu_llc_id parameter had an underflow bug when extracting the socket_id value on AMD Family 17h systems. Consequently, the scheduling topology was corrupted. This update fixes the underlying source code, and the scheduling topology is no longer corrupted by an invalid cpu_llc_id value. This content is not included.BZ#1402444

  • Previously, booting a kdump kernel in some cases failed with this error:

    Kernel panic - not syncing: Watchdog detected hard LOCKUP on CPU 0.
    

    This update ensures that the hpet timer software counters, including hpet_default_delta and hpet_t1_cmp, are initialized before an interrupt request is registered, and the kdump kernel now boots without the mentioned error message. This content is not included.BZ#1404184

  • Previously, platform BIOS presented an _HPX object indicating that the Root Port under which the Mellanox device resided was capable of 128-byte Read Completion Boundaries (RCB). Consequently, the kernel modified the Mellanox device's RCB to 128, and the operating system failed to boot with the following error message:

    mlx4_core 0000:41:00.0: command 0xfff timed out (go bit not cleared)
    mlx4_core 0000:41:00.0: device is going to be reset
    systemd_udevd [866]: worker [884] /devices/pci0000:40/0000:40:02.0/0000:41:00.0 is taking a long time 
    

    This update fixes handling of _HPX objects in the kernel, and the operating system now boots as expected in the described scenario. This content is not included.BZ#1406290

  • When a macvlan interface was created on the top of a bonding interface, the netns feature for the macvlan interface was inherited from a lower device. Consequently, the macvlan interface could not be moved to another network namespace. With this update, the underlying source code has been fixed to not inherit netns from a lower device. As a result, the macvlan interface created on the top of a bonding interface can now be moved to another network namespace. This content is not included.BZ#1409829

  • Previously, the kernel was sending a Transmission Control Protocol (TCP) window which had a size of zero for a socket with an empty receive queue. Consequently, the TCP session became unresponsive. This update fixes the ibmveth driver to set correct values of the gso_size and gso_type variables and to calculate the value of the gso_segs variable for large packets. As a result, the TCP session no longer hangs in the described scenario. This content is not included.BZ#1411382

  • Previously, aborting a command on the nvme driver led to a kernel crash, because certain request fields were not properly initialized. With this update, nvme has been fixed, and the kernel crash no longer occurs under the described circumstances. This content is not included.BZ#1411669

  • Previously, the khelper workqueue ignored the global workqueue affinity mask set in the /sys/devices/virtual/workqueue/cpumask file.
    Consequently, programs executed by the usermodehelper API were executed on any CPU on the system in case that the isolcpus parameter was not used. This could cause an unexpected jitter on some CPUs during certain system operations, such as module loading and cgroups handling. This update changes the usermodehelper API logic to respect the CPU mask set in /sys/devices/workqueue/cpumask. As a result, programs executed by the usermodehelper API now run only on the specified CPU mask. This content is not included.BZ#1411816

  • Previously, launching the PowerVM NovaLink software interface on an IBMi virtual machine (VM) led to a soft lockup with the following error message:

    kernel:NMI watchdog: BUG: soft lockup - CPU stuck for 22s!
    

    With this update, the slip module has been fixed, and the soft lockup no longer occurs in the described scenario. This content is not included.BZ#1412225

  • This update adds the graphics support for the Intel Xeon processor v6 product families. This content is not included.BZ#1413092

  • When using the curl or wget command to download large files with a size of several megabytes on Intel X710 NIC hardware, the dowloaded files became corrupted. This update fixes the i40e driver, and large files are no longer corrupted when downloaded with curl or wget. This content is not included.BZ#1413101

  • Previously, the kernel did not detect memory properly due to an incorrect sanity check. Consequently, a kernel crash sometimes occurred, when the "vmalloc=" kernel parameter in the /etc/zipl.conf file was specified. With this update, the sanity check has been corrected, and the kernel no longer crashes under the described circumstances. This content is not included.BZ#1413600

  • Previously, Red Hat Enterprise Linux 7.3 failed to boot on systems with memory of size higher than 9 terabytes due to memory exhaustion. The underlying source code has been fixed to initialise more memory for inode and dentry hash tables in the early phase of boot. As a result, large memory systems now boot as expected. This content is not included.BZ#1413623

  • Previously, the operating system sometimes became unresponsive due to the be2iscsi driver errors. With this update, be2iscsi has been fixed, and the operating system no longer hangs due to be2iscsi errors. This content is not included.BZ#1414687

  • This update adds support for the Intel Xeon processor v6 product families and the Intel 200 series chipset Platform Controller Hub (PCH). This content is not included.BZ#1415094

  • When the superpipe lun mode was disabled for a Coherent Accelerator Processor Interface (CAPI) flash device, the cxlflash driver sometimes entered into an inconsistent state due to the Logical Unit Number (LUN) table. Consequently, a kernel crash occurred during an error recovery operation. This update fixes the local LUN information structure of cxlflash to reflect the state of the LUN table, and the kernel no longer crashes due to an inconsistent state of cxlflash.
    Additionally, when the CAPI flash device was overloaded, the cxlflash driver did not properly lock the communication with the device. Consequently, a command room violation interrupt occasionally occurred and the commands were dropped. With this update, cxlflash has been fixed to not send more commands than the command room size. As a result, the commands are no longer dropped in the described situation. This content is not included.BZ#1415146

  • When updating the number of requests associated with a request queue, the block layer did not check for a valid hardware context tag before updating the queue depth. Consequently, the kernel could access a NULL pointer, which led to a kernel crash. This update adds the block layer check, and the kernel no longer crashes under the described circumstances. This content is not included.BZ#1416133

  • When the operating system was booted with the MegaRAID SAS controller card, a kernel panic occurred with certain setups. This update fixes the megaraid_sas driver to not send Interrupt Requests (IRQ) before the driver structures are allocated. As a result, the kernel no longer panics under the described circumstances. This content is not included.BZ#1394711

Article Type