Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2022-02-03 00:12:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Thu Feb  3 00:12:57 2022 rev:629 rq:950335 version:5.16.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes        
2022-01-26 21:26:25.922220942 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new.1898/dtb-aarch64.changes      
2022-02-03 00:12:58.763997003 +0100
@@ -1,0 +2,1790 @@
+Sat Jan 29 13:57:02 CET 2022 - jsl...@suse.cz
+
+- Linux 5.16.4 (bsc#1012628).
+- drm/amd/display: reset dcn31 SMU mailbox on failures
+  (bsc#1012628).
+- io_uring: fix not released cached task refs (bsc#1012628).
+- bnx2x: Utilize firmware 7.13.21.0 (bsc#1012628).
+- bnx2x: Invalidate fastpath HSI version for VFs (bsc#1012628).
+- memcg: better bounds on the memcg stats updates (bsc#1012628).
+- rcu: Tighten rcu_advance_cbs_nowake() checks (bsc#1012628).
+- select: Fix indefinitely sleeping task in
+  poll_schedule_timeout() (bsc#1012628).
+- arm64/bpf: Remove 128MB limit for BPF JIT programs
+  (bsc#1012628).
+- commit b146677
+
+-------------------------------------------------------------------
+Sat Jan 29 09:39:04 CET 2022 - ti...@suse.de
+
+- drm/vmwgfx: Fix stale file descriptors on failed usercopy
+  (CVE-2022-22942 bsc#1195065).
+- commit c31491c
+
+-------------------------------------------------------------------
+Fri Jan 28 09:44:58 CET 2022 - jsl...@suse.cz
+
+- Linux 5.16.3 (bsc#1012628).
+- KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU
+  (bsc#1012628).
+- KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock
+  (bsc#1012628).
+- HID: Ignore battery for Elan touchscreen on HP Envy X360
+  15t-dr100 (bsc#1012628).
+- HID: uhid: Fix worker destroying device without any protection
+  (bsc#1012628).
+- ALSA: core: Fix SSID quirk lookup for subvendor=0 (bsc#1012628).
+- cifs: free ntlmsspblob allocated in negotiate (bsc#1012628).
+- f2fs: fix to do sanity check on inode type during garbage
+  collection (bsc#1012628).
+- f2fs: fix to do sanity check in is_alive() (bsc#1012628).
+- f2fs: fix to do sanity check on last xattr entry in
+  __f2fs_setxattr() (bsc#1012628).
+- f2fs: avoid EINVAL by SBI_NEED_FSCK when pinning a file
+  (bsc#1012628).
+- nfc: llcp: fix NULL error pointer dereference on sendmsg()
+  after failed bind() (bsc#1012628).
+- mtd: rawnand: gpmi: Add ERR007117 protection for
+  nfc_apply_timings (bsc#1012628).
+- mtd: rawnand: gpmi: Remove explicit default gpmi clock setting
+  for i.MX6 (bsc#1012628).
+- mtd: Fixed breaking list in __mtd_del_partition (bsc#1012628).
+- mtd: rawnand: davinci: Don't calculate ECC when reading page
+  (bsc#1012628).
+- mtd: rawnand: davinci: Avoid duplicated page read (bsc#1012628).
+- mtd: rawnand: davinci: Rewrite function description
+  (bsc#1012628).
+- mtd: rawnand: Export nand_read_page_hwecc_oob_first()
+  (bsc#1012628).
+- mtd: rawnand: ingenic: JZ4740 needs 'oob_first' read page
+  function (bsc#1012628).
+- riscv: Get rid of MAXPHYSMEM configs (bsc#1012628).
+- RISC-V: Use common riscv_cpuid_to_hartid_mask() for both SMP=y
+  and SMP=n (bsc#1012628).
+- riscv: try to allocate crashkern region from 32bit addressible
+  memory (bsc#1012628).
+- riscv: Don't use va_pa_offset on kdump (bsc#1012628).
+- riscv: use hart id instead of cpu id on machine_kexec
+  (bsc#1012628).
+- riscv: mm: fix wrong phys_ram_base value for RV64 (bsc#1012628).
+- x86/gpu: Reserve stolen memory for first integrated Intel GPU
+  (bsc#1012628).
+- tools/nolibc: x86-64: Fix startup code bug (bsc#1012628).
+- crypto: x86/aesni - don't require alignment of data
+  (bsc#1012628).
+- tools/nolibc: i386: fix initial stack alignment (bsc#1012628).
+- tools/nolibc: fix incorrect truncation of exit code
+  (bsc#1012628).
+- rtc: cmos: take rtc_lock while reading from CMOS (bsc#1012628).
+- net: phy: marvell: add Marvell specific PHY loopback
+  (bsc#1012628).
+- ksmbd: uninitialized variable in create_socket() (bsc#1012628).
+- ksmbd: fix guest connection failure with nautilus (bsc#1012628).
+- ksmbd: add support for smb2 max credit parameter (bsc#1012628).
+- ksmbd: move credit charge deduction under processing request
+  (bsc#1012628).
+- ksmbd: limits exceeding the maximum allowable outstanding
+  requests (bsc#1012628).
+- ksmbd: add reserved room in ipc request/response (bsc#1012628).
+- media: cec: fix a deadlock situation (bsc#1012628).
+- media: ov8865: Disable only enabled regulators on error path
+  (bsc#1012628).
+- media: v4l2-ioctl.c: readbuffers depends on V4L2_CAP_READWRITE
+  (bsc#1012628).
+- media: flexcop-usb: fix control-message timeouts (bsc#1012628).
+- media: mceusb: fix control-message timeouts (bsc#1012628).
+- media: em28xx: fix control-message timeouts (bsc#1012628).
+- media: cpia2: fix control-message timeouts (bsc#1012628).
+- media: s2255: fix control-message timeouts (bsc#1012628).
+- media: dib0700: fix undefined behavior in tuner shutdown
+  (bsc#1012628).
+- media: redrat3: fix control-message timeouts (bsc#1012628).
+- media: pvrusb2: fix control-message timeouts (bsc#1012628).
+- media: stk1160: fix control-message timeouts (bsc#1012628).
+- media: cec-pin: fix interrupt en/disable handling (bsc#1012628).
+- can: softing_cs: softingcs_probe(): fix memleak on registration
+  failure (bsc#1012628).
+- mei: hbm: fix client dma reply status (bsc#1012628).
+- iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs
+  (bsc#1012628).
+- iio: trigger: Fix a scheduling whilst atomic issue seen on
+  tsc2046 (bsc#1012628).
+- lkdtm: Fix content of section containing
+  lkdtm_rodata_do_nothing() (bsc#1012628).
+- bus: mhi: pci_generic: Graceful shutdown on freeze
+  (bsc#1012628).
+- bus: mhi: core: Fix reading wake_capable channel configuration
+  (bsc#1012628).
+- bus: mhi: core: Fix race while handling SYS_ERR at power up
+  (bsc#1012628).
+- cxl/pmem: Fix reference counting for delayed work (bsc#1012628).
+- cxl/pmem: Fix module reload vs workqueue state (bsc#1012628).
+- thermal/drivers/int340x: Fix RFIM mailbox write commands
+  (bsc#1012628).
+- arm64: errata: Fix exec handling in erratum 1418040 workaround
+  (bsc#1012628).
+- ARM: dts: at91: update alternate function of signal PD20
+  (bsc#1012628).
+- iommu/io-pgtable-arm-v7s: Add error handle for page table
+  allocation failure (bsc#1012628).
+- gpu: host1x: Add back arm_iommu_detach_device() (bsc#1012628).
+- drm/tegra: Add back arm_iommu_detach_device() (bsc#1012628).
+- io_uring: fix no lock protection for ctx->cq_extra
+  (bsc#1012628).
+- virtio/virtio_mem: handle a possible NULL as a memcpy parameter
+  (bsc#1012628).
+- dma_fence_array: Fix PENDING_ERROR leak in
+  dma_fence_array_signaled() (bsc#1012628).
+- PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA
+  controller (bsc#1012628).
+- mm_zone: add function to check if managed dma zone exists
+  (bsc#1012628).
+- dma/pool: create dma atomic pool only if dma zone has managed
+  pages (bsc#1012628).
+- mm/page_alloc.c: do not warn allocation failure on zone DMA
+  if no managed pages (bsc#1012628).
+- ath11k: add string type to search board data in board-2.bin
+  for WCN6855 (bsc#1012628).
+- shmem: fix a race between shmem_unused_huge_shrink and
+  shmem_evict_inode (bsc#1012628).
+- drm/rockchip: dsi: Hold pm-runtime across bind/unbind
+  (bsc#1012628).
+- drm/rockchip: dsi: Reconfigure hardware on resume()
+  (bsc#1012628).
+- drm/ttm: Put BO in its memory manager's lru list (bsc#1012628).
+- Bluetooth: hci_vhci: Fix to set the force_wakeup value
+  (bsc#1012628).
+- Bluetooth: mgmt: Fix Experimental Feature Changed event
+  (bsc#1012628).
+- Bluetooth: L2CAP: Fix not initializing sk_peer_pid
+  (bsc#1012628).
+- drm/bridge: display-connector: fix an uninitialized pointer
+  in probe() (bsc#1012628).
+- drm: fix null-ptr-deref in drm_dev_init_release() (bsc#1012628).
+- drm/panel: kingdisplay-kd097d04: Delete panel on attach()
+  failure (bsc#1012628).
+- drm/panel: innolux-p079zca: Delete panel on attach() failure
+  (bsc#1012628).
+- drm/rockchip: dsi: Fix unbalanced clock on probe error
+  (bsc#1012628).
+- drm/rockchip: dsi: Disable PLL clock on bind error
+  (bsc#1012628).
+- Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle()
+  (bsc#1012628).
+- Bluetooth: cmtp: fix possible panic when cmtp_init_sockets()
+  fails (bsc#1012628).
+- clk: bcm-2835: Pick the closest clock rate (bsc#1012628).
+- clk: bcm-2835: Remove rounding up the dividers (bsc#1012628).
+- drm/vc4: hdmi: Set a default HSM rate (bsc#1012628).
+- drm/vc4: hdmi: Move the HSM clock enable to runtime_pm
+  (bsc#1012628).
+- drm/vc4: hdmi: Make sure the controller is powered in detect
+  (bsc#1012628).
+- drm/vc4: hdmi: Make sure the controller is powered up during
+  bind (bsc#1012628).
+- drm/vc4: hdmi: Rework the pre_crtc_configure error handling
+  (bsc#1012628).
+- drm/vc4: crtc: Make sure the HDMI controller is powered when
+  disabling (bsc#1012628).
+- drm/bridge: sn65dsi83: Fix bridge removal (bsc#1012628).
+- drm/virtio: fix potential integer overflow on shift of a int
+  (bsc#1012628).
+- drm/virtio: fix another potential integer overflow on shift
+  of a int (bsc#1012628).
+- wcn36xx: ensure pairing of init_scan/finish_scan and
+  start_scan/end_scan (bsc#1012628).
+- wcn36xx: Indicate beacon not connection loss on
+  MISSED_BEACON_IND (bsc#1012628).
++++ 1602 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.1898/dtb-aarch64.changes
dtb-armv6l.changes: same change
dtb-armv7l.changes: same change
dtb-riscv64.changes: same change
kernel-64kb.changes: same change
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-kvmsmall.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-zfcpdump.changes: same change

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dtb-aarch64.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.255949883 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.263949824 +0100
@@ -17,7 +17,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -29,9 +29,9 @@
 %(chmod +x 
%_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
 
 Name:           dtb-aarch64
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif

dtb-armv6l.spec: same change
dtb-armv7l.spec: same change
dtb-riscv64.spec: same change
++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.371949041 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.379948982 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -107,9 +107,9 @@
 Summary:        Kernel with 64kb PAGE_SIZE
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -231,10 +231,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
-Provides:       kernel-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       
kernel-%build_flavor-base-srchash-b1466772bff446593573594227eca436e3a5cbcf
+Provides:       kernel-srchash-b1466772bff446593573594227eca436e3a5cbcf
 # END COMMON DEPS
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 %obsolete_rebuilds %name
 Source0:        
http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.399948837 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.407948779 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -107,9 +107,9 @@
 Summary:        A Debug Version of the Kernel
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -231,10 +231,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
-Provides:       kernel-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       
kernel-%build_flavor-base-srchash-b1466772bff446593573594227eca436e3a5cbcf
+Provides:       kernel-srchash-b1466772bff446593573594227eca436e3a5cbcf
 # END COMMON DEPS
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 %ifarch ppc64
 Provides:       kernel-kdump = 2.6.28
 Obsoletes:      kernel-kdump <= 2.6.28

++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.427948634 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.431948605 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -107,9 +107,9 @@
 Summary:        The Standard Kernel
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -231,10 +231,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
-Provides:       kernel-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       
kernel-%build_flavor-base-srchash-b1466772bff446593573594227eca436e3a5cbcf
+Provides:       kernel-srchash-b1466772bff446593573594227eca436e3a5cbcf
 # END COMMON DEPS
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 %ifarch %ix86
 Provides:       kernel-smp = 2.6.17
 Obsoletes:      kernel-smp <= 2.6.17

++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.447948489 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.451948460 +0100
@@ -17,7 +17,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -31,9 +31,9 @@
 Summary:        Kernel Documentation
 License:        GPL-2.0-only
 Group:          Documentation/Man
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -64,7 +64,7 @@
 %endif
 Url:            http://www.kernel.org/
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source0:        
http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz

++++++ kernel-kvmsmall.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.479948257 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.483948228 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -107,9 +107,9 @@
 Summary:        The Small Developer Kernel for KVM
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -231,10 +231,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
-Provides:       kernel-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       
kernel-%build_flavor-base-srchash-b1466772bff446593573594227eca436e3a5cbcf
+Provides:       kernel-srchash-b1466772bff446593573594227eca436e3a5cbcf
 # END COMMON DEPS
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 %obsolete_rebuilds %name
 Source0:        
http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.527947908 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.531947879 +0100
@@ -19,7 +19,7 @@
 
 #!BuildIgnore: post-build-checks
 
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -45,7 +45,7 @@
 %endif
 %endif
 %endif
-BuildRequires:  
kernel%kernel_flavor-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+BuildRequires:  
kernel%kernel_flavor-srchash-b1466772bff446593573594227eca436e3a5cbcf
 
 %if 0%{?rhel_version}
 BuildRequires:  kernel
@@ -64,9 +64,9 @@
 Summary:        package kernel and initrd for OBS VM builds
 License:        GPL-2.0-only
 Group:          SLES
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif

++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.559947676 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.563947647 +0100
@@ -17,7 +17,7 @@
 # needsrootforbuild
 
 
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
 Summary:        Basic QA tests for the kernel
 License:        GPL-2.0-only
 Group:          SLES
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif

++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.583947502 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.587947473 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -107,9 +107,9 @@
 Summary:        Kernel with PAE Support
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -231,10 +231,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
-Provides:       kernel-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       
kernel-%build_flavor-base-srchash-b1466772bff446593573594227eca436e3a5cbcf
+Provides:       kernel-srchash-b1466772bff446593573594227eca436e3a5cbcf
 # END COMMON DEPS
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 %ifarch %ix86
 Provides:       kernel-bigsmp = 2.6.17
 Obsoletes:      kernel-bigsmp <= 2.6.17

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.607947328 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.611947299 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -35,9 +35,9 @@
 Summary:        The Linux Kernel Sources
 License:        GPL-2.0-only
 Group:          Development/Sources
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -48,7 +48,7 @@
 BuildRequires:  sed
 Requires(post): coreutils sed
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 Provides:       linux
 Provides:       multiversion(kernel)
 Source0:        
http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.647947037 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.651947008 +0100
@@ -24,10 +24,10 @@
 Summary:        Kernel Symbol Versions (modversions)
 License:        GPL-2.0-only
 Group:          Development/Sources
-Version:        5.16.2
+Version:        5.16.4
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -52,7 +52,7 @@
 %endif
 Requires:       pesign-obs-integration
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 Provides:       multiversion(kernel)
 Source:         README.KSYMS
 Requires:       kernel-devel%variant = %version-%source_rel

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:05.675946834 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:05.679946805 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 5.16
-%define patchversion 5.16.2
+%define patchversion 5.16.4
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -107,9 +107,9 @@
 Summary:        The Standard Kernel - without any SUSE patches
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        5.16.2
+Version:        5.16.4
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0d710a8
+Release:        <RELEASE>.gb146677
 %else
 Release:        0
 %endif
@@ -231,10 +231,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
-Provides:       kernel-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       
kernel-%build_flavor-base-srchash-b1466772bff446593573594227eca436e3a5cbcf
+Provides:       kernel-srchash-b1466772bff446593573594227eca436e3a5cbcf
 # END COMMON DEPS
-Provides:       %name-srchash-0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+Provides:       %name-srchash-b1466772bff446593573594227eca436e3a5cbcf
 %obsolete_rebuilds %name
 Source0:        
http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

kernel-zfcpdump.spec: same change
++++++ config.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default
--- old/config/x86_64/default   2022-01-10 00:27:51.000000000 +0100
+++ new/config/x86_64/default   2022-01-26 13:00:58.000000000 +0100
@@ -8089,9 +8089,9 @@
 CONFIG_DMA_ACPI=y
 CONFIG_ALTERA_MSGDMA=m
 CONFIG_INTEL_IDMA64=m
-CONFIG_INTEL_IDXD_BUS=y
+CONFIG_INTEL_IDXD_BUS=m
 CONFIG_INTEL_IDXD=m
-CONFIG_INTEL_IDXD_COMPAT=y
+# CONFIG_INTEL_IDXD_COMPAT is not set
 CONFIG_INTEL_IDXD_SVM=y
 CONFIG_INTEL_IDXD_PERFMON=y
 CONFIG_INTEL_IOATDMA=m

++++++ patches.kernel.org.tar.bz2 ++++++
++++ 89152 lines of diff (skipped)

++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-lib-raid6-Use-strict-priority-ranking-for-pq-gen-ben.patch
 
new/patches.suse/0001-lib-raid6-Use-strict-priority-ranking-for-pq-gen-ben.patch
--- 
old/patches.suse/0001-lib-raid6-Use-strict-priority-ranking-for-pq-gen-ben.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-lib-raid6-Use-strict-priority-ranking-for-pq-gen-ben.patch
    2022-01-29 13:57:02.000000000 +0100
@@ -0,0 +1,113 @@
+From: =?UTF-8?q?Dirk=20M=C3=BCller?= <dmuel...@suse.de>
+Subject: [PATCH] lib/raid6: Use strict priority ranking for pq gen()
+ benchmarking
+Date: Wed, 5 Jan 2022 17:38:47 +0100
+Patch-mainline: 5.17-rc1
+Git-commit: 36dacddbf0bdba86cd00f066b4d724157eeb63f1
+References: bsc#1195037
+
+On x86_64, currently 3 variants of AVX512, 3 variants of AVX2
+and 3 variants of SSE2 are benchmarked on initialization, taking
+between 144-153 jiffies. Testing across a hardware pool of
+various generations of intel cpus I could not find a single
+case where SSE2 won over AVX2 or AVX512. There are cases where
+AVX2 wins over AVX512 however.
+
+Change "prefer" into an integer priority field (similar to
+how recov selection works) to have more than one ranking level
+available, which is backwards compatible with existing behavior.
+
+Give AVX2/512 variants higher priority over SSE2 in order to skip
+SSE testing when AVX is available. in a AVX2/x86_64/HZ=250 case this
+saves in the order of 200ms of initialization time.
+
+Signed-off-by: Dirk M??ller <dmuel...@suse.de>
+Acked-by: Paul Menzel <pmen...@molgen.mpg.de>
+Signed-off-by: Song Liu <s...@kernel.org>
+---
+ include/linux/raid/pq.h | 2 +-
+ lib/raid6/algos.c       | 2 +-
+ lib/raid6/avx2.c        | 8 ++++----
+ lib/raid6/avx512.c      | 6 +++---
+ 4 files changed, 9 insertions(+), 9 deletions(-)
+
+--- a/include/linux/raid/pq.h
++++ b/include/linux/raid/pq.h
+@@ -81,7 +81,7 @@ struct raid6_calls {
+       void (*xor_syndrome)(int, int, int, size_t, void **);
+       int  (*valid)(void);    /* Returns 1 if this routine set is usable */
+       const char *name;       /* Name of this routine set */
+-      int prefer;             /* Has special performance attribute */
++      int priority;           /* Relative priority ranking if non-zero */
+ };
+ 
+ /* Selected algorithm */
+--- a/lib/raid6/algos.c
++++ b/lib/raid6/algos.c
+@@ -151,7 +151,7 @@ static inline const struct raid6_calls *
+       const struct raid6_calls *best;
+ 
+       for (bestgenperf = 0, bestxorperf = 0, best = NULL, algo = raid6_algos; 
*algo; algo++) {
+-              if (!best || (*algo)->prefer >= best->prefer) {
++              if (!best || (*algo)->priority >= best->priority ) {
+                       if ((*algo)->valid && !(*algo)->valid())
+                               continue;
+ 
+--- a/lib/raid6/avx2.c
++++ b/lib/raid6/avx2.c
+@@ -132,7 +132,7 @@ const struct raid6_calls raid6_avx2x1 =
+       raid6_avx21_xor_syndrome,
+       raid6_have_avx2,
+       "avx2x1",
+-      1                       /* Has cache hints */
++      .priority = 2           /* Prefer AVX2 over priority 1 (SSE2 and 
others) */
+ };
+ 
+ /*
+@@ -262,7 +262,7 @@ const struct raid6_calls raid6_avx2x2 =
+       raid6_avx22_xor_syndrome,
+       raid6_have_avx2,
+       "avx2x2",
+-      1                       /* Has cache hints */
++      .priority = 2           /* Prefer AVX2 over priority 1 (SSE2 and 
others) */
+ };
+ 
+ #ifdef CONFIG_X86_64
+@@ -465,6 +465,6 @@ const struct raid6_calls raid6_avx2x4 =
+       raid6_avx24_xor_syndrome,
+       raid6_have_avx2,
+       "avx2x4",
+-      1                       /* Has cache hints */
++      .priority = 2           /* Prefer AVX2 over priority 1 (SSE2 and 
others) */
+ };
+-#endif
++#endif /* CONFIG_X86_64 */
+--- a/lib/raid6/avx512.c
++++ b/lib/raid6/avx512.c
+@@ -162,7 +162,7 @@ const struct raid6_calls raid6_avx512x1
+       raid6_avx5121_xor_syndrome,
+       raid6_have_avx512,
+       "avx512x1",
+-      1                       /* Has cache hints */
++      .priority = 2           /* Prefer AVX512 over priority 1 (SSE2 and 
others) */
+ };
+ 
+ /*
+@@ -319,7 +319,7 @@ const struct raid6_calls raid6_avx512x2
+       raid6_avx5122_xor_syndrome,
+       raid6_have_avx512,
+       "avx512x2",
+-      1                       /* Has cache hints */
++      .priority = 2           /* Prefer AVX512 over priority 1 (SSE2 and 
others) */
+ };
+ 
+ #ifdef CONFIG_X86_64
+@@ -557,7 +557,7 @@ const struct raid6_calls raid6_avx512x4
+       raid6_avx5124_xor_syndrome,
+       raid6_have_avx512,
+       "avx512x4",
+-      1                       /* Has cache hints */
++      .priority = 2           /* Prefer AVX512 over priority 1 (SSE2 and 
others) */
+ };
+ #endif
+ 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-lib-raid6-skip-benchmark-of-non-chosen-xor_syndrome-.patch
 
new/patches.suse/0001-lib-raid6-skip-benchmark-of-non-chosen-xor_syndrome-.patch
--- 
old/patches.suse/0001-lib-raid6-skip-benchmark-of-non-chosen-xor_syndrome-.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-lib-raid6-skip-benchmark-of-non-chosen-xor_syndrome-.patch
    2022-01-29 13:57:02.000000000 +0100
@@ -0,0 +1,128 @@
+From: =?UTF-8?q?Dirk=20M=C3=BCller?= <dmuel...@suse.de>
+Subject: lib/raid6: skip benchmark of non-chosen xor_syndrome
+Date: Wed, 5 Jan 2022 17:38:47 +0100
+Patch-mainline: 5.17-rc1
+Git-commit: 38640c480939d56cc8b03d58642fc5261761a697
+References: bsc#1195037
+
+In commit fe5cbc6e06c7 ("md/raid6 algorithms: delta syndrome functions")
+a xor_syndrome() benchmarking was added also to the raid6_choose_gen()
+function. However, the results of that benchmarking were intentionally
+discarded and did not influence the choice. It picked the
+xor_syndrome() variant related to the best performing gen_syndrome().
+
+Reduce runtime of raid6_choose_gen() without modifying its outcome by
+only benchmarking the xor_syndrome() of the best gen_syndrome() variant.
+
+For a HZ=250 x86_64 system with avx2 and without avx512 this removes
+5 out of 6 xor() benchmarks, saving 340ms of raid6 initialization time.
+
+Signed-off-by: Dirk M??ller <dmuel...@suse.de>
+Signed-off-by: Song Liu <s...@kernel.org>
+---
+ lib/raid6/algos.c | 76 +++++++++++++++++++++++------------------------
+ 1 file changed, 37 insertions(+), 39 deletions(-)
+
+--- a/lib/raid6/algos.c
++++ b/lib/raid6/algos.c
+@@ -145,12 +145,12 @@ static inline const struct raid6_recov_c
+ static inline const struct raid6_calls *raid6_choose_gen(
+       void *(*const dptrs)[RAID6_TEST_DISKS], const int disks)
+ {
+-      unsigned long perf, bestgenperf, bestxorperf, j0, j1;
++      unsigned long perf, bestgenperf, j0, j1;
+       int start = (disks>>1)-1, stop = disks-3;       /* work on the second 
half of the disks */
+       const struct raid6_calls *const *algo;
+       const struct raid6_calls *best;
+ 
+-      for (bestgenperf = 0, bestxorperf = 0, best = NULL, algo = raid6_algos; 
*algo; algo++) {
++      for (bestgenperf = 0, best = NULL, algo = raid6_algos; *algo; algo++) {
+               if (!best || (*algo)->priority >= best->priority ) {
+                       if ((*algo)->valid && !(*algo)->valid())
+                               continue;
+@@ -180,50 +180,48 @@ static inline const struct raid6_calls *
+                       pr_info("raid6: %-8s gen() %5ld MB/s\n", (*algo)->name,
+                               (perf * HZ * (disks-2)) >>
+                               (20 - PAGE_SHIFT + RAID6_TIME_JIFFIES_LG2));
++              }
++      }
+ 
+-                      if (!(*algo)->xor_syndrome)
+-                              continue;
++      if (!best) {
++              pr_err("raid6: Yikes! No algorithm found!\n");
++              goto out;
++      }
+ 
+-                      perf = 0;
++      raid6_call = *best;
+ 
+-                      preempt_disable();
+-                      j0 = jiffies;
+-                      while ((j1 = jiffies) == j0)
+-                              cpu_relax();
+-                      while (time_before(jiffies,
+-                                          j1 + (1<<RAID6_TIME_JIFFIES_LG2))) {
+-                              (*algo)->xor_syndrome(disks, start, stop,
+-                                                    PAGE_SIZE, *dptrs);
+-                              perf++;
+-                      }
+-                      preempt_enable();
+-
+-                      if (best == *algo)
+-                              bestxorperf = perf;
++      if (!IS_ENABLED(CONFIG_RAID6_PQ_BENCHMARK)) {
++              pr_info("raid6: skipped pq benchmark and selected %s\n",
++                      best->name);
++              goto out;
++      }
+ 
+-                      pr_info("raid6: %-8s xor() %5ld MB/s\n", (*algo)->name,
+-                              (perf * HZ * (disks-2)) >>
+-                              (20 - PAGE_SHIFT + RAID6_TIME_JIFFIES_LG2 + 1));
++      pr_info("raid6: using algorithm %s gen() %ld MB/s\n",
++              best->name,
++              (bestgenperf * HZ * (disks - 2)) >>
++              (20 - PAGE_SHIFT + RAID6_TIME_JIFFIES_LG2));
++
++      if (best->xor_syndrome) {
++              perf = 0;
++
++              preempt_disable();
++              j0 = jiffies;
++              while ((j1 = jiffies) == j0)
++                      cpu_relax();
++              while (time_before(jiffies,
++                                 j1 + (1 << RAID6_TIME_JIFFIES_LG2))) {
++                      best->xor_syndrome(disks, start, stop,
++                                         PAGE_SIZE, *dptrs);
++                      perf++;
+               }
+-      }
++              preempt_enable();
+ 
+-      if (best) {
+-              if (IS_ENABLED(CONFIG_RAID6_PQ_BENCHMARK)) {
+-                      pr_info("raid6: using algorithm %s gen() %ld MB/s\n",
+-                              best->name,
+-                              (bestgenperf * HZ * (disks-2)) >>
+-                              (20 - PAGE_SHIFT+RAID6_TIME_JIFFIES_LG2));
+-                      if (best->xor_syndrome)
+-                              pr_info("raid6: .... xor() %ld MB/s, rmw 
enabled\n",
+-                                      (bestxorperf * HZ * (disks-2)) >>
+-                                      (20 - PAGE_SHIFT + 
RAID6_TIME_JIFFIES_LG2 + 1));
+-              } else
+-                      pr_info("raid6: skip pq benchmark and using algorithm 
%s\n",
+-                              best->name);
+-              raid6_call = *best;
+-      } else
+-              pr_err("raid6: Yikes!  No algorithm found!\n");
++              pr_info("raid6: .... xor() %ld MB/s, rmw enabled\n",
++                      (perf * HZ * (disks - 2)) >>
++                      (20 - PAGE_SHIFT + RAID6_TIME_JIFFIES_LG2 + 1));
++      }
+ 
++out:
+       return best;
+ }
+ 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/Bluetooth-Apply-initial-command-workaround-for-more-.patch 
new/patches.suse/Bluetooth-Apply-initial-command-workaround-for-more-.patch
--- old/patches.suse/Bluetooth-Apply-initial-command-workaround-for-more-.patch 
2022-01-24 11:55:17.000000000 +0100
+++ new/patches.suse/Bluetooth-Apply-initial-command-workaround-for-more-.patch 
1970-01-01 01:00:00.000000000 +0100
@@ -1,44 +0,0 @@
-From: Takashi Iwai <ti...@suse.de>
-Subject: [PATCH] Bluetooth: Apply initial command workaround for more Intel 
chips
-Date: Thu,  2 Dec 2021 17:22:56 +0100
-Message-id: <20211202162256.31837-1-ti...@suse.de>
-Patch-mainline: Submitted, linux-bluetooth ML
-References: bsc#1193124
-
-It seems that a few more Intel chips require the workaround for the
-broken initial command.  At least, per openSUSE Bugzilla reports,
-8087:0a2a needs BTUSB_INTEL_BROKEN_INITIAL_NCMD flag.
-
-Also 8087:0aa7 requires the same workaround, as reported in
-bko#215167, so modified the quirk entry as well.
-
-mkubecek: refreshed after mainline commit 95655456e7ce ("Bluetooth:
-btintel: Fix broken LED quirk for legacy ROM devices")
-
-Fixes: 83f2dafe2a62 ("Bluetooth: btintel: Refactoring setup routine for legacy 
ROM sku")
-Buglink: https://bugzilla.opensuse.org/show_bug.cgi?id=1193124
-BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215167
-Signed-off-by: Takashi Iwai <ti...@suse.de>
-
----
-v1->v2: removed the false-positive entry for 8087:0026 that caused another
-       problem
-v2->v3: add 8087:0aa7 entry, too
-
- drivers/bluetooth/btusb.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -388,9 +388,11 @@ static const struct usb_device_id blacklist_table[] = {
-                                                    
BTUSB_INTEL_BROKEN_INITIAL_NCMD |
-                                                    
BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
-       { USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL_COMBINED |
-+                                                   
BTUSB_INTEL_BROKEN_INITIAL_NCMD |
-                                                    
BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
-       { USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_COMBINED },
-       { USB_DEVICE(0x8087, 0x0aa7), .driver_info = BTUSB_INTEL_COMBINED |
-+                                                   
BTUSB_INTEL_BROKEN_INITIAL_NCMD |
-                                                    
BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
-       { USB_DEVICE(0x8087, 0x0aaa), .driver_info = BTUSB_INTEL_COMBINED },
- 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/HID-wacom-Avoid-using-stale-array-indicies-to-read-c.patch 
new/patches.suse/HID-wacom-Avoid-using-stale-array-indicies-to-read-c.patch
--- old/patches.suse/HID-wacom-Avoid-using-stale-array-indicies-to-read-c.patch 
2022-01-24 11:55:17.000000000 +0100
+++ new/patches.suse/HID-wacom-Avoid-using-stale-array-indicies-to-read-c.patch 
1970-01-01 01:00:00.000000000 +0100
@@ -1,49 +0,0 @@
-From 20f3cf5f860f9f267a6a6e5642d3d0525edb1814 Mon Sep 17 00:00:00 2001
-From: Jason Gerecke <killert...@gmail.com>
-Date: Tue, 18 Jan 2022 14:38:41 -0800
-Subject: [PATCH] HID: wacom: Avoid using stale array indicies to read contact 
count
-Git-commit: 20f3cf5f860f9f267a6a6e5642d3d0525edb1814
-Patch-mainline: v5.17-rc1
-References: bsc#1194667
-
-If we ever see a touch report with contact count data we initialize
-several variables used to read the contact count in the pre-report
-phase. These variables are never reset if we process a report which
-doesn't contain a contact count, however. This can cause the pre-
-report function to trigger a read of arbitrary memory (e.g. NULL
-if we're lucky) and potentially crash the driver.
-
-This commit restores resetting of the variables back to default
-"none" values that were used prior to the commit mentioned
-below.
-
-Link: https://github.com/linuxwacom/input-wacom/issues/276
-Fixes: 003f50ab673c (HID: wacom: Update last_slot_field during pre_report 
phase)
-Cc: sta...@vger.kernel.org
-Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
-Reviewed-by: Ping Cheng <ping.ch...@wacom.com>
-Signed-off-by: Jiri Kosina <jkos...@suse.cz>
-Acked-by: Takashi Iwai <ti...@suse.de>
-
----
- drivers/hid/wacom_wac.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
-index 92b52b1de526..a7176fc0635d 100644
---- a/drivers/hid/wacom_wac.c
-+++ b/drivers/hid/wacom_wac.c
-@@ -2682,6 +2682,10 @@ static void wacom_wac_finger_pre_report(struct 
hid_device *hdev,
- 
-       hid_data->confidence = true;
- 
-+      hid_data->cc_report = 0;
-+      hid_data->cc_index = -1;
-+      hid_data->cc_value_index = -1;
-+
-       for (i = 0; i < report->maxfield; i++) {
-               struct hid_field *field = report->field[i];
-               int j;
--- 
-2.31.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/HID-wacom-Ignore-the-confidence-flag-when-a-touch-is.patch 
new/patches.suse/HID-wacom-Ignore-the-confidence-flag-when-a-touch-is.patch
--- old/patches.suse/HID-wacom-Ignore-the-confidence-flag-when-a-touch-is.patch 
2022-01-24 11:55:17.000000000 +0100
+++ new/patches.suse/HID-wacom-Ignore-the-confidence-flag-when-a-touch-is.patch 
1970-01-01 01:00:00.000000000 +0100
@@ -1,85 +0,0 @@
-From df03e9bd6d4806619b4cdc91a3d7695818a8e2b7 Mon Sep 17 00:00:00 2001
-From: Jason Gerecke <killert...@gmail.com>
-Date: Tue, 18 Jan 2022 14:37:56 -0800
-Subject: [PATCH] HID: wacom: Ignore the confidence flag when a touch is removed
-Git-commit: df03e9bd6d4806619b4cdc91a3d7695818a8e2b7
-Patch-mainline: v5.17-rc1
-References: bsc#1194667
-
-AES hardware may internally re-classify a contact that it thought was
-intentional as a palm. Intentional contacts are reported as "down" with
-the confidence bit set. When this re-classification occurs, however, the
-state transitions to "up" with the confidence bit cleared. This kind of
-transition appears to be legal according to Microsoft docs, but we do
-not handle it correctly. Because the confidence bit is clear, we don't
-call `wacom_wac_finger_slot` and update userspace. This causes hung
-touches that confuse userspace and interfere with pen arbitration.
-
-This commit adds a special case to ignore the confidence flag if a contact
-is reported as removed. This ensures we do not leave a hung touch if one
-of these re-classification events occured. Ideally we'd have some way to
-also let userspace know that the touch has been re-classified as a palm
-and needs to be canceled, but that's not possible right now :)
-
-Link: https://github.com/linuxwacom/input-wacom/issues/288
-Fixes: 7fb0413baa7f (HID: wacom: Use "Confidence" flag to prevent reporting 
invalid contacts)
-Cc: sta...@vger.kernel.org
-Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
-Reviewed-by: Ping Cheng <ping.ch...@wacom.com>
-Signed-off-by: Jiri Kosina <jkos...@suse.cz>
-Acked-by: Takashi Iwai <ti...@suse.de>
-
----
- drivers/hid/wacom_wac.c | 29 ++++++++++++++++++++++++++---
- 1 file changed, 26 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
-index 5978399ae7d2..92b52b1de526 100644
---- a/drivers/hid/wacom_wac.c
-+++ b/drivers/hid/wacom_wac.c
-@@ -2588,6 +2588,24 @@ static void wacom_wac_finger_slot(struct wacom_wac 
*wacom_wac,
-       }
- }
- 
-+static bool wacom_wac_slot_is_active(struct input_dev *dev, int key)
-+{
-+      struct input_mt *mt = dev->mt;
-+      struct input_mt_slot *s;
-+
-+      if (!mt)
-+              return false;
-+
-+      for (s = mt->slots; s != mt->slots + mt->num_slots; s++) {
-+              if (s->key == key &&
-+                      input_mt_get_value(s, ABS_MT_TRACKING_ID) >= 0) {
-+                      return true;
-+              }
-+      }
-+
-+      return false;
-+}
-+
- static void wacom_wac_finger_event(struct hid_device *hdev,
-               struct hid_field *field, struct hid_usage *usage, __s32 value)
- {
-@@ -2638,9 +2656,14 @@ static void wacom_wac_finger_event(struct hid_device 
*hdev,
-       }
- 
-       if (usage->usage_index + 1 == field->report_count) {
--              if (equivalent_usage == wacom_wac->hid_data.last_slot_field &&
--                  wacom_wac->hid_data.confidence)
--                      wacom_wac_finger_slot(wacom_wac, 
wacom_wac->touch_input);
-+              if (equivalent_usage == wacom_wac->hid_data.last_slot_field) {
-+                      bool touch_removed = 
wacom_wac_slot_is_active(wacom_wac->touch_input,
-+                              wacom_wac->hid_data.id) && 
!wacom_wac->hid_data.tipswitch;
-+
-+                      if (wacom_wac->hid_data.confidence || touch_removed) {
-+                              wacom_wac_finger_slot(wacom_wac, 
wacom_wac->touch_input);
-+                      }
-+              }
-       }
- }
- 
--- 
-2.31.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/HID-wacom-Reset-expected-and-received-contact-counts.patch 
new/patches.suse/HID-wacom-Reset-expected-and-received-contact-counts.patch
--- old/patches.suse/HID-wacom-Reset-expected-and-received-contact-counts.patch 
2022-01-24 11:55:17.000000000 +0100
+++ new/patches.suse/HID-wacom-Reset-expected-and-received-contact-counts.patch 
1970-01-01 01:00:00.000000000 +0100
@@ -1,75 +0,0 @@
-From 546e41ac994cc185ef3de610ca849a294b5df3ba Mon Sep 17 00:00:00 2001
-From: Jason Gerecke <killert...@gmail.com>
-Date: Tue, 18 Jan 2022 14:37:55 -0800
-Subject: [PATCH] HID: wacom: Reset expected and received contact counts at the 
same time
-Git-commit: 546e41ac994cc185ef3de610ca849a294b5df3ba
-Patch-mainline: v5.17-rc1
-References: bsc#1194667
-
-These two values go hand-in-hand and must be valid for the driver to
-behave correctly. We are currently lazy about updating the values and
-rely on the "expected" code flow to take care of making sure they're
-valid at the point they're needed. The "expected" flow changed somewhat
-with commit f8b6a74719b5 ("HID: wacom: generic: Support multiple tools
-per report"), however. This led to problems with the DTH-2452 due (in
-part) to *all* contacts being fully processed -- even those past the
-expected contact count. Specifically, the received count gets reset to
-0 once all expected fingers are processed, but not the expected count.
-The rest of the contacts in the report are then *also* processed since
-now the driver thinks we've only processed 0 of N expected contacts.
-
-Later commits such as 7fb0413baa7f (HID: wacom: Use "Confidence" flag to
-prevent reporting invalid contacts) worked around the DTH-2452 issue by
-skipping the invalid contacts at the end of the report, but this is not
-a complete fix. The confidence flag cannot be relied on when a contact
-is removed (see the following patch), and dealing with that condition
-re-introduces the DTH-2452 issue unless we also address this contact
-count laziness. By resetting expected and received counts at the same
-time we ensure the driver understands that there are 0 more contacts
-expected in the report. Similarly, we also make sure to reset the
-received count if for some reason we're out of sync in the pre-report
-phase.
-
-Link: https://github.com/linuxwacom/input-wacom/issues/288
-Fixes: f8b6a74719b5 ("HID: wacom: generic: Support multiple tools per report")
-Cc: sta...@vger.kernel.org
-Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
-Reviewed-by: Ping Cheng <ping.ch...@wacom.com>
-Signed-off-by: Jiri Kosina <jkos...@suse.cz>
-Acked-by: Takashi Iwai <ti...@suse.de>
-
----
- drivers/hid/wacom_wac.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
-index 2a4cc39962e7..5978399ae7d2 100644
---- a/drivers/hid/wacom_wac.c
-+++ b/drivers/hid/wacom_wac.c
-@@ -2692,11 +2692,14 @@ static void wacom_wac_finger_pre_report(struct 
hid_device *hdev,
-           hid_data->cc_index >= 0) {
-               struct hid_field *field = report->field[hid_data->cc_index];
-               int value = field->value[hid_data->cc_value_index];
--              if (value)
-+              if (value) {
-                       hid_data->num_expected = value;
-+                      hid_data->num_received = 0;
-+              }
-       }
-       else {
-               hid_data->num_expected = wacom_wac->features.touch_max;
-+              hid_data->num_received = 0;
-       }
- }
- 
-@@ -2724,6 +2727,7 @@ static void wacom_wac_finger_report(struct hid_device 
*hdev,
- 
-       input_sync(input);
-       wacom_wac->hid_data.num_received = 0;
-+      wacom_wac->hid_data.num_expected = 0;
- 
-       /* keep touch state for pen event */
-       wacom_wac->shared->touch_down = 
wacom_wac_finger_count_touches(wacom_wac);
--- 
-2.31.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/mwifiex-Fix-skb_over_panic-in-mwifiex_usb_recv.patch 
new/patches.suse/mwifiex-Fix-skb_over_panic-in-mwifiex_usb_recv.patch
--- old/patches.suse/mwifiex-Fix-skb_over_panic-in-mwifiex_usb_recv.patch       
2022-01-24 11:55:17.000000000 +0100
+++ new/patches.suse/mwifiex-Fix-skb_over_panic-in-mwifiex_usb_recv.patch       
1970-01-01 01:00:00.000000000 +0100
@@ -1,66 +0,0 @@
-From 04d80663f67ccef893061b49ec8a42ff7045ae84 Mon Sep 17 00:00:00 2001
-From: Zekun Shen <bruceshe...@gmail.com>
-Date: Sat, 30 Oct 2021 22:42:50 -0400
-Subject: [PATCH] mwifiex: Fix skb_over_panic in mwifiex_usb_recv()
-Patch-mainline: v5.17-rc1
-Git-commit: 04d80663f67ccef893061b49ec8a42ff7045ae84
-References: CVE-2021-43976 bsc#1192847
-
-Currently, with an unknown recv_type, mwifiex_usb_recv
-just return -1 without restoring the skb. Next time
-mwifiex_usb_rx_complete is invoked with the same skb,
-calling skb_put causes skb_over_panic.
-
-The bug is triggerable with a compromised/malfunctioning
-usb device. After applying the patch, skb_over_panic
-no longer shows up with the same input.
-
-Attached is the panic report from fuzzing.
-Skbuff: skb_over_panic: text:000000003bf1b5fa len:2048 put:4 
head:00000000dd6a115b data:000000000a9445d8 tail:0x844 end:0x840 dev:<NULL>
-kernel BUG at net/core/skbuff.c:109!
-invalid opcode: 0000 [#1] SMP KASAN NOPTI
-Cpu: 0 PID: 198 Comm: in:imklog Not tainted 5.6.0 #60
-Rip: 0010:skb_panic+0x15f/0x161
-Call Trace:
- <IRQ>
- ? mwifiex_usb_rx_complete+0x26b/0xfcd [mwifiex_usb]
- skb_put.cold+0x24/0x24
- mwifiex_usb_rx_complete+0x26b/0xfcd [mwifiex_usb]
- __usb_hcd_giveback_urb+0x1e4/0x380
- usb_giveback_urb_bh+0x241/0x4f0
- ? __hrtimer_run_queues+0x316/0x740
- ? __usb_hcd_giveback_urb+0x380/0x380
- tasklet_action_common.isra.0+0x135/0x330
- __do_softirq+0x18c/0x634
- irq_exit+0x114/0x140
- smp_apic_timer_interrupt+0xde/0x380
- apic_timer_interrupt+0xf/0x20
- </IRQ>
-
-Reported-by: Brendan Dolan-Gavitt <brenda...@nyu.edu>
-Signed-off-by: Zekun Shen <bruceshe...@gmail.com>
-Signed-off-by: Kalle Valo <kv...@codeaurora.org>
-Link: https://lore.kernel.org/r/yx4cqjfrcta6b...@zekuns-mbp-16.fios-router.home
-Acked-by: Takashi Iwai <ti...@suse.de>
-
----
- drivers/net/wireless/marvell/mwifiex/usb.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/net/wireless/marvell/mwifiex/usb.c 
b/drivers/net/wireless/marvell/mwifiex/usb.c
-index 9736aa0ab7fd..8f01fcbe9396 100644
---- a/drivers/net/wireless/marvell/mwifiex/usb.c
-+++ b/drivers/net/wireless/marvell/mwifiex/usb.c
-@@ -130,7 +130,8 @@ static int mwifiex_usb_recv(struct mwifiex_adapter 
*adapter,
-               default:
-                       mwifiex_dbg(adapter, ERROR,
-                                   "unknown recv_type %#x\n", recv_type);
--                      return -1;
-+                      ret = -1;
-+                      goto exit_restore_skb;
-               }
-               break;
-       case MWIFIEX_USB_EP_DATA:
--- 
-2.31.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/s390-mm-fix-2KB-pgtable-release-race.patch 
new/patches.suse/s390-mm-fix-2KB-pgtable-release-race.patch
--- old/patches.suse/s390-mm-fix-2KB-pgtable-release-race.patch 2022-01-24 
11:55:17.000000000 +0100
+++ new/patches.suse/s390-mm-fix-2KB-pgtable-release-race.patch 1970-01-01 
01:00:00.000000000 +0100
@@ -1,114 +0,0 @@
-From c2c224932fd0ee6854d6ebfc8d059c2bcad86606 Mon Sep 17 00:00:00 2001
-From: Alexander Gordeev <agord...@linux.ibm.com>
-Date: Thu, 4 Nov 2021 07:14:44 +0100
-Subject: [PATCH] s390/mm: fix 2KB pgtable release race
-Git-commit: c2c224932fd0ee6854d6ebfc8d059c2bcad86606
-Patch-mainline: v5.17-rc1
-References: bsc#1188896
-
-There is a race on concurrent 2KB-pgtables release paths when
-both upper and lower halves of the containing parent page are
-freed, one via page_table_free_rcu() + __tlb_remove_table(),
-and the other via page_table_free(). The race might lead to a
-corruption as result of remove of list item in page_table_free()
-concurrently with __free_page() in __tlb_remove_table().
-
-Let's assume first the lower and next the upper 2KB-pgtables are
-freed from a page. Since both halves of the page are allocated
-the tracking byte (bits 24-31 of the page _refcount) has value
-of 0x03 initially:
-
-CPU0                           CPU1
-----                           ----
-
-page_table_free_rcu() // lower half
-{
-       // _refcount[31..24] == 0x03
-       ...
-       atomic_xor_bits(&page->_refcount,
-                       0x11U << (0 + 24));
-       // _refcount[31..24] <= 0x12
-       ...
-       table = table | (1U << 0);
-       tlb_remove_table(tlb, table);
-}
-...
-__tlb_remove_table()
-{
-       // _refcount[31..24] == 0x12
-       mask = _table & 3;
-       // mask <= 0x01
-       ...
-
-                               page_table_free() // upper half
-                               {
-                                       // _refcount[31..24] == 0x12
-                                       ...
-                                       atomic_xor_bits(
-                                               &page->_refcount,
-                                               1U << (1 + 24));
-                                       // _refcount[31..24] <= 0x10
-                                       // mask <= 0x10
-                                       ...
-       atomic_xor_bits(&page->_refcount,
-                       mask << (4 + 24));
-       // _refcount[31..24] <= 0x00
-       // mask <= 0x00
-       ...
-       if (mask != 0) // == false
-               break;
-       fallthrough;
-       ...
-                                       if (mask & 3) // == false
-                                               ...
-                                       else
-       __free_page(page);                      list_del(&page->lru);
-       ^^^^^^^^^^^^^^^^^^      RACE!           ^^^^^^^^^^^^^^^^^^^^^
-}                                      ...
-                               }
-
-The problem is page_table_free() releases the page as result of
-lower nibble unset and __tlb_remove_table() observing zero too
-early. With this update page_table_free() will use the similar
-logic as page_table_free_rcu() + __tlb_remove_table(), and mark
-the fragment as pending for removal in the upper nibble until
-after the list_del().
-
-In other words, the parent page is considered as unreferenced and
-safe to release only when the lower nibble is cleared already and
-unsetting a bit in upper nibble results in that nibble turned zero.
-
-Cc: sta...@vger.kernel.org
-Suggested-by: Vlastimil Babka <vba...@suse.com>
-Reviewed-by: Gerald Schaefer <gerald.schae...@linux.ibm.com>
-Signed-off-by: Alexander Gordeev <agord...@linux.ibm.com>
-Signed-off-by: Heiko Carstens <h...@linux.ibm.com>
-Acked-by: Takashi Iwai <ti...@suse.de>
----
- arch/s390/mm/pgalloc.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
-index 82a2617362d5..457c80924542 100644
---- a/arch/s390/mm/pgalloc.c
-+++ b/arch/s390/mm/pgalloc.c
-@@ -244,13 +244,15 @@ void page_table_free(struct mm_struct *mm, unsigned long 
*table)
-               /* Free 2K page table fragment of a 4K page */
-               bit = ((unsigned long) table & 
~PAGE_MASK)/(PTRS_PER_PTE*sizeof(pte_t));
-               spin_lock_bh(&mm->context.lock);
--              mask = atomic_xor_bits(&page->_refcount, 1U << (bit + 24));
-+              mask = atomic_xor_bits(&page->_refcount, 0x11U << (bit + 24));
-               mask >>= 24;
-               if (mask & 3)
-                       list_add(&page->lru, &mm->context.pgtable_list);
-               else
-                       list_del(&page->lru);
-               spin_unlock_bh(&mm->context.lock);
-+              mask = atomic_xor_bits(&page->_refcount, 0x10U << (bit + 24));
-+              mask >>= 24;
-               if (mask != 0)
-                       return;
-       } else {
--- 
-2.31.1
-

++++++ series.conf ++++++
++++ 1080 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/series.conf
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.1898/series.conf

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.ECwHlT/_old  2022-02-03 00:13:07.291935105 +0100
+++ /var/tmp/diff_new_pack.ECwHlT/_new  2022-02-03 00:13:07.295935076 +0100
@@ -1,4 +1,4 @@
-2022-01-24 18:27:48 +0000
-GIT Revision: 0d710a8d2a5b8208b23d7e03120dfa2837f640a5
+2022-01-29 12:57:02 +0000
+GIT Revision: b1466772bff446593573594227eca436e3a5cbcf
 GIT Branch: stable
 

Reply via email to