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 2023-01-03 16:26:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Tue Jan  3 16:26:54 2023 rev:671 rq:1046085 version:6.1.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes        
2022-12-27 11:54:53.675258733 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new.1563/dtb-aarch64.changes      
2023-01-03 16:26:56.462081988 +0100
@@ -1,0 +2,1985 @@
+Sun Jan  1 11:39:03 CET 2023 - jsl...@suse.cz
+
+- Linux 6.1.2 (bsc#1012628).
+- MIPS: DTS: CI20: fix reset line polarity of the ethernet
+  controller (bsc#1012628).
+- usb: musb: remove extra check in musb_gadget_vbus_draw
+  (bsc#1012628).
+- arm64: dts: renesas: r8a779g0: Fix HSCIF0 "brg_int" clock
+  (bsc#1012628).
+- arm64: dts: qcom: ipq6018-cp01-c1: use BLSPI1 pins
+  (bsc#1012628).
+- arm64: dts: qcom: sm8250-sony-xperia-edo: fix touchscreen
+  bias-disable (bsc#1012628).
+- arm64: dts: qcom: sdm845-xiaomi-polaris: fix codec pin conf name
+  (bsc#1012628).
+- arm64: dts: qcom: msm8996: Add MSM8996 Pro support
+  (bsc#1012628).
+- arm64: dts: qcom: msm8996: fix supported-hw in cpufreq OPP
+  tables (bsc#1012628).
+- arm64: dts: qcom: msm8996: fix GPU OPP table (bsc#1012628).
+- ARM: dts: qcom: apq8064: fix coresight compatible (bsc#1012628).
+- arm64: dts: qcom: sdm630: fix UART1 pin bias (bsc#1012628).
+- arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias
+  (bsc#1012628).
+- arm64: dts: qcom: msm8916: Drop MSS fallback compatible
+  (bsc#1012628).
+- arm64: dts: fsd: fix drive strength macros as per FSD HW UM
+  (bsc#1012628).
+- arm64: dts: fsd: fix drive strength values as per FSD HW UM
+  (bsc#1012628).
+- memory: renesas-rpc-if: Clear HS bit during hardware
+  initialization (bsc#1012628).
+- objtool, kcsan: Add volatile read/write instrumentation to
+  whitelist (bsc#1012628).
+- ARM: dts: stm32: Drop stm32mp15xc.dtsi from Avenger96
+  (bsc#1012628).
+- ARM: dts: stm32: Fix AV96 WLAN regulator gpio property
+  (bsc#1012628).
+- drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as
+  static (bsc#1012628).
+- firmware: ti_sci: Fix polled mode during system suspend
+  (bsc#1012628).
+- riscv: dts: microchip: fix memory node unit address for icicle
+  (bsc#1012628).
+- arm64: dts: qcom: pm660: Use unique ADC5_VCOIN address in node
+  name (bsc#1012628).
+- arm64: dts: qcom: sm8250: correct LPASS pin pull down
+  (bsc#1012628).
+- arm64: dts: qcom: sc7180-trogdor-homestar: fully configure
+  secondary I2S pins (bsc#1012628).
+- soc: qcom: llcc: make irq truly optional (bsc#1012628).
+- arm64: dts: qcom: sm8150: fix UFS PHY registers (bsc#1012628).
+- arm64: dts: qcom: sm8250: fix UFS PHY registers (bsc#1012628).
+- arm64: dts: qcom: sm8350: fix UFS PHY registers (bsc#1012628).
+- arm64: dts: qcom: sm8450: fix UFS PHY registers (bsc#1012628).
+- arm64: dts: qcom: msm8996: fix sound card reset line polarity
+  (bsc#1012628).
+- arm64: dts: qcom: sm8250-mtp: fix reset line polarity
+  (bsc#1012628).
+- arm64: dts: qcom: sc7280: fix codec reset line polarity for
+  CRD 3.0/3.1 (bsc#1012628).
+- arm64: dts: qcom: sc7280: fix codec reset line polarity for
+  CRD 1.0/2.0 (bsc#1012628).
+- arm64: dts: qcom: sm8250: drop bogus DP PHY clock (bsc#1012628).
+- arm64: dts: qcom: sm6350: drop bogus DP PHY clock (bsc#1012628).
+- soc: qcom: apr: Add check for idr_alloc and
+  of_property_read_string_index (bsc#1012628).
+- arm64: dts: qcom: pm6350: Include header for KEY_POWER
+  (bsc#1012628).
+- arm64: dts: qcom: sm6125: fix SDHCI CQE reg names (bsc#1012628).
+- arm64: dts: renesas: r8a779f0: Fix HSCIF "brg_int" clock
+  (bsc#1012628).
+- arm64: dts: renesas: r8a779f0: Fix SCIF "brg_int" clock
+  (bsc#1012628).
+- arm64: dts: renesas: r9a09g011: Fix unit address format error
+  (bsc#1012628).
+- arm64: dts: renesas: r9a09g011: Fix I2C SoC specific strings
+  (bsc#1012628).
+- dt-bindings: pwm: fix microchip corePWM's pwm-cells
+  (bsc#1012628).
+- soc: sifive: ccache: fix missing iounmap() in error path in
+  sifive_ccache_init() (bsc#1012628).
+- soc: sifive: ccache: fix missing free_irq() in error path in
+  sifive_ccache_init() (bsc#1012628).
+- soc: sifive: ccache: fix missing of_node_put() in
+  sifive_ccache_init() (bsc#1012628).
+- arm64: dts: mt7986: fix trng node name (bsc#1012628).
+- soc/tegra: cbb: Use correct master_id mask for CBB NOC in
+  Tegra194 (bsc#1012628).
+- soc/tegra: cbb: Update slave maps for Tegra234 (bsc#1012628).
+- soc/tegra: cbb: Add checks for potential out of bound errors
+  (bsc#1012628).
+- soc/tegra: cbb: Check firewall before enabling error reporting
+  (bsc#1012628).
+- arm64: dts: qcom: sc7280: Mark all Qualcomm reference boards
+  as LTE (bsc#1012628).
+- arm: dts: spear600: Fix clcd interrupt (bsc#1012628).
+- riscv: dts: microchip: fix the icicle's #pwm-cells
+  (bsc#1012628).
+- soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in
+  knav_queue_probe (bsc#1012628).
+- soc: ti: smartreflex: Fix PM disable depth imbalance in
+  omap_sr_probe (bsc#1012628).
+- arm64: mm: kfence: only handle translation faults (bsc#1012628).
+- perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
+  (bsc#1012628).
+- drivers: perf: marvell_cn10k: Fix hotplug callback leak in
+  tad_pmu_init() (bsc#1012628).
+- perf/arm_dmc620: Fix hotplug callback leak in dmc620_pmu_init()
+  (bsc#1012628).
+- perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init()
+  (bsc#1012628).
+- arm64: dts: ti: k3-am65-main: Drop dma-coherent in crypto node
+  (bsc#1012628).
+- arm64: dts: ti: k3-j721e-main: Drop dma-coherent in crypto node
+  (bsc#1012628).
+- arm64: dts: ti: k3-j7200-mcu-wakeup: Drop dma-coherent in
+  crypto node (bsc#1012628).
+- arm64: dts: ti: k3-j721s2: Fix the interrupt ranges property
+  for main & wkup gpio intr (bsc#1012628).
+- riscv: dts: microchip: remove pcie node from the sev kit
+  (bsc#1012628).
+- ARM: dts: nuvoton: Remove bogus unit addresses from
+  fixed-partition nodes (bsc#1012628).
+- arm64: dts: mediatek: mt8195: Fix CPUs capacity-dmips-mhz
+  (bsc#1012628).
+- arm64: dts: mt7896a: Fix unit_address_vs_reg warning for
+  oscillator (bsc#1012628).
+- arm64: dts: mt6779: Fix devicetree build warnings (bsc#1012628).
+- arm64: dts: mt2712e: Fix unit_address_vs_reg warning for
+  oscillators (bsc#1012628).
+- arm64: dts: mt2712e: Fix unit address for pinctrl node
+  (bsc#1012628).
+- arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
+  (bsc#1012628).
+- arm64: dts: mt2712-evb: Fix usb vbus regulators unit names
+  (bsc#1012628).
+- arm64: dts: mediatek: pumpkin-common: Fix devicetree warnings
+  (bsc#1012628).
+- arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
+  (bsc#1012628).
+- arm64: tegra: Fix Prefetchable aperture ranges of Tegra234
+  PCIe controllers (bsc#1012628).
+- arm64: tegra: Fix non-prefetchable aperture of PCIe C3
+  controller (bsc#1012628).
+- arm64: dts: mt7986: move wed_pcie node (bsc#1012628).
+- ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
+  (bsc#1012628).
+- ARM: dts: armada-370: Fix assigned-addresses for every PCIe
+  Root Port (bsc#1012628).
+- ARM: dts: armada-xp: Fix assigned-addresses for every PCIe
+  Root Port (bsc#1012628).
+- ARM: dts: armada-375: Fix assigned-addresses for every PCIe
+  Root Port (bsc#1012628).
+- ARM: dts: armada-38x: Fix assigned-addresses for every PCIe
+  Root Port (bsc#1012628).
+- ARM: dts: armada-39x: Fix assigned-addresses for every PCIe
+  Root Port (bsc#1012628).
+- ARM: dts: turris-omnia: Add ethernet aliases (bsc#1012628).
+- ARM: dts: turris-omnia: Add switch port 6 node (bsc#1012628).
+- arm64: dts: armada-3720-turris-mox: Add missing interrupt for
+  RTC (bsc#1012628).
+- soc: apple: sart: Stop casting function pointer signatures
+  (bsc#1012628).
+- soc: apple: rtkit: Stop casting function pointer signatures
+  (bsc#1012628).
+- drivers/perf: hisi: Fix some event id for hisi-pcie-pmu
+  (bsc#1012628).
+- seccomp: Move copy_seccomp() to no failure path (bsc#1012628).
+- pstore/ram: Fix error return code in ramoops_probe()
+  (bsc#1012628).
+- ARM: mmp: fix timer_read delay (bsc#1012628).
+- pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
+  (bsc#1012628).
+- arch: arm64: apple: t8103: Use standard "iommu" node name
+  (bsc#1012628).
+- tpm: tis_i2c: Fix sanity check interrupt enable mask
+  (bsc#1012628).
+- tpm: Add flag to use default cancellation policy (bsc#1012628).
+- tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init()
+  (bsc#1012628).
+- tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
+  (bsc#1012628).
+- ovl: remove privs in ovl_copyfile() (bsc#1012628).
+- ovl: remove privs in ovl_fallocate() (bsc#1012628).
+- sched/uclamp: Fix relationship between uclamp and migration
+  margin (bsc#1012628).
+- sched/uclamp: Make task_fits_capacity() use util_fits_cpu()
+  (bsc#1012628).
+- sched/uclamp: Fix fits_capacity() check in feec() (bsc#1012628).
+- sched/uclamp: Make select_idle_capacity() use util_fits_cpu()
+  (bsc#1012628).
+- sched/uclamp: Make asym_fits_capacity() use util_fits_cpu()
+  (bsc#1012628).
+- sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
+  (bsc#1012628).
+- sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s
++++ 1788 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.1563/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.It4rEz/_old  2023-01-03 16:27:02.498116044 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.502116067 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package dtb-aarch64
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %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:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %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.It4rEz/_old  2023-01-03 16:27:02.614116699 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.622116743 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-64kb
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -111,9 +111,9 @@
 Summary:        Kernel with 64kb PAGE_SIZE
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -240,10 +240,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-e71748d44896da2c218a153173fa0504f34836bc
-Provides:       kernel-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       
kernel-%build_flavor-base-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
+Provides:       kernel-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 # END COMMON DEPS
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 %obsolete_rebuilds %name
 Source0:        
https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.650116902 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.658116946 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-debug
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -111,9 +111,9 @@
 Summary:        A Debug Version of the Kernel
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -240,10 +240,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-e71748d44896da2c218a153173fa0504f34836bc
-Provides:       kernel-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       
kernel-%build_flavor-base-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
+Provides:       kernel-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 # END COMMON DEPS
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 %ifarch ppc64
 Provides:       kernel-kdump = 2.6.28
 Obsoletes:      kernel-kdump <= 2.6.28

++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.686117105 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.690117127 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-default
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -111,9 +111,9 @@
 Summary:        The Standard Kernel
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -240,10 +240,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-e71748d44896da2c218a153173fa0504f34836bc
-Provides:       kernel-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       
kernel-%build_flavor-base-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
+Provides:       kernel-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 # END COMMON DEPS
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 %ifarch %ix86
 Provides:       kernel-smp = 2.6.17
 Obsoletes:      kernel-smp <= 2.6.17

++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.714117263 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.718117285 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-docs
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -31,9 +31,9 @@
 Summary:        Kernel Documentation
 License:        GPL-2.0-only
 Group:          Documentation/Man
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -67,7 +67,7 @@
 %endif
 URL:            https://www.kernel.org/
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source0:        
https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz

++++++ kernel-kvmsmall.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.742117420 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.746117443 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-kvmsmall
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -111,9 +111,9 @@
 Summary:        The Small Developer Kernel for KVM
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -240,10 +240,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-e71748d44896da2c218a153173fa0504f34836bc
-Provides:       kernel-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       
kernel-%build_flavor-base-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
+Provides:       kernel-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 # END COMMON DEPS
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 %obsolete_rebuilds %name
 Source0:        
https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.802117759 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.806117782 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-obs-build
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 
 #!BuildIgnore: post-build-checks
 
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -45,7 +45,7 @@
 %endif
 %endif
 %endif
-BuildRequires:  
kernel%kernel_flavor-srchash-e71748d44896da2c218a153173fa0504f34836bc
+BuildRequires:  
kernel%kernel_flavor-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 
 %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:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif

++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.830117917 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.834117940 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-obs-qa
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 # needsrootforbuild
 
 
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %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:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif

++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.858118075 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.866118121 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-pae
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -111,9 +111,9 @@
 Summary:        Kernel with PAE Support
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -240,10 +240,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-e71748d44896da2c218a153173fa0504f34836bc
-Provides:       kernel-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       
kernel-%build_flavor-base-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
+Provides:       kernel-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 # END COMMON DEPS
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 %ifarch %ix86
 Provides:       kernel-bigsmp = 2.6.17
 Obsoletes:      kernel-bigsmp <= 2.6.17

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.894118279 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.898118301 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-source
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -31,9 +31,9 @@
 %endif
 
 Name:           kernel-source
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -50,7 +50,7 @@
 BuildRequires:  sed
 Requires(post): coreutils sed
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 Provides:       linux
 Provides:       multiversion(kernel)
 Source0:        
https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.926118459 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.930118482 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-syms
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,10 +24,10 @@
 Summary:        Kernel Symbol Versions (modversions)
 License:        GPL-2.0-only
 Group:          Development/Sources
-Version:        6.1.1
+Version:        6.1.2
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -52,7 +52,7 @@
 %endif
 Requires:       pesign-obs-integration
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 Provides:       multiversion(kernel)
 Source:         README.KSYMS
 Requires:       kernel-devel%variant = %version-%source_rel

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:02.954118617 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:02.962118663 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kernel-vanilla
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 
 %define srcversion 6.1
-%define patchversion 6.1.1
+%define patchversion 6.1.2
 %define variant %{nil}
 %define vanilla_only 0
 %define compress_modules zstd
@@ -111,9 +111,9 @@
 Summary:        The Standard Kernel - without any SUSE patches
 License:        GPL-2.0-only
 Group:          System/Kernel
-Version:        6.1.1
+Version:        6.1.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge71748d
+Release:        <RELEASE>.g7fea150
 %else
 Release:        0
 %endif
@@ -240,10 +240,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-e71748d44896da2c218a153173fa0504f34836bc
-Provides:       kernel-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       
kernel-%build_flavor-base-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
+Provides:       kernel-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 # END COMMON DEPS
-Provides:       %name-srchash-e71748d44896da2c218a153173fa0504f34836bc
+Provides:       %name-srchash-7fea1503395f43e7cb9ca53b28baccb86c858246
 %obsolete_rebuilds %name
 Source0:        
https://www.kernel.org/pub/linux/kernel/v6.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/arm64/default new/config/arm64/default
--- old/config/arm64/default    2022-12-11 23:46:16.000000000 +0100
+++ new/config/arm64/default    2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm64 6.1.0 Kernel Configuration
+# Linux/arm64 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
@@ -12360,6 +12360,7 @@
 CONFIG_CRYPTO_SHA512_ARM64=m
 CONFIG_CRYPTO_SHA512_ARM64_CE=m
 CONFIG_CRYPTO_SHA3_ARM64=m
+CONFIG_CRYPTO_SM3_NEON=m
 CONFIG_CRYPTO_SM3_ARM64_CE=m
 CONFIG_CRYPTO_POLYVAL_ARM64_CE=m
 CONFIG_CRYPTO_AES_ARM64=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv6hl/default new/config/armv6hl/default
--- old/config/armv6hl/default  2022-12-11 23:46:16.000000000 +0100
+++ new/config/armv6hl/default  2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 6.1.0 Kernel Configuration
+# Linux/arm 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv7hl/default new/config/armv7hl/default
--- old/config/armv7hl/default  2022-12-11 23:46:16.000000000 +0100
+++ new/config/armv7hl/default  2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 6.1.0 Kernel Configuration
+# Linux/arm 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
@@ -7817,13 +7817,10 @@
 
 CONFIG_SND_SOC_QCOM=m
 CONFIG_SND_SOC_LPASS_CPU=m
-CONFIG_SND_SOC_LPASS_HDMI=m
 CONFIG_SND_SOC_LPASS_PLATFORM=m
 CONFIG_SND_SOC_LPASS_IPQ806X=m
-CONFIG_SND_SOC_LPASS_SC7180=m
 CONFIG_SND_SOC_STORM=m
-# CONFIG_SND_SOC_APQ8016_SBC is not set
-CONFIG_SND_SOC_QCOM_COMMON=m
+# CONFIG_SND_SOC_QCOM_COMMON is not set
 CONFIG_SND_SOC_QDSP6_COMMON=m
 CONFIG_SND_SOC_QDSP6_CORE=m
 CONFIG_SND_SOC_QDSP6_AFE=m
@@ -7839,8 +7836,6 @@
 CONFIG_SND_SOC_QDSP6_PRM_LPASS_CLOCKS=m
 CONFIG_SND_SOC_QDSP6_PRM=m
 CONFIG_SND_SOC_QDSP6=m
-# CONFIG_SND_SOC_MSM8996 is not set
-CONFIG_SND_SOC_SC7180=m
 CONFIG_SND_SOC_ROCKCHIP=m
 CONFIG_SND_SOC_ROCKCHIP_I2S=m
 CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv7hl/lpae new/config/armv7hl/lpae
--- old/config/armv7hl/lpae     2022-12-11 23:46:16.000000000 +0100
+++ new/config/armv7hl/lpae     2023-01-01 11:46:51.000000000 +0100
@@ -259,15 +259,21 @@
 # CONFIG_SND_IMX_SOC is not set
 # CONFIG_SND_KIRKWOOD_SOC is not set
 # CONFIG_SND_MESON_AXG_SPDIFIN is not set
+CONFIG_SND_SOC_APQ8016_SBC=m
 # CONFIG_SND_SOC_FSL_ESAI is not set
 # CONFIG_SND_SOC_FSL_SAI is not set
 # CONFIG_SND_SOC_FSL_SPDIF is not set
 # CONFIG_SND_SOC_FSL_SSI is not set
 # CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SOC_LPASS_APQ8016=m
 CONFIG_SND_SOC_LPASS_CDC_DMA=m
+CONFIG_SND_SOC_LPASS_HDMI=m
 CONFIG_SND_SOC_LPASS_MACRO_COMMON=m
+CONFIG_SND_SOC_LPASS_SC7180=m
 CONFIG_SND_SOC_LPASS_SC7280=m
 CONFIG_SND_SOC_MAX98373_SDW=m
+CONFIG_SND_SOC_MSM8996=m
+CONFIG_SND_SOC_QCOM_COMMON=m
 CONFIG_SND_SOC_RT1308_SDW=m
 CONFIG_SND_SOC_RT1316_SDW=m
 CONFIG_SND_SOC_RT5682_SDW=m
@@ -279,6 +285,7 @@
 CONFIG_SND_SOC_RT715=m
 CONFIG_SND_SOC_RT715_SDCA_SDW=m
 CONFIG_SND_SOC_RT715_SDW=m
+CONFIG_SND_SOC_SC7180=m
 CONFIG_SND_SOC_SC7280=m
 # CONFIG_SND_SOC_SC8280XP is not set
 # CONFIG_SND_SOC_SDM845 is not set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/pae new/config/i386/pae
--- old/config/i386/pae 2022-12-11 23:46:16.000000000 +0100
+++ new/config/i386/pae 2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/i386 6.1.0 Kernel Configuration
+# Linux/i386 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/ppc64/default new/config/ppc64/default
--- old/config/ppc64/default    2022-12-11 23:46:16.000000000 +0100
+++ new/config/ppc64/default    2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/powerpc 6.1.0 Kernel Configuration
+# Linux/powerpc 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/ppc64le/default new/config/ppc64le/default
--- old/config/ppc64le/default  2022-12-11 23:46:16.000000000 +0100
+++ new/config/ppc64le/default  2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/powerpc 6.1.0 Kernel Configuration
+# Linux/powerpc 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/riscv64/default new/config/riscv64/default
--- old/config/riscv64/default  2022-12-11 23:46:16.000000000 +0100
+++ new/config/riscv64/default  2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/riscv 6.1.0 Kernel Configuration
+# Linux/riscv 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/s390x/default new/config/s390x/default
--- old/config/s390x/default    2022-12-11 23:46:16.000000000 +0100
+++ new/config/s390x/default    2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/s390 6.1.0 Kernel Configuration
+# Linux/s390 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/s390x/zfcpdump new/config/s390x/zfcpdump
--- old/config/s390x/zfcpdump   2022-12-11 23:46:16.000000000 +0100
+++ new/config/s390x/zfcpdump   2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/s390 6.1.0 Kernel Configuration
+# Linux/s390 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y
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-12-11 23:46:16.000000000 +0100
+++ new/config/x86_64/default   2023-01-01 11:46:51.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 6.1.0 Kernel Configuration
+# Linux/x86_64 6.1.2 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (scripts/dummy-tools/gcc)"
 CONFIG_CC_IS_GCC=y



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

++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/ALSA-hda-hdmi-Static-PCM-mapping-again-with-AMD-HDMI.patch 
new/patches.suse/ALSA-hda-hdmi-Static-PCM-mapping-again-with-AMD-HDMI.patch
--- old/patches.suse/ALSA-hda-hdmi-Static-PCM-mapping-again-with-AMD-HDMI.patch 
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/ALSA-hda-hdmi-Static-PCM-mapping-again-with-AMD-HDMI.patch 
2023-01-01 11:46:51.000000000 +0100
@@ -0,0 +1,118 @@
+From 090ddad4c7a9fefd647c762093a555870a19c8b2 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <ti...@suse.de>
+Date: Wed, 28 Dec 2022 13:57:14 +0100
+Subject: [PATCH] ALSA: hda/hdmi: Static PCM mapping again with AMD HDMI codecs
+Git-commit: 090ddad4c7a9fefd647c762093a555870a19c8b2
+Patch-mainline: v6.2-rc2
+References: bsc#1206759
+
+The recent code refactoring for HD-audio HDMI codec driver caused a
+regression on AMD/ATI HDMI codecs; namely, PulseAudioand pipewire
+don't recognize HDMI outputs any longer while the direct output via
+ALSA raw access still works.
+
+The problem turned out that, after the code refactoring, the driver
+assumes only the dynamic PCM assignment, and when a PCM stream that
+still isn't assigned to any pin gets opened, the driver tries to
+assign any free converter to the PCM stream.  This behavior is OK for
+Intel and other codecs, as they have arbitrary connections between
+pins and converters.  OTOH, on AMD chips that have a 1:1 mapping
+between pins and converters, this may end up with blocking the open of
+the next PCM stream for the pin that is tied with the formerly taken
+converter.
+
+Also, with the code refactoring, more PCM streams are exposed than
+necessary as we assume all converters can be used, while this isn't
+true for AMD case.  This may change the PCM stream assignment and
+confuse users as well.
+
+This patch fixes those problems by:
+
+- Introducing a flag spec->static_pcm_mapping, and if it's set, the
+  driver applies the static mapping between pins and converters at the
+  probe time
+- Limiting the number of PCM streams per pins, too; this avoids the
+  superfluous PCM streams
+
+Fixes: ef6f5494faf6 ("ALSA: hda/hdmi: Use only dynamic PCM device allocation")
+Cc: <sta...@vger.kernel.org>
+Link: https://bugzilla.kernel.org/show_bug.cgi?id=216836
+Co-developed-by: Jaroslav Kysela <pe...@perex.cz>
+Signed-off-by: Jaroslav Kysela <pe...@perex.cz>
+Link: https://lore.kernel.org/r/20221228125714.16329-1-ti...@suse.de
+Signed-off-by: Takashi Iwai <ti...@suse.de>
+
+---
+ sound/pci/hda/patch_hdmi.c | 27 +++++++++++++++++++--------
+ 1 file changed, 19 insertions(+), 8 deletions(-)
+
+diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
+index 8015e4471267..386dd9d9143f 100644
+--- a/sound/pci/hda/patch_hdmi.c
++++ b/sound/pci/hda/patch_hdmi.c
+@@ -167,6 +167,7 @@ struct hdmi_spec {
+       struct hdmi_ops ops;
+ 
+       bool dyn_pin_out;
++      bool static_pcm_mapping;
+       /* hdmi interrupt trigger control flag for Nvidia codec */
+       bool hdmi_intr_trig_ctrl;
+       bool nv_dp_workaround; /* workaround DP audio infoframe for Nvidia */
+@@ -1525,13 +1526,16 @@ static void update_eld(struct hda_codec *codec,
+        */
+       pcm_jack = pin_idx_to_pcm_jack(codec, per_pin);
+ 
+-      if (eld->eld_valid) {
+-              hdmi_attach_hda_pcm(spec, per_pin);
+-              hdmi_pcm_setup_pin(spec, per_pin);
+-      } else {
+-              hdmi_pcm_reset_pin(spec, per_pin);
+-              hdmi_detach_hda_pcm(spec, per_pin);
++      if (!spec->static_pcm_mapping) {
++              if (eld->eld_valid) {
++                      hdmi_attach_hda_pcm(spec, per_pin);
++                      hdmi_pcm_setup_pin(spec, per_pin);
++              } else {
++                      hdmi_pcm_reset_pin(spec, per_pin);
++                      hdmi_detach_hda_pcm(spec, per_pin);
++              }
+       }
++
+       /* if pcm_idx == -1, it means this is in monitor connection event
+        * we can get the correct pcm_idx now.
+        */
+@@ -2281,8 +2285,8 @@ static int generic_hdmi_build_pcms(struct hda_codec 
*codec)
+       struct hdmi_spec *spec = codec->spec;
+       int idx, pcm_num;
+ 
+-      /* limit the PCM devices to the codec converters */
+-      pcm_num = spec->num_cvts;
++      /* limit the PCM devices to the codec converters or available PINs */
++      pcm_num = min(spec->num_cvts, spec->num_pins);
+       codec_dbg(codec, "hdmi: pcm_num set to %d\n", pcm_num);
+ 
+       for (idx = 0; idx < pcm_num; idx++) {
+@@ -2379,6 +2383,11 @@ static int generic_hdmi_build_controls(struct hda_codec 
*codec)
+               struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx);
+               struct hdmi_eld *pin_eld = &per_pin->sink_eld;
+ 
++              if (spec->static_pcm_mapping) {
++                      hdmi_attach_hda_pcm(spec, per_pin);
++                      hdmi_pcm_setup_pin(spec, per_pin);
++              }
++
+               pin_eld->eld_valid = false;
+               hdmi_present_sense(per_pin, 0);
+       }
+@@ -4419,6 +4428,8 @@ static int patch_atihdmi(struct hda_codec *codec)
+ 
+       spec = codec->spec;
+ 
++      spec->static_pcm_mapping = true;
++
+       spec->ops.pin_get_eld = atihdmi_pin_get_eld;
+       spec->ops.pin_setup_infoframe = atihdmi_pin_setup_infoframe;
+       spec->ops.pin_hbr_setup = atihdmi_pin_hbr_setup;
+-- 
+2.35.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/io_uring-net-ensure-compat-import-handlers-clear-fre.patch 
new/patches.suse/io_uring-net-ensure-compat-import-handlers-clear-fre.patch
--- old/patches.suse/io_uring-net-ensure-compat-import-handlers-clear-fre.patch 
2022-12-21 17:29:07.000000000 +0100
+++ new/patches.suse/io_uring-net-ensure-compat-import-handlers-clear-fre.patch 
1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-From: Jens Axboe <ax...@kernel.dk>
-Date: Mon, 19 Dec 2022 07:28:26 -0700
-Subject: io_uring/net: ensure compat import handlers clear free_iov
-Git-repo: git://git.kernel.dk/linux.git#io_uring-6.2
-Git-commit: 990a4de57e44f4f4cfc33c90d2ec5d285b7c8342
-Patch-mainline: Queued in subsystem maintainer repository
-References: bsc#1206509
-
-If we're not allocating the vectors because the count is below
-UIO_FASTIOV, we still do need to properly clear ->free_iov to prevent
-an erronous free of on-stack data.
-
-Reported-by: Jiri Slaby <jirisl...@gmail.com>
-Fixes: 4c17a496a7a0 ("io_uring/net: fix cleanup double free free_iov init")
-Cc: sta...@vger.kernel.org
-Signed-off-by: Jens Axboe <ax...@kernel.dk>
-Signed-off-by: Jiri Slaby <jsl...@suse.cz>
----
- io_uring/net.c |    1 +
- 1 file changed, 1 insertion(+)
-
---- a/io_uring/net.c
-+++ b/io_uring/net.c
-@@ -479,6 +479,7 @@ static int __io_compat_recvmsg_copy_hdr(
-       if (req->flags & REQ_F_BUFFER_SELECT) {
-               compat_ssize_t clen;
- 
-+              iomsg->free_iov = NULL;
-               if (msg.msg_iovlen == 0) {
-                       sr->len = 0;
-               } else if (msg.msg_iovlen > 1) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/misc-sgi-gru-fix-use-after-free-error-in-gru_set_con.patch 
new/patches.suse/misc-sgi-gru-fix-use-after-free-error-in-gru_set_con.patch
--- old/patches.suse/misc-sgi-gru-fix-use-after-free-error-in-gru_set_con.patch 
2022-12-21 17:29:07.000000000 +0100
+++ new/patches.suse/misc-sgi-gru-fix-use-after-free-error-in-gru_set_con.patch 
1970-01-01 01:00:00.000000000 +0100
@@ -1,129 +0,0 @@
-From: Zheng Wang <zyytlz...@163.com>
-Date: Thu, 10 Nov 2022 11:50:33 +0800
-Subject: misc: sgi-gru: fix use-after-free error in gru_set_context_option,
- gru_fault and gru_handle_user_call_os
-Patch-mainline: v6.2-rc1
-Git-commit: 643a16a0eb1d6ac23744bb6e90a00fc21148a9dc
-References: CVE-2022-3424 bsc#1204166
-
-In some bad situation, the gts may be freed gru_check_chiplet_assignment.
-The call chain can be gru_unload_context->gru_free_gru_context->gts_drop
-and kfree finally. However, the caller didn't know if the gts is freed
-or not and use it afterwards. This will trigger a Use after Free bug.
-
-Fix it by introducing a return value to see if it's in error path or not.
-Free the gts in caller if gru_check_chiplet_assignment check failed.
-
-Fixes: 55484c45dbec ("gru: allow users to specify gru chiplet 2")
-Signed-off-by: Zheng Wang <zyytlz...@163.com>
-Acked-by: Dimitri Sivanich <sivan...@hpe.com>
-Link: https://lore.kernel.org/r/20221110035033.19498-1-zyytlz...@163.com
-Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
-Signed-off-by: Jiri Slaby <jsl...@suse.cz>
----
- drivers/misc/sgi-gru/grufault.c  |   13 +++++++++++--
- drivers/misc/sgi-gru/grumain.c   |   22 ++++++++++++++++++----
- drivers/misc/sgi-gru/grutables.h |    2 +-
- 3 files changed, 30 insertions(+), 7 deletions(-)
-
---- a/drivers/misc/sgi-gru/grufault.c
-+++ b/drivers/misc/sgi-gru/grufault.c
-@@ -648,6 +648,7 @@ int gru_handle_user_call_os(unsigned lon
-       if ((cb & (GRU_HANDLE_STRIDE - 1)) || ucbnum >= GRU_NUM_CB)
-               return -EINVAL;
- 
-+again:
-       gts = gru_find_lock_gts(cb);
-       if (!gts)
-               return -EINVAL;
-@@ -656,7 +657,11 @@ int gru_handle_user_call_os(unsigned lon
-       if (ucbnum >= gts->ts_cbr_au_count * GRU_CBR_AU_SIZE)
-               goto exit;
- 
--      gru_check_context_placement(gts);
-+      if (gru_check_context_placement(gts)) {
-+              gru_unlock_gts(gts);
-+              gru_unload_context(gts, 1);
-+              goto again;
-+      }
- 
-       /*
-        * CCH may contain stale data if ts_force_cch_reload is set.
-@@ -874,7 +879,11 @@ int gru_set_context_option(unsigned long
-               } else {
-                       gts->ts_user_blade_id = req.val1;
-                       gts->ts_user_chiplet_id = req.val0;
--                      gru_check_context_placement(gts);
-+                      if (gru_check_context_placement(gts)) {
-+                              gru_unlock_gts(gts);
-+                              gru_unload_context(gts, 1);
-+                              return ret;
-+                      }
-               }
-               break;
-       case sco_gseg_owner:
---- a/drivers/misc/sgi-gru/grumain.c
-+++ b/drivers/misc/sgi-gru/grumain.c
-@@ -716,9 +716,10 @@ static int gru_check_chiplet_assignment(
-  * chiplet. Misassignment can occur if the process migrates to a different
-  * blade or if the user changes the selected blade/chiplet.
-  */
--void gru_check_context_placement(struct gru_thread_state *gts)
-+int gru_check_context_placement(struct gru_thread_state *gts)
- {
-       struct gru_state *gru;
-+      int ret = 0;
- 
-       /*
-        * If the current task is the context owner, verify that the
-@@ -726,15 +727,23 @@ void gru_check_context_placement(struct
-        * references. Pthread apps use non-owner references to the CBRs.
-        */
-       gru = gts->ts_gru;
-+      /*
-+       * If gru or gts->ts_tgid_owner isn't initialized properly, return
-+       * success to indicate that the caller does not need to unload the
-+       * gru context.The caller is responsible for their inspection and
-+       * reinitialization if needed.
-+       */
-       if (!gru || gts->ts_tgid_owner != current->tgid)
--              return;
-+              return ret;
- 
-       if (!gru_check_chiplet_assignment(gru, gts)) {
-               STAT(check_context_unload);
--              gru_unload_context(gts, 1);
-+              ret = -EINVAL;
-       } else if (gru_retarget_intr(gts)) {
-               STAT(check_context_retarget_intr);
-       }
-+
-+      return ret;
- }
- 
- 
-@@ -934,7 +943,12 @@ again:
-       mutex_lock(&gts->ts_ctxlock);
-       preempt_disable();
- 
--      gru_check_context_placement(gts);
-+      if (gru_check_context_placement(gts)) {
-+              preempt_enable();
-+              mutex_unlock(&gts->ts_ctxlock);
-+              gru_unload_context(gts, 1);
-+              return VM_FAULT_NOPAGE;
-+      }
- 
-       if (!gts->ts_gru) {
-               STAT(load_user_context);
---- a/drivers/misc/sgi-gru/grutables.h
-+++ b/drivers/misc/sgi-gru/grutables.h
-@@ -632,7 +632,7 @@ extern int gru_user_flush_tlb(unsigned l
- extern int gru_user_unload_context(unsigned long arg);
- extern int gru_get_exception_detail(unsigned long arg);
- extern int gru_set_context_option(unsigned long address);
--extern void gru_check_context_placement(struct gru_thread_state *gts);
-+extern int gru_check_context_placement(struct gru_thread_state *gts);
- extern int gru_cpu_fault_map_id(void);
- extern struct vm_area_struct *gru_find_vma(unsigned long vaddr);
- extern void gru_flush_all_tlb(struct gru_state *gru);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/v4-wifi-mac80211-fix-initialization-of-rx--link-and-rx--link_sta.patch
 
new/patches.suse/v4-wifi-mac80211-fix-initialization-of-rx--link-and-rx--link_sta.patch
--- 
old/patches.suse/v4-wifi-mac80211-fix-initialization-of-rx--link-and-rx--link_sta.patch
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/v4-wifi-mac80211-fix-initialization-of-rx--link-and-rx--link_sta.patch
     2023-01-01 11:46:51.000000000 +0100
@@ -0,0 +1,454 @@
+From: Felix Fietkau <n...@nbd.name>
+Subject: [PATCH v4] wifi: mac80211: fix initialization of rx->link and 
rx->link_sta
+Date: Sat, 17 Dec 2022 09:56:24 +0100
+Message-id: <20221217085624.52077-1-...@nbd.name>
+Patch-mainline: Submitted, linux-wireless ML
+References: bsc#1206683
+
+There are some codepaths that do not initialize rx->link_sta properly. This
+causes a crash in places which assume that rx->link_sta is valid if rx->sta
+is valid.
+One known instance is triggered by __ieee80211_rx_h_amsdu being called from
+fast-rx. It results in a crash like this one:
+
+ BUG: kernel NULL pointer dereference, address: 00000000000000a8
+ #PF: supervisor write access in kernel mode
+ #PF: error_code(0x0002) - not-present page PGD 0 P4D 0
+ Oops: 0002 [#1] PREEMPT SMP PTI
+ CPU: 1 PID: 506 Comm: mt76-usb-rx phy Tainted: G            E      
6.1.0-debian64x+1.7 #3
+ Hardware name: ZOTAC ZBOX-ID92/ZBOX-IQ01/ZBOX-ID92/ZBOX-IQ01, BIOS B220P007 
05/21/2014
+ RIP: 0010:ieee80211_deliver_skb+0x62/0x1f0 [mac80211]
+ Code: 00 48 89 04 24 e8 9e a7 c3 df 89 c0 48 03 1c c5 a0 ea 39 a1 4c 01 6b 08 
48 ff 03 48
+       83 7d 28 00 74 11 48 8b 45 30 48 63 55 44 <48> 83 84 d0 a8 00 00 00 01 
41 8b 86 c0
+       11 00 00 8d 50 fd 83 fa 01
+ RSP: 0018:ffff999040803b10 EFLAGS: 00010286
+ RAX: 0000000000000000 RBX: ffffb9903f496480 RCX: 0000000000000000
+ RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
+ RBP: ffff999040803ce0 R08: 0000000000000000 R09: 0000000000000000
+ R10: 0000000000000000 R11: 0000000000000000 R12: ffff8d21828ac900
+ R13: 000000000000004a R14: ffff8d2198ed89c0 R15: ffff8d2198ed8000
+ FS:  0000000000000000(0000) GS:ffff8d24afe80000(0000) knlGS:0000000000000000
+ CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+ CR2: 00000000000000a8 CR3: 0000000429810002 CR4: 00000000001706e0
+ Call Trace:
+  <TASK>
+  __ieee80211_rx_h_amsdu+0x1b5/0x240 [mac80211]
+  ? ieee80211_prepare_and_rx_handle+0xcdd/0x1320 [mac80211]
+  ? __local_bh_enable_ip+0x3b/0xa0
+  ieee80211_prepare_and_rx_handle+0xcdd/0x1320 [mac80211]
+  ? prepare_transfer+0x109/0x1a0 [xhci_hcd]
+  ieee80211_rx_list+0xa80/0xda0 [mac80211]
+  mt76_rx_complete+0x207/0x2e0 [mt76]
+  mt76_rx_poll_complete+0x357/0x5a0 [mt76]
+  mt76u_rx_worker+0x4f5/0x600 [mt76_usb]
+  ? mt76_get_min_avg_rssi+0x140/0x140 [mt76]
+  __mt76_worker_fn+0x50/0x80 [mt76]
+  kthread+0xed/0x120
+  ? kthread_complete_and_exit+0x20/0x20
+  ret_from_fork+0x22/0x30
+
+Since the initialization of rx->link and rx->link_sta is rather convoluted
+and duplicated in many places, clean it up by using a helper function to
+set it.
+
+Fixes: ccdde7c74ffd ("wifi: mac80211: properly implement MLO key handling")
+Fixes: b320d6c456ff ("wifi: mac80211: use correct rx link_sta instead of 
default")
+Signed-off-by: Felix Fietkau <n...@nbd.name>
+Acked-by: Takashi Iwai <ti...@suse.de>
+
+---
+v4: fix regression in handling mgmt frames with AP_VLAN
+v3: include crash log
+v2: fix uninitialized variable
+
+ net/mac80211/rx.c | 218 ++++++++++++++++++++--------------------------
+ 1 file changed, 95 insertions(+), 123 deletions(-)
+
+diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
+index 3fa7b36d4324..09cd0caded16 100644
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -4091,6 +4091,56 @@ static void ieee80211_invoke_rx_handlers(struct 
ieee80211_rx_data *rx)
+ #undef CALL_RXH
+ }
+ 
++static bool
++ieee80211_rx_is_valid_sta_link_id(struct ieee80211_sta *sta, u8 link_id)
++{
++      if (!sta->mlo)
++              return false;
++
++      return !!(sta->valid_links & BIT(link_id));
++}
++
++static bool ieee80211_rx_data_set_link(struct ieee80211_rx_data *rx,
++                                     u8 link_id)
++{
++      if (!ieee80211_rx_is_valid_sta_link_id(&rx->sta->sta, link_id))
++              return false;
++
++      rx->link_id = link_id;
++      rx->link = rcu_dereference(rx->sdata->link[link_id]);
++      rx->link_sta = rcu_dereference(rx->sta->link[link_id]);
++
++      return rx->link && rx->link_sta;
++}
++
++static bool ieee80211_rx_data_set_sta(struct ieee80211_rx_data *rx,
++                                    struct ieee80211_sta *pubsta,
++                                    int link_id)
++{
++      struct sta_info *sta;
++
++      sta = container_of(pubsta, struct sta_info, sta);
++
++      rx->link_id = link_id;
++      rx->sta = sta;
++
++      if (sta) {
++              rx->local = sta->sdata->local;
++              if (!rx->sdata)
++                      rx->sdata = sta->sdata;
++              rx->link_sta = &sta->deflink;
++
++              if (link_id >= 0 &&
++                  !ieee80211_rx_data_set_link(rx, link_id))
++                      return false;
++      }
++
++      if (link_id < 0)
++              rx->link = &rx->sdata->deflink;
++
++      return true;
++}
++
+ /*
+  * This function makes calls into the RX path, therefore
+  * it has to be invoked under RCU read lock.
+@@ -4099,16 +4149,19 @@ void ieee80211_release_reorder_timeout(struct sta_info 
*sta, int tid)
+ {
+       struct sk_buff_head frames;
+       struct ieee80211_rx_data rx = {
+-              .sta = sta,
+-              .sdata = sta->sdata,
+-              .local = sta->local,
+               /* This is OK -- must be QoS data frame */
+               .security_idx = tid,
+               .seqno_idx = tid,
+-              .link_id = -1,
+       };
+       struct tid_ampdu_rx *tid_agg_rx;
+-      u8 link_id;
++      int link_id = -1;
++
++      /* FIXME: statistics won't be right with this */
++      if (sta->sta.valid_links)
++              link_id = ffs(sta->sta.valid_links) - 1;
++
++      if (!ieee80211_rx_data_set_sta(&rx, &sta->sta, link_id))
++              return;
+ 
+       tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]);
+       if (!tid_agg_rx)
+@@ -4128,10 +4181,6 @@ void ieee80211_release_reorder_timeout(struct sta_info 
*sta, int tid)
+               };
+               drv_event_callback(rx.local, rx.sdata, &event);
+       }
+-      /* FIXME: statistics won't be right with this */
+-      link_id = sta->sta.valid_links ? ffs(sta->sta.valid_links) - 1 : 0;
+-      rx.link = rcu_dereference(sta->sdata->link[link_id]);
+-      rx.link_sta = rcu_dereference(sta->link[link_id]);
+ 
+       ieee80211_rx_handlers(&rx, &frames);
+ }
+@@ -4147,7 +4196,6 @@ void ieee80211_mark_rx_ba_filtered_frames(struct 
ieee80211_sta *pubsta, u8 tid,
+               /* This is OK -- must be QoS data frame */
+               .security_idx = tid,
+               .seqno_idx = tid,
+-              .link_id = -1,
+       };
+       int i, diff;
+ 
+@@ -4158,10 +4206,8 @@ void ieee80211_mark_rx_ba_filtered_frames(struct 
ieee80211_sta *pubsta, u8 tid,
+ 
+       sta = container_of(pubsta, struct sta_info, sta);
+ 
+-      rx.sta = sta;
+-      rx.sdata = sta->sdata;
+-      rx.link = &rx.sdata->deflink;
+-      rx.local = sta->local;
++      if (!ieee80211_rx_data_set_sta(&rx, pubsta, -1))
++              return;
+ 
+       rcu_read_lock();
+       tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]);
+@@ -4548,15 +4594,6 @@ void ieee80211_check_fast_rx_iface(struct 
ieee80211_sub_if_data *sdata)
+       mutex_unlock(&local->sta_mtx);
+ }
+ 
+-static bool
+-ieee80211_rx_is_valid_sta_link_id(struct ieee80211_sta *sta, u8 link_id)
+-{
+-      if (!sta->mlo)
+-              return false;
+-
+-      return !!(sta->valid_links & BIT(link_id));
+-}
+-
+ static void ieee80211_rx_8023(struct ieee80211_rx_data *rx,
+                             struct ieee80211_fast_rx *fast_rx,
+                             int orig_len)
+@@ -4667,7 +4704,6 @@ static bool ieee80211_invoke_fast_rx(struct 
ieee80211_rx_data *rx,
+       struct sk_buff *skb = rx->skb;
+       struct ieee80211_hdr *hdr = (void *)skb->data;
+       struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
+-      struct sta_info *sta = rx->sta;
+       int orig_len = skb->len;
+       int hdrlen = ieee80211_hdrlen(hdr->frame_control);
+       int snap_offs = hdrlen;
+@@ -4679,7 +4715,6 @@ static bool ieee80211_invoke_fast_rx(struct 
ieee80211_rx_data *rx,
+               u8 da[ETH_ALEN];
+               u8 sa[ETH_ALEN];
+       } addrs __aligned(2);
+-      struct link_sta_info *link_sta;
+       struct ieee80211_sta_rx_stats *stats;
+ 
+       /* for parallel-rx, we need to have DUP_VALIDATED, otherwise we write
+@@ -4782,18 +4817,10 @@ static bool ieee80211_invoke_fast_rx(struct 
ieee80211_rx_data *rx,
+  drop:
+       dev_kfree_skb(skb);
+ 
+-      if (rx->link_id >= 0) {
+-              link_sta = rcu_dereference(sta->link[rx->link_id]);
+-              if (!link_sta)
+-                      return true;
+-      } else {
+-              link_sta = &sta->deflink;
+-      }
+-
+       if (fast_rx->uses_rss)
+-              stats = this_cpu_ptr(link_sta->pcpu_rx_stats);
++              stats = this_cpu_ptr(rx->link_sta->pcpu_rx_stats);
+       else
+-              stats = &link_sta->rx_stats;
++              stats = &rx->link_sta->rx_stats;
+ 
+       stats->dropped++;
+       return true;
+@@ -4811,8 +4838,8 @@ static bool ieee80211_prepare_and_rx_handle(struct 
ieee80211_rx_data *rx,
+       struct ieee80211_local *local = rx->local;
+       struct ieee80211_sub_if_data *sdata = rx->sdata;
+       struct ieee80211_hdr *hdr = (void *)skb->data;
+-      struct link_sta_info *link_sta = NULL;
+-      struct ieee80211_link_data *link;
++      struct link_sta_info *link_sta = rx->link_sta;
++      struct ieee80211_link_data *link = rx->link;
+ 
+       rx->skb = skb;
+ 
+@@ -4834,35 +4861,6 @@ static bool ieee80211_prepare_and_rx_handle(struct 
ieee80211_rx_data *rx,
+       if (!ieee80211_accept_frame(rx))
+               return false;
+ 
+-      if (rx->link_id >= 0) {
+-              link = rcu_dereference(rx->sdata->link[rx->link_id]);
+-
+-              /* we might race link removal */
+-              if (!link)
+-                      return true;
+-              rx->link = link;
+-
+-              if (rx->sta) {
+-                      rx->link_sta =
+-                              rcu_dereference(rx->sta->link[rx->link_id]);
+-                      if (!rx->link_sta)
+-                              return true;
+-              }
+-      } else {
+-              if (rx->sta)
+-                      rx->link_sta = &rx->sta->deflink;
+-
+-              rx->link = &sdata->deflink;
+-      }
+-
+-      if (unlikely(!is_multicast_ether_addr(hdr->addr1) &&
+-                   rx->link_id >= 0 && rx->sta && rx->sta->sta.mlo)) {
+-              link_sta = rcu_dereference(rx->sta->link[rx->link_id]);
+-
+-              if (WARN_ON_ONCE(!link_sta))
+-                      return true;
+-      }
+-
+       if (!consume) {
+               struct skb_shared_hwtstamps *shwt;
+ 
+@@ -4882,7 +4880,7 @@ static bool ieee80211_prepare_and_rx_handle(struct 
ieee80211_rx_data *rx,
+               shwt->hwtstamp = skb_hwtstamps(skb)->hwtstamp;
+       }
+ 
+-      if (unlikely(link_sta)) {
++      if (unlikely(rx->sta && rx->sta->sta.mlo)) {
+               /* translate to MLD addresses */
+               if (ether_addr_equal(link->conf->addr, hdr->addr1))
+                       ether_addr_copy(hdr->addr1, rx->sdata->vif.addr);
+@@ -4912,6 +4910,7 @@ static void __ieee80211_rx_handle_8023(struct 
ieee80211_hw *hw,
+       struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
+       struct ieee80211_fast_rx *fast_rx;
+       struct ieee80211_rx_data rx;
++      int link_id = -1;
+ 
+       memset(&rx, 0, sizeof(rx));
+       rx.skb = skb;
+@@ -4928,12 +4927,8 @@ static void __ieee80211_rx_handle_8023(struct 
ieee80211_hw *hw,
+       if (!pubsta)
+               goto drop;
+ 
+-      rx.sta = container_of(pubsta, struct sta_info, sta);
+-      rx.sdata = rx.sta->sdata;
+-
+-      if (status->link_valid &&
+-          !ieee80211_rx_is_valid_sta_link_id(pubsta, status->link_id))
+-              goto drop;
++      if (status->link_valid)
++              link_id = status->link_id;
+ 
+       /*
+        * TODO: Should the frame be dropped if the right link_id is not
+@@ -4942,19 +4937,8 @@ static void __ieee80211_rx_handle_8023(struct 
ieee80211_hw *hw,
+        * link_id is used only for stats purpose and updating the stats on
+        * the deflink is fine?
+        */
+-      if (status->link_valid)
+-              rx.link_id = status->link_id;
+-
+-      if (rx.link_id >= 0) {
+-              struct ieee80211_link_data *link;
+-
+-              link =  rcu_dereference(rx.sdata->link[rx.link_id]);
+-              if (!link)
+-                      goto drop;
+-              rx.link = link;
+-      } else {
+-              rx.link = &rx.sdata->deflink;
+-      }
++      if (!ieee80211_rx_data_set_sta(&rx, pubsta, link_id))
++              goto drop;
+ 
+       fast_rx = rcu_dereference(rx.sta->fast_rx);
+       if (!fast_rx)
+@@ -4972,6 +4956,8 @@ static bool ieee80211_rx_for_interface(struct 
ieee80211_rx_data *rx,
+ {
+       struct link_sta_info *link_sta;
+       struct ieee80211_hdr *hdr = (void *)skb->data;
++      struct sta_info *sta;
++      int link_id = -1;
+ 
+       /*
+        * Look up link station first, in case there's a
+@@ -4981,24 +4967,19 @@ static bool ieee80211_rx_for_interface(struct 
ieee80211_rx_data *rx,
+        */
+       link_sta = link_sta_info_get_bss(rx->sdata, hdr->addr2);
+       if (link_sta) {
+-              rx->sta = link_sta->sta;
+-              rx->link_id = link_sta->link_id;
++              sta = link_sta->sta;
++              link_id = link_sta->link_id;
+       } else {
+               struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
+ 
+-              rx->sta = sta_info_get_bss(rx->sdata, hdr->addr2);
+-              if (rx->sta) {
+-                      if (status->link_valid &&
+-                          !ieee80211_rx_is_valid_sta_link_id(&rx->sta->sta,
+-                                                             status->link_id))
+-                              return false;
+-
+-                      rx->link_id = status->link_valid ? status->link_id : -1;
+-              } else {
+-                      rx->link_id = -1;
+-              }
++              sta = sta_info_get_bss(rx->sdata, hdr->addr2);
++              if (status->link_valid)
++                      link_id = status->link_id;
+       }
+ 
++      if (!ieee80211_rx_data_set_sta(rx, &sta->sta, link_id))
++              return false;
++
+       return ieee80211_prepare_and_rx_handle(rx, skb, consume);
+ }
+ 
+@@ -5057,19 +5038,15 @@ static void __ieee80211_rx_handle_packet(struct 
ieee80211_hw *hw,
+ 
+       if (ieee80211_is_data(fc)) {
+               struct sta_info *sta, *prev_sta;
+-              u8 link_id = status->link_id;
++              int link_id = -1;
+ 
+-              if (pubsta) {
+-                      rx.sta = container_of(pubsta, struct sta_info, sta);
+-                      rx.sdata = rx.sta->sdata;
++              if (status->link_valid)
++                      link_id = status->link_id;
+ 
+-                      if (status->link_valid &&
+-                          !ieee80211_rx_is_valid_sta_link_id(pubsta, link_id))
++              if (pubsta) {
++                      if (!ieee80211_rx_data_set_sta(&rx, pubsta, link_id))
+                               goto out;
+ 
+-                      if (status->link_valid)
+-                              rx.link_id = status->link_id;
+-
+                       /*
+                        * In MLO connection, fetch the link_id using addr2
+                        * when the driver does not pass link_id in status.
+@@ -5087,7 +5064,7 @@ static void __ieee80211_rx_handle_packet(struct 
ieee80211_hw *hw,
+                               if (!link_sta)
+                                       goto out;
+ 
+-                              rx.link_id = link_sta->link_id;
++                              ieee80211_rx_data_set_link(&rx, 
link_sta->link_id);
+                       }
+ 
+                       if (ieee80211_prepare_and_rx_handle(&rx, skb, true))
+@@ -5103,30 +5080,25 @@ static void __ieee80211_rx_handle_packet(struct 
ieee80211_hw *hw,
+                               continue;
+                       }
+ 
+-                      if ((status->link_valid &&
+-                           !ieee80211_rx_is_valid_sta_link_id(&prev_sta->sta,
+-                                                              link_id)) ||
+-                          (!status->link_valid && prev_sta->sta.mlo))
++                      if (!ieee80211_rx_data_set_sta(&rx, &prev_sta->sta,
++                                                     link_id))
++                              goto out;
++
++                      if (!status->link_valid && prev_sta->sta.mlo)
+                               continue;
+ 
+-                      rx.link_id = status->link_valid ? link_id : -1;
+-                      rx.sta = prev_sta;
+-                      rx.sdata = prev_sta->sdata;
+                       ieee80211_prepare_and_rx_handle(&rx, skb, false);
+ 
+                       prev_sta = sta;
+               }
+ 
+               if (prev_sta) {
+-                      if ((status->link_valid &&
+-                           !ieee80211_rx_is_valid_sta_link_id(&prev_sta->sta,
+-                                                              link_id)) ||
+-                          (!status->link_valid && prev_sta->sta.mlo))
++                      if (!ieee80211_rx_data_set_sta(&rx, &prev_sta->sta,
++                                                     link_id))
+                               goto out;
+ 
+-                      rx.link_id = status->link_valid ? link_id : -1;
+-                      rx.sta = prev_sta;
+-                      rx.sdata = prev_sta->sdata;
++                      if (!status->link_valid && prev_sta->sta.mlo)
++                              goto out;
+ 
+                       if (ieee80211_prepare_and_rx_handle(&rx, skb, true))
+                               return;

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

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.It4rEz/_old  2023-01-03 16:27:04.446127035 +0100
+++ /var/tmp/diff_new_pack.It4rEz/_new  2023-01-03 16:27:04.450127057 +0100
@@ -1,4 +1,4 @@
-2022-12-22 15:37:40 +0000
-GIT Revision: e71748d44896da2c218a153173fa0504f34836bc
+2023-01-01 10:46:51 +0000
+GIT Revision: 7fea1503395f43e7cb9ca53b28baccb86c858246
 GIT Branch: stable
 

Reply via email to