SUSE Security Update: Security update for the Linux RT Kernel
______________________________________________________________________________

Announcement ID:    SUSE-SU-2021:3979-1
Rating:             important
References:         #1152489 #1169263 #1170269 #1184924 #1190523 
                    #1190795 #1191790 #1191961 #1192045 #1192217 
                    #1192273 #1192328 #1192375 #1192473 #1192691 
                    #1192718 #1192740 #1192745 #1192750 #1192753 
                    #1192758 #1192781 #1192802 #1192874 #1192896 
                    #1192906 #1192918 SLE-22573 
Cross-References:   CVE-2021-0941 CVE-2021-20322 CVE-2021-31916
                    CVE-2021-34981
CVSS scores:
                    CVE-2021-0941 (SUSE): 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
                    CVE-2021-20322 (SUSE): 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
                    CVE-2021-31916 (NVD) : 6.7 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
                    CVE-2021-31916 (SUSE): 6.8 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
                    CVE-2021-34981 (SUSE): 7.5 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

Affected Products:
                    SUSE MicroOS 5.1
                    SUSE Linux Enterprise Module for Realtime 15-SP3
______________________________________________________________________________

   An update that solves four vulnerabilities, contains one
   feature and has 23 fixes is now available.

Description:



   The SUSE Linux Enterprise 15 SP3 kernel was updated to receive various
   security and bugfixes.

   The following security bugs were fixed:

   - Unprivileged BPF has been disabled by default to reduce attack surface
     as too many security issues have happened in the past (jsc#SLE-22573)

     You can reenable via systemctl setting
   /proc/sys/kernel/unprivileged_bpf_disabled to 0.
   (kernel.unprivileged_bpf_disabled = 0)

   - CVE-2021-0941: In bpf_skb_change_head of filter.c, there is a possible
     out of bounds read due to a use after free. This could lead to local
     escalation of privilege with System execution privileges needed. User
     interaction is not needed for exploitation (bnc#1192045 ).
   - CVE-2021-31916: An out-of-bounds (OOB) memory write flaw was found in
     list_devices in drivers/md/dm-ioctl.c in the Multi-device driver module
     in the Linux kernel A bound check failure allowed an attacker with
     special user (CAP_SYS_ADMIN) privilege to gain access to out-of-bounds
     memory leading to a system crash or a leak of internal kernel
     information. The highest threat from this vulnerability is to system
     availability (bnc#1192781).
   - CVE-2021-20322: Make the ipv4 and ipv6 ICMP exception caches less
     predictive to avoid information leaks about UDP ports in use.
     (bsc#1191790)
   - CVE-2021-34981: Fixed file refcounting in cmtp when cmtp_attach_device
     fails  (bsc#1191961).

   The following non-security bugs were fixed:

   - ABI: sysfs-kernel-slab: Document some stats (git-fixes).
   - ALSA: hda: fix general protection fault in azx_runtime_idle (git-fixes).
   - ALSA: hda: Free card instance properly at probe errors (git-fixes).
   - ALSA: usb-audio: Add Audient iD14 to mixer map quirk table (git-fixes).
   - ALSA: usb-audio: Add minimal-mute notion in dB mapping table
     (bsc#1192375).
   - ALSA: usb-audio: Add Schiit Hel device to mixer map quirk table
     (git-fixes).
   - ALSA: usb-audio: Fix dB level of Bose Revolve+ SoundLink (bsc#1192375).
   - ALSA: usb-audio: Use int for dB map values (bsc#1192375).
   - ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE (bsc#1192473).
   - auxdisplay: ht16k33: Connect backlight to fbdev (git-fixes).
   - auxdisplay: ht16k33: Fix frame buffer device blanking (git-fixes).
   - auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string
     (git-fixes).
   - bpf, kconfig: Add consolidated menu entry for bpf with core options
     (jsc#SLE-22574).
   - bpf: Add kconfig knob for disabling unpriv bpf by default (jsc#SLE-22573)
   - bpf: Add kconfig knob for disabling unpriv bpf by default (jsc#SLE-22574)
   - bpf: Disallow unprivileged bpf by default (jsc#SLE-22573).
   - bpf: Disallow unprivileged bpf by default (jsc#SLE-22574).
   - bpf: Fix BPF_JIT kconfig symbol dependency (git-fixes jsc#SLE-22574).
   - bpf: Fix potential race in tail call compatibility check (git-fixes).
   - btrfs: block-group: Rework documentation of check_system_chunk function
     (bsc#1192896).
   - btrfs: fix deadlock between chunk allocation and chunk btree
     modifications (bsc#1192896).
   - btrfs: fix memory ordering between normal and ordered work functions
     (git-fixes).
   - btrfs: update comments for chunk allocation -ENOSPC cases (bsc#1192896).
   - cgroup/cpuset: Change references of cpuset_mutex to cpuset_rwsem
     (git-fixes).
   - config: disable unprivileged BPF by default (jsc#SLE-22573) Backport of
     mainline commit 8a03e56b253e ("bpf: Disallow unprivileged bpf by
     default") only changes kconfig default, used e.g. for "make oldconfig"
     when the config option is missing, but does not update our kernel
     configs used for build. Update also these to make sure unprivileged BPF
     is really disabled by default.
   - crypto: caam - disable pkc for non-E SoCs (git-fixes).
   - crypto: qat - detect PFVF collision after ACK (git-fixes).
   - crypto: qat - disregard spurious PFVF interrupts (git-fixes).
   - drm/i915: Introduce intel_hpd_hotplug_irqs() (bsc#1192758).
   - drm: prevent spectre issue in vmw_execbuf_ioctl (bsc#1192802).
   - e1000e: Separate TGP board type from SPT (bsc#1192874).
   - EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell
     (bsc#1152489).
   - Eradicate Patch-mainline: No The pre-commit check can reject this
     deprecated tag then.
   - exfat: fix erroneous discard when clear cluster bit (git-fixes).
   - exfat: handle wrong stream entry size in exfat_readdir() (git-fixes).
   - exfat: properly set s_time_gran (bsc#1192328).
   - exfat: truncate atimes to 2s granularity (bsc#1192328).
   - Fix problem with missing installkernel on Tumbleweed.
   - fuse: fix page stealing (bsc#1192718).
   - gpio/rockchip: add driver for rockchip gpio (bsc#1192217).
   - gpio/rockchip: drop irq_gc_lock/irq_gc_unlock for irq set type
     (bsc#1192217).
   - gpio/rockchip: extended debounce support is only available on v2
     (bsc#1192217).
   - gpio/rockchip: fetch deferred output settings on probe (bsc#1192217).
   - gpio/rockchip: fix get_direction value handling (bsc#1192217).
   - gpio/rockchip: support next version gpio controller (bsc#1192217).
   - gpio/rockchip: use struct rockchip_gpio_regs for gpio controller
     (bsc#1192217).
   - gpio: mpc8xxx: Use 'devm_gpiochip_add_data()' to simplify the code and
     avoid a leak (git-fixes).
   - HID: u2fzero: clarify error check and length calculations (git-fixes).
   - HID: u2fzero: properly handle timeouts in usb_submit_urb (git-fixes).
   - ibmvnic: check failover_pending in login response (bsc#1190523
     ltc#194510).
   - ibmvnic: do not stop queue in xmit (bsc#1192273 ltc#194629).
   - ibmvnic: Process crqs after enabling interrupts (bsc#1192273 ltc#194629).
   - iio: dac: ad5446: Fix ad5622_write() return value (git-fixes).
   - Input: elantench - fix misreporting trackpoint coordinates (bsc#1192918).
   - kernel-*-subpackage: Add dependency on kernel scriptlets (bsc#1192740).
   - mm/hugetlb: initialize hugetlb_usage in mm_init (bsc#1192906).
   - Move upstreamed sound fix into sorted section
   - net/smc: Correct smc link connection counter in case of smc client
     (git-fixes).
   - net/smc: fix 'workqueue leaked lock' in smc_conn_abort_work (git-fixes).
   - net: dsa: felix: re-enable TX flow control in ocelot_port_flush()
     (git-fixes).
   - net: mscc: ocelot: fix hardware timestamp dequeue logic.
   - net: mscc: ocelot: warn when a PTP IRQ is raised for an unknown skb
     (git-fixes).
   - net: stmmac: add EHL 2.5Gbps PCI info and PCI ID (bsc#1192691).
   - net: stmmac: add EHL PSE0 and PSE1 1Gbps PCI info and PCI ID
     (bsc#1192691).
   - net: stmmac: add EHL RGMII 1Gbps PCI info and PCI ID (bsc#1192691).
   - net: stmmac: add EHL SGMII 1Gbps PCI info and PCI ID (bsc#1192691).
   - net: stmmac: add TGL SGMII 1Gbps PCI info and PCI ID (bsc#1192691).
   - net: stmmac: create dwmac-intel.c to contain all Intel platform
     (bsc#1192691).
   - net: stmmac: pci: Add HAPS support using GMAC5 (bsc#1192691).
   - ocfs2: do not zero pages beyond i_size (bsc#1190795).
   - ocfs2: fix data corruption on truncate (bsc#1190795).
   - PCI/ACPI: Check for _OSC support in acpi_pci_osc_control_set()
     (bsc#1169263).
   - PCI/ACPI: Clarify message about _OSC failure (bsc#1169263).
   - PCI/ACPI: Move _OSC query checks to separate function (bsc#1169263).
   - PCI/ACPI: Move supported and control calculations to separate functions
     (bsc#1169263).
   - PCI/ACPI: Remove OSC_PCI_SUPPORT_MASKS and OSC_PCI_CONTROL_MASKS
     (bsc#1169263).
   - PCI/ACPI: Remove unnecessary osc_lock (bsc#1169263).
   - PCI: aardvark: Do not clear status bits of masked interrupts (git-fixes).
   - PCI: aardvark: Do not spam about PIO Response Status (git-fixes).
   - PCI: aardvark: Do not unmask unused interrupts (git-fixes).
   - PCI: aardvark: Fix checking for link up via LTSSM state (git-fixes).
   - PCI: aardvark: Fix reporting Data Link Layer Link Active (git-fixes).
   - PCI: aardvark: Fix return value of MSI domain .alloc() method
     (git-fixes).
   - PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG (git-fixes).
   - PCI: pci-bridge-emul: Fix emulation of W1C bits (git-fixes).
   - PCI: uniphier: Serialize INTx masking/unmasking and fix the bit
     operation (git-fixes).
   - pinctrl/rockchip: add a queue for deferred pin output settings on probe
     (bsc#1192217).
   - pinctrl/rockchip: add pinctrl device to gpio bank struct (bsc#1192217).
   - pinctrl/rockchip: always enable clock for gpio controller (bsc#1192217).
   - pinctrl/rockchip: drop the gpio related codes (bsc#1192217).
   - pinctrl/rockchip: separate struct rockchip_pin_bank to a head file
     (bsc#1192217).
   - pinctrl: core: fix possible memory leak in pinctrl_enable() (git-fixes).
   - pinctrl: pinctrl-rockchip: Fix a bunch of kerneldoc misdemeanours
     (bsc#1192217).
   - pinctrl: rockchip: add rk3308 SoC support (bsc#1192217).
   - pinctrl: rockchip: add support for rk3568 (bsc#1192217).
   - pinctrl: rockchip: clear int status when driver probed (bsc#1192217).
   - pinctrl: rockchip: create irq mapping in gpio_to_irq (bsc#1192217).
   - pinctrl: rockchip: do coding style for mux route struct (bsc#1192217).
   - pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq
     (bsc#1192217).
   - pinctrl: rockchip: make driver be tristate module (bsc#1192217).
   - pinctrl: rockchip: Replace HTTP links with HTTPS ones (bsc#1192217).
   - pinctrl: rockchip: return ENOMEM instead of EINVAL if allocation fails
     (bsc#1192217).
   - power: supply: bq27xxx: Fix kernel crash on IRQ handler register error
     (git-fixes).
   - power: supply: max17042_battery: Prevent int underflow in
     set_soc_threshold (git-fixes).
   - power: supply: max17042_battery: use VFSOC for capacity when no rsns
     (git-fixes).
   - power: supply: rt5033-battery: Change voltage values to 5V (git-fixes).
   - printk/console: Allow to disable console output by using console="" or
     console=null (bsc#1192753).
   - printk: handle blank console arguments passed in (bsc#1192753).
   - qtnfmac: fix potential Spectre vulnerabilities (bsc#1192802).
   - r8152: add a helper function about setting EEE (git-fixes).
   - r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2
     (git-fixes).
   - r8152: Disable PLA MCU clock speed down (git-fixes).
   - r8152: disable U2P3 for RTL8153B (git-fixes).
   - r8152: divide the tx and rx bottom functions (git-fixes).
   - r8152: do not enable U1U2 with USB_SPEED_HIGH for RTL8153B (git-fixes).
   - r8152: fix runtime resume for linking change (git-fixes).
   - r8152: replace array with linking list for rx information (git-fixes).
   - r8152: reset flow control patch when linking on for RTL8153B (git-fixes).
   - r8152: saving the settings of EEE (git-fixes).
   - r8152: separate the rx buffer size (git-fixes).
   - r8152: use alloc_pages for rx buffer (git-fixes).
   - random: fix crash on multiple early calls to add_bootloader_randomness()
     (bsc#1184924)
   - Revert "ibmvnic: check failover_pending in login response" (bsc#1190523
     ltc#194510).
   - Revert "platform/x86: i2c-multi-instantiate: Do not create platform
     device for INT3515 ACPI nodes" (git-fixes).
   - Revert "r8152: adjust the settings about MAC clock speed down for
     RTL8153" (git-fixes).
   - Revert "scsi: ufs: fix a missing check of devm_reset_control_get"
     (git-fixes).
   - Revert "x86/kvm: fix vcpu-id indexed array sizes" (git-fixes).
   - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
     (git-fixes).
   - s390/dasd: fix use after free in dasd path handling (git-fixes).
   - s390/pci: fix use after free of zpci_dev (git-fixes).
   - s390/pci: fix zpci_zdev_put() on reserve (git-fixes).
   - s390/qeth: fix deadlock during failing recovery (git-fixes).
   - s390/qeth: Fix deadlock in remove_discipline (git-fixes).
   - s390/qeth: fix NULL deref in qeth_clear_working_pool_list() (git-fixes).
   - s390/topology: clear thread/group maps for offline cpus (git-fixes).
   - scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
     (git-fixes).
   - scsi: BusLogic: Fix missing pr_cont() use (git-fixes).
   - scsi: core: Fix spelling in a source code comment (git-fixes).
   - scsi: csiostor: Add module softdep on cxgb4 (git-fixes).
   - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
     (git-fixes).
   - scsi: dc395: Fix error case unwinding (git-fixes).
   - scsi: fdomain: Fix error return code in fdomain_probe() (git-fixes).
   - scsi: FlashPoint: Rename si_flags field (git-fixes).
   - scsi: iscsi: Fix iface sysfs attr detection (git-fixes).
   - scsi: libsas: Use _safe() loop in sas_resume_port() (git-fixes).
   - scsi: mpt3sas: Fix error return value in _scsih_expander_add()
     (git-fixes).
   - scsi: qedf: Add pointer checks in qedf_update_link_speed() (git-fixes).
   - scsi: qedf: Fix error codes in qedf_alloc_global_queues() (git-fixes).
   - scsi: qedi: Fix error codes in qedi_alloc_global_queues() (git-fixes).
   - scsi: qla2xxx: Fix a memory leak in an error path of
     qla2x00_process_els() (git-fixes).
   - scsi: qla2xxx: Make sure that aborted commands are freed (git-fixes).
   - scsi: smartpqi: Fix an error code in pqi_get_raid_map() (git-fixes).
   - scsi: snic: Fix an error message (git-fixes).
   - scsi: ufs-pci: Add quirk for broken auto-hibernate for Intel EHL
     (git-fixes).
   - scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer (git-fixes).
   - serial: 8250_dw: Drop wrong use of ACPI_PTR() (git-fixes).
   - serial: xilinx_uartps: Fix race condition causing stuck TX (git-fixes).
   - staging: r8712u: fix control-message timeout (git-fixes).
   - staging: rtl8192u: fix control-message timeouts (git-fixes).
   - stmmac: platform: Fix signedness bug in stmmac_probe_config_dt()
     (git-fixes).
   - tracing: Increase PERF_MAX_TRACE_SIZE to handle Sentinel1 and docker
     together (bsc#1192745).
   - Update config files: Add CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
   - Update config files: pull BPF configs together
   - usb: gadget: hid: fix error code in do_config() (git-fixes).
   - USB: iowarrior: fix control-message timeouts (git-fixes).
   - usb: max-3421: Use driver data instead of maintaining a list of bound
     devices (git-fixes).
   - usb: musb: Balance list entry in musb_gadget_queue (git-fixes).
   - USB: serial: keyspan: fix memleak on probe errors (git-fixes).
   - video: fbdev: chipsfb: use memset_io() instead of memset() (git-fixes).
   - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c
     (bsc#1152489).
   - x86/xen: Mark cpu_bringup_and_idle() as dead_end_function (git-fixes).
   - xen-pciback: Fix return in pm_ctrl_init() (git-fixes).
   - xen: Fix implicit type conversion (git-fixes).


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 MicroOS 5.1:

      zypper in -t patch SUSE-SUSE-MicroOS-5.1-2021-3979=1

   - SUSE Linux Enterprise Module for Realtime 15-SP3:

      zypper in -t patch SUSE-SLE-Module-RT-15-SP3-2021-3979=1



Package List:

   - SUSE MicroOS 5.1 (x86_64):

      kernel-rt-5.3.18-65.2
      kernel-rt-debuginfo-5.3.18-65.2
      kernel-rt-debugsource-5.3.18-65.2

   - SUSE Linux Enterprise Module for Realtime 15-SP3 (noarch):

      kernel-devel-rt-5.3.18-65.2
      kernel-source-rt-5.3.18-65.2

   - SUSE Linux Enterprise Module for Realtime 15-SP3 (x86_64):

      cluster-md-kmp-rt-5.3.18-65.2
      cluster-md-kmp-rt-debuginfo-5.3.18-65.2
      dlm-kmp-rt-5.3.18-65.2
      dlm-kmp-rt-debuginfo-5.3.18-65.2
      gfs2-kmp-rt-5.3.18-65.2
      gfs2-kmp-rt-debuginfo-5.3.18-65.2
      kernel-rt-5.3.18-65.2
      kernel-rt-debuginfo-5.3.18-65.2
      kernel-rt-debugsource-5.3.18-65.2
      kernel-rt-devel-5.3.18-65.2
      kernel-rt-devel-debuginfo-5.3.18-65.2
      kernel-rt_debug-debuginfo-5.3.18-65.2
      kernel-rt_debug-debugsource-5.3.18-65.2
      kernel-rt_debug-devel-5.3.18-65.2
      kernel-rt_debug-devel-debuginfo-5.3.18-65.2
      kernel-syms-rt-5.3.18-65.1
      ocfs2-kmp-rt-5.3.18-65.2
      ocfs2-kmp-rt-debuginfo-5.3.18-65.2


References:

   https://www.suse.com/security/cve/CVE-2021-0941.html
   https://www.suse.com/security/cve/CVE-2021-20322.html
   https://www.suse.com/security/cve/CVE-2021-31916.html
   https://www.suse.com/security/cve/CVE-2021-34981.html
   https://bugzilla.suse.com/1152489
   https://bugzilla.suse.com/1169263
   https://bugzilla.suse.com/1170269
   https://bugzilla.suse.com/1184924
   https://bugzilla.suse.com/1190523
   https://bugzilla.suse.com/1190795
   https://bugzilla.suse.com/1191790
   https://bugzilla.suse.com/1191961
   https://bugzilla.suse.com/1192045
   https://bugzilla.suse.com/1192217
   https://bugzilla.suse.com/1192273
   https://bugzilla.suse.com/1192328
   https://bugzilla.suse.com/1192375
   https://bugzilla.suse.com/1192473
   https://bugzilla.suse.com/1192691
   https://bugzilla.suse.com/1192718
   https://bugzilla.suse.com/1192740
   https://bugzilla.suse.com/1192745
   https://bugzilla.suse.com/1192750
   https://bugzilla.suse.com/1192753
   https://bugzilla.suse.com/1192758
   https://bugzilla.suse.com/1192781
   https://bugzilla.suse.com/1192802
   https://bugzilla.suse.com/1192874
   https://bugzilla.suse.com/1192896
   https://bugzilla.suse.com/1192906
   https://bugzilla.suse.com/1192918