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 2024-08-06 09:06:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kernel-source (Old) and /work/SRC/openSUSE:Factory/.kernel-source.new.7232 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source" Tue Aug 6 09:06:57 2024 rev:742 rq:1191566 version:6.10.3 Changes: -------- --- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2024-07-29 21:52:23.608739723 +0200 +++ /work/SRC/openSUSE:Factory/.kernel-source.new.7232/dtb-aarch64.changes 2024-08-06 09:06:58.934377037 +0200 @@ -1,0 +2,1414 @@ +Sun Aug 4 08:37:13 CEST 2024 - jsl...@suse.cz + +- net: drop bad gso csum_start and offset in virtio_net_hdr + (git-fixes). +- commit ba01e0e + +------------------------------------------------------------------- +Sat Aug 3 14:36:45 CEST 2024 - jsl...@suse.cz + +- Linux 6.10.3 (bsc#1012628). +- spi: spi-microchip-core: Fix the number of chip selects + supported (bsc#1012628). +- spi: atmel-quadspi: Add missing check for clk_prepare + (bsc#1012628). +- EDAC, i10nm: make skx_common.o a separate module (bsc#1012628). +- rcu/tasks: Fix stale task snaphot for Tasks Trace (bsc#1012628). +- md: fix deadlock between mddev_suspend and flush bio + (bsc#1012628). +- md/raid0: don't free conf on raid0_run failure (bsc#1012628). +- md/raid1: don't free conf on raid0_run failure (bsc#1012628). +- platform/chrome: cros_ec_debugfs: fix wrong EC message version + (bsc#1012628). +- ubd: refactor the interrupt handler (bsc#1012628). +- ubd: untagle discard vs write zeroes not support handling + (bsc#1012628). +- block: initialize integrity buffer to zero before writing it + to media (bsc#1012628). +- dm: Call dm_revalidate_zones() after setting the queue limits + (bsc#1012628). +- io_uring: Fix probe of disabled operations (bsc#1012628). +- cgroup/cpuset: Optimize isolated partition only + generate_sched_domains() calls (bsc#1012628). +- cgroup/cpuset: Fix remote root partition creation problem + (bsc#1012628). +- x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS + (bsc#1012628). +- hfsplus: fix to avoid false alarm of circular locking + (bsc#1012628). +- x86/of: Return consistent error type from + x86_of_pci_irq_enable() (bsc#1012628). +- x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling + (bsc#1012628). +- x86/pci/xen: Fix PCIBIOS_* return code handling (bsc#1012628). +- x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos + (bsc#1012628). +- x86/syscall: Mark exit[_group] syscall handlers __noreturn + (bsc#1012628). +- cgroup/cpuset: Prevent UAF in proc_cpuset_show() (bsc#1012628). +- hwmon: (adt7475) Fix default duty on fan is disabled + (bsc#1012628). +- block: Call .limit_depth() after .hctx has been set + (bsc#1012628). +- block/mq-deadline: Fix the tag reservation code (bsc#1012628). +- xen-blkfront: fix sector_size propagation to the block layer + (bsc#1012628). +- perf: arm_pmuv3: Avoid assigning fixed cycle counter with + threshold (bsc#1012628). +- md: Don't wait for MD_RECOVERY_NEEDED for HOT_REMOVE_DISK ioctl + (bsc#1012628). +- md/raid5: recheck if reshape has finished with device_lock held + (bsc#1012628). +- hwmon: (ltc2991) re-order conditions to fix off by one bug + (bsc#1012628). +- pwm: stm32: Always do lazy disabling (bsc#1012628). +- drm/bridge: adv7511: Fix Intermittent EDID failures + (bsc#1012628). +- arm64: smp: Fix missing IPI statistics (bsc#1012628). +- nvmet-auth: fix nvmet_auth hash error handling (bsc#1012628). +- drm/meson: fix canvas release in bind function (bsc#1012628). +- pwm: atmel-tcb: Fix race condition and convert to guards + (bsc#1012628). +- drm/xe/display/xe_hdcp_gsc: Free arbiter on driver removal + (bsc#1012628). +- hwmon: (max6697) Fix underflow when writing limit attributes + (bsc#1012628). +- hwmon: (max6697) Fix swapped temp{1,8} critical alarms + (bsc#1012628). +- soc: qcom: socinfo: Update X1E PMICs (bsc#1012628). +- arm64: dts: qcom: sc8180x: Correct PCIe slave ports + (bsc#1012628). +- arm64: dts: qcom: sc7280: Remove CTS/RTS configuration + (bsc#1012628). +- ARM: dts: qcom: msm8226-microsoft-common: Enable smbb explicitly + (bsc#1012628). +- arm64: dts: qcom: sc7180: drop extra UFS PHY compat + (bsc#1012628). +- arm64: dts: qcom: sc8180x: add power-domain to UFS PHY + (bsc#1012628). +- arm64: dts: qcom: sdm845: add power-domain to UFS PHY + (bsc#1012628). +- arm64: dts: qcom: sm6115: add power-domain to UFS PHY + (bsc#1012628). +- arm64: dts: qcom: sm6350: add power-domain to UFS PHY + (bsc#1012628). +- arm64: dts: qcom: sm8250: add power-domain to UFS PHY + (bsc#1012628). +- arm64: dts: qcom: sm8350: add power-domain to UFS PHY + (bsc#1012628). +- arm64: dts: qcom: sm8450: add power-domain to UFS PHY + (bsc#1012628). +- arm64: dts: qcom: msm8996-xiaomi-common: drop excton from the + USB PHY (bsc#1012628). +- arm64: dts: qcom: sdm850-lenovo-yoga-c630: fix IPA firmware path + (bsc#1012628). +- arm64: dts: qcom: msm8998: enable adreno_smmu by default + (bsc#1012628). +- soc: qcom: pmic_glink: Handle the return value of + pmic_glink_init (bsc#1012628). +- soc: qcom: rpmh-rsc: Ensure irqs aren't disabled by + rpmh_rsc_send_data() callers (bsc#1012628). +- arm64: dts: rockchip: Add sdmmc related properties on + rk3308-rock-pi-s (bsc#1012628). +- arm64: dts: rockchip: Add pinctrl for UART0 to rk3308-rock-pi-s + (bsc#1012628). +- arm64: dts: rockchip: Add mdio and ethernet-phy nodes to + rk3308-rock-pi-s (bsc#1012628). +- arm64: dts: rockchip: Update WIFi/BT related nodes on + rk3308-rock-pi-s (bsc#1012628). +- cpufreq: sun50i: fix memory leak in dt_has_supported_hw() + (bsc#1012628). +- OPP: Fix missing cleanup on error in _opp_attach_genpd() + (bsc#1012628). +- arm64: dts: qcom: msm8996: specify UFS core_clk frequencies + (bsc#1012628). +- arm64: dts: qcom: sa8775p: mark ethernet devices as DMA-coherent + (bsc#1012628). +- soc: xilinx: rename cpu_number1 to dummy_cpu_number + (bsc#1012628). +- ARM: dts: sunxi: remove duplicated entries in makefile + (bsc#1012628). +- ARM: dts: stm32: Add arm,no-tick-in-suspend to STM32MP15xx + STGEN timer (bsc#1012628). +- arm64: dts: qcom: qrb4210-rb2: make L9A always-on (bsc#1012628). +- cpufreq: ti-cpufreq: Handle deferred probe with dev_err_probe() + (bsc#1012628). +- arm64: dts: qcom: sc8280xp-*: Remove thermal zone polling delays + (bsc#1012628). +- arm64: dts: qcom: sc8280xp: Throttle the GPU when overheating + (bsc#1012628). +- OPP: ti: Fix ti_opp_supply_probe wrong return values + (bsc#1012628). +- memory: fsl_ifc: Make FSL_IFC config visible and selectable + (bsc#1012628). +- arm64: dts: ti: k3-am62-main: Fix the reg-range for main_pktdma + (bsc#1012628). +- arm64: dts: ti: k3-am62a-main: Fix the reg-range for main_pktdma + (bsc#1012628). +- arm64: dts: ti: k3-am62p-main: Fix the reg-range for main_pktdma + (bsc#1012628). +- arm64: dts: ti: k3-am642-hummingboard-t: correct rs485 rts + polarity (bsc#1012628). +- arm64: dts: ti: k3-j722s: Fix main domain GPIO count + (bsc#1012628). +- arm64: dts: ti: k3-am62x: Drop McASP AFIFOs (bsc#1012628). +- arm64: dts: ti: k3-am62a7: Drop McASP AFIFOs (bsc#1012628). +- arm64: dts: ti: k3-am62p5: Drop McASP AFIFOs (bsc#1012628). +- arm64: dts: ti: k3-am625-beagleplay: Drop McASP AFIFOs + (bsc#1012628). +- arm64: dts: ti: k3-am62-verdin: Drop McASP AFIFOs (bsc#1012628). +- arm64: dts: ti: k3-am625-phyboard-lyra-rdk: Drop McASP AFIFOs + (bsc#1012628). +- arm64: dts: ti: k3-am62p5-sk: Fix pinmux for McASP1 TX + (bsc#1012628). +- arm64: dts: qcom: sc7180-trogdor: Disable pwmleds node where + unused (bsc#1012628). +- arm64: dts: qcom: qdu1000: Add secure qfprom node (bsc#1012628). +- soc: qcom: icc-bwmon: Fix refcount imbalance seen during + bwmon_remove (bsc#1012628). +- soc: qcom: pdr: protect locator_addr with the main mutex + (bsc#1012628). +- soc: qcom: pdr: fix parsing of domains lists (bsc#1012628). +- arm64: dts: rockchip: Increase VOP clk rate on RK3328 + (bsc#1012628). +- arm64: dts: amlogic: sm1: fix spdif compatibles (bsc#1012628). +- ARM: dts: imx6qdl-kontron-samx6i: fix phy-mode (bsc#1012628). +- ARM: dts: imx6qdl-kontron-samx6i: fix PHY reset (bsc#1012628). +- ARM: dts: imx6qdl-kontron-samx6i: fix board reset (bsc#1012628). +- ARM: dts: imx6qdl-kontron-samx6i: fix SPI0 chip selects + (bsc#1012628). +- ARM: dts: imx6qdl-kontron-samx6i: fix PCIe reset polarity + (bsc#1012628). +- arm64: dts: mediatek: mt8195: Fix GPU thermal zone name for SVS + (bsc#1012628). +- arm64: dts: mediatek: mt8192: Fix GPU thermal zone name for SVS + (bsc#1012628). +- arm64: dts: medaitek: mt8395-nio-12l: Set i2c6 pins to + bias-disable (bsc#1012628). +- arm64: dts: mediatek: mt8183-kukui: Drop bogus output-enable + property (bsc#1012628). +- arm64: dts: mediatek: mt8192-asurada: Add off-on-delay-us for + pp3300_mipibrdg (bsc#1012628). +- arm64: dts: mediatek: mt7981: fix code alignment for PWM clocks + (bsc#1012628). +- arm64: dts: mediatek: mt7622: fix "emmc" pinctrl mux + (bsc#1012628). +- arm64: dts: mediatek: mt8183-kukui: Fix the value of + `dlg,jack-det-rate` mismatch (bsc#1012628). +- arm64: dts: mediatek: mt8183-pico6: Fix wake-on-X event node + names (bsc#1012628). +- arm64: dts: mediatek: mt8183-kukui-jacuzzi: Add ports node + for anx7625 (bsc#1012628). +- soc: mediatek: mtk-mutex: Add MDP_TCC0 mod to MT8188 mutex table + (bsc#1012628). +- arm64: dts: amlogic: gx: correct hdmi clocks (bsc#1012628). +- arm64: dts: amlogic: add power domain to hdmitx (bsc#1012628). +- arm64: dts: amlogic: setup hdmi system clock (bsc#1012628). +- arm64: dts: rockchip: Drop invalid mic-in-differential on + rk3568-rock-3a (bsc#1012628). +- arm64: dts: rockchip: Fix mic-in-differential usage on + rk3566-roc-pc (bsc#1012628). +- arm64: dts: rockchip: Fix mic-in-differential usage on + rk3568-evb1-v10 (bsc#1012628). +- arm64: dts: renesas: r8a779h0: Drop "opp-shared" from + opp-table-0 (bsc#1012628). +- arm64: dts: renesas: r8a779a0: Add missing hypervisor virtual + timer IRQ (bsc#1012628). +- arm64: dts: renesas: r8a779f0: Add missing hypervisor virtual + timer IRQ (bsc#1012628). +- arm64: dts: renesas: r8a779g0: Add missing hypervisor virtual + timer IRQ (bsc#1012628). +- arm64: dts: renesas: r9a07g043u: Add missing hypervisor virtual + timer IRQ (bsc#1012628). +- arm64: dts: renesas: r9a07g044: Add missing hypervisor virtual + timer IRQ (bsc#1012628). +- arm64: dts: renesas: r9a07g054: Add missing hypervisor virtual + timer IRQ (bsc#1012628). +- arm64: dts: renesas: r9a08g045: Add missing hypervisor virtual + timer IRQ (bsc#1012628). +- m68k: atari: Fix TT bootup freeze / unexpected (SCU) interrupt + messages (bsc#1012628). +- arm64: dts: imx8mp: Fix pgc_mlmix location (bsc#1012628). +- arm64: dts: imx8mp: Fix pgc vpu locations (bsc#1012628). +- arm64: dts: qcom: x1e80100: Fix USB HS PHY 0.8V supply + (bsc#1012628). +- x86/xen: Convert comma to semicolon (bsc#1012628). +- arm64: dts: qcom: qrb4210-rb2: Correct max current draw for VBUS + (bsc#1012628). +- arm64: dts: rockchip: Add missing power-domains for rk356x + vop_mmu (bsc#1012628). +- arm64: dts: rockchip: fix regulator name for Lunzn Fastrhino + R6xS (bsc#1012628). +- arm64: dts: rockchip: fix usb regulator for Lunzn Fastrhino R6xS + (bsc#1012628). +- arm64: dts: rockchip: fix pmu_io supply for Lunzn Fastrhino R6xS + (bsc#1012628). +- arm64: dts: rockchip: remove unused usb2 nodes for Lunzn + Fastrhino R6xS (bsc#1012628). +- arm64: dts: rockchip: disable display subsystem for Lunzn + Fastrhino R6xS (bsc#1012628). +- arm64: dts: rockchip: fixes PHY reset for Lunzn Fastrhino R68S + (bsc#1012628). +- arm64: dts: qcom: sm6350: Add missing qcom,non-secure-domain + property (bsc#1012628). +- cpufreq/amd-pstate-ut: Convert nominal_freq to khz during + comparisons (bsc#1012628). +- cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared + memory CPPC systems (bsc#1012628). +- m68k: cmpxchg: Fix return value for default case in + __arch_xchg() (bsc#1012628). +- ARM: spitz: fix GPIO assignment for backlight (bsc#1012628). +- ARM: Remove address checking for MMUless devices (bsc#1012628). +- x86/sev: Do RMP memory coverage check after max_pfn has been + set (bsc#1012628). +- vmlinux.lds.h: catch .bss..L* sections into BSS") (bsc#1012628). +- firmware: turris-mox-rwtm: Do not complete if there are no + waiters (bsc#1012628). +- firmware: turris-mox-rwtm: Fix checking return value of + wait_for_completion_timeout() (bsc#1012628). +- firmware: turris-mox-rwtm: Initialize completion before mailbox + (bsc#1012628). +- wifi: ath12k: Don't drop tx_status in failure case + (bsc#1012628). +- wifi: ath12k: drop failed transmitted frames from metric + calculation (bsc#1012628). +- wifi: ath12k: avoid duplicated vdev stop (bsc#1012628). +- wifi: brcmsmac: LCN PHY code is used for BCM4313 2G-only device + (bsc#1012628). +- wifi: ath12k: Correct 6 GHz frequency value in rx status + (bsc#1012628). +- wifi: ath12k: Fix tx completion ring (WBM2SW) setup failure + (bsc#1012628). +- wifi: ath12k: fix Smatch warnings on ath12k_core_suspend() + (bsc#1012628). +- bpftool: Un-const bpf_func_info to fix it for llvm 17 and newer + (bsc#1012628). +- selftests/bpf: Fix prog numbers in test_sockmap (bsc#1012628). +- wifi: rtw89: 8852b: restore setting for RFE type 5 after device + resume (bsc#1012628). +- net: esp: cleanup esp_output_tail_tcp() in case of unsupported + ESPINTCP (bsc#1012628). +- wifi: iwlwifi: mvm: don't skip link selection (bsc#1012628). +- wifi: mac80211: fix TTLM teardown work (bsc#1012628). +- wifi: mac80211: cancel multi-link reconf work on disconnect + (bsc#1012628). +- wifi: mac80211: cancel TTLM teardown work earlier (bsc#1012628). +- wifi: mac80211: reset negotiated TTLM on disconnect + (bsc#1012628). ++++ 1117 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes ++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.7232/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.jBmMDP/_old 2024-08-06 09:07:11.342887755 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.346887919 +0200 @@ -17,7 +17,7 @@ %define srcversion 6.10 -%define patchversion 6.10.2 +%define patchversion 6.10.3 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -25,9 +25,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.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %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.jBmMDP/_old 2024-08-06 09:07:11.462892694 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.466892859 +0200 @@ -18,8 +18,8 @@ %define srcversion 6.10 -%define patchversion 6.10.2 -%define git_commit 65a34e2b50710364d2085b4c3258b865dc204d62 +%define patchversion 6.10.3 +%define git_commit ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %define variant %{nil} %define compress_modules zstd %define compress_vmlinux xz @@ -36,9 +36,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: kernel-64kb -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif kernel-debug.spec: same change kernel-default.spec: same change ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.554896481 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.558896645 +0200 @@ -17,8 +17,8 @@ %define srcversion 6.10 -%define patchversion 6.10.2 -%define git_commit 65a34e2b50710364d2085b4c3258b865dc204d62 +%define patchversion 6.10.3 +%define git_commit ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %define variant %{nil} %define build_html 1 %define build_pdf 0 @@ -28,9 +28,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: kernel-docs -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif ++++++ kernel-kvmsmall.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.586897798 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.586897798 +0200 @@ -18,8 +18,8 @@ %define srcversion 6.10 -%define patchversion 6.10.2 -%define git_commit 65a34e2b50710364d2085b4c3258b865dc204d62 +%define patchversion 6.10.3 +%define git_commit ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %define variant %{nil} %define compress_modules zstd %define compress_vmlinux xz @@ -36,9 +36,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: kernel-kvmsmall -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif kernel-lpae.spec: same change ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.642900103 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.646900267 +0200 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 6.10.2 +%define patchversion 6.10.3 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -38,16 +38,16 @@ %endif %endif %endif -%global kernel_package kernel%kernel_flavor-srchash-65a34e2b50710364d2085b4c3258b865dc204d62 +%global kernel_package kernel%kernel_flavor-srchash-ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %endif %if 0%{?rhel_version} %global kernel_package kernel %endif Name: kernel-obs-build -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.670901255 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.674901420 +0200 @@ -17,15 +17,15 @@ # needsrootforbuild -%define patchversion 6.10.2 +%define patchversion 6.10.3 %define variant %{nil} %include %_sourcedir/kernel-spec-macros Name: kernel-obs-qa -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.698902408 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.702902573 +0200 @@ -18,8 +18,8 @@ %define srcversion 6.10 -%define patchversion 6.10.2 -%define git_commit 65a34e2b50710364d2085b4c3258b865dc204d62 +%define patchversion 6.10.3 +%define git_commit ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %define variant %{nil} %define compress_modules zstd %define compress_vmlinux xz @@ -36,9 +36,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: kernel-pae -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.726903561 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.726903561 +0200 @@ -17,8 +17,8 @@ %define srcversion 6.10 -%define patchversion 6.10.2 -%define git_commit 65a34e2b50710364d2085b4c3258b865dc204d62 +%define patchversion 6.10.3 +%define git_commit ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -26,9 +26,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: kernel-source -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.758904878 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.762905042 +0200 @@ -16,16 +16,16 @@ # -%define git_commit 65a34e2b50710364d2085b4c3258b865dc204d62 +%define git_commit ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %define variant %{nil} %include %_sourcedir/kernel-spec-macros Name: kernel-syms -Version: 6.10.2 +Version: 6.10.3 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif ++++++ kernel-vanilla.spec ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:11.790906194 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:11.790906194 +0200 @@ -18,8 +18,8 @@ %define srcversion 6.10 -%define patchversion 6.10.2 -%define git_commit 65a34e2b50710364d2085b4c3258b865dc204d62 +%define patchversion 6.10.3 +%define git_commit ba01e0e99300e32d9451fb54748dbe3f82fe94f9 %define variant %{nil} %define compress_modules zstd %define compress_vmlinux xz @@ -36,9 +36,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: kernel-vanilla -Version: 6.10.2 +Version: 6.10.3 %if 0%{?is_kotd} -Release: <RELEASE>.g65a34e2 +Release: <RELEASE>.gba01e0e %else Release: 0 %endif kernel-zfcpdump.spec: same change ++++++ guards ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:12.110919366 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:12.114919531 +0200 @@ -205,7 +205,7 @@ # This is not an error if the entries are mutually exclusive... } } - exit $problems ? 1 : 0; + exit ($problems ? 1 : 0); } elsif ($list) { parse($fh, sub { ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 66691 lines of diff (skipped) ++++++ patches.suse.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/Revert-drm-amd-display-FEC-overhead-should-be-checke.patch new/patches.suse/Revert-drm-amd-display-FEC-overhead-should-be-checke.patch --- old/patches.suse/Revert-drm-amd-display-FEC-overhead-should-be-checke.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/Revert-drm-amd-display-FEC-overhead-should-be-checke.patch 2024-08-04 08:37:13.000000000 +0200 @@ -0,0 +1,149 @@ +From: Jiri Slaby <jsl...@suse.cz> +Date: Thu, 18 Jul 2024 08:26:22 +0200 +Subject: Revert "drm/amd/display: FEC overhead should be checked once for mst + slot nums" +Patch-mainline: never, reported <87138377-d5b0-4c28-96bd-35a0ffd5f...@kernel.org> +References: bsc#1228093 #3495 + +This reverts commit 8b2cb32cf0c613fd937ebb49a331798985f50826. It makes +my secondary monitor not to come up. + +Signed-off-by: Jiri Slaby <jsl...@suse.cz> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 37 ++++++++---- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h | 3 + 2 files changed, 30 insertions(+), 10 deletions(-) + +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +@@ -794,12 +794,25 @@ struct dsc_mst_fairness_params { + struct amdgpu_dm_connector *aconnector; + }; + +-static int kbps_to_peak_pbn(int kbps) ++static uint16_t get_fec_overhead_multiplier(struct dc_link *dc_link) ++{ ++ u8 link_coding_cap; ++ uint16_t fec_overhead_multiplier_x1000 = PBN_FEC_OVERHEAD_MULTIPLIER_8B_10B; ++ ++ link_coding_cap = dc_link_dp_mst_decide_link_encoding_format(dc_link); ++ if (link_coding_cap == DP_128b_132b_ENCODING) ++ fec_overhead_multiplier_x1000 = PBN_FEC_OVERHEAD_MULTIPLIER_128B_132B; ++ ++ return fec_overhead_multiplier_x1000; ++} ++ ++static int kbps_to_peak_pbn(int kbps, uint16_t fec_overhead_multiplier_x1000) + { + u64 peak_kbps = kbps; + + peak_kbps *= 1006; +- peak_kbps = div_u64(peak_kbps, 1000); ++ peak_kbps *= fec_overhead_multiplier_x1000; ++ peak_kbps = div_u64(peak_kbps, 1000 * 1000); + return (int) DIV64_U64_ROUND_UP(peak_kbps * 64, (54 * 8 * 1000)); + } + +@@ -900,11 +913,12 @@ static int increase_dsc_bpp(struct drm_a + int link_timeslots_used; + int fair_pbn_alloc; + int ret = 0; ++ uint16_t fec_overhead_multiplier_x1000 = get_fec_overhead_multiplier(dc_link); + + for (i = 0; i < count; i++) { + if (vars[i + k].dsc_enabled) { + initial_slack[i] = +- kbps_to_peak_pbn(params[i].bw_range.max_kbps) - vars[i + k].pbn; ++ kbps_to_peak_pbn(params[i].bw_range.max_kbps, fec_overhead_multiplier_x1000) - vars[i + k].pbn; + bpp_increased[i] = false; + remaining_to_increase += 1; + } else { +@@ -1000,6 +1014,7 @@ static int try_disable_dsc(struct drm_at + int next_index; + int remaining_to_try = 0; + int ret; ++ uint16_t fec_overhead_multiplier_x1000 = get_fec_overhead_multiplier(dc_link); + + for (i = 0; i < count; i++) { + if (vars[i + k].dsc_enabled +@@ -1029,7 +1044,7 @@ static int try_disable_dsc(struct drm_at + if (next_index == -1) + break; + +- vars[next_index].pbn = kbps_to_peak_pbn(params[next_index].bw_range.stream_kbps); ++ vars[next_index].pbn = kbps_to_peak_pbn(params[next_index].bw_range.stream_kbps, fec_overhead_multiplier_x1000); + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +@@ -1042,8 +1057,7 @@ static int try_disable_dsc(struct drm_at + vars[next_index].dsc_enabled = false; + vars[next_index].bpp_x16 = 0; + } else { +- vars[next_index].pbn = kbps_to_peak_pbn( +- params[next_index].bw_range.max_kbps); ++ vars[next_index].pbn = kbps_to_peak_pbn(params[next_index].bw_range.max_kbps, fec_overhead_multiplier_x1000); + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +@@ -1072,6 +1086,7 @@ static int compute_mst_dsc_configs_for_l + int count = 0; + int i, k, ret; + bool debugfs_overwrite = false; ++ uint16_t fec_overhead_multiplier_x1000 = get_fec_overhead_multiplier(dc_link); + + memset(params, 0, sizeof(params)); + +@@ -1136,7 +1151,7 @@ static int compute_mst_dsc_configs_for_l + /* Try no compression */ + for (i = 0; i < count; i++) { + vars[i + k].aconnector = params[i].aconnector; +- vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps); ++ vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps, fec_overhead_multiplier_x1000); + vars[i + k].dsc_enabled = false; + vars[i + k].bpp_x16 = 0; + ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, params[i].port, +@@ -1155,7 +1170,7 @@ static int compute_mst_dsc_configs_for_l + /* Try max compression */ + for (i = 0; i < count; i++) { + if (params[i].compression_possible && params[i].clock_force_enable != DSC_CLK_FORCE_DISABLE) { +- vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.min_kbps); ++ vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.min_kbps, fec_overhead_multiplier_x1000); + vars[i + k].dsc_enabled = true; + vars[i + k].bpp_x16 = params[i].bw_range.min_target_bpp_x16; + ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, +@@ -1163,7 +1178,7 @@ static int compute_mst_dsc_configs_for_l + if (ret < 0) + return ret; + } else { +- vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps); ++ vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps, fec_overhead_multiplier_x1000); + vars[i + k].dsc_enabled = false; + vars[i + k].bpp_x16 = 0; + ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, +@@ -1654,11 +1669,13 @@ enum dc_status dm_dp_mst_is_port_support + */ + int pbn_div, slot_num, max_slot_num; + enum dc_link_encoding_format link_encoding; ++ uint16_t fec_overhead_multiplier_x1000 = ++ get_fec_overhead_multiplier(stream->link); + uint32_t stream_kbps = + dc_bandwidth_in_kbps_from_timing(&stream->timing, + dc_link_get_highest_encoding_format(stream->link)); + +- pbn = kbps_to_peak_pbn(stream_kbps); ++ pbn = kbps_to_peak_pbn(stream_kbps, fec_overhead_multiplier_x1000); + pbn_div = dm_mst_get_pbn_divider(stream->link); + slot_num = DIV_ROUND_UP(pbn, pbn_div); + +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h +@@ -46,6 +46,9 @@ + #define SYNAPTICS_CASCADED_HUB_ID 0x5A + #define IS_SYNAPTICS_CASCADED_PANAMERA(devName, data) ((IS_SYNAPTICS_PANAMERA(devName) && ((int)data[2] == SYNAPTICS_CASCADED_HUB_ID)) ? 1 : 0) + ++#define PBN_FEC_OVERHEAD_MULTIPLIER_8B_10B 1031 ++#define PBN_FEC_OVERHEAD_MULTIPLIER_128B_132B 1000 ++ + enum mst_msg_ready_type { + NONE_MSG_RDY_EVENT = 0, + DOWN_REP_MSG_RDY_EVENT = 1, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/drm-amd-display-Take-Synaptics-Cascaded-Topology-int.patch new/patches.suse/drm-amd-display-Take-Synaptics-Cascaded-Topology-int.patch --- old/patches.suse/drm-amd-display-Take-Synaptics-Cascaded-Topology-int.patch 2024-07-29 10:51:47.000000000 +0200 +++ new/patches.suse/drm-amd-display-Take-Synaptics-Cascaded-Topology-int.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,140 +0,0 @@ -From: Fangzhi Zuo <jerry....@amd.com> -Date: Tue, 23 Jul 2024 17:14:13 -0400 -Subject: drm/amd/display: Take Synaptics Cascaded Topology into Account -Patch-mainline: submitted https://gitlab.freedesktop.org/drm/amd/-/issues/3495#note_2501831 -References: bsc#1228093 #3495 - -Synaptics Cascaded MST hub has chained MST branch device which -requires additional bw overhead. - -Signed-off-by: Fangzhi Zuo <jerry....@amd.com> -Signed-off-by: Jiri Slaby <jsl...@suse.cz> - ---- -[v2] call is_synaptics_cascaded_panamera() unconditionally - -Signed-off-by: Jiri Slaby <jsl...@suse.cz> ---- - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 1 - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 25 +++++++----- - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h | 3 + - 3 files changed, 19 insertions(+), 10 deletions(-) - ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h -@@ -662,6 +662,7 @@ struct amdgpu_dm_connector { - struct amdgpu_dm_connector *mst_root; - struct drm_dp_aux *dsc_aux; - struct mutex handle_mst_msg_ready; -+ bool is_synaptics_cascaded; - - /* TODO see if we can merge with ddc_bus or make a dm_connector */ - struct amdgpu_i2c_adapter *i2c; ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c -@@ -248,8 +248,9 @@ static bool validate_dsc_caps_on_connect - needs_dsc_aux_workaround(aconnector->dc_link)) - aconnector->dsc_aux = &aconnector->mst_root->dm_dp_aux.aux; - -+ aconnector->is_synaptics_cascaded = is_synaptics_cascaded_panamera(aconnector->dc_link, port); - /* synaptics cascaded MST hub case */ -- if (!aconnector->dsc_aux && is_synaptics_cascaded_panamera(aconnector->dc_link, port)) -+ if (!aconnector->dsc_aux && aconnector->is_synaptics_cascaded) - aconnector->dsc_aux = port->mgr->aux; - - if (!aconnector->dsc_aux) -@@ -794,12 +795,17 @@ struct dsc_mst_fairness_params { - struct amdgpu_dm_connector *aconnector; - }; - --static int kbps_to_peak_pbn(int kbps) -+static int kbps_to_peak_pbn(int kbps, struct amdgpu_dm_connector *aconnector) - { - u64 peak_kbps = kbps; - - peak_kbps *= 1006; - peak_kbps = div_u64(peak_kbps, 1000); -+ if (aconnector->is_synaptics_cascaded) { -+ printk("Synaptics Cascaded Overhead Adjustment.\n"); -+ peak_kbps *= PBN_FEC_OVERHEAD_MULTIPLIER_8B_10B; -+ peak_kbps = div_u64(peak_kbps, 1000); -+ } - return (int) DIV64_U64_ROUND_UP(peak_kbps * 64, (54 * 8 * 1000)); - } - -@@ -904,7 +910,7 @@ static int increase_dsc_bpp(struct drm_a - for (i = 0; i < count; i++) { - if (vars[i + k].dsc_enabled) { - initial_slack[i] = -- kbps_to_peak_pbn(params[i].bw_range.max_kbps) - vars[i + k].pbn; -+ kbps_to_peak_pbn(params[i].bw_range.max_kbps, params[i].aconnector) - vars[i + k].pbn; - bpp_increased[i] = false; - remaining_to_increase += 1; - } else { -@@ -1029,7 +1035,7 @@ static int try_disable_dsc(struct drm_at - if (next_index == -1) - break; - -- vars[next_index].pbn = kbps_to_peak_pbn(params[next_index].bw_range.stream_kbps); -+ vars[next_index].pbn = kbps_to_peak_pbn(params[next_index].bw_range.stream_kbps, params[i].aconnector); - ret = drm_dp_atomic_find_time_slots(state, - params[next_index].port->mgr, - params[next_index].port, -@@ -1043,7 +1049,7 @@ static int try_disable_dsc(struct drm_at - vars[next_index].bpp_x16 = 0; - } else { - vars[next_index].pbn = kbps_to_peak_pbn( -- params[next_index].bw_range.max_kbps); -+ params[next_index].bw_range.max_kbps, params[i].aconnector); - ret = drm_dp_atomic_find_time_slots(state, - params[next_index].port->mgr, - params[next_index].port, -@@ -1135,8 +1141,7 @@ static int compute_mst_dsc_configs_for_l - - /* Try no compression */ - for (i = 0; i < count; i++) { -- vars[i + k].aconnector = params[i].aconnector; -- vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps); -+ vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps, params[i].aconnector); - vars[i + k].dsc_enabled = false; - vars[i + k].bpp_x16 = 0; - ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, params[i].port, -@@ -1155,7 +1160,7 @@ static int compute_mst_dsc_configs_for_l - /* Try max compression */ - for (i = 0; i < count; i++) { - if (params[i].compression_possible && params[i].clock_force_enable != DSC_CLK_FORCE_DISABLE) { -- vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.min_kbps); -+ vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.min_kbps, params[i].aconnector); - vars[i + k].dsc_enabled = true; - vars[i + k].bpp_x16 = params[i].bw_range.min_target_bpp_x16; - ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, -@@ -1163,7 +1168,7 @@ static int compute_mst_dsc_configs_for_l - if (ret < 0) - return ret; - } else { -- vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps); -+ vars[i + k].pbn = kbps_to_peak_pbn(params[i].bw_range.stream_kbps, params[i].aconnector); - vars[i + k].dsc_enabled = false; - vars[i + k].bpp_x16 = 0; - ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, -@@ -1658,7 +1663,7 @@ enum dc_status dm_dp_mst_is_port_support - dc_bandwidth_in_kbps_from_timing(&stream->timing, - dc_link_get_highest_encoding_format(stream->link)); - -- pbn = kbps_to_peak_pbn(stream_kbps); -+ pbn = kbps_to_peak_pbn(stream_kbps, aconnector); - pbn_div = dm_mst_get_pbn_divider(stream->link); - slot_num = DIV_ROUND_UP(pbn, pbn_div); - ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h -@@ -46,6 +46,9 @@ - #define SYNAPTICS_CASCADED_HUB_ID 0x5A - #define IS_SYNAPTICS_CASCADED_PANAMERA(devName, data) ((IS_SYNAPTICS_PANAMERA(devName) && ((int)data[2] == SYNAPTICS_CASCADED_HUB_ID)) ? 1 : 0) - -+#define PBN_FEC_OVERHEAD_MULTIPLIER_8B_10B 1031 -+#define PBN_FEC_OVERHEAD_MULTIPLIER_128B_132B 1000 -+ - enum mst_msg_ready_type { - NONE_MSG_RDY_EVENT = 0, - DOWN_REP_MSG_RDY_EVENT = 1, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/drm-qxl-Pin-buffer-objects-for-internal-mappings.patch new/patches.suse/drm-qxl-Pin-buffer-objects-for-internal-mappings.patch --- old/patches.suse/drm-qxl-Pin-buffer-objects-for-internal-mappings.patch 2024-07-29 10:51:47.000000000 +0200 +++ new/patches.suse/drm-qxl-Pin-buffer-objects-for-internal-mappings.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,168 +0,0 @@ -From: Thomas Zimmermann <tzimmerm...@suse.de> -Date: Mon, 8 Jul 2024 16:21:37 +0200 -Subject: drm/qxl: Pin buffer objects for internal mappings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Git-commit: c537fb4e3d36e7cd1a0837dd577cd30d3d64f1bc -Patch-mainline: 6.11-rc1 -References: bsc#1228387 - -Add qxl_bo_pin_and_vmap() that pins and vmaps a buffer object in one -step. Update callers of the regular qxl_bo_vmap(). Fixes a bug where -qxl accesses an unpinned buffer object while it is being moved; such -as with the monitor-description BO. An typical error is shown below. - -[ 4.303586] [drm:drm_atomic_helper_commit_planes] *ERROR* head 1 wrong: 65376256x16777216+0+0 -[ 4.586883] [drm:drm_atomic_helper_commit_planes] *ERROR* head 1 wrong: 65376256x16777216+0+0 -[ 4.904036] [drm:drm_atomic_helper_commit_planes] *ERROR* head 1 wrong: 65335296x16777216+0+0 -[ 5.374347] [drm:qxl_release_from_id_locked] *ERROR* failed to find id in release_idr - -Commit b33651a5c98d ("drm/qxl: Do not pin buffer objects for vmap") -removed the implicit pin operation from qxl's vmap code. This is the -correct behavior for GEM and PRIME interfaces, but the pin is still -needed for qxl internal operation. - -Also add a corresponding function qxl_bo_vunmap_and_unpin() and remove -the old qxl_bo_vmap() helpers. - -Future directions: BOs should not be pinned or vmapped unnecessarily. -The pin-and-vmap operation should be removed from the driver and a -temporary mapping should be established with a vmap_local-like helper. -See the client helper drm_client_buffer_vmap_local() for semantics. - -v2: -- unreserve BO on errors in qxl_bo_pin_and_vmap() (Dmitry) - -Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de> -Fixes: b33651a5c98d ("drm/qxl: Do not pin buffer objects for vmap") -Reported-by: David Kaplan <david.kap...@amd.com> -Closes: https://lore.kernel.org/dri-devel/ab0fb17d-0f96-4ee6-8b21-65d02bb02...@suse.de/ -Tested-by: David Kaplan <david.kap...@amd.com> -Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch> -Cc: Thomas Zimmermann <tzimmerm...@suse.de> -Cc: Dmitry Osipenko <dmitry.osipe...@collabora.com> -Cc: Christian König <christian.koe...@amd.com> -Cc: Zack Rusin <zack.ru...@broadcom.com> -Cc: Dave Airlie <airl...@redhat.com> -Cc: Gerd Hoffmann <kra...@redhat.com> -Cc: virtualizat...@lists.linux.dev -Cc: spice-de...@lists.freedesktop.org -Reviewed-by: Dmitry Osipenko <dmitry.osipe...@collabora.com> -Reviewed-by: Zack Rusin <zack.ru...@broadcom.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20240708142208.194361-1-tzimmerm...@suse.de -Signed-off-by: Jiri Slaby <jsl...@suse.cz> ---- - drivers/gpu/drm/qxl/qxl_display.c | 14 +++++++------- - drivers/gpu/drm/qxl/qxl_object.c | 13 +++++++++++-- - drivers/gpu/drm/qxl/qxl_object.h | 4 ++-- - 3 files changed, 20 insertions(+), 11 deletions(-) - ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -581,11 +581,11 @@ static struct qxl_bo *qxl_create_cursor( - if (ret) - goto err; - -- ret = qxl_bo_vmap(cursor_bo, &cursor_map); -+ ret = qxl_bo_pin_and_vmap(cursor_bo, &cursor_map); - if (ret) - goto err_unref; - -- ret = qxl_bo_vmap(user_bo, &user_map); -+ ret = qxl_bo_pin_and_vmap(user_bo, &user_map); - if (ret) - goto err_unmap; - -@@ -611,12 +611,12 @@ static struct qxl_bo *qxl_create_cursor( - user_map.vaddr, size); - } - -- qxl_bo_vunmap(user_bo); -- qxl_bo_vunmap(cursor_bo); -+ qxl_bo_vunmap_and_unpin(user_bo); -+ qxl_bo_vunmap_and_unpin(cursor_bo); - return cursor_bo; - - err_unmap: -- qxl_bo_vunmap(cursor_bo); -+ qxl_bo_vunmap_and_unpin(cursor_bo); - err_unref: - qxl_bo_unpin(cursor_bo); - qxl_bo_unref(&cursor_bo); -@@ -1202,7 +1202,7 @@ int qxl_create_monitors_object(struct qx - } - qdev->monitors_config_bo = gem_to_qxl_bo(gobj); - -- ret = qxl_bo_vmap(qdev->monitors_config_bo, &map); -+ ret = qxl_bo_pin_and_vmap(qdev->monitors_config_bo, &map); - if (ret) - return ret; - -@@ -1233,7 +1233,7 @@ int qxl_destroy_monitors_object(struct q - qdev->monitors_config = NULL; - qdev->ram_header->monitors_config = 0; - -- ret = qxl_bo_vunmap(qdev->monitors_config_bo); -+ ret = qxl_bo_vunmap_and_unpin(qdev->monitors_config_bo); - if (ret) - return ret; - ---- a/drivers/gpu/drm/qxl/qxl_object.c -+++ b/drivers/gpu/drm/qxl/qxl_object.c -@@ -182,7 +182,7 @@ out: - return 0; - } - --int qxl_bo_vmap(struct qxl_bo *bo, struct iosys_map *map) -+int qxl_bo_pin_and_vmap(struct qxl_bo *bo, struct iosys_map *map) - { - int r; - -@@ -190,7 +190,15 @@ int qxl_bo_vmap(struct qxl_bo *bo, struc - if (r) - return r; - -+ r = qxl_bo_pin_locked(bo); -+ if (r) { -+ qxl_bo_unreserve(bo); -+ return r; -+ } -+ - r = qxl_bo_vmap_locked(bo, map); -+ if (r) -+ qxl_bo_unpin_locked(bo); - qxl_bo_unreserve(bo); - return r; - } -@@ -241,7 +249,7 @@ void qxl_bo_vunmap_locked(struct qxl_bo - ttm_bo_vunmap(&bo->tbo, &bo->map); - } - --int qxl_bo_vunmap(struct qxl_bo *bo) -+int qxl_bo_vunmap_and_unpin(struct qxl_bo *bo) - { - int r; - -@@ -250,6 +258,7 @@ int qxl_bo_vunmap(struct qxl_bo *bo) - return r; - - qxl_bo_vunmap_locked(bo); -+ qxl_bo_unpin_locked(bo); - qxl_bo_unreserve(bo); - return 0; - } ---- a/drivers/gpu/drm/qxl/qxl_object.h -+++ b/drivers/gpu/drm/qxl/qxl_object.h -@@ -59,9 +59,9 @@ extern int qxl_bo_create(struct qxl_devi - u32 priority, - struct qxl_surface *surf, - struct qxl_bo **bo_ptr); --int qxl_bo_vmap(struct qxl_bo *bo, struct iosys_map *map); -+int qxl_bo_pin_and_vmap(struct qxl_bo *bo, struct iosys_map *map); - int qxl_bo_vmap_locked(struct qxl_bo *bo, struct iosys_map *map); --int qxl_bo_vunmap(struct qxl_bo *bo); -+int qxl_bo_vunmap_and_unpin(struct qxl_bo *bo); - void qxl_bo_vunmap_locked(struct qxl_bo *bo); - void *qxl_bo_kmap_atomic_page(struct qxl_device *qdev, struct qxl_bo *bo, int page_offset); - void qxl_bo_kunmap_atomic_page(struct qxl_device *qdev, struct qxl_bo *bo, void *map); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/net-drop-bad-gso-csum_start-and-offset-in-virtio_net.patch new/patches.suse/net-drop-bad-gso-csum_start-and-offset-in-virtio_net.patch --- old/patches.suse/net-drop-bad-gso-csum_start-and-offset-in-virtio_net.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/net-drop-bad-gso-csum_start-and-offset-in-virtio_net.patch 2024-08-04 08:37:13.000000000 +0200 @@ -0,0 +1,154 @@ +From: Willem de Bruijn <will...@google.com> +Date: Mon, 29 Jul 2024 16:10:12 -0400 +Subject: net: drop bad gso csum_start and offset in virtio_net_hdr +Git-commit: 89add40066f9ed9abe5f7f886fe5789ff7e0c50e +Patch-mainline: v6.11-rc2 +References: git-fixes + +Tighten csum_start and csum_offset checks in virtio_net_hdr_to_skb +for GSO packets. + +The function already checks that a checksum requested with +VIRTIO_NET_HDR_F_NEEDS_CSUM is in skb linear. But for GSO packets +this might not hold for segs after segmentation. + +Syzkaller demonstrated to reach this warning in skb_checksum_help + + offset = skb_checksum_start_offset(skb); + ret = -EINVAL; + if (WARN_ON_ONCE(offset >= skb_headlen(skb))) + +By injecting a TSO packet: + +WARNING: CPU: 1 PID: 3539 at net/core/dev.c:3284 skb_checksum_help+0x3d0/0x5b0 + ip_do_fragment+0x209/0x1b20 net/ipv4/ip_output.c:774 + ip_finish_output_gso net/ipv4/ip_output.c:279 [inline] + __ip_finish_output+0x2bd/0x4b0 net/ipv4/ip_output.c:301 + iptunnel_xmit+0x50c/0x930 net/ipv4/ip_tunnel_core.c:82 + ip_tunnel_xmit+0x2296/0x2c70 net/ipv4/ip_tunnel.c:813 + __gre_xmit net/ipv4/ip_gre.c:469 [inline] + ipgre_xmit+0x759/0xa60 net/ipv4/ip_gre.c:661 + __netdev_start_xmit include/linux/netdevice.h:4850 [inline] + netdev_start_xmit include/linux/netdevice.h:4864 [inline] + xmit_one net/core/dev.c:3595 [inline] + dev_hard_start_xmit+0x261/0x8c0 net/core/dev.c:3611 + __dev_queue_xmit+0x1b97/0x3c90 net/core/dev.c:4261 + packet_snd net/packet/af_packet.c:3073 [inline] + +The geometry of the bad input packet at tcp_gso_segment: + +[ 52.003050][ T8403] skb len=12202 headroom=244 headlen=12093 tailroom=0 +[ 52.003050][ T8403] mac=(168,24) mac_len=24 net=(192,52) trans=244 +[ 52.003050][ T8403] shinfo(txflags=0 nr_frags=1 gso(size=1552 type=3 segs=0)) +[ 52.003050][ T8403] csum(0x60000c7 start=199 offset=1536 +ip_summed=3 complete_sw=0 valid=0 level=0) + +Mitigate with stricter input validation. + +csum_offset: for GSO packets, deduce the correct value from gso_type. +This is already done for USO. Extend it to TSO. Let UFO be: +udp[46]_ufo_fragment ignores these fields and always computes the +checksum in software. + +csum_start: finding the real offset requires parsing to the transport +header. Do not add a parser, use existing segmentation parsing. Thanks +to SKB_GSO_DODGY, that also catches bad packets that are hw offloaded. +Again test both TSO and USO. Do not test UFO for the above reason, and +do not test UDP tunnel offload. + +GSO packet are almost always CHECKSUM_PARTIAL. USO packets may be +CHECKSUM_NONE since commit 10154dbded6d6 ("udp: Allow GSO transmit +from devices with no checksum offload"), but then still these fields +are initialized correctly in udp4_hwcsum/udp6_hwcsum_outgoing. So no +need to test for ip_summed == CHECKSUM_PARTIAL first. + +This revises an existing fix mentioned in the Fixes tag, which broke +small packets with GSO offload, as detected by kselftests. + +Link: https://syzkaller.appspot.com/bug?extid=e1db31216c789f552871 +Link: https://lore.kernel.org/netdev/20240723223109.2196886-1-k...@kernel.org +Fixes: e269d79c7d35 ("net: missing check virtio") +Cc: sta...@vger.kernel.org +Signed-off-by: Willem de Bruijn <will...@google.com> +Link: https://patch.msgid.link/20240729201108.1615114-1-willemdebruijn.ker...@gmail.com +Signed-off-by: Jakub Kicinski <k...@kernel.org> +Signed-off-by: Jiri Slaby <jsl...@suse.cz> +--- + include/linux/virtio_net.h | 16 +++++----------- + net/ipv4/tcp_offload.c | 3 +++ + net/ipv4/udp_offload.c | 4 ++++ + 3 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h +index d1d78253..6c395a26 100644 +--- a/include/linux/virtio_net.h ++++ b/include/linux/virtio_net.h +@@ -56,7 +56,6 @@ static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, + unsigned int thlen = 0; + unsigned int p_off = 0; + unsigned int ip_proto; +- u64 ret, remainder, gso_size; + + if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) { + switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { +@@ -99,16 +98,6 @@ static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, + u32 off = __virtio16_to_cpu(little_endian, hdr->csum_offset); + u32 needed = start + max_t(u32, thlen, off + sizeof(__sum16)); + +- if (hdr->gso_size) { +- gso_size = __virtio16_to_cpu(little_endian, hdr->gso_size); +- ret = div64_u64_rem(skb->len, gso_size, &remainder); +- if (!(ret && (hdr->gso_size > needed) && +- ((remainder > needed) || (remainder == 0)))) { +- return -EINVAL; +- } +- skb_shinfo(skb)->tx_flags |= SKBFL_SHARED_FRAG; +- } +- + if (!pskb_may_pull(skb, needed)) + return -EINVAL; + +@@ -182,6 +171,11 @@ static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, + if (gso_type != SKB_GSO_UDP_L4) + return -EINVAL; + break; ++ case SKB_GSO_TCPV4: ++ case SKB_GSO_TCPV6: ++ if (skb->csum_offset != offsetof(struct tcphdr, check)) ++ return -EINVAL; ++ break; + } + + /* Kernel has a special handling for GSO_BY_FRAGS. */ +diff --git a/net/ipv4/tcp_offload.c b/net/ipv4/tcp_offload.c +index 4b791e74..e4ad3311 100644 +--- a/net/ipv4/tcp_offload.c ++++ b/net/ipv4/tcp_offload.c +@@ -140,6 +140,9 @@ struct sk_buff *tcp_gso_segment(struct sk_buff *skb, + if (thlen < sizeof(*th)) + goto out; + ++ if (unlikely(skb_checksum_start(skb) != skb_transport_header(skb))) ++ goto out; ++ + if (!pskb_may_pull(skb, thlen)) + goto out; + +diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c +index aa2e0a28..bc8a9da7 100644 +--- a/net/ipv4/udp_offload.c ++++ b/net/ipv4/udp_offload.c +@@ -278,6 +278,10 @@ struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb, + if (gso_skb->len <= sizeof(*uh) + mss) + return ERR_PTR(-EINVAL); + ++ if (unlikely(skb_checksum_start(gso_skb) != ++ skb_transport_header(gso_skb))) ++ return ERR_PTR(-EINVAL); ++ + if (skb_gso_ok(gso_skb, features | NETIF_F_GSO_ROBUST)) { + /* Packet is from an untrusted source, reset gso_segs. */ + skb_shinfo(gso_skb)->gso_segs = DIV_ROUND_UP(gso_skb->len - sizeof(*uh), +-- +2.45.2 + ++++++ series.conf ++++++ ++++ 844 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kernel-source/series.conf ++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.7232/series.conf ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.jBmMDP/_old 2024-08-06 09:07:13.030957233 +0200 +++ /var/tmp/diff_new_pack.jBmMDP/_new 2024-08-06 09:07:13.034957398 +0200 @@ -1,4 +1,4 @@ -2024-07-29 08:51:47 +0000 -GIT Revision: 65a34e2b50710364d2085b4c3258b865dc204d62 +2024-08-04 06:37:13 +0000 +GIT Revision: ba01e0e99300e32d9451fb54748dbe3f82fe94f9 GIT Branch: stable