Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2022-07-09 16:59:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new.1523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Sat Jul  9 16:59:37 2022 rev:648 rq:987329 version:5.18.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes        
2022-07-06 15:41:46.802497822 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new.1523/dtb-aarch64.changes      
2022-07-09 16:59:55.468516087 +0200
@@ -1,0 +2,31 @@
+Tue Jul  5 17:41:39 CEST 2022 - tzimmerm...@suse.de
+
+- drm/aperture: Run fbdev removal before internal helpers (boo#1193472)
+- commit aff8e8a
+
+-------------------------------------------------------------------
+Tue Jul  5 11:31:58 CEST 2022 - ti...@suse.de
+
+- netfilter: nf_tables: stricter validation of element data
+  (CVE-2022-34918 bsc#1201171).
+- commit a1fda0d
+
+-------------------------------------------------------------------
+Mon Jul  4 10:02:15 CEST 2022 - tzimmerm...@suse.de
+
+- fbdev: Disable sysfb device registration when removing conflicting 
(boo#1193472)
+- commit c76a69f
+
+-------------------------------------------------------------------
+Mon Jul  4 10:02:09 CEST 2022 - tzimmerm...@suse.de
+
+- firmware: sysfb: Add sysfb_disable() helper function (boo#1193472)
+- commit 6072450
+
+-------------------------------------------------------------------
+Mon Jul  4 10:01:53 CEST 2022 - tzimmerm...@suse.de
+
+- firmware: sysfb: Make sysfb_create_simplefb() return a pdev pointer 
(boo#1193472)
+- commit 326d1c1
+
+-------------------------------------------------------------------
@@ -1307,0 +1339,53 @@
+Mon Jun 13 10:42:30 CEST 2022 - tzimmerm...@suse.de
+
+- drm/format-helper: Add RGB565-to-XRGB8888 conversion (boo#1193472)
+- commit b55db46
+
+-------------------------------------------------------------------
+Mon Jun 13 10:42:14 CEST 2022 - tzimmerm...@suse.de
+
+- drm/format-helper: Add RGB888-to-XRGB8888 conversion (boo#1193472)
+- commit 24daa98
+
+-------------------------------------------------------------------
+Mon Jun 13 10:41:55 CEST 2022 - tzimmerm...@suse.de
+
+- drm/format-helper: Print warning on missing format conversion (boo#1193472)
+- commit 4895b27
+
+-------------------------------------------------------------------
+Fri Jun 10 12:23:42 CEST 2022 - tzimmerm...@suse.de
+
+- Add parameter to disable simple-framebuffer devices (boo#1193472)
+  Temporary workaround for simpledrm bugs.
+- commit 6a1517e
+
+-------------------------------------------------------------------
+Fri Jun 10 11:32:14 CEST 2022 - tzimmerm...@suse.de
+
+- drivers/firmware: skip simpledrm if nvidia-drm.modeset=1 is set (boo#1193472)
+  Temporary workaround for nvidia.ko with simpledrm.
+- commit 6295297
+
+-------------------------------------------------------------------
+Fri Jun 10 11:17:00 CEST 2022 - tzimmerm...@suse.de
+
+- drm/client: Don't add new command-line mode (boo#1193472)
+  Backported for simpledrm support.
+- commit 8dea538
+
+-------------------------------------------------------------------
+Fri Jun 10 11:15:58 CEST 2022 - tzimmerm...@suse.de
+
+- drm/client: Look for command-line modes first (boo#1193472)
+  Backported for simpledrm support.
+- commit 54f7b89
+
+-------------------------------------------------------------------
+Fri Jun 10 11:14:24 CEST 2022 - tzimmerm...@suse.de
+
+- drm: Always warn if user-defined modes are not supported (boo#1193472)
+  Backported for simpledrm support.
+- commit 043dddf
+
+-------------------------------------------------------------------
@@ -10623 +10707 @@
-- commit 8e500f5
+- commit e00841d
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.g6BbRF/_old  2022-07-09 17:00:00.080523018 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.080523018 +0200
@@ -31,7 +31,7 @@
 Name:           dtb-aarch64
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %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.g6BbRF/_old  2022-07-09 17:00:00.188523180 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.192523186 +0200
@@ -109,7 +109,7 @@
 Group:          System/Kernel
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -234,10 +234,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
-Provides:       kernel-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       
kernel-%build_flavor-base-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
+Provides:       kernel-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 # END COMMON DEPS
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 %obsolete_rebuilds %name
 Source0:        
https://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.216523222 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.220523228 +0200
@@ -109,7 +109,7 @@
 Group:          System/Kernel
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -234,10 +234,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
-Provides:       kernel-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       
kernel-%build_flavor-base-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
+Provides:       kernel-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 # END COMMON DEPS
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 %ifarch ppc64
 Provides:       kernel-kdump = 2.6.28
 Obsoletes:      kernel-kdump <= 2.6.28

++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.244523264 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.248523270 +0200
@@ -109,7 +109,7 @@
 Group:          System/Kernel
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -234,10 +234,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
-Provides:       kernel-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       
kernel-%build_flavor-base-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
+Provides:       kernel-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 # END COMMON DEPS
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 %ifarch %ix86
 Provides:       kernel-smp = 2.6.17
 Obsoletes:      kernel-smp <= 2.6.17

++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.276523312 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.280523318 +0200
@@ -33,7 +33,7 @@
 Group:          Documentation/Man
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -67,7 +67,7 @@
 %endif
 URL:            https://www.kernel.org/
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source0:        
https://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz

++++++ kernel-kvmsmall.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.308523360 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.312523366 +0200
@@ -109,7 +109,7 @@
 Group:          System/Kernel
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -234,10 +234,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
-Provides:       kernel-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       
kernel-%build_flavor-base-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
+Provides:       kernel-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 # END COMMON DEPS
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 %obsolete_rebuilds %name
 Source0:        
https://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.352523426 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.356523432 +0200
@@ -45,7 +45,7 @@
 %endif
 %endif
 %endif
-BuildRequires:  
kernel%kernel_flavor-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+BuildRequires:  
kernel%kernel_flavor-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 
 %if 0%{?rhel_version}
 BuildRequires:  kernel
@@ -66,7 +66,7 @@
 Group:          SLES
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif

++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.372523456 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.380523468 +0200
@@ -38,7 +38,7 @@
 Group:          SLES
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif

++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.408523510 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.412523516 +0200
@@ -109,7 +109,7 @@
 Group:          System/Kernel
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -234,10 +234,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
-Provides:       kernel-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       
kernel-%build_flavor-base-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
+Provides:       kernel-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 # END COMMON DEPS
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 %ifarch %ix86
 Provides:       kernel-bigsmp = 2.6.17
 Obsoletes:      kernel-bigsmp <= 2.6.17

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.440523558 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.452523576 +0200
@@ -33,7 +33,7 @@
 Name:           kernel-source
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -50,7 +50,7 @@
 BuildRequires:  sed
 Requires(post): coreutils sed
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 Provides:       linux
 Provides:       multiversion(kernel)
 Source0:        
https://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.472523606 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.476523613 +0200
@@ -27,7 +27,7 @@
 Version:        5.18.9
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -52,7 +52,7 @@
 %endif
 Requires:       pesign-obs-integration
 Provides:       %name = %version-%source_rel
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 Provides:       multiversion(kernel)
 Source:         README.KSYMS
 Requires:       kernel-devel%variant = %version-%source_rel

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:00.496523643 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:00.500523648 +0200
@@ -109,7 +109,7 @@
 Group:          System/Kernel
 Version:        5.18.9
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g0e67dc1
+Release:        <RELEASE>.ga7c5f9c
 %else
 Release:        0
 %endif
@@ -234,10 +234,10 @@
 Conflicts:      libc.so.6()(64bit)
 %endif
 Provides:       kernel = %version-%source_rel
-Provides:       
kernel-%build_flavor-base-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
-Provides:       kernel-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       
kernel-%build_flavor-base-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
+Provides:       kernel-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 # END COMMON DEPS
-Provides:       %name-srchash-0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+Provides:       %name-srchash-a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 %obsolete_rebuilds %name
 Source0:        
https://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
 Source3:        kernel-source.rpmlintrc

kernel-zfcpdump.spec: same change
++++++ config.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default
--- old/config/x86_64/default   2022-06-27 08:41:53.000000000 +0200
+++ new/config/x86_64/default   2022-07-04 10:08:29.000000000 +0200
@@ -2359,7 +2359,7 @@
 CONFIG_FW_CFG_SYSFS=m
 CONFIG_FW_CFG_SYSFS_CMDLINE=y
 CONFIG_SYSFB=y
-# CONFIG_SYSFB_SIMPLEFB is not set
+CONFIG_SYSFB_SIMPLEFB=y
 CONFIG_CS_DSP=m
 # CONFIG_GOOGLE_FIRMWARE is not set
 
@@ -4599,7 +4599,7 @@
 
 CONFIG_I2C_HELPER_AUTO=y
 CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOBIT=y
 CONFIG_I2C_ALGOPCA=m
 
 #
@@ -5611,14 +5611,13 @@
 CONFIG_RC_ATI_REMOTE=m
 CONFIG_RC_LOOPBACK=m
 CONFIG_RC_XBOX_DVD=m
-CONFIG_CEC_CORE=m
+CONFIG_CEC_CORE=y
 CONFIG_CEC_NOTIFIER=y
 CONFIG_CEC_PIN=y
 
 #
 # CEC support
 #
-CONFIG_MEDIA_CEC_RC=y
 # CONFIG_CEC_PIN_ERROR_INJ is not set
 CONFIG_MEDIA_CEC_SUPPORT=y
 CONFIG_CEC_CH7322=m
@@ -6408,13 +6407,14 @@
 CONFIG_AGP_VIA=y
 CONFIG_INTEL_GTT=y
 CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
+CONFIG_DRM=y
 CONFIG_DRM_MIPI_DBI=m
 CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_DP_AUX_CHARDEV=y
+# CONFIG_DRM_DEBUG_MM is not set
 # CONFIG_DRM_DEBUG_SELFTEST is not set
 CONFIG_DRM_DP_HELPER=m
-CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_KMS_HELPER=y
 # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
 # CONFIG_DRM_DEBUG_MODESET_LOCK is not set
 CONFIG_DRM_FBDEV_EMULATION=y
@@ -6427,7 +6427,7 @@
 CONFIG_DRM_VRAM_HELPER=m
 CONFIG_DRM_TTM_HELPER=m
 CONFIG_DRM_GEM_CMA_HELPER=m
-CONFIG_DRM_GEM_SHMEM_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=y
 CONFIG_DRM_SCHED=m
 
 #
@@ -6549,7 +6549,7 @@
 CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
 CONFIG_DRM_PANEL_MIPI_DBI=m
-CONFIG_DRM_SIMPLEDRM=m
+CONFIG_DRM_SIMPLEDRM=y
 # CONFIG_TINYDRM_HX8357D is not set
 # CONFIG_TINYDRM_ILI9163 is not set
 # CONFIG_TINYDRM_ILI9225 is not set
@@ -6581,11 +6581,11 @@
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
 # CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_SYS_FOPS=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_BACKLIGHT=m
 CONFIG_FB_MODE_HELPERS=y
@@ -6601,7 +6601,7 @@
 # CONFIG_FB_ASILIANT is not set
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_VGA16 is not set
-CONFIG_FB_UVESA=m
+# CONFIG_FB_UVESA is not set
 CONFIG_FB_VESA=y
 CONFIG_FB_EFI=y
 # CONFIG_FB_N411 is not set
@@ -6638,7 +6638,6 @@
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
 # CONFIG_FB_HYPERV is not set
-# CONFIG_FB_SIMPLE is not set
 CONFIG_FB_SSD1307=m
 # CONFIG_FB_SM712 is not set
 # end of Frame buffer Devices
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/kvmsmall new/config/x86_64/kvmsmall
--- old/config/x86_64/kvmsmall  2022-06-27 08:41:53.000000000 +0200
+++ new/config/x86_64/kvmsmall  2022-07-04 10:08:29.000000000 +0200
@@ -132,7 +132,6 @@
 # CONFIG_F71808E_WDT is not set
 CONFIG_FAILOVER=y
 # CONFIG_FB_IBM_GXT4500 is not set
-# CONFIG_FB_UVESA is not set
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FCOE_FNIC is not set
 # CONFIG_FDDI is not set

++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-drm-Always-warn-if-user-defined-modes-are-not-suppor.patch
 
new/patches.suse/0001-drm-Always-warn-if-user-defined-modes-are-not-suppor.patch
--- 
old/patches.suse/0001-drm-Always-warn-if-user-defined-modes-are-not-suppor.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-drm-Always-warn-if-user-defined-modes-are-not-suppor.patch
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,42 @@
+From b6415bd7386bcf9d2e0d6ee1d4ef4186e7a87b24 Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Wed, 11 May 2022 20:31:23 +0200
+Subject: drm: Always warn if user-defined modes are not supported
+Git-commit: b6415bd7386bcf9d2e0d6ee1d4ef4186e7a87b24
+Git-repo: git://anongit.freedesktop.org/drm/drm-misc
+Patch-mainline: Queued in subsystem maintainer repository
+References: boo#1193472
+
+Print a warning if a user-specifed display mode is not supported by
+the display pipeline. Users specified the display mode on the kernel
+command line with the use of the video= parameter. Setting an
+unsupported mode will leave the console blank, so we should at least
+let the user know why.
+
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>
+Reviewed-by: Maxime Ripard <max...@cerno.tech>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220511183125.14294-2-tzimmerm...@suse.de
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/gpu/drm/drm_modes.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
+index 14b746f7ba975..40b7b245e98c5 100644
+--- a/drivers/gpu/drm/drm_modes.c
++++ b/drivers/gpu/drm/drm_modes.c
+@@ -1328,6 +1328,10 @@ void drm_mode_prune_invalid(struct drm_device *dev,
+       list_for_each_entry_safe(mode, t, mode_list, head) {
+               if (mode->status != MODE_OK) {
+                       list_del(&mode->head);
++                      if (mode->type & DRM_MODE_TYPE_USERDEF) {
++                              drm_warn(dev, "User-defined mode not supported: 
"
++                                       DRM_MODE_FMT "\n", DRM_MODE_ARG(mode));
++                      }
+                       if (verbose) {
+                               drm_mode_debug_printmodeline(mode);
+                               DRM_DEBUG_KMS("Not using %s mode: %s\n",
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-drm-aperture-Run-fbdev-removal-before-internal-helpe.patch
 
new/patches.suse/0001-drm-aperture-Run-fbdev-removal-before-internal-helpe.patch
--- 
old/patches.suse/0001-drm-aperture-Run-fbdev-removal-before-internal-helpe.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-drm-aperture-Run-fbdev-removal-before-internal-helpe.patch
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,114 @@
+From fb84efa28a48e30b87fa1122e8aab8016c7347cd Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Fri, 17 Jun 2022 14:10:27 +0200
+Subject: drm/aperture: Run fbdev removal before internal helpers
+Git-commit: fb84efa28a48e30b87fa1122e8aab8016c7347cd
+Git-repo: git://anongit.freedesktop.org/drm/drm.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: boo#1193472
+
+Always run fbdev removal first to remove simpledrm via
+sysfb_disable(). This clears the internal state. The later call
+to drm_aperture_detach_drivers() then does nothing. Otherwise,
+with drm_aperture_detach_drivers() running first, the call to
+sysfb_disable() uses inconsistent state.
+
+Example backtrace show below:
+
+[   11.663422] 
==================================================================
+[   11.663426] BUG: KASAN: use-after-free in device_del+0x79/0x5f0
+[   11.663435] Read of size 8 at addr ffff888108185050 by task 
systemd-udevd/311
+[   11.663440] CPU: 0 PID: 311 Comm: systemd-udevd Tainted: G            E     
5
+       .19.0-rc2-1-default+ #1689
+[   11.663445] Hardware name: HP ProLiant DL120 G7, BIOS J01 04/21/2011
+[   11.663447] Call Trace:
+[   11.663449]  <TASK>
+[   11.663451]  ? device_del+0x79/0x5f0
+[   11.663456]  dump_stack_lvl+0x5b/0x73
+[   11.663462]  print_address_description.constprop.0+0x1f/0x1b0
+[   11.663468]  ? device_del+0x79/0x5f0
+[   11.663471]  ? device_del+0x79/0x5f0
+[   11.663475]  print_report.cold+0x3c/0x21c
+[   11.663481]  ? lock_acquired+0x87/0x1e0
+[   11.663484]  ? lock_acquired+0x87/0x1e0
+[   11.663489]  ? device_del+0x79/0x5f0
+[   11.663492]  kasan_report+0xbf/0xf0
+[   11.663498]  ? device_del+0x79/0x5f0
+[   11.663503]  device_del+0x79/0x5f0
+[   11.663509]  ? device_remove_attrs+0x170/0x170
+[   11.663514]  ? lock_is_held_type+0xe8/0x140
+[   11.663523]  platform_device_del.part.0+0x19/0xe0
+[   11.663530]  platform_device_unregister+0x1c/0x30
+[   11.663535]  sysfb_disable+0x2d/0x70
+[   11.663540]  remove_conflicting_framebuffers+0x1c/0xf0
+[   11.663546]  remove_conflicting_pci_framebuffers+0x130/0x1a0
+[   11.663554]  drm_aperture_remove_conflicting_pci_framebuffers+0x86/0xb0
+[   11.663561]  ? mgag200_pci_remove+0x30/0x30 [mgag200]
+[   11.663578]  mgag200_pci_probe+0x2d/0x140 [mgag200]
+
+Reported-by: Zack Rusin <za...@vmware.com>
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>
+Reviewed-by: Zack Rusin <za...@vmware.com>
+Fixes: 873eb3b11860 ("fbdev: Disable sysfb device registration when removing 
conflicting FBs")
+Cc: Javier Martinez Canillas <javi...@redhat.com>
+Cc: Daniel Vetter <daniel.vet...@ffwll.ch>
+Cc: Daniel Vetter <dan...@ffwll.ch>
+Cc: Sam Ravnborg <s...@ravnborg.org>
+Cc: Helge Deller <del...@gmx.de>
+Cc: Thomas Zimmermann <tzimmerm...@suse.de>
+Cc: Alex Deucher <alexander.deuc...@amd.com>
+Cc: Zhen Lei <thunder.leiz...@huawei.com>
+Cc: Changcheng Deng <deng.changch...@zte.com.cn>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220617121027.30273-1-tzimmerm...@suse.de
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/gpu/drm/drm_aperture.c | 26 +++++++++++++++-----------
+ 1 file changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_aperture.c b/drivers/gpu/drm/drm_aperture.c
+index 74bd4a76b253..059fd71424f6 100644
+--- a/drivers/gpu/drm/drm_aperture.c
++++ b/drivers/gpu/drm/drm_aperture.c
+@@ -329,7 +329,20 @@ int 
drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
+                                                    const struct drm_driver 
*req_driver)
+ {
+       resource_size_t base, size;
+-      int bar, ret = 0;
++      int bar, ret;
++
++      /*
++       * WARNING: Apparently we must kick fbdev drivers before vgacon,
++       * otherwise the vga fbdev driver falls over.
++       */
++#if IS_REACHABLE(CONFIG_FB)
++      ret = remove_conflicting_pci_framebuffers(pdev, req_driver->name);
++      if (ret)
++              return ret;
++#endif
++      ret = vga_remove_vgacon(pdev);
++      if (ret)
++              return ret;
+ 
+       for (bar = 0; bar < PCI_STD_NUM_BARS; ++bar) {
+               if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
+@@ -339,15 +352,6 @@ int 
drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
+               drm_aperture_detach_drivers(base, size);
+       }
+ 
+-      /*
+-       * WARNING: Apparently we must kick fbdev drivers before vgacon,
+-       * otherwise the vga fbdev driver falls over.
+-       */
+-#if IS_REACHABLE(CONFIG_FB)
+-      ret = remove_conflicting_pci_framebuffers(pdev, req_driver->name);
+-#endif
+-      if (ret == 0)
+-              ret = vga_remove_vgacon(pdev);
+-      return ret;
++      return 0;
+ }
+ EXPORT_SYMBOL(drm_aperture_remove_conflicting_pci_framebuffers);
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-drm-client-Don-t-add-new-command-line-mode.patch 
new/patches.suse/0001-drm-client-Don-t-add-new-command-line-mode.patch
--- old/patches.suse/0001-drm-client-Don-t-add-new-command-line-mode.patch      
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/0001-drm-client-Don-t-add-new-command-line-mode.patch      
2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,78 @@
+From 0facdaa249c4e97346bc0b49c893e4a1d336b7dd Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Wed, 11 May 2022 20:31:25 +0200
+Subject: drm/client: Don't add new command-line mode
+Git-commit: 0facdaa249c4e97346bc0b49c893e4a1d336b7dd
+Git-repo: git://anongit.freedesktop.org/drm/drm-misc
+Patch-mainline: Queued in subsystem maintainer repository
+References: boo#1193472
+
+Don't add a mode for the kernel's command-line parameters from
+within the DRM client code. Doing so can result in an unusable
+display. If there's no compatible command-line mode, the client
+will use one of the connector's preferred modes.
+
+All mode creation and validation has to be performed by the
+connector. When clients run, the connector's fill_modes callback
+has already processed the kernel parameters and validated each
+mode before adding it. The connector's mode list does not contain
+invalid modes.
+
+v2:
+       * grammar in commit message (Javier)
+
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>
+Reviewed-by: Maxime Ripard <max...@cerno.tech>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220511183125.14294-4-tzimmerm...@suse.de
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/gpu/drm/drm_client_modeset.c | 17 +++++------------
+ 1 file changed, 5 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_client_modeset.c 
b/drivers/gpu/drm/drm_client_modeset.c
+index b777faa87f043..48e6ce16439fd 100644
+--- a/drivers/gpu/drm/drm_client_modeset.c
++++ b/drivers/gpu/drm/drm_client_modeset.c
+@@ -158,8 +158,7 @@ drm_connector_has_preferred_mode(struct drm_connector 
*connector, int width, int
+       return NULL;
+ }
+ 
+-static struct drm_display_mode *
+-drm_connector_pick_cmdline_mode(struct drm_connector *connector)
++static struct drm_display_mode *drm_connector_pick_cmdline_mode(struct 
drm_connector *connector)
+ {
+       struct drm_cmdline_mode *cmdline_mode;
+       struct drm_display_mode *mode;
+@@ -180,11 +179,10 @@ drm_connector_pick_cmdline_mode(struct drm_connector 
*connector)
+       if (cmdline_mode->specified == false)
+               return NULL;
+ 
+-      /* attempt to find a matching mode in the list of modes
+-       *  we have gotten so far, if not add a CVT mode that conforms
++      /*
++       * Attempt to find a matching mode in the list of modes we
++       * have gotten so far.
+        */
+-      if (cmdline_mode->rb || cmdline_mode->margins)
+-              goto create_mode;
+ 
+       prefer_non_interlace = !cmdline_mode->interlace;
+ again:
+@@ -218,12 +216,7 @@ drm_connector_pick_cmdline_mode(struct drm_connector 
*connector)
+               goto again;
+       }
+ 
+-create_mode:
+-      mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode);
+-      if (mode)
+-              list_add(&mode->head, &connector->modes);
+-
+-      return mode;
++      return NULL;
+ }
+ 
+ static bool drm_connector_enabled(struct drm_connector *connector, bool 
strict)
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-drm-client-Look-for-command-line-modes-first.patch 
new/patches.suse/0001-drm-client-Look-for-command-line-modes-first.patch
--- old/patches.suse/0001-drm-client-Look-for-command-line-modes-first.patch    
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/0001-drm-client-Look-for-command-line-modes-first.patch    
2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,48 @@
+From b959eb4f5b7ea49b47e95c9047d33d1b1cf81057 Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Wed, 11 May 2022 20:31:24 +0200
+Subject: drm/client: Look for command-line modes first
+Git-commit: b959eb4f5b7ea49b47e95c9047d33d1b1cf81057
+Git-repo: git://anongit.freedesktop.org/drm/drm-misc
+Patch-mainline: Queued in subsystem maintainer repository
+References: boo#1193472
+
+When picking a mode, first look for modes that have been specified
+by the user on the kernel's command line. Only if that fails, use
+the existing heuristic of picking a nearby mode from it's various
+parameters.
+
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>
+Reviewed-by: Maxime Ripard <max...@cerno.tech>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220511183125.14294-3-tzimmerm...@suse.de
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/gpu/drm/drm_client_modeset.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/drivers/gpu/drm/drm_client_modeset.c 
b/drivers/gpu/drm/drm_client_modeset.c
+index e6346a67cd981..b777faa87f043 100644
+--- a/drivers/gpu/drm/drm_client_modeset.c
++++ b/drivers/gpu/drm/drm_client_modeset.c
+@@ -165,6 +165,17 @@ drm_connector_pick_cmdline_mode(struct drm_connector 
*connector)
+       struct drm_display_mode *mode;
+       bool prefer_non_interlace;
+ 
++      /*
++       * Find a user-defined mode. If the user gave us a valid
++       * mode on the kernel command line, it will show up in this
++       * list.
++       */
++
++      list_for_each_entry(mode, &connector->modes, head) {
++              if (mode->type & DRM_MODE_TYPE_USERDEF)
++                      return mode;
++      }
++
+       cmdline_mode = &connector->cmdline_mode;
+       if (cmdline_mode->specified == false)
+               return NULL;
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-drm-format-helper-Add-RGB565-to-XRGB8888-conversion.patch 
new/patches.suse/0001-drm-format-helper-Add-RGB565-to-XRGB8888-conversion.patch
--- 
old/patches.suse/0001-drm-format-helper-Add-RGB565-to-XRGB8888-conversion.patch 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-drm-format-helper-Add-RGB565-to-XRGB8888-conversion.patch 
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,103 @@
+From e08a99d005588f7f1d0647cdbc3368c98471fa6c Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Mon, 25 Apr 2022 09:59:39 +0200
+Subject: drm/format-helper: Add RGB565-to-XRGB8888 conversion
+Git-commit: e08a99d005588f7f1d0647cdbc3368c98471fa6c
+Patch-mainline: v5.19-rc1
+References: boo#1193472
+
+Add a format helper that converts RGB565 to XRGB8888. Use this
+function in drm_fb_blit_toio(). Fixes simpledrm output for this
+combination of formats.
+
+UEFI and/or Grub will usually set 32-bit output in XRGB8888 format.
+The issue can be reproduced by enabling simpledrm and requesting a
+console framebuffer of different format on the kernel command line;
+for example
+
+  nomodeset video=1024x768-16
+
+In this case, conversion helpers will display nothing on the console.
+The patch makes this work by implementing the rsp conversion helpers.
+It also enables odd userspace configurations, such as running Xorg
+with 16-bit color depth on a 32-bit output buffer.
+
+v2:
+       * use helpers for struct drm_rect (Javier)
+       * improve commit message (Javier)
+
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220425075939.30450-4-tzimmerm...@suse.de
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/gpu/drm/drm_format_helper.c | 46 +++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+diff --git a/drivers/gpu/drm/drm_format_helper.c 
b/drivers/gpu/drm/drm_format_helper.c
+index c83e0bb2e8c75..34b7ef443ad2e 100644
+--- a/drivers/gpu/drm/drm_format_helper.c
++++ b/drivers/gpu/drm/drm_format_helper.c
+@@ -411,6 +411,49 @@ void drm_fb_xrgb8888_to_rgb888_toio(void __iomem *dst, 
unsigned int dst_pitch,
+ }
+ EXPORT_SYMBOL(drm_fb_xrgb8888_to_rgb888_toio);
+ 
++static void drm_fb_rgb565_to_xrgb8888_line(void *dbuf, const void *sbuf, 
unsigned int pixels)
++{
++      u32 *dbuf32 = dbuf;
++      const u16 *sbuf16 = sbuf;
++      unsigned int x;
++
++      for (x = 0; x < pixels; x++, ++sbuf16, ++dbuf32) {
++              u32 val32 = ((*sbuf16 & 0xf800) << 8) |
++                          ((*sbuf16 & 0x07e0) << 5) |
++                          ((*sbuf16 & 0x001f) << 3);
++              *dbuf32 = 0xff000000 | val32 |
++                        ((val32 >> 3) & 0x00070007) |
++                        ((val32 >> 2) & 0x00000300);
++      }
++}
++
++static void drm_fb_rgb565_to_xrgb8888_toio(void __iomem *dst, unsigned int 
dst_pitch,
++                                         const void *vaddr, const struct 
drm_framebuffer *fb,
++                                         const struct drm_rect *clip)
++{
++      size_t linepixels = drm_rect_width(clip);
++      size_t dst_len = linepixels * 4;
++      unsigned int y, lines = drm_rect_height(clip);
++      void *dbuf;
++
++      if (!dst_pitch)
++              dst_pitch = dst_len;
++
++      dbuf = kmalloc(dst_len, GFP_KERNEL);
++      if (!dbuf)
++              return;
++
++      vaddr += clip_offset(clip, fb->pitches[0], 2);
++      for (y = 0; y < lines; y++) {
++              drm_fb_rgb565_to_xrgb8888_line(dbuf, vaddr, linepixels);
++              memcpy_toio(dst, dbuf, dst_len);
++              vaddr += fb->pitches[0];
++              dst += dst_pitch;
++      }
++
++      kfree(dbuf);
++}
++
+ static void drm_fb_rgb888_to_xrgb8888_line(void *dbuf, const void *sbuf, 
unsigned int pixels)
+ {
+       u32 *dbuf32 = dbuf;
+@@ -628,6 +671,9 @@ int drm_fb_blit_toio(void __iomem *dst, unsigned int 
dst_pitch, uint32_t dst_for
+               if (fb_format == DRM_FORMAT_RGB888) {
+                       drm_fb_rgb888_to_xrgb8888_toio(dst, dst_pitch, vmap, 
fb, clip);
+                       return 0;
++              } else if (fb_format == DRM_FORMAT_RGB565) {
++                      drm_fb_rgb565_to_xrgb8888_toio(dst, dst_pitch, vmap, 
fb, clip);
++                      return 0;
+               }
+       } else if (dst_format == DRM_FORMAT_XRGB2101010) {
+               if (fb_format == DRM_FORMAT_XRGB8888) {
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-drm-format-helper-Add-RGB888-to-XRGB8888-conversion.patch 
new/patches.suse/0001-drm-format-helper-Add-RGB888-to-XRGB8888-conversion.patch
--- 
old/patches.suse/0001-drm-format-helper-Add-RGB888-to-XRGB8888-conversion.patch 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-drm-format-helper-Add-RGB888-to-XRGB8888-conversion.patch 
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,103 @@
+From 26c30f223123b7feff0ca8722af2f93935b08b85 Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Mon, 25 Apr 2022 09:59:38 +0200
+Subject: drm/format-helper: Add RGB888-to-XRGB8888 conversion
+Git-commit: 26c30f223123b7feff0ca8722af2f93935b08b85
+Patch-mainline: v5.19-rc1
+References: boo#1193472
+
+Add a format helper that converts RGB888 to XRGB8888. Use this
+function in drm_fb_blit_toio(). Fixes simpledrm output for this
+combination of formats.
+
+UEFI and/or Grub will usually set 32-bit output in XRGB8888 format.
+The issue can be reproduced by enabling simpledrm and requesting a
+console framebuffer of different format on the kernel command line;
+for example
+
+  nomodeset video=1024x768-24
+
+In this case, conversion helpers will display nothing on the console.
+The patch makes this work by implementing the rsp conversion helpers.
+It also enables odd userspace configurations, such as running Xorg
+with 24-bit color depth on a 32-bit output buffer.
+
+v2:
+       * use helpers for struct drm_rect (Javier)
+       * improve commit message (Javier)
+
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220425075939.30450-3-tzimmerm...@suse.de
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/gpu/drm/drm_format_helper.c | 46 +++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+diff --git a/drivers/gpu/drm/drm_format_helper.c 
b/drivers/gpu/drm/drm_format_helper.c
+index b648f29b21b67..c83e0bb2e8c75 100644
+--- a/drivers/gpu/drm/drm_format_helper.c
++++ b/drivers/gpu/drm/drm_format_helper.c
+@@ -411,6 +411,47 @@ void drm_fb_xrgb8888_to_rgb888_toio(void __iomem *dst, 
unsigned int dst_pitch,
+ }
+ EXPORT_SYMBOL(drm_fb_xrgb8888_to_rgb888_toio);
+ 
++static void drm_fb_rgb888_to_xrgb8888_line(void *dbuf, const void *sbuf, 
unsigned int pixels)
++{
++      u32 *dbuf32 = dbuf;
++      const u8 *sbuf8 = sbuf;
++      unsigned int x;
++
++      for (x = 0; x < pixels; x++) {
++              u8 r = *sbuf8++;
++              u8 g = *sbuf8++;
++              u8 b = *sbuf8++;
++              *dbuf32++ = 0xff000000 | (r << 16) | (g << 8) | b;
++      }
++}
++
++static void drm_fb_rgb888_to_xrgb8888_toio(void __iomem *dst, unsigned int 
dst_pitch,
++                                         const void *vaddr, const struct 
drm_framebuffer *fb,
++                                         const struct drm_rect *clip)
++{
++      size_t linepixels = drm_rect_width(clip);
++      size_t dst_len = linepixels * 4;
++      unsigned int y, lines = drm_rect_height(clip);
++      void *dbuf;
++
++      if (!dst_pitch)
++              dst_pitch = dst_len;
++
++      dbuf = kmalloc(dst_len, GFP_KERNEL);
++      if (!dbuf)
++              return;
++
++      vaddr += clip_offset(clip, fb->pitches[0], 3);
++      for (y = 0; y < lines; y++) {
++              drm_fb_rgb888_to_xrgb8888_line(dbuf, vaddr, linepixels);
++              memcpy_toio(dst, dbuf, dst_len);
++              vaddr += fb->pitches[0];
++              dst += dst_pitch;
++      }
++
++      kfree(dbuf);
++}
++
+ static void drm_fb_xrgb8888_to_xrgb2101010_line(u32 *dbuf, const u32 *sbuf,
+                                               unsigned int pixels)
+ {
+@@ -583,6 +624,11 @@ int drm_fb_blit_toio(void __iomem *dst, unsigned int 
dst_pitch, uint32_t dst_for
+                       drm_fb_xrgb8888_to_rgb888_toio(dst, dst_pitch, vmap, 
fb, clip);
+                       return 0;
+               }
++      } else if (dst_format == DRM_FORMAT_XRGB8888) {
++              if (fb_format == DRM_FORMAT_RGB888) {
++                      drm_fb_rgb888_to_xrgb8888_toio(dst, dst_pitch, vmap, 
fb, clip);
++                      return 0;
++              }
+       } else if (dst_format == DRM_FORMAT_XRGB2101010) {
+               if (fb_format == DRM_FORMAT_XRGB8888) {
+                       drm_fb_xrgb8888_to_xrgb2101010_toio(dst, dst_pitch, 
vmap, fb, clip);
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-drm-format-helper-Print-warning-on-missing-format-co.patch
 
new/patches.suse/0001-drm-format-helper-Print-warning-on-missing-format-co.patch
--- 
old/patches.suse/0001-drm-format-helper-Print-warning-on-missing-format-co.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-drm-format-helper-Print-warning-on-missing-format-co.patch
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,36 @@
+From 7e553e2ab79a13511bb84559287c06db80a461b1 Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Mon, 25 Apr 2022 09:59:37 +0200
+Subject: drm/format-helper: Print warning on missing format conversion
+Git-commit: 7e553e2ab79a13511bb84559287c06db80a461b1
+Patch-mainline: v5.19-rc1
+References: boo#1193472
+
+Not all possible format conversions are supported yet. Print a
+warning on unsupported combinations.
+
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220425075939.30450-2-tzimmerm...@suse.de
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/gpu/drm/drm_format_helper.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/gpu/drm/drm_format_helper.c 
b/drivers/gpu/drm/drm_format_helper.c
+index 0e71351147287..b648f29b21b67 100644
+--- a/drivers/gpu/drm/drm_format_helper.c
++++ b/drivers/gpu/drm/drm_format_helper.c
+@@ -590,6 +590,9 @@ int drm_fb_blit_toio(void __iomem *dst, unsigned int 
dst_pitch, uint32_t dst_for
+               }
+       }
+ 
++      drm_warn_once(fb->dev, "No conversion helper from %p4cc to %p4cc 
found.\n",
++                    &fb_format, &dst_format);
++
+       return -EINVAL;
+ }
+ EXPORT_SYMBOL(drm_fb_blit_toio);
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-fbdev-Disable-sysfb-device-registration-when-removin.patch
 
new/patches.suse/0001-fbdev-Disable-sysfb-device-registration-when-removin.patch
--- 
old/patches.suse/0001-fbdev-Disable-sysfb-device-registration-when-removin.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-fbdev-Disable-sysfb-device-registration-when-removin.patch
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,67 @@
+From 873eb3b11860aada97ddc02d48b54522b92848db Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javi...@redhat.com>
+Date: Tue, 7 Jun 2022 20:23:36 +0200
+Subject: fbdev: Disable sysfb device registration when removing conflicting
+ FBs
+Git-commit: 873eb3b11860aada97ddc02d48b54522b92848db
+Git-repo: git://anongit.freedesktop.org/drm/drm.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: boo#1193472
+
+The platform devices registered by sysfb match with firmware-based DRM or
+fbdev drivers, that are used to have early graphics using a framebuffer
+provided by the system firmware.
+
+DRM or fbdev drivers later are probed and remove conflicting framebuffers,
+leading to these platform devices for generic drivers to be unregistered.
+
+But the current solution has a race, since the sysfb_init() function could
+be called after a DRM or fbdev driver is probed and request to unregister
+the devices for drivers with conflicting framebuffes.
+
+To prevent this, disable any future sysfb platform device registration by
+calling sysfb_disable(), if a driver requests to remove the conflicting
+framebuffers.
+
+Suggested-by: Daniel Vetter <daniel.vet...@ffwll.ch>
+Signed-off-by: Javier Martinez Canillas <javi...@redhat.com>
+Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220607182338.344270-4-javi...@redhat.com
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/video/fbdev/core/fbmem.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/drivers/video/fbdev/core/fbmem.c 
b/drivers/video/fbdev/core/fbmem.c
+index 2fda5917c212..e0720fef0ee6 100644
+--- a/drivers/video/fbdev/core/fbmem.c
++++ b/drivers/video/fbdev/core/fbmem.c
+@@ -19,6 +19,7 @@
+ #include <linux/kernel.h>
+ #include <linux/major.h>
+ #include <linux/slab.h>
++#include <linux/sysfb.h>
+ #include <linux/mm.h>
+ #include <linux/mman.h>
+ #include <linux/vt.h>
+@@ -1764,6 +1765,17 @@ int remove_conflicting_framebuffers(struct 
apertures_struct *a,
+               do_free = true;
+       }
+ 
++      /*
++       * If a driver asked to unregister a platform device registered by
++       * sysfb, then can be assumed that this is a driver for a display
++       * that is set up by the system firmware and has a generic driver.
++       *
++       * Drivers for devices that don't have a generic driver will never
++       * ask for this, so let's assume that a real driver for the display
++       * was already probed and prevent sysfb to register devices later.
++       */
++      sysfb_disable();
++
+       mutex_lock(&registration_lock);
+       do_remove_conflicting_framebuffers(a, name, primary);
+       mutex_unlock(&registration_lock);
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-firmware-sysfb-Add-sysfb_disable-helper-function.patch 
new/patches.suse/0001-firmware-sysfb-Add-sysfb_disable-helper-function.patch
--- 
old/patches.suse/0001-firmware-sysfb-Add-sysfb_disable-helper-function.patch    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-firmware-sysfb-Add-sysfb_disable-helper-function.patch    
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,159 @@
+From bc824922b264aff40eba8c160972ee07a95e7dd4 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javi...@redhat.com>
+Date: Tue, 7 Jun 2022 20:23:35 +0200
+Subject: firmware: sysfb: Add sysfb_disable() helper function
+Git-commit: bc824922b264aff40eba8c160972ee07a95e7dd4
+Git-repo: git://anongit.freedesktop.org/drm/drm.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: boo#1193472
+
+This can be used by subsystems to unregister a platform device registered
+by sysfb and also to disable future platform device registration in sysfb.
+
+Suggested-by: Daniel Vetter <daniel.vet...@ffwll.ch>
+Signed-off-by: Javier Martinez Canillas <javi...@redhat.com>
+Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220607182338.344270-3-javi...@redhat.com
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ .../driver-api/firmware/other_interfaces.rst  |  6 +++
+ drivers/firmware/sysfb.c                      | 54 ++++++++++++++++---
+ include/linux/sysfb.h                         | 12 +++++
+ 3 files changed, 66 insertions(+), 6 deletions(-)
+
+diff --git a/Documentation/driver-api/firmware/other_interfaces.rst 
b/Documentation/driver-api/firmware/other_interfaces.rst
+index b81794e0cfbb..06ac89adaafb 100644
+--- a/Documentation/driver-api/firmware/other_interfaces.rst
++++ b/Documentation/driver-api/firmware/other_interfaces.rst
+@@ -13,6 +13,12 @@ EDD Interfaces
+ .. kernel-doc:: drivers/firmware/edd.c
+    :internal:
+ 
++Generic System Framebuffers Interface
++-------------------------------------
++
++.. kernel-doc:: drivers/firmware/sysfb.c
++   :export:
++
+ Intel Stratix10 SoC Service Layer
+ ---------------------------------
+ Some features of the Intel Stratix10 SoC require a level of privilege
+diff --git a/drivers/firmware/sysfb.c b/drivers/firmware/sysfb.c
+index b032f40a92de..1f276f108cc9 100644
+--- a/drivers/firmware/sysfb.c
++++ b/drivers/firmware/sysfb.c
+@@ -34,21 +34,59 @@
+ #include <linux/screen_info.h>
+ #include <linux/sysfb.h>
+ 
++static struct platform_device *pd;
++static DEFINE_MUTEX(disable_lock);
++static bool disabled;
++
++static bool sysfb_unregister(void)
++{
++      if (IS_ERR_OR_NULL(pd))
++              return false;
++
++      platform_device_unregister(pd);
++      pd = NULL;
++
++      return true;
++}
++
++/**
++ * sysfb_disable() - disable the Generic System Framebuffers support
++ *
++ * This disables the registration of system framebuffer devices that match the
++ * generic drivers that make use of the system framebuffer set up by firmware.
++ *
++ * It also unregisters a device if this was already registered by 
sysfb_init().
++ *
++ * Context: The function can sleep. A @disable_lock mutex is acquired to 
serialize
++ *          against sysfb_init(), that registers a system framebuffer device.
++ */
++void sysfb_disable(void)
++{
++      mutex_lock(&disable_lock);
++      sysfb_unregister();
++      disabled = true;
++      mutex_unlock(&disable_lock);
++}
++EXPORT_SYMBOL_GPL(sysfb_disable);
++
+ static __init int sysfb_init(void)
+ {
+       struct screen_info *si = &screen_info;
+       struct simplefb_platform_data mode;
+-      struct platform_device *pd;
+       const char *name;
+       bool compatible;
+-      int ret;
++      int ret = 0;
++
++      mutex_lock(&disable_lock);
++      if (disabled)
++              goto unlock_mutex;
+ 
+       /* try to create a simple-framebuffer device */
+       compatible = sysfb_parse_mode(si, &mode);
+       if (compatible) {
+               pd = sysfb_create_simplefb(si, &mode);
+               if (!IS_ERR(pd))
+-                      return 0;
++                      goto unlock_mutex;
+       }
+ 
+       /* if the FB is incompatible, create a legacy framebuffer device */
+@@ -60,8 +98,10 @@ static __init int sysfb_init(void)
+               name = "platform-framebuffer";
+ 
+       pd = platform_device_alloc(name, 0);
+-      if (!pd)
+-              return -ENOMEM;
++      if (!pd) {
++              ret = -ENOMEM;
++              goto unlock_mutex;
++      }
+ 
+       sysfb_apply_efi_quirks(pd);
+ 
+@@ -73,9 +113,11 @@ static __init int sysfb_init(void)
+       if (ret)
+               goto err;
+ 
+-      return 0;
++      goto unlock_mutex;
+ err:
+       platform_device_put(pd);
++unlock_mutex:
++      mutex_unlock(&disable_lock);
+       return ret;
+ }
+ 
+diff --git a/include/linux/sysfb.h b/include/linux/sysfb.h
+index 708152e9037b..8ba8b5be5567 100644
+--- a/include/linux/sysfb.h
++++ b/include/linux/sysfb.h
+@@ -55,6 +55,18 @@ struct efifb_dmi_info {
+       int flags;
+ };
+ 
++#ifdef CONFIG_SYSFB
++
++void sysfb_disable(void);
++
++#else /* CONFIG_SYSFB */
++
++static inline void sysfb_disable(void)
++{
++}
++
++#endif /* CONFIG_SYSFB */
++
+ #ifdef CONFIG_EFI
+ 
+ extern struct efifb_dmi_info efifb_dmi_list[];
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/0001-firmware-sysfb-Make-sysfb_create_simplefb-return-a-p.patch
 
new/patches.suse/0001-firmware-sysfb-Make-sysfb_create_simplefb-return-a-p.patch
--- 
old/patches.suse/0001-firmware-sysfb-Make-sysfb_create_simplefb-return-a-p.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/0001-firmware-sysfb-Make-sysfb_create_simplefb-return-a-p.patch
    2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,130 @@
+From 0949ee75da6c918fcbd567e1bfa4943a56ab4e5d Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javi...@redhat.com>
+Date: Tue, 7 Jun 2022 20:23:34 +0200
+Subject: firmware: sysfb: Make sysfb_create_simplefb() return a pdev pointer
+Git-commit: 0949ee75da6c918fcbd567e1bfa4943a56ab4e5d
+Git-repo: git://anongit.freedesktop.org/drm/drm.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: boo#1193472
+
+This function just returned 0 on success or an errno code on error, but it
+could be useful for sysfb_init() callers to have a pointer to the device.
+
+Signed-off-by: Javier Martinez Canillas <javi...@redhat.com>
+Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>
+Reviewed-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Link: 
https://patchwork.freedesktop.org/patch/msgid/20220607182338.344270-2-javi...@redhat.com
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/firmware/sysfb.c          |  4 ++--
+ drivers/firmware/sysfb_simplefb.c | 16 ++++++++--------
+ include/linux/sysfb.h             | 10 +++++-----
+ 3 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/firmware/sysfb.c b/drivers/firmware/sysfb.c
+index 2bfbb05f7d89..b032f40a92de 100644
+--- a/drivers/firmware/sysfb.c
++++ b/drivers/firmware/sysfb.c
+@@ -46,8 +46,8 @@ static __init int sysfb_init(void)
+       /* try to create a simple-framebuffer device */
+       compatible = sysfb_parse_mode(si, &mode);
+       if (compatible) {
+-              ret = sysfb_create_simplefb(si, &mode);
+-              if (!ret)
++              pd = sysfb_create_simplefb(si, &mode);
++              if (!IS_ERR(pd))
+                       return 0;
+       }
+ 
+diff --git a/drivers/firmware/sysfb_simplefb.c 
b/drivers/firmware/sysfb_simplefb.c
+index bda8712bfd8c..a353e27f83f5 100644
+--- a/drivers/firmware/sysfb_simplefb.c
++++ b/drivers/firmware/sysfb_simplefb.c
+@@ -57,8 +57,8 @@ __init bool sysfb_parse_mode(const struct screen_info *si,
+       return false;
+ }
+ 
+-__init int sysfb_create_simplefb(const struct screen_info *si,
+-                               const struct simplefb_platform_data *mode)
++__init struct platform_device *sysfb_create_simplefb(const struct screen_info 
*si,
++                                                   const struct 
simplefb_platform_data *mode)
+ {
+       struct platform_device *pd;
+       struct resource res;
+@@ -76,7 +76,7 @@ __init int sysfb_create_simplefb(const struct screen_info 
*si,
+               base |= (u64)si->ext_lfb_base << 32;
+       if (!base || (u64)(resource_size_t)base != base) {
+               printk(KERN_DEBUG "sysfb: inaccessible VRAM base\n");
+-              return -EINVAL;
++              return ERR_PTR(-EINVAL);
+       }
+ 
+       /*
+@@ -93,7 +93,7 @@ __init int sysfb_create_simplefb(const struct screen_info 
*si,
+       length = mode->height * mode->stride;
+       if (length > size) {
+               printk(KERN_WARNING "sysfb: VRAM smaller than advertised\n");
+-              return -EINVAL;
++              return ERR_PTR(-EINVAL);
+       }
+       length = PAGE_ALIGN(length);
+ 
+@@ -104,11 +104,11 @@ __init int sysfb_create_simplefb(const struct 
screen_info *si,
+       res.start = base;
+       res.end = res.start + length - 1;
+       if (res.end <= res.start)
+-              return -EINVAL;
++              return ERR_PTR(-EINVAL);
+ 
+       pd = platform_device_alloc("simple-framebuffer", 0);
+       if (!pd)
+-              return -ENOMEM;
++              return ERR_PTR(-ENOMEM);
+ 
+       sysfb_apply_efi_quirks(pd);
+ 
+@@ -124,10 +124,10 @@ __init int sysfb_create_simplefb(const struct 
screen_info *si,
+       if (ret)
+               goto err_put_device;
+ 
+-      return 0;
++      return pd;
+ 
+ err_put_device:
+       platform_device_put(pd);
+ 
+-      return ret;
++      return ERR_PTR(ret);
+ }
+diff --git a/include/linux/sysfb.h b/include/linux/sysfb.h
+index b0dcfa26d07b..708152e9037b 100644
+--- a/include/linux/sysfb.h
++++ b/include/linux/sysfb.h
+@@ -72,8 +72,8 @@ static inline void sysfb_apply_efi_quirks(struct 
platform_device *pd)
+ 
+ bool sysfb_parse_mode(const struct screen_info *si,
+                     struct simplefb_platform_data *mode);
+-int sysfb_create_simplefb(const struct screen_info *si,
+-                        const struct simplefb_platform_data *mode);
++struct platform_device *sysfb_create_simplefb(const struct screen_info *si,
++                                            const struct 
simplefb_platform_data *mode);
+ 
+ #else /* CONFIG_SYSFB_SIMPLE */
+ 
+@@ -83,10 +83,10 @@ static inline bool sysfb_parse_mode(const struct 
screen_info *si,
+       return false;
+ }
+ 
+-static inline int sysfb_create_simplefb(const struct screen_info *si,
+-                                       const struct simplefb_platform_data 
*mode)
++static inline struct platform_device *sysfb_create_simplefb(const struct 
screen_info *si,
++                                                          const struct 
simplefb_platform_data *mode)
+ {
+-      return -EINVAL;
++      return ERR_PTR(-EINVAL);
+ }
+ 
+ #endif /* CONFIG_SYSFB_SIMPLE */
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/Add-parameter-to-disable-simple-framebuffer-devices.patch 
new/patches.suse/Add-parameter-to-disable-simple-framebuffer-devices.patch
--- old/patches.suse/Add-parameter-to-disable-simple-framebuffer-devices.patch  
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/Add-parameter-to-disable-simple-framebuffer-devices.patch  
2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,39 @@
+From f45fd10c7bacf2ec2483509356093d90d0cd2bc8 Mon Sep 17 00:00:00 2001
+From: Thomas Zimmermann <tzimmerm...@suse.de>
+Date: Fri, 10 Jun 2022 11:36:52 +0200
+Subject: [PATCH] Add parameter to disable simple-framebuffer devices
+Patch-mainline: Never, temporary workaround for simpledrm bugs
+References: boo#1193472
+
+Temporary workaround for systems that break with simpledrm. Use
+'nosimplefb' to go back to the old setup with efifb/vesafb.
+
+Remaining bugs will get fixed, but in the meantime, we cannot leave
+users without display output in any case.
+
+Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/firmware/sysfb.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/drivers/firmware/sysfb.c b/drivers/firmware/sysfb.c
+index a504f7234f352..940c9d6d530ca 100644
+--- a/drivers/firmware/sysfb.c
++++ b/drivers/firmware/sysfb.c
+@@ -50,6 +50,12 @@ static int __init simpledrm_disable(char *opt)
+ }
+ early_param("nvidia-drm.modeset", simpledrm_disable);
+ 
++static int __init simpledrm_disable_nosimplefb(char *opt)
++{
++      return simpledrm_disable(opt);
++}
++early_param("nosimplefb", simpledrm_disable_nosimplefb);
++
+ static __init int sysfb_init(void)
+ {
+       struct screen_info *si = &screen_info;
+-- 
+2.36.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch 
new/patches.suse/drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch
--- old/patches.suse/drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch 
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch 
2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,86 @@
+From 205bec68a0ea67b6bff6fea9603b7b8aeacc9d46 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javi...@redhat.com>
+Date: Thu, 19 May 2022 14:40:07 +0200
+Subject: [PATCH] drivers/firmware: skip simpledrm if nvidia-drm.modeset=1 is
+ set
+Patch-mainline: Never, temporary workaround for nvidia.ko
+References: boo#1193472
+
+The Nvidia proprietary driver has some bugs that leads to issues if used
+with the simpledrm driver. The most noticeable is that does not register
+an emulated fbdev device.
+
+It just relies on a fbdev to be registered by another driver, that could
+be that could be attached to the framebuffer console. On UEFI machines,
+this is the efifb driver.
+
+This means that disabling the efifb driver will cause virtual consoles to
+not be present in the system when using the Nvidia driver. Legacy BIOS is
+not affected just because fbcon is not used there, but instead vgacon.
+
+Unless a VGA mode is specified using the vga= kernel command line option,
+in that case the vesafb driver is used instead and its fbdev attached to
+the fbcon.
+
+This is a problem because with CONFIG_SYSFB_SIMPLEFB=y, the sysfb platform
+code attempts to register a "simple-framebuffer" platform device (that is
+matched against simpledrm) and only registers either an "efi-framebuffer"
+or "vesa-framebuffer" if this fails to be registered due the video modes
+not being compatible.
+
+The Nvidia driver relying on another driver to register the fbdev is quite
+fragile, since it can't really assume those will stick around. For example
+there are patches posted to remove the EFI and VESA platform devices once
+a real DRM or fbdev driver probes.
+
+But in any case, moving to a simpledrm + emulated fbdev only breaks this
+assumption and causes users to not have VT if the Nvidia driver is used.
+
+So to prevent this, let's add a workaround and make the sysfb to skip the
+"simple-framebuffer" registration when nvidia-drm.modeset=1 option is set.
+
+This is quite horrible, but honestly I can't think of any other approach.
+
+For this to work, the CONFIG_FB_EFI and CONFIG_FB_VESA config options must
+be enabled besides CONFIG_DRM_SIMPLEDRM.
+
+Signed-off-by: Javier Martinez Canillas <javi...@redhat.com>
+Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>
+---
+ drivers/firmware/sysfb.c |   18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+--- a/drivers/firmware/sysfb.c
++++ b/drivers/firmware/sysfb.c
+@@ -69,6 +69,22 @@ void sysfb_disable(void)
+ }
+ EXPORT_SYMBOL_GPL(sysfb_disable);
+ 
++static int skip_simpledrm;
++
++static int __init simpledrm_disable(char *opt)
++{
++      if (!opt)
++                return -EINVAL;
++
++      get_option(&opt, &skip_simpledrm);
++
++      if (skip_simpledrm)
++              pr_info("The simpledrm driver will not be probed\n");
++
++      return 0;
++}
++early_param("nvidia-drm.modeset", simpledrm_disable);
++
+ static __init int sysfb_init(void)
+ {
+       struct screen_info *si = &screen_info;
+@@ -83,7 +99,7 @@ static __init int sysfb_init(void)
+ 
+       /* try to create a simple-framebuffer device */
+       compatible = sysfb_parse_mode(si, &mode);
+-      if (compatible) {
++      if (compatible && !skip_simpledrm) {
+               pd = sysfb_create_simplefb(si, &mode);
+               if (!IS_ERR(pd))
+                       goto unlock_mutex;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/netfilter-nf_tables-stricter-validation-of-element-d.patch 
new/patches.suse/netfilter-nf_tables-stricter-validation-of-element-d.patch
--- old/patches.suse/netfilter-nf_tables-stricter-validation-of-element-d.patch 
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/netfilter-nf_tables-stricter-validation-of-element-d.patch 
2022-07-06 07:57:32.000000000 +0200
@@ -0,0 +1,50 @@
+From 7e6bc1f6cabcd30aba0b11219d8e01b952eacbb6 Mon Sep 17 00:00:00 2001
+From: Pablo Neira Ayuso <pa...@netfilter.org>
+Date: Sat, 2 Jul 2022 04:16:30 +0200
+Subject: [PATCH] netfilter: nf_tables: stricter validation of element data
+Git-commit: 7e6bc1f6cabcd30aba0b11219d8e01b952eacbb6
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git
+Patch-mainline: Queued in subsystem maintainer repo
+References: CVE-2022-34918 bsc#1201171
+
+Make sure element data type and length do not mismatch the one specified
+by the set declaration.
+
+Fixes: 7d7402642eaf ("netfilter: nf_tables: variable sized set element keys / 
data")
+Reported-by: Hugues ANGUELKOV <hanguel...@randorisec.fr>
+Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
+Acked-by: Takashi Iwai <ti...@suse.de>
+
+---
+ net/netfilter/nf_tables_api.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
+index 51144fc66889..d6b59beab3a9 100644
+--- a/net/netfilter/nf_tables_api.c
++++ b/net/netfilter/nf_tables_api.c
+@@ -5213,13 +5213,20 @@ static int nft_setelem_parse_data(struct nft_ctx *ctx, 
struct nft_set *set,
+                                 struct nft_data *data,
+                                 struct nlattr *attr)
+ {
++      u32 dtype;
+       int err;
+ 
+       err = nft_data_init(ctx, data, NFT_DATA_VALUE_MAXLEN, desc, attr);
+       if (err < 0)
+               return err;
+ 
+-      if (desc->type != NFT_DATA_VERDICT && desc->len != set->dlen) {
++      if (set->dtype == NFT_DATA_VERDICT)
++              dtype = NFT_DATA_VERDICT;
++      else
++              dtype = NFT_DATA_VALUE;
++
++      if (dtype != desc->type ||
++          set->dlen != desc->len) {
+               nft_data_release(data, desc->type);
+               return -EINVAL;
+       }
+-- 
+2.35.3
+

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:01.500525152 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:01.504525157 +0200
@@ -1752,6 +1752,22 @@
        # sorted patches
        ########################################################
        patches.suse/simplefb-Enable-boot-time-VESA-graphic-mode-selectio.patch
+       
patches.suse/0001-drm-format-helper-Print-warning-on-missing-format-co.patch
+       
patches.suse/0001-drm-format-helper-Add-RGB888-to-XRGB8888-conversion.patch
+       
patches.suse/0001-drm-format-helper-Add-RGB565-to-XRGB8888-conversion.patch
+
+       # git://anongit.freedesktop.org/drm/drm.git drm-next
+       
patches.suse/0001-firmware-sysfb-Make-sysfb_create_simplefb-return-a-p.patch
+       patches.suse/0001-firmware-sysfb-Add-sysfb_disable-helper-function.patch
+       
patches.suse/0001-fbdev-Disable-sysfb-device-registration-when-removin.patch
+
+       # git://anongit.freedesktop.org/drm/drm-misc.git drm-misc-next
+       
patches.suse/0001-drm-Always-warn-if-user-defined-modes-are-not-suppor.patch
+       patches.suse/0001-drm-client-Look-for-command-line-modes-first.patch
+       patches.suse/0001-drm-client-Don-t-add-new-command-line-mode.patch
+
+       # git://anongit.freedesktop.org/drm/drm.git drm-next
+       
patches.suse/0001-drm-aperture-Run-fbdev-removal-before-internal-helpe.patch
 
        ########################################################
        # end of sorted patches
@@ -1769,6 +1785,7 @@
        # to get into mainline any time soon (or ever) belong
        # to area specific sections below.
        ########################################################
+       patches.suse/netfilter-nf_tables-stricter-validation-of-element-d.patch
 
        ########################################################
        # kbuild/module infrastructure fixes
@@ -1861,6 +1878,8 @@
        ########################################################
        # DRM / Graphics
        ########################################################
+       patches.suse/drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch
+       patches.suse/Add-parameter-to-disable-simple-framebuffer-devices.patch
 
        ########################################################
        # Storage

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.g6BbRF/_old  2022-07-09 17:00:01.524525188 +0200
+++ /var/tmp/diff_new_pack.g6BbRF/_new  2022-07-09 17:00:01.528525193 +0200
@@ -1,4 +1,4 @@
-2022-07-03 08:04:03 +0000
-GIT Revision: 0e67dc1e33ee02c2edff307e49d59bd4c73ce79f
+2022-07-06 05:57:32 +0000
+GIT Revision: a7c5f9c7ea0c3909de5203a4e059cfa244f82641
 GIT Branch: stable
 

Reply via email to