Security update for the Linux Kernel

Announcement ID: SUSE-SU-2018:1846-1
Rating: important
References:
Cross-References:
CVSS scores:
  • CVE-2018-1000199 ( SUSE ): 7.1 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H
  • CVE-2018-1000199 ( NVD ): 5.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
  • CVE-2018-10675 ( SUSE ): 5.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
  • CVE-2018-10675 ( NVD ): 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
  • CVE-2018-10675 ( NVD ): 7.8 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
  • CVE-2018-3639 ( SUSE ): 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
  • CVE-2018-3639 ( NVD ): 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
  • CVE-2018-3639 ( NVD ): 5.5 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
  • CVE-2018-3665 ( SUSE ): 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
  • CVE-2018-3665 ( NVD ): 5.6 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
Affected Products:
  • SUSE Linux Enterprise Real Time Extension 11 SP4

An update that solves four vulnerabilities and has 116 security fixes can now be installed.

Description:

The SUSE Linux Enterprise 11 SP4 kernel was updated to receive various security and bugfixes.

This new feature was added:

  • Btrfs: Remove empty block groups in the background

The following security bugs were fixed:

  • : Prevent disclosure of FPU registers (including XMM and AVX registers) between processes. These registers might contain encryption keys when doing SSE accelerated AES enc/decryption (bsc#1087086)
  • : Systems with microprocessors utilizing speculative execution and speculative execution of memory reads the addresses of all prior memory writes are known may have allowed unauthorized disclosure of information to an attacker with local user access via a side-channel analysis, aka Speculative Store Bypass (SSB), Variant 4 (bsc#1087082)
  • : Prevent vulnerability in modify_user_hw_breakpoint() that could have caused a crash and possibly memory corruption (bsc#1089895)
  • : The do_get_mempolicy function allowed local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via crafted system calls (bnc#1091755).

The following non-security bugs were fixed:

  • ALSA: timer: Fix pause event notification (bsc#973378).
  • Avoid quadratic search when freeing delegations (bsc#1084760).
  • Btrfs: Avoid trucating page or punching hole in a already existed hole (bsc#1088998).
  • Btrfs: Avoid truncate tailing page if fallocate range does not exceed inode size (bsc#1094424).
  • Btrfs: Fix lost-data-profile caused by auto removing bg
  • Btrfs: Fix misuse of chunk mutex
  • Btrfs: Fix out-of-space bug (bsc#1089231).
  • Btrfs: Set relative data on clear btrfs_block_group_cache->pinned
  • Btrfs: Use ref_cnt for set_block_group_ro() (bsc#1089239).
  • Btrfs: add alloc_fs_devices and switch to it (bsc#1089205).
  • Btrfs: add btrfs_alloc_device and switch to it (bsc#1089204).
  • Btrfs: add missing discards when unpinning extents with -o discard
  • Btrfs: add missing inode update when punching hole (bsc#1089006).
  • Btrfs: add support for asserts (bsc#1089207).
  • Btrfs: avoid syncing log in the fast fsync path when not necessary (bsc#1089010).
  • Btrfs: btrfs_issue_discard ensure offset/length are aligned to sector boundaries
  • Btrfs: check pending chunks when shrinking fs to avoid corruption (bsc#1089235).
  • Btrfs: cleanup backref search commit root flag stuff (bsc#1089200).
  • Btrfs: do not leak transaction in btrfs_sync_file() (bsc#1089210).
  • Btrfs: do not mix the ordered extents of all files together during logging the inodes (bsc#1089214).
  • Btrfs: do not remove extents and xattrs when logging new names (bsc#1089005).
  • Btrfs: eliminate races in worker stopping code (bsc#1089211).
  • Btrfs: ensure deletion from pinned_chunks list is protected
  • Btrfs: fix -ENOSPC on block group removal
  • Btrfs: fix -ENOSPC when finishing block group creation
  • Btrfs: fix NULL pointer crash when running balance and scrub concurrently (bsc#1089220).
  • Btrfs: fix chunk allocation regression leading to transaction abort (bsc#1089236).
  • Btrfs: fix crash caused by block group removal
  • Btrfs: fix data loss in the fast fsync path (bsc#1089007).
  • Btrfs: fix deadlock caused by fsync when logging directory entries (bsc#1093194).
  • Btrfs: fix directory inconsistency after fsync log replay (bsc#1089001).
  • Btrfs: fix directory recovery from fsync log (bsc#1088999).
  • Btrfs: fix empty symlink after creating symlink and fsync parent dir (bsc#1093195).
  • Btrfs: fix file loss on log replay after renaming a file and fsync (bsc#1093196).
  • Btrfs: fix file/data loss caused by fsync after rename and new inode (bsc#1089241).
  • Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole (bsc#1089232).
  • Btrfs: fix fitrim discarding device area reserved for boot loader's use
  • Btrfs: fix freeing used extent after removing empty block group
  • Btrfs: fix freeing used extents after removing empty block group
  • Btrfs: fix fs mapping extent map leak (bsc#1089229).
  • Btrfs: fix fsync data loss after a ranged fsync (bsc#1089221).
  • Btrfs: fix fsync data loss after adding hard link to inode (bsc#1089004).
  • Btrfs: fix fsync data loss after append write (bsc#1089238).
  • Btrfs: fix fsync log replay for inodes with a mix of regular refs and extrefs (bsc#1089003).
  • Btrfs: fix fsync race leading to invalid data after log replay (bsc#1089000).
  • Btrfs: fix fsync when extend references are added to an inode (bsc#1089002).
  • Btrfs: fix fsync xattr loss in the fast fsync path (bsc#1094423).
  • Btrfs: fix invalid extent maps due to hole punching (bsc#1094425).
  • Btrfs: fix kernel oops while reading compressed data (bsc#1089192).
  • Btrfs: fix log replay failure after linking special file and fsync (bsc#1089016).
  • Btrfs: fix memory leak after block remove + trimming
  • Btrfs: fix metadata inconsistencies after directory fsync (bsc#1093197).
  • Btrfs: fix race between balance and unused block group deletion (bsc#1089237).
  • Btrfs: fix race between fs trimming and block group remove/allocation
  • Btrfs: fix race between scrub and block group deletion
  • Btrfs: fix race between transaction commit and empty block group removal
  • Btrfs: fix race conditions in BTRFS_IOC_FS_INFO ioctl (bsc#1089206).
  • Btrfs: fix racy system chunk allocation when setting block group ro (bsc#1089233).
  • Btrfs: fix regression in raid level conversion (bsc#1089234).
  • Btrfs: fix skipped error handle when log sync failed (bsc#1089217).
  • Btrfs: fix stale dir entries after removing a link and fsync (bsc#1089011).
  • Btrfs: fix the number of transaction units needed to remove a block group
  • Btrfs: fix the skipped transaction commit during the file sync (bsc#1089216).
  • Btrfs: fix uninitialized variable warning in __extent_writepage Fixes fs/btrfs/extent_io.c:2861: warning: 'ret' may be used uninitialized in this function
  • Btrfs: fix unprotected alloc list insertion during the finishing procedure of replace (bsc#1089215).
  • Btrfs: fix unprotected assignment of the target device (bsc#1089222).
  • Btrfs: fix unprotected deletion from pending_chunks list
  • Btrfs: fix unprotected device list access when getting the fs information (bsc#1089228).
  • Btrfs: fix unprotected device's variants on 32bits machine (bsc#1089227).
  • Btrfs: fix unprotected device->bytes_used update (bsc#1089225).
  • Btrfs: fix unreplayable log after snapshot delete + parent dir fsync (bsc#1089240).
  • Btrfs: fix up read_tree_block to return proper error (bsc#1080837).
  • Btrfs: fix wrong device bytes_used in the super block (bsc#1089224).
  • Btrfs: fix wrong disk size when writing super blocks (bsc#1089223).
  • Btrfs: fix xattr loss after power failure (bsc#1094436).
  • Btrfs: handle non-fatal errors in btrfs_qgroup_inherit() (bsc#1089013).
  • Btrfs: initialize the seq counter in struct btrfs_device (bsc#1094437).
  • Btrfs: iterate over unused chunk space in FITRIM
  • Btrfs: make btrfs_issue_discard return bytes discarded
  • Btrfs: make btrfs_search_forward return with nodes unlocked (bsc#1094422).
  • Btrfs: make sure to copy everything if we rename (bsc#1088997).
  • Btrfs: make the chunk allocator completely tree lockless (bsc#1089202).
  • Btrfs: move btrfs_truncate_page to btrfs_cont_expand instead of btrfs_truncate (bsc#1089201).
  • Btrfs: nuke write_super from comments (bsc#1089199).
  • Btrfs: only drop modified extents if we logged the whole inode (bsc#1089213).
  • Btrfs: only update disk_i_size as we remove extents (bsc#1089209).
  • Btrfs: qgroup: return EINVAL if level of parent is not higher than child's (bsc#1089012).
  • Btrfs: remove deleted xattrs on fsync log replay (bsc#1089008).
  • Btrfs: remove empty block groups automatically
  • Btrfs: remove non-sense btrfs_error_discard_extent() function (bsc#1089230).
  • Btrfs: remove parameter blocksize from read_tree_block (bsc#1080837).
  • Btrfs: remove transaction from send (bsc#1089218).
  • Btrfs: remove unnecessary locking of cleaner_mutex to avoid deadlock
  • Btrfs: remove unused max_key arg from btrfs_search_forward (bsc#1094421).
  • Btrfs: return an error from btrfs_wait_ordered_range (bsc#1089212).
  • Btrfs: set inode's logged_trans/last_log_commit after ranged fsync (bsc#1093198).
  • Btrfs: skip superblocks during discard
  • Btrfs: stop refusing the relocation of chunk 0 (bsc#1089208).
  • Btrfs: update free_chunk_space during allocting a new chunk (bsc#1089226).
  • Btrfs: use global reserve when deleting unused block group after ENOSPC
  • Btrfs: use nodesize everywhere, kill leafsize (bsc#1080837).
  • Btrfs: wait ordered range before doing direct io (bsc#1089203).
  • Fix for bsc#1092497
  • HID: roccat: prevent an out of bounds read in kovaplus_profile_activated() (bsc#1087092).
  • IB/mlx4: Convert slave port before building address-handle (bug#919382).
  • KABI protect struct _lowcore (bsc#1089386).
  • KVM: x86: Sync back MSR_IA32_SPEC_CTRL to VCPU data structure (bsc#1096242, bsc#1096281).
  • NFS: add nostatflush mount option (bsc#1065726).
  • NFS: allow flush-on-stat to be disabled (bsc#1065726).
  • Refresh patches.arch/14.1-x86-retpoline-fill-rsb-on-context-switch-for-affected-cpus.patch. Fix bnc#1097948.
  • Revert "NFS: allow flush-on-stat to be disabled (bsc#1065726)."
  • USB: Accept bulk endpoints with 1024-byte maxpacket (bsc#1090888).
  • USB: hub: fix SS hub-descriptor handling (bsc#1092372).
  • Update config files, add Spectre mitigation for s390x (bnc#1089386, ).
  • Update s390 config files (bsc#1089386).
  • Xen counterparts of eager FPU implementation.
  • balloon: do not BUG() when balloon is empty (bsc#1083347).
  • cifs: fix crash due to race in hmac(md5) handling (bsc#1091671).
  • config.sh: set BUGZILLA_PRODUCT for SLE11-SP4
  • constraints: ppc64 does not build with 2.5G memory
  • fanotify: fix logic of events on child (bsc#1013018).
  • fs: btrfs: volumes.c: Fix for possible null pointer dereference (bsc#1089219).
  • ipc/msg: Fix faulty parsing of msgctl args (bsc#1093600,bsc#1072689).
  • kABI: work around BPF SSBD removal (bsc#1087082).
  • kernel: Fix memory leak on EP11 target list processing (bnc#1096746, ).
  • kvm/powerpc: Add new ioctl to retreive server MMU infos (bsc#1094244).
  • kvm/x86: fix icebp instruction handling (bsc#1087088).
  • mm, page_alloc: do not break __GFP_THISNODE by zonelist reset (bsc#1079152, VM Functionality).
  • mmc: jz4740: Fix race condition in IRQ mask update (bsc#1090888).
  • module: Fix locking in symbol_put_addr() (bsc#1097445).
  • netfront: make req_prod check properly deal with index wraps (bsc#1046610).
  • ocfs2/dlm: Fix up kABI in dlm_ctxt (bsc#1070404).
  • ocfs2/dlm: wait for dlm recovery done when migrating all lock resources (bsc#1013018).
  • powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits (bsc#1087082).
  • powerpc/64: Use barrier_nospec in syscall entry (bsc#1068032, bsc#1080157).
  • powerpc/64s: Add barrier_nospec (bsc#1068032, bsc#1080157).
  • powerpc/64s: Add support for ori barrier_nospec patching (bsc#1068032, bsc#1080157).
  • powerpc/64s: Enable barrier_nospec based on firmware settings (bsc#1068032, bsc#1080157).
  • powerpc/64s: Enhance the information in cpu_show_meltdown() (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/64s: Enhance the information in cpu_show_spectre_v1() (bsc#1068032).
  • powerpc/64s: Fix compiler store ordering to SLB shadow area (bsc#1094244).
  • powerpc/64s: Fix section mismatch warnings from setup_rfi_flush() (bsc#1068032, bsc#1075087, bsc#1091041).
  • powerpc/64s: Improve RFI L1-D cache flush fallback (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/64s: Move cpu_show_meltdown() (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/64s: Patch barrier_nospec in modules (bsc#1068032, bsc#1080157).
  • powerpc/64s: Wire up cpu_show_spectre_v1() (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/64s: Wire up cpu_show_spectre_v2() (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/mm/hash: Add missing isync prior to kernel stack SLB switch (bsc#1094244).
  • powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/pseries: Define MCE error event section (bsc#1094244).
  • powerpc/pseries: Display machine check error details (bsc#1094244).
  • powerpc/pseries: Dump and flush SLB contents on SLB MCE errors (bsc#1094244).
  • powerpc/pseries: Fix clearing of security feature flags (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/pseries: Restore default security feature flags on setup (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/pseries: Set or clear security feature flags (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/pseries: Use the security flags in pseries_setup_rfi_flush() (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/pseries: convert rtas_log_buf to linear allocation (bsc#1094244).
  • powerpc/rfi-flush: Always enable fallback flush on pseries (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/rfi-flush: Differentiate enabled and patched flush types (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc: Add security feature flags for Spectre/Meltdown (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc: Fix /proc/cpuinfo revision for POWER9 DD2 (bsc#1093710).
  • powerpc: Move default security feature flags (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc: Move local setup.h declarations to arch includes (bsc#1068032, bsc#1075088, bsc#1091815).
  • powerpc: Use barrier_nospec in copy_from_user() (bsc#1068032, bsc#1080157).
  • qla2xxx: Mask off Scope bits in retry delay (bsc#1068054).
  • s390/cio: update chpid descriptor after resource accessibility event (bnc#1091659, ).
  • s390/cpum_sf: ensure sample frequency of perf event attributes is non-zero (bnc#1096746, ).
  • s390/dasd: fix IO error for newly defined devices (bnc#1091659, ).
  • s390/dasd: fix failing path verification (bnc#1096746, ).
  • s390/qdio: fix access to uninitialized qdio_q fields (bnc#1091659, ).
  • s390/qeth: on channel error, reject further cmd requests (bnc#1088343, ).
  • s390: add automatic detection of the spectre defense (bnc#1089386, ).
  • s390: add optimized array_index_mask_nospec (bnc#1089386, ).
  • s390: add sysfs attributes for spectre (bnc#1089386, ).
  • s390: correct module section names for expoline code revert (bsc#1089386).
  • s390: correct nospec auto detection init order (bnc#1089386, ).
  • s390: do not bypass BPENTER for interrupt system calls (bnc#1089386, ).
  • s390: fix retpoline build on 31bit (bsc#1089386).
  • s390: improve cpu alternative handling for gmb and nobp (bnc#1089386, ).
  • s390: introduce execute-trampolines for branches (bnc#1089386, ).
  • s390: move nobp parameter functions to nospec-branch.c (bnc#1089386, ).
  • s390: report spectre mitigation via syslog (bnc#1089386, ).
  • s390: run user space and KVM guests with modified branch prediction (bnc#1089386, ).
  • s390: scrub registers on kernel entry and KVM exit (bnc#1089386, ).
  • series.conf: fix the header It was corrupted back in 2015.
  • trace: module: Maintain a valid user count (bsc#1097443).
  • tracing: Create seq_buf layer in trace_seq (bsc#1091815).
  • x86, mce: Fix mce_start_timer semantics (bsc#1090607).
  • x86/Xen: disable IBRS around CPU stopper function invocation (none so far).
  • x86/boot: Fix early command-line parsing when partial word matches (bsc#1096140).
  • x86/bugs: correctly force-disable IBRS on !SKL systems (bsc#1092497).
  • x86/bugs: make intel_rds_mask() honor X86_FEATURE_SSBD (bsc#1094019).
  • x86/bugs: spec_ctrl must be cleared from cpu_caps_set when being disabled (bsc#1096140).
  • x86/entry/64: Do not use IST entry for #BP stack (bsc#1087088).
  • x86/kaiser: export symbol kaiser_set_shadow_pgd() (bsc#1090630)
  • x86/kaiser: symbol kaiser_set_shadow_pgd() exported with non GPL
  • x86: Fix /proc/mtrr with base/size more than 44bits (bsc#1052351).
  • xen-netfront: fix req_prod check to avoid RX hang when index wraps (bsc#1046610).
  • xen/x86/entry/64: Do not use IST entry for #BP stack (bsc#1087088).
  • xfs: avoid xfs_buf hang in lookup node directory corruption (bsc#989401).
  • xfs: fix buffer use after free on IO error (bsc#1052943).
  • xfs: only update the last_sync_lsn when a transaction completes (bsc#989401).
  • xfs: prevent recursion in xfs_buf_iorequest (bsc#1052943).

Special Instructions and Notes:

  • Please reboot the system after installing this update.

Patch Instructions:

To install this SUSE 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 Real Time Extension 11 SP4
    zypper in -t patch slertesp4-kernel-source-13686=1

Package List:

  • SUSE Linux Enterprise Real Time Extension 11 SP4 (nosrc x86_64)
    • kernel-rt-3.0.101.rt130-69.27.1
    • kernel-rt_trace-3.0.101.rt130-69.27.1
  • SUSE Linux Enterprise Real Time Extension 11 SP4 (x86_64)
    • kernel-source-rt-3.0.101.rt130-69.27.1
    • kernel-rt-devel-3.0.101.rt130-69.27.1
    • kernel-rt_trace-devel-3.0.101.rt130-69.27.1
    • kernel-rt_trace-base-3.0.101.rt130-69.27.1
    • kernel-syms-rt-3.0.101.rt130-69.27.1
    • kernel-rt-base-3.0.101.rt130-69.27.1

References: