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