Security update for the Linux Kernel

SUSE Security Update: Security update for the Linux Kernel
Announcement ID: SUSE-SU-2019:0801-1
Rating: important
References: #1012382 #1020413 #1065600 #1070767 #1075697 #1082943 #1087092 #1090435 #1102959 #1103429 #1106929 #1109137 #1109248 #1119019 #1119843 #1120691 #1120902 #1121713 #1121805 #1124235 #1125315 #1125446 #1126389 #1126772 #1126773 #1126805 #1127082 #1127155 #1127561 #1127725 #1127731 #1127961 #1128166 #1128452 #1128565 #1128696 #1128756 #1128893 #1129080 #1129179 #1129237 #1129238 #1129239 #1129240 #1129241 #1129413 #1129414 #1129415 #1129416 #1129417 #1129418 #1129419 #1129581 #1129770 #1129923
Cross-References: CVE-2019-2024 CVE-2019-9213
Affected Products:
  • SUSE Linux Enterprise Workstation Extension 12-SP3
  • SUSE Linux Enterprise Software Development Kit 12-SP3
  • SUSE Linux Enterprise Server 12-SP3
  • SUSE Linux Enterprise Live Patching 12-SP3
  • SUSE Linux Enterprise High Availability 12-SP3
  • SUSE Linux Enterprise Desktop 12-SP3
  • SUSE CaaS Platform ALL
  • SUSE CaaS Platform 3.0

An update that solves two vulnerabilities and has 53 fixes is now available.

Description:



The SUSE Linux Enterprise 12 SP3 kernel was updated to 4.4.176 to receive various security and bugfixes.
The following security bugs were fixed:

  • CVE-2019-9213: expand_downwards in mm/mmap.c lacked a check for the mmap minimum address, which made it easier for attackers to exploit kernel NULL pointer dereferences on non-SMAP platforms. This is related to a capability check for the wrong task (bnc#1128166).
  • CVE-2019-2024: A use-after-free when disconnecting a source was fixed which could lead to crashes. bnc#1129179).

The following non-security bugs were fixed:
  • ax25: fix possible use-after-free (bnc#1012382).
  • block_dev: fix crash on chained bios with O_DIRECT (bsc#1090435).
  • block: do not use bio->bi_vcnt to figure out segment number (bsc#1128893).
  • bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces (bsc#1020413).
  • bpf: fix replace_map_fd_with_map_ptr's ldimm64 second imm field (bsc#1012382).
  • btrfs: ensure that a DUP or RAID1 block group has exactly two stripes (bsc#1128452).
  • ceph: avoid repeatedly adding inode to mdsc->snap_flush_list (bsc#1126773).
  • ch: add missing mutex_lock()/mutex_unlock() in ch_release() (bsc#1124235).
  • ch: fixup refcounting imbalance for SCSI devices (bsc#1124235).
  • copy_mount_string: Limit string length to PATH_MAX (bsc#1082943).
  • device property: Fix the length used in PROPERTY_ENTRY_STRING() (bsc#1129770).
  • drivers: hv: vmbus: Check for ring when getting debug info (bsc#1126389).
  • drm: Fix error handling in drm_legacy_addctx (bsc#1106929)
  • drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON (bsc#1106929)
  • drm/nouveau/pmu: do not print reply values if exec is false (bsc#1106929)
  • drm/radeon/evergreen_cs: fix missing break in switch statement (bsc#1106929)
  • drm/vmwgfx: Do not double-free the mode stored in par->set_mode (bsc#1103429)
  • enic: add wq clean up budget (bsc#1075697, bsc#1120691. bsc#1102959).
  • enic: do not overwrite error code (bnc#1012382).
  • fbdev: chipsfb: remove set but not used variable 'size' (bsc#1106929)
  • ibmvnic: Report actual backing device speed and duplex values (bsc#1129923).
  • ibmvscsi: Fix empty event pool access during host removal (bsc#1119019).
  • input: mms114 - fix license module information (bsc#1087092).
  • iommu/dmar: Fix buffer overflow during PCI bus notification (bsc#1129237).
  • iommu/io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables (bsc#1129238).
  • iommu/vt-d: Check identity map for hot-added devices (bsc#1129239).
  • iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() (bsc#1129240).
  • ixgbe: fix crash in build_skb Rx code path (git-fixes).
  • kabi: protect struct inet_peer (kabi).
  • kallsyms: Handle too long symbols in kallsyms.c (bsc#1126805).
  • KMPs: obsolete older KMPs of the same flavour (bsc#1127155, bsc#1109137).
  • kvm: arm/arm64: vgic-its: Check CBASER/BASER validity before enabling the ITS (bsc#1109248).
  • kvm: arm/arm64: vgic-its: Check GITS_BASER Valid bit before saving tables (bsc#1109248).
  • kvm: arm/arm64: vgic-its: Fix return value for device table restore (bsc#1109248).
  • kvm: arm/arm64: vgic-its: Fix vgic_its_restore_collection_table returned value (bsc#1109248).
  • kvm: nVMX: Do not halt vcpu when L1 is injecting events to L2 (bsc#1129413).
  • kvm: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails (bsc#1129414).
  • kvm: nVMX: NMI-window and interrupt-window exiting should wake L2 from HLT (bsc#1129415).
  • kvm: nVMX: Set VM instruction error for VMPTRLD of unbacked page (bsc#1129416).
  • kvm: VMX: Do not allow reexecute_instruction() when skipping MMIO instr (bsc#1129417).
  • kvm: vmx: Set IA32_TSC_AUX for legacy mode guests (bsc#1129418).
  • kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs (bsc#1127082).
  • kvm: x86: IA32_ARCH_CAPABILITIES is always supported (bsc#1129419).
  • libceph: handle an empty authorize reply (bsc#1126772).
  • mdio_bus: Fix use-after-free on device_register fails (git-fixes).
  • mfd: as3722: Handle interrupts on suspend (bnc#1012382).
  • mfd: as3722: Mark PM functions as __maybe_unused (bnc#1012382).
  • mISDN: fix a race in dev_expire_timer() (bnc#1012382).
  • mlxsw: pci: Correctly determine if descriptor queue is full (git-fixes).
  • mlxsw: reg: Use correct offset in field definiton (git-fixes).
  • mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL (bnc#1012382).
  • mm,memory_hotplug: fix scan_movable_pages() for gigantic hugepages (bsc#1127731).
  • net: Add header for usage of fls64() (bnc#1012382).
  • net: Do not allocate page fragments that are not skb aligned (bnc#1012382).
  • net: dsa: bcm_sf2: Do not assume DSA master supports WoL (git-fixes).
  • net: dsa: mv88e6xxx: fix port VLAN maps (git-fixes).
  • net: Fix for_each_netdev_feature on Big endian (bnc#1012382).
  • net: fix IPv6 prefix route residue (bnc#1012382).
  • net/hamradio/6pack: Convert timers to use timer_setup() (git-fixes).
  • net/hamradio/6pack: use mod_timer() to rearm timers (git-fixes).
  • net: ipv4: use a dedicated counter for icmp_v4 redirect packets (bnc#1012382).
  • net: lan78xx: Fix race in tx pending skb size calculation (git-fixes).
  • net/mlx4_core: drop useless LIST_HEAD (git-fixes).
  • net/mlx4_core: Fix qp mtt size calculation (git-fixes).
  • net/mlx4_core: Fix reset flow when in command polling mode (git-fixes).
  • net/mlx4: Fix endianness issue in qp context params (git-fixes).
  • net/mlx5: Continue driver initialization despite debugfs failure (git-fixes).
  • net/mlx5e: Fix TCP checksum in LRO buffers (git-fixes).
  • net/mlx5: Fix driver load bad flow when having fw initializing timeout (git-fixes).
  • net/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (git-fixes).
  • net/mlx5: Fix use-after-free in self-healing flow (git-fixes).
  • net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state (git-fixes).
  • net: mv643xx_eth: fix packet corruption with TSO and tiny unaligned packets (git-fixes).
  • net: phy: Avoid polling PHY with PHY_IGNORE_INTERRUPTS (git-fixes).
  • net: phy: bcm7xxx: Fix shadow mode 2 disabling (git-fixes).
  • net: qca_spi: Fix race condition in spi transfers (git-fixes).
  • net: stmmac: Fix a race in EEE enable callback (bnc#1012382).
  • net: stmmac: Fix a race in EEE enable callback (git-fixes).
  • net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue (git-fixes).
  • net/x25: do not hold the cpu too long in x25_new_lci() (bnc#1012382).
  • PCI/PME: Fix hotplug/sysfs remove deadlock in pcie_pme_remove() (bsc#1129241).
  • perf/x86: Add sysfs entry to freeze counters on SMI (bsc#1121805).
  • perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu() (bsc#1121805).
  • perf/x86/intel: Do not enable freeze-on-smi for PerfMon V1 (bsc#1121805).
  • perf/x86/intel: Fix memory corruption (bsc#1121805).
  • perf/x86/intel: Generalize dynamic constraint creation (bsc#1121805).
  • perf/x86/intel: Implement support for TSX Force Abort (bsc#1121805).
  • perf/x86/intel: Make cpuc allocations consistent (bsc#1121805).
  • phy: micrel: Ensure interrupts are reenabled on resume (git-fixes).
  • powerpc/pseries: Add CPU dlpar remove functionality (bsc#1128756).
  • powerpc/pseries: Consolidate CPU hotplug code to hotplug-cpu.c (bsc#1128756).
  • powerpc/pseries: Factor out common cpu hotplug code (bsc#1128756).
  • powerpc/pseries: Perform full re-add of CPU for topology update post-migration (bsc#1128756).
  • pppoe: fix reception of frames with no mac header (git-fixes).
  • pptp: dst_release sk_dst_cache in pptp_sock_destruct (git-fixes).
  • pseries/energy: Use OF accessor function to read ibm,drc-indexes (bsc#1129080).
  • rdma/bnxt_re: Synchronize destroy_qp with poll_cq (bsc#1125446).
  • Revert "mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL" (bnc#1012382).
  • Revert "x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls" (bsc#1128565).
  • s390/qeth: cancel close_dev work before removing a card (LTC#175898, bsc#1127561).
  • scsi: aacraid: Fix missing break in switch statement (bsc#1128696).
  • scsi: ibmvscsi: Fix empty event pool access during host removal (bsc#1119019).
  • scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid (bsc#1127725).
  • scsi: qla2xxx: Fix early srb free on abort (bsc#1121713).
  • scsi: qla2xxx: Fix for double free of SRB structure (bsc#1121713).
  • scsi: qla2xxx: Increase abort timeout value (bsc#1121713).
  • scsi: qla2xxx: Move {get|rel}_sp to base_qpair struct (bsc#1121713).
  • scsi: qla2xxx: Return switch command on a timeout (bsc#1121713).
  • scsi: qla2xxx: Turn off IOCB timeout timer on IOCB completion (bsc#1121713).
  • scsi: qla2xxx: Use correct qpair for ABTS/CMD (bsc#1121713).
  • scsi: sym53c8xx: fix NULL pointer dereference panic in sym_int_sir() (bsc#1125315).
  • sky2: Increase D3 delay again (bnc#1012382).
  • tcp: clear icsk_backoff in tcp_write_queue_purge() (bnc#1012382).
  • tcp: tcp_v4_err() should be more careful (bnc#1012382).
  • team: avoid complex list operations in team_nl_cmd_options_set() (bnc#1012382).
  • team: Free BPF filter when unregistering netdev (git-fixes).
  • tracing: Do not free iter->trace in fail path of tracing_open_pipe() (bsc#1129581).
  • vsock: cope with memory allocation failure at socket creation time (bnc#1012382).
  • vxlan: test dev->flags & IFF_UP before calling netif_rx() (bnc#1012382).
  • wireless: airo: potential buffer overflow in sprintf() (bsc#1120902).
  • x86: Add TSX Force Abort CPUID/MSR (bsc#1121805).
  • x86: Fix incorrect value for X86_FEATURE_TSX_FORCE_ABORT
  • x86: livepatch: Treat R_X86_64_PLT32 as R_X86_64_PC32 (bnc#1012382).
  • xen, cpu_hotplug: Prevent an out of bounds access (bsc#1065600).
  • xen: remove pre-xen3 fallback handlers (bsc#1065600).
  • xfs: remove filestream item xfs_inode reference (bsc#1127961).

Special Instructions and Notes:

Please reboot the system after installing this update.

Patch Instructions:

To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Linux Enterprise Workstation Extension 12-SP3:
    zypper in -t patch SUSE-SLE-WE-12-SP3-2019-801=1
  • SUSE Linux Enterprise Software Development Kit 12-SP3:
    zypper in -t patch SUSE-SLE-SDK-12-SP3-2019-801=1
  • SUSE Linux Enterprise Server 12-SP3:
    zypper in -t patch SUSE-SLE-SERVER-12-SP3-2019-801=1
  • SUSE Linux Enterprise Live Patching 12-SP3:
    zypper in -t patch SUSE-SLE-Live-Patching-12-SP3-2019-801=1
  • SUSE Linux Enterprise High Availability 12-SP3:
    zypper in -t patch SUSE-SLE-HA-12-SP3-2019-801=1
  • SUSE Linux Enterprise Desktop 12-SP3:
    zypper in -t patch SUSE-SLE-DESKTOP-12-SP3-2019-801=1
  • SUSE CaaS Platform ALL:
    To install this update, use the SUSE CaaS Platform Velum dashboard. It will inform you if it detects new updates and let you then trigger updating of the complete cluster in a controlled way.
  • SUSE CaaS Platform 3.0:
    To install this update, use the SUSE CaaS Platform Velum dashboard. It will inform you if it detects new updates and let you then trigger updating of the complete cluster in a controlled way.

Package List:

  • SUSE Linux Enterprise Workstation Extension 12-SP3 (x86_64):
    • kernel-default-debuginfo-4.4.176-94.88.1
    • kernel-default-debugsource-4.4.176-94.88.1
    • kernel-default-extra-4.4.176-94.88.1
    • kernel-default-extra-debuginfo-4.4.176-94.88.1
  • SUSE Linux Enterprise Software Development Kit 12-SP3 (aarch64 ppc64le s390x x86_64):
    • kernel-obs-build-4.4.176-94.88.1
    • kernel-obs-build-debugsource-4.4.176-94.88.1
  • SUSE Linux Enterprise Software Development Kit 12-SP3 (noarch):
    • kernel-docs-4.4.176-94.88.1
  • SUSE Linux Enterprise Server 12-SP3 (aarch64 ppc64le s390x x86_64):
    • kernel-default-4.4.176-94.88.1
    • kernel-default-base-4.4.176-94.88.1
    • kernel-default-base-debuginfo-4.4.176-94.88.1
    • kernel-default-debuginfo-4.4.176-94.88.1
    • kernel-default-debugsource-4.4.176-94.88.1
    • kernel-default-devel-4.4.176-94.88.1
    • kernel-syms-4.4.176-94.88.1
  • SUSE Linux Enterprise Server 12-SP3 (noarch):
    • kernel-devel-4.4.176-94.88.1
    • kernel-macros-4.4.176-94.88.1
    • kernel-source-4.4.176-94.88.1
  • SUSE Linux Enterprise Server 12-SP3 (s390x):
    • kernel-default-man-4.4.176-94.88.1
  • SUSE Linux Enterprise Live Patching 12-SP3 (ppc64le x86_64):
    • kgraft-patch-4_4_176-94_88-default-1-4.9.1
    • kgraft-patch-4_4_176-94_88-default-debuginfo-1-4.9.1
  • SUSE Linux Enterprise High Availability 12-SP3 (ppc64le s390x x86_64):
    • cluster-md-kmp-default-4.4.176-94.88.1
    • cluster-md-kmp-default-debuginfo-4.4.176-94.88.1
    • dlm-kmp-default-4.4.176-94.88.1
    • dlm-kmp-default-debuginfo-4.4.176-94.88.1
    • gfs2-kmp-default-4.4.176-94.88.1
    • gfs2-kmp-default-debuginfo-4.4.176-94.88.1
    • kernel-default-debuginfo-4.4.176-94.88.1
    • kernel-default-debugsource-4.4.176-94.88.1
    • ocfs2-kmp-default-4.4.176-94.88.1
    • ocfs2-kmp-default-debuginfo-4.4.176-94.88.1
  • SUSE Linux Enterprise Desktop 12-SP3 (noarch):
    • kernel-devel-4.4.176-94.88.1
    • kernel-macros-4.4.176-94.88.1
    • kernel-source-4.4.176-94.88.1
  • SUSE Linux Enterprise Desktop 12-SP3 (x86_64):
    • kernel-default-4.4.176-94.88.1
    • kernel-default-debuginfo-4.4.176-94.88.1
    • kernel-default-debugsource-4.4.176-94.88.1
    • kernel-default-devel-4.4.176-94.88.1
    • kernel-default-extra-4.4.176-94.88.1
    • kernel-default-extra-debuginfo-4.4.176-94.88.1
    • kernel-syms-4.4.176-94.88.1
  • SUSE CaaS Platform ALL (x86_64):
    • kernel-default-4.4.176-94.88.1
    • kernel-default-debuginfo-4.4.176-94.88.1
    • kernel-default-debugsource-4.4.176-94.88.1
  • SUSE CaaS Platform 3.0 (x86_64):
    • kernel-default-4.4.176-94.88.1
    • kernel-default-debuginfo-4.4.176-94.88.1
    • kernel-default-debugsource-4.4.176-94.88.1

References: