Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKernel Build Daemon <kbuild@suse.de>2019-12-12 07:07:12 +0100
committerKernel Build Daemon <kbuild@suse.de>2019-12-12 07:07:12 +0100
commitd08ead094dc36eb67263e50a602c0a1406bed4df (patch)
tree37010262383d7eb0587f09c62db0f1794bb1d7b8
parent3729aa6dc4a030a4303513e7991bcb4aba23fc88 (diff)
parent78a85034520d49f98b8d36c4b2f17550e9fc1df5 (diff)
Merge branch 'SLE12-SP4' into SLE12-SP4-AZURE
-rw-r--r--blacklist.conf4
-rw-r--r--patches.suse/0001-scsi-qla2xxx-Ignore-NULL-pointer-in-tcm_qla2xxx_free.patch6
-rw-r--r--patches.suse/0002-scsi-qla2xxx-Use-explicit-LOGO-in-target-mode.patch6
-rw-r--r--patches.suse/0003-scsi-qla2xxx-Initialize-free_work-before-flushing-it.patch6
-rw-r--r--patches.suse/0004-scsi-qla2xxx-Drop-superfluous-INIT_WORK-of-del_work.patch6
-rw-r--r--patches.suse/0005-can-peak_usb-pcan_usb_fd-Fix-info-leaks-to-USB-devic.patch2
-rw-r--r--patches.suse/0005-scsi-qla2xxx-Change-discovery-state-before-PLOGI.patch6
-rw-r--r--patches.suse/0006-scsi-qla2xxx-Allow-PLOGI-in-target-mode.patch6
-rw-r--r--patches.suse/0007-scsi-qla2xxx-Don-t-call-qlt_async_event-twice.patch6
-rw-r--r--patches.suse/0008-scsi-qla2xxx-Fix-PLOGI-payload-and-ELS-IOCB-dump-len.patch6
-rw-r--r--patches.suse/0009-scsi-qla2xxx-Configure-local-loop-for-N2N-target.patch6
-rw-r--r--patches.suse/0010-scsi-qla2xxx-Send-Notify-ACK-after-N2N-PLOGI.patch6
-rw-r--r--patches.suse/0011-scsi-qla2xxx-Don-t-defer-relogin-unconditonally.patch6
-rw-r--r--patches.suse/0012-scsi-qla2xxx-Ignore-PORT-UPDATE-after-N2N-PLOGI.patch6
-rw-r--r--patches.suse/0013-scsi-qla2xxx-Add-debug-dump-of-LOGO-payload-and-ELS-.patch6
-rw-r--r--patches.suse/HID-hiddev-avoid-opening-a-disconnected-device.patch2
-rw-r--r--patches.suse/HID-hiddev-do-cleanup-in-failure-of-opening-a-device.patch2
-rw-r--r--patches.suse/NFC-pn533-fix-use-after-free-and-memleaks.patch2
-rw-r--r--patches.suse/PM-Domains-Deal-with-multiple-states-but-no-governor.patch48
-rw-r--r--patches.suse/USB-core-Fix-races-in-character-device-registration-.patch2
-rw-r--r--patches.suse/bpf-Make-use-of-probe_user_write-in-probe-write-help.patch46
-rw-r--r--patches.suse/kvm-vmx-implement-msr_ia32_tsx_ctrl-disable-rtm-functionality157
-rw-r--r--patches.suse/kvm-vmx-use-msr_ia32_tsx_ctrl-to-hard-disable-tsx-on-guest-that-lack-it86
-rw-r--r--patches.suse/kvm-x86-fix-out-of-bounds-write-in-kvm_get_emulated_cpuid-cve-2019-1933240
-rw-r--r--patches.suse/kvm-x86-fix-presentation-of-tsx-feature-in-arch_capabilities41
-rw-r--r--patches.suse/kvm-x86-remove-a-spurious-export-of-a-static-function31
-rw-r--r--patches.suse/net-phy-Check-against-net_device-being-NULL.patch50
-rw-r--r--patches.suse/net-phy-Fix-not-to-call-phy_resume-if-PHY-is-not-att.patch63
-rw-r--r--patches.suse/net-phy-Fix-the-register-offsets-in-Broadcom-iProc-m.patch83
-rw-r--r--patches.suse/net-phy-at803x-Change-error-to-EINVAL-for-invalid-MA.patch35
-rw-r--r--patches.suse/net-phy-broadcom-Use-strlcpy-for-ethtool-get_strings.patch41
-rw-r--r--patches.suse/net-phy-dp83867-Set-up-RGMII-TX-delay.patch41
-rw-r--r--patches.suse/net-phy-fixed_phy-Fix-fixed_phy-not-checking-GPIO.patch41
-rw-r--r--patches.suse/net-phy-marvell-Fix-buffer-overrun-with-stats-counte.patch4
-rw-r--r--patches.suse/net-phy-marvell-Use-strlcpy-for-ethtool-get_strings.patch41
-rw-r--r--patches.suse/net-phy-marvell-clear-wol-event-before-setting-it.patch40
-rw-r--r--patches.suse/net-phy-meson-gxl-check-phy_write-return-value.patch92
-rw-r--r--patches.suse/net-phy-micrel-Use-strlcpy-for-ethtool-get_strings.patch41
-rw-r--r--patches.suse/net-phy-mscc-read-vsc8531-edge-slowdown-as-an-u32.patch57
-rw-r--r--patches.suse/net-phy-mscc-read-vsc8531-vddmac-as-an-u32.patch56
-rw-r--r--patches.suse/net-phy-xgene-disable-clk-on-error-paths.patch86
-rw-r--r--patches.suse/net-phy-xgmiitorgmii-Check-phy_driver-ready-before-a.patch94
-rw-r--r--patches.suse/net-phy-xgmiitorgmii-Check-read_status-results.patch35
-rw-r--r--patches.suse/net-phy-xgmiitorgmii-Support-generic-PHY-status-read.patch42
-rw-r--r--patches.suse/pktcdvd-remove-warning-on-attempting-to-register-non.patch87
-rw-r--r--patches.suse/pwm-Clear-chip_data-in-pwm_put.patch78
-rw-r--r--patches.suse/pwm-clps711x-Fix-period-calculation.patch47
-rw-r--r--patches.suse/scsi-qla2xxx-Added-support-for-MPI-and-PEP-regions-f.patch79
-rw-r--r--patches.suse/scsi-qla2xxx-Correctly-retrieve-and-interpret-active.patch69
-rw-r--r--patches.suse/scsi-qla2xxx-Fix-incorrect-SFUB-length-used-for-Secu.patch33
-rw-r--r--patches.suse/scsi-qla2xxx-Fix-qla2x00_request_irqs-for-MSI.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-fix-rports-not-being-mark-as-lost-in-sy.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-unregister-ports-after-GPN_FT-failure.patch3
-rw-r--r--patches.suse/spi-omap2-mcspi-Fix-DMA-and-FIFO-event-trigger-size-.patch49
-rw-r--r--patches.suse/spi-omap2-mcspi-Set-FIFO-DMA-trigger-level-to-word-l.patch112
-rw-r--r--patches.suse/stm-class-Fix-a-double-free-of-stm_source_device.patch41
-rw-r--r--patches.suse/uaccess-Add-non-pagefault-user-space-write-function.patch126
-rw-r--r--patches.suse/vfs-fix-preadv64v2-and-pwritev64v2-compat-syscalls-w.patch52
-rw-r--r--patches.suse/x86-speculation-fix-incorrect-mds-taa-mitigation-status.patch159
-rw-r--r--patches.suse/x86-speculation-fix-redundant-mds-mitigation-message.patch80
-rw-r--r--scripts/git_sort/README.md8
-rwxr-xr-xscripts/log210
-rwxr-xr-xscripts/osc_wrapper3
-rwxr-xr-xscripts/stableids6
-rw-r--r--series.conf73
65 files changed, 2541 insertions, 63 deletions
diff --git a/blacklist.conf b/blacklist.conf
index db7338042e..32851f243f 100644
--- a/blacklist.conf
+++ b/blacklist.conf
@@ -1436,3 +1436,7 @@ c70d868f272befca09081190ae477c51fcbee5dd # Comment fix
6b2daec19094a90435abe67d16fb43b1a5527254 # 32-bit fix
d72cf01f410aa09868d98b672f3f92328c96b32d # Not applicable: drm/mipi-dbi: fix a loop in debugfs code
3986457110a054466bf02f9c4a85aa2bba96177b # Not applicable: drm: rcar_lvds: Fix color mismatches on R-Car H2 ES2.0 and later
+6ae08ae3dea2cfa03dd3665a3c8475c2d429ef47 # not really needed. The userspace programs have to change to use the newly added functions.
+a6e60d84989fa0e91db7f236eda40453b0e44afa # silence gcc9 compiler warning
+6f303d60534c46aa1a239f29c321f95c83dda748 # silence gcc9 compiler warning
+700c1018b86d0d4b3f1f2d459708c0cdf42b521d # we don't use gawk 5.x yet
diff --git a/patches.suse/0001-scsi-qla2xxx-Ignore-NULL-pointer-in-tcm_qla2xxx_free.patch b/patches.suse/0001-scsi-qla2xxx-Ignore-NULL-pointer-in-tcm_qla2xxx_free.patch
index aa63c2ae3a..58ff7cfffc 100644
--- a/patches.suse/0001-scsi-qla2xxx-Ignore-NULL-pointer-in-tcm_qla2xxx_free.patch
+++ b/patches.suse/0001-scsi-qla2xxx-Ignore-NULL-pointer-in-tcm_qla2xxx_free.patch
@@ -3,9 +3,10 @@ From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:50 +0300
Subject: [PATCH 01/15] scsi: qla2xxx: Ignore NULL pointer in
tcm_qla2xxx_free_mcmd
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: f2c9ee54a56995a293efef290657d8a1d80e14ab
+Patch-mainline: Queued in subsystem maintainer repository
If ABTS cannot be completed in target mode, the driver attempts to free
related management command and crashes:
@@ -69,6 +70,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/tcm_qla2xxx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/patches.suse/0002-scsi-qla2xxx-Use-explicit-LOGO-in-target-mode.patch b/patches.suse/0002-scsi-qla2xxx-Use-explicit-LOGO-in-target-mode.patch
index 002a4969c6..a47a8fb842 100644
--- a/patches.suse/0002-scsi-qla2xxx-Use-explicit-LOGO-in-target-mode.patch
+++ b/patches.suse/0002-scsi-qla2xxx-Use-explicit-LOGO-in-target-mode.patch
@@ -2,9 +2,10 @@ From 8712686e218fa5177cdbcb727a458813c4edc19b Mon Sep 17 00:00:00 2001
From: Quinn Tran <qutran@marvell.com>
Date: Mon, 25 Nov 2019 19:56:51 +0300
Subject: [PATCH 02/15] scsi: qla2xxx: Use explicit LOGO in target mode
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 86196a8fa8a84af1395a28ea0548f2ce6ae9bc22
+Patch-mainline: Queued in subsystem maintainer repository
Target makes implicit LOGO on session teardown. LOGO ELS is not send on
the wire and initiator is not aware that target no longer wants talking
@@ -19,6 +20,7 @@ Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_def.h | 1 +
drivers/scsi/qla2xxx/qla_iocb.c | 16 ++++++++++++----
diff --git a/patches.suse/0003-scsi-qla2xxx-Initialize-free_work-before-flushing-it.patch b/patches.suse/0003-scsi-qla2xxx-Initialize-free_work-before-flushing-it.patch
index f19049bc53..5e7d95c609 100644
--- a/patches.suse/0003-scsi-qla2xxx-Initialize-free_work-before-flushing-it.patch
+++ b/patches.suse/0003-scsi-qla2xxx-Initialize-free_work-before-flushing-it.patch
@@ -2,9 +2,10 @@ From 1fa10476077a533f9951456a1d6795241b72159d Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:52 +0300
Subject: [PATCH 03/15] scsi: qla2xxx: Initialize free_work before flushing it
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 4c86b037a6db3ad2922ef3ba8a8989eb7794e040
+Patch-mainline: Queued in subsystem maintainer repository
Target creation triggers a new BUG_ON introduced in in 4d43d395fed12
("workqueue: Try to catch flush_work() without INIT_WORK().").
@@ -49,6 +50,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_init.c | 1 +
drivers/scsi/qla2xxx/qla_target.c | 1 -
diff --git a/patches.suse/0004-scsi-qla2xxx-Drop-superfluous-INIT_WORK-of-del_work.patch b/patches.suse/0004-scsi-qla2xxx-Drop-superfluous-INIT_WORK-of-del_work.patch
index 3bb816fd40..7f978c39b3 100644
--- a/patches.suse/0004-scsi-qla2xxx-Drop-superfluous-INIT_WORK-of-del_work.patch
+++ b/patches.suse/0004-scsi-qla2xxx-Drop-superfluous-INIT_WORK-of-del_work.patch
@@ -2,9 +2,10 @@ From 2f65db847934d690362a65541203b56899e43bdb Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:53 +0300
Subject: [PATCH 04/15] scsi: qla2xxx: Drop superfluous INIT_WORK of del_work
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 600954e6f2df695434887dfc6a99a098859990cf
+Patch-mainline: Queued in subsystem maintainer repository
del_work is already initialized inside qla2x00_alloc_fcport, there's no
need to overwrite it. Indeed, it might prevent complete traversal of
@@ -16,6 +17,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_target.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/patches.suse/0005-can-peak_usb-pcan_usb_fd-Fix-info-leaks-to-USB-devic.patch b/patches.suse/0005-can-peak_usb-pcan_usb_fd-Fix-info-leaks-to-USB-devic.patch
index 69a7734c46..1c14126ddd 100644
--- a/patches.suse/0005-can-peak_usb-pcan_usb_fd-Fix-info-leaks-to-USB-devic.patch
+++ b/patches.suse/0005-can-peak_usb-pcan_usb_fd-Fix-info-leaks-to-USB-devic.patch
@@ -4,7 +4,7 @@ Date: Wed, 31 Jul 2019 10:54:47 -0400
Subject: [PATCH] can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices
Git-commit: 30a8beeb3042f49d0537b7050fd21b490166a3d9
Patch-mainline: v5.3-rc4
-References: bsc#1051510
+References: CVE-2019-19535 bsc#1158903 bsc#1051510
Uninitialized Kernel memory can leak to USB devices.
diff --git a/patches.suse/0005-scsi-qla2xxx-Change-discovery-state-before-PLOGI.patch b/patches.suse/0005-scsi-qla2xxx-Change-discovery-state-before-PLOGI.patch
index b7289ec1e7..2c5471a78b 100644
--- a/patches.suse/0005-scsi-qla2xxx-Change-discovery-state-before-PLOGI.patch
+++ b/patches.suse/0005-scsi-qla2xxx-Change-discovery-state-before-PLOGI.patch
@@ -2,9 +2,10 @@ From 103c355c594bca0589b21de766d5e9681bbbb265 Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:54 +0300
Subject: [PATCH 05/15] scsi: qla2xxx: Change discovery state before PLOGI
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 58e39a2ce4be08162c0368030cdc405f7fd849aa
+Patch-mainline: Queued in subsystem maintainer repository
When a port sends PLOGI, discovery state should be changed to login
pending, otherwise RELOGIN_NEEDED bit is set in
@@ -19,6 +20,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_init.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/patches.suse/0006-scsi-qla2xxx-Allow-PLOGI-in-target-mode.patch b/patches.suse/0006-scsi-qla2xxx-Allow-PLOGI-in-target-mode.patch
index 6b2005000b..9e0b8c2822 100644
--- a/patches.suse/0006-scsi-qla2xxx-Allow-PLOGI-in-target-mode.patch
+++ b/patches.suse/0006-scsi-qla2xxx-Allow-PLOGI-in-target-mode.patch
@@ -2,9 +2,10 @@ From d7f064ead9c4e00ec1a23a7fd62fea2e1dd7892f Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:55 +0300
Subject: [PATCH 06/15] scsi: qla2xxx: Allow PLOGI in target mode
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: a9ed06d4e640a8dc978a4649ab78dac8b16d2db6
+Patch-mainline: Queued in subsystem maintainer repository
According to FC-LS-3 (Fibre Channel Link Services) 6.3.2.4
"N_Port Login - No Fabric present", if both parties in the point-to-point
@@ -22,6 +23,7 @@ initiator WWPN.
Cc: Quinn Tran <qutran@marvell.com>
Cc: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_init.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/patches.suse/0007-scsi-qla2xxx-Don-t-call-qlt_async_event-twice.patch b/patches.suse/0007-scsi-qla2xxx-Don-t-call-qlt_async_event-twice.patch
index 9e3dea8d88..b1318432b5 100644
--- a/patches.suse/0007-scsi-qla2xxx-Don-t-call-qlt_async_event-twice.patch
+++ b/patches.suse/0007-scsi-qla2xxx-Don-t-call-qlt_async_event-twice.patch
@@ -2,9 +2,10 @@ From c17d9dc5528abf3ade9db7b84cfbcbbec75d35ef Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:56 +0300
Subject: [PATCH 07/15] scsi: qla2xxx: Don't call qlt_async_event twice
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 2c2f4bed9b6299e6430a65a29b5d27b8763fdf25
+Patch-mainline: Queued in subsystem maintainer repository
MBA_PORT_UPDATE generates duplicate log lines in target mode because
qlt_async_event is called twice. Drop the calls within the case as
@@ -15,6 +16,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvel.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_isr.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/patches.suse/0008-scsi-qla2xxx-Fix-PLOGI-payload-and-ELS-IOCB-dump-len.patch b/patches.suse/0008-scsi-qla2xxx-Fix-PLOGI-payload-and-ELS-IOCB-dump-len.patch
index 6fcf563d93..9f6ef264ce 100644
--- a/patches.suse/0008-scsi-qla2xxx-Fix-PLOGI-payload-and-ELS-IOCB-dump-len.patch
+++ b/patches.suse/0008-scsi-qla2xxx-Fix-PLOGI-payload-and-ELS-IOCB-dump-len.patch
@@ -3,9 +3,10 @@ From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:57 +0300
Subject: [PATCH 08/15] scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump
length
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 0334cdea1fba36fad8bdf9516f267ce01de625f7
+Patch-mainline: Queued in subsystem maintainer repository
The size of the buffer is hardcoded as 0x70 or 112 bytes, while the
size of ELS IOCB is 0x40 and the size of PLOGI payload returned by
@@ -16,6 +17,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_iocb.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/patches.suse/0009-scsi-qla2xxx-Configure-local-loop-for-N2N-target.patch b/patches.suse/0009-scsi-qla2xxx-Configure-local-loop-for-N2N-target.patch
index 092c60a6ff..53b9f61113 100644
--- a/patches.suse/0009-scsi-qla2xxx-Configure-local-loop-for-N2N-target.patch
+++ b/patches.suse/0009-scsi-qla2xxx-Configure-local-loop-for-N2N-target.patch
@@ -2,9 +2,10 @@ From d7d1380b4ab44586cdd693e6485e34a7d858cf0c Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:58 +0300
Subject: [PATCH 09/15] scsi: qla2xxx: Configure local loop for N2N target
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: fd1de5830a5abaf444cc4312871e02c41e24fdc1
+Patch-mainline: Queued in subsystem maintainer repository
qla2x00_configure_local_loop initializes PLOGI payload for PLOGI ELS
using Get Parameters mailbox command.
@@ -23,6 +24,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_init.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/patches.suse/0010-scsi-qla2xxx-Send-Notify-ACK-after-N2N-PLOGI.patch b/patches.suse/0010-scsi-qla2xxx-Send-Notify-ACK-after-N2N-PLOGI.patch
index c439a09573..a0c2c14ba3 100644
--- a/patches.suse/0010-scsi-qla2xxx-Send-Notify-ACK-after-N2N-PLOGI.patch
+++ b/patches.suse/0010-scsi-qla2xxx-Send-Notify-ACK-after-N2N-PLOGI.patch
@@ -2,9 +2,10 @@ From 33afed613b376ae14cc1b316f65150ea25edbd4c Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:56:59 +0300
Subject: [PATCH 10/15] scsi: qla2xxx: Send Notify ACK after N2N PLOGI
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 5e6b01d84b9d20bcd77fc7c4733a2a4149bf220a
+Patch-mainline: Queued in subsystem maintainer repository
qlt_handle_login schedules session for deletion even if a login is in
progress. That causes login bouncing, i.e. a few logins are made before
@@ -21,6 +22,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_target.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/patches.suse/0011-scsi-qla2xxx-Don-t-defer-relogin-unconditonally.patch b/patches.suse/0011-scsi-qla2xxx-Don-t-defer-relogin-unconditonally.patch
index 014a75cdee..684d2c4f37 100644
--- a/patches.suse/0011-scsi-qla2xxx-Don-t-defer-relogin-unconditonally.patch
+++ b/patches.suse/0011-scsi-qla2xxx-Don-t-defer-relogin-unconditonally.patch
@@ -2,9 +2,10 @@ From eb57be91ff08bcc6ea2177e658e2cce9abcc35c4 Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:57:00 +0300
Subject: [PATCH 11/15] scsi: qla2xxx: Don't defer relogin unconditonally
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: dabc5ec915f3a2c657ecfb529cd3d4ec303a4412
+Patch-mainline: Queued in subsystem maintainer repository
qla2x00_configure_local_loop sets RELOGIN_NEEDED bit and calls
qla24xx_fcport_handle_login to perform the login. This bit triggers
@@ -19,6 +20,7 @@ Acked-by: Quinn Tran <qutran@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_init.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/patches.suse/0012-scsi-qla2xxx-Ignore-PORT-UPDATE-after-N2N-PLOGI.patch b/patches.suse/0012-scsi-qla2xxx-Ignore-PORT-UPDATE-after-N2N-PLOGI.patch
index ccb05d7dc4..b3d318b3e2 100644
--- a/patches.suse/0012-scsi-qla2xxx-Ignore-PORT-UPDATE-after-N2N-PLOGI.patch
+++ b/patches.suse/0012-scsi-qla2xxx-Ignore-PORT-UPDATE-after-N2N-PLOGI.patch
@@ -2,9 +2,10 @@ From c317869f5c241c258543d4279014da717c510bfa Mon Sep 17 00:00:00 2001
From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:57:01 +0300
Subject: [PATCH 12/15] scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: af22f0c7b052c5c203207f1e5ebd6aa65f87c538
+Patch-mainline: Queued in subsystem maintainer repository
PORT UPDATE asynchronous event is generated on the host that issues PLOGI
ELS (in the case of higher WWPN). In that case, the event shouldn't be
@@ -18,6 +19,7 @@ Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_mbx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/patches.suse/0013-scsi-qla2xxx-Add-debug-dump-of-LOGO-payload-and-ELS-.patch b/patches.suse/0013-scsi-qla2xxx-Add-debug-dump-of-LOGO-payload-and-ELS-.patch
index 34cae601df..465c077601 100644
--- a/patches.suse/0013-scsi-qla2xxx-Add-debug-dump-of-LOGO-payload-and-ELS-.patch
+++ b/patches.suse/0013-scsi-qla2xxx-Add-debug-dump-of-LOGO-payload-and-ELS-.patch
@@ -3,9 +3,10 @@ From: Roman Bolshakov <r.bolshakov@yadro.com>
Date: Mon, 25 Nov 2019 19:57:02 +0300
Subject: [PATCH 13/15] scsi: qla2xxx: Add debug dump of LOGO payload and ELS
IOCB
-Acked-by: Martin Wilck <mwilck@suse.com>
References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
-Patch-mainline: submitted to linux-scsi, 2019-11-25
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 9545767db3cde2d4f9ca581d096d97ed00754282
+Patch-mainline: Queued in subsystem maintainer repository
The change adds a way to debug LOGO ELS, likewise PLOGI.
@@ -14,6 +15,7 @@ Acked-by: Quinn Tran <qutran@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
+Acked-by: Martin Wilck <mwilck@suse.com>
---
drivers/scsi/qla2xxx/qla_iocb.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/patches.suse/HID-hiddev-avoid-opening-a-disconnected-device.patch b/patches.suse/HID-hiddev-avoid-opening-a-disconnected-device.patch
index 6f363f7f0a..960e2951c8 100644
--- a/patches.suse/HID-hiddev-avoid-opening-a-disconnected-device.patch
+++ b/patches.suse/HID-hiddev-avoid-opening-a-disconnected-device.patch
@@ -4,7 +4,7 @@ Date: Tue, 6 Aug 2019 16:38:58 +0800
Subject: [PATCH] HID: hiddev: avoid opening a disconnected device
Git-commit: 9c09b214f30e3c11f9b0b03f89442df03643794d
Patch-mainline: v5.3-rc4
-References: bsc#1051510
+References: CVE-2019-19527 bsc#1158900 bsc#1051510
syzbot found the following crash on:
diff --git a/patches.suse/HID-hiddev-do-cleanup-in-failure-of-opening-a-device.patch b/patches.suse/HID-hiddev-do-cleanup-in-failure-of-opening-a-device.patch
index 21f42b8721..640e08eeac 100644
--- a/patches.suse/HID-hiddev-do-cleanup-in-failure-of-opening-a-device.patch
+++ b/patches.suse/HID-hiddev-do-cleanup-in-failure-of-opening-a-device.patch
@@ -4,7 +4,7 @@ Date: Tue, 6 Aug 2019 16:40:15 +0800
Subject: [PATCH] HID: hiddev: do cleanup in failure of opening a device
Git-commit: 6d4472d7bec39917b54e4e80245784ea5d60ce49
Patch-mainline: v5.3-rc4
-References: bsc#1051510
+References: CVE-2019-19527 bsc#1158900 bsc#1051510
Undo what we did for opening before releasing the memory slice.
diff --git a/patches.suse/NFC-pn533-fix-use-after-free-and-memleaks.patch b/patches.suse/NFC-pn533-fix-use-after-free-and-memleaks.patch
index 625ac7b2cf..a6204eb4fb 100644
--- a/patches.suse/NFC-pn533-fix-use-after-free-and-memleaks.patch
+++ b/patches.suse/NFC-pn533-fix-use-after-free-and-memleaks.patch
@@ -4,7 +4,7 @@ Date: Mon, 7 Oct 2019 18:40:59 +0200
Subject: [PATCH] NFC: pn533: fix use-after-free and memleaks
Git-commit: 6af3aa57a0984e061f61308fe181a9a12359fecc
Patch-mainline: v5.4-rc4
-References: bsc#1051510
+References: CVE-2019-19526 bsc#1158893 bsc#1051510
The driver would fail to deregister and its class device and free
related resources on late probe errors.
diff --git a/patches.suse/PM-Domains-Deal-with-multiple-states-but-no-governor.patch b/patches.suse/PM-Domains-Deal-with-multiple-states-but-no-governor.patch
new file mode 100644
index 0000000000..848d9ffb83
--- /dev/null
+++ b/patches.suse/PM-Domains-Deal-with-multiple-states-but-no-governor.patch
@@ -0,0 +1,48 @@
+From 2c9b7f8772033cc8bafbd4eefe2ca605bf3eb094 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Wed, 3 Oct 2018 16:38:15 +0200
+Subject: [PATCH] PM / Domains: Deal with multiple states but no governor in genpd
+Git-commit: 2c9b7f8772033cc8bafbd4eefe2ca605bf3eb094
+Patch-mainline: v4.20-rc1
+References: bsc#1051510
+
+A caller of pm_genpd_init() that provides some states for the genpd via the
+->states pointer in the struct generic_pm_domain, should also provide a
+governor. This because it's the job of the governor to pick a state that
+satisfies the constraints.
+
+Therefore, let's print a warning to inform the user about such bogus
+configuration and avoid to bail out, by instead picking the shallowest
+state before genpd invokes the ->power_off() callback.
+
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Reviewed-by: Lina Iyer <ilina@codeaurora.org>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/base/power/domain.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/base/power/domain.c
++++ b/drivers/base/power/domain.c
+@@ -339,6 +339,10 @@ static int genpd_power_off(struct generi
+ return -EAGAIN;
+ }
+
++ /* Default to shallowest state. */
++ if (!genpd->gov)
++ genpd->state_idx = 0;
++
+ if (genpd->power_off) {
+ int ret;
+
+@@ -1512,6 +1516,8 @@ int pm_genpd_init(struct generic_pm_doma
+ ret = genpd_set_default_power_state(genpd);
+ if (ret)
+ return ret;
++ } else if (!gov) {
++ pr_warn("%s : no governor for states\n", genpd->name);
+ }
+
+ mutex_lock(&gpd_list_lock);
diff --git a/patches.suse/USB-core-Fix-races-in-character-device-registration-.patch b/patches.suse/USB-core-Fix-races-in-character-device-registration-.patch
index fda144509e..d4ebdf8176 100644
--- a/patches.suse/USB-core-Fix-races-in-character-device-registration-.patch
+++ b/patches.suse/USB-core-Fix-races-in-character-device-registration-.patch
@@ -4,7 +4,7 @@ Date: Mon, 12 Aug 2019 16:11:07 -0400
Subject: [PATCH] USB: core: Fix races in character device registration and deregistraion
Git-commit: 303911cfc5b95d33687d9046133ff184cf5043ff
Patch-mainline: v5.3-rc5
-References: bsc#1051510
+References: CVE-2019-19537 bsc#1158904 bsc#1051510
The syzbot fuzzer has found two (!) races in the USB character device
registration and deregistration routines. This patch fixes the races.
diff --git a/patches.suse/bpf-Make-use-of-probe_user_write-in-probe-write-help.patch b/patches.suse/bpf-Make-use-of-probe_user_write-in-probe-write-help.patch
new file mode 100644
index 0000000000..87a04d4b42
--- /dev/null
+++ b/patches.suse/bpf-Make-use-of-probe_user_write-in-probe-write-help.patch
@@ -0,0 +1,46 @@
+From: Daniel Borkmann <daniel@iogearbox.net>
+Date: Sat, 2 Nov 2019 00:17:58 +0100
+Subject: bpf: Make use of probe_user_write in probe write helper
+Patch-mainline: v5.5-rc1
+Git-commit: eb1b66887472eaa7342305b7890ae510dd9d1a79
+References: bsc#1083647
+
+Convert the bpf_probe_write_user() helper to probe_user_write() such that
+writes are not attempted under KERNEL_DS anymore which is buggy as kernel
+and user space pointers can have overlapping addresses. Also, given we have
+the access_ok() check inside probe_user_write(), the helper doesn't need
+to do it twice.
+
+Fixes: 96ae52279594 ("bpf: Add bpf_probe_write_user BPF helper to be called in tracers")
+Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
+Signed-off-by: Alexei Starovoitov <ast@kernel.org>
+Acked-by: Andrii Nakryiko <andriin@fb.com>
+Link: https://lore.kernel.org/bpf/841c461781874c07a0ee404a454c3bc0459eed30.1572649915.git.daniel@iogearbox.net
+Acked-by: Gary Lin <glin@suse.com>
+---
+ kernel/trace/bpf_trace.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+--- a/kernel/trace/bpf_trace.c
++++ b/kernel/trace/bpf_trace.c
+@@ -81,7 +81,7 @@ static const struct bpf_func_proto bpf_p
+ .arg3_type = ARG_ANYTHING,
+ };
+
+-BPF_CALL_3(bpf_probe_write_user, void *, unsafe_ptr, const void *, src,
++BPF_CALL_3(bpf_probe_write_user, void __user *, unsafe_ptr, const void *, src,
+ u32, size)
+ {
+ /*
+@@ -98,10 +98,8 @@ BPF_CALL_3(bpf_probe_write_user, void *,
+ return -EPERM;
+ if (unlikely(uaccess_kernel()))
+ return -EPERM;
+- if (!access_ok(VERIFY_WRITE, unsafe_ptr, size))
+- return -EPERM;
+
+- return probe_kernel_write(unsafe_ptr, src, size);
++ return probe_user_write(unsafe_ptr, src, size);
+ }
+
+ static const struct bpf_func_proto bpf_probe_write_user_proto = {
diff --git a/patches.suse/kvm-vmx-implement-msr_ia32_tsx_ctrl-disable-rtm-functionality b/patches.suse/kvm-vmx-implement-msr_ia32_tsx_ctrl-disable-rtm-functionality
new file mode 100644
index 0000000000..0694a97fcd
--- /dev/null
+++ b/patches.suse/kvm-vmx-implement-msr_ia32_tsx_ctrl-disable-rtm-functionality
@@ -0,0 +1,157 @@
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Mon, 18 Nov 2019 12:23:00 -0500
+Subject: KVM: vmx: implement MSR_IA32_TSX_CTRL disable RTM functionality
+Git-commit: c11f83e0626bdc2b6c550fc8b9b6eeefbd8cefaa
+Patch-mainline: v5.5-rc1
+References: CVE-2019-19338 bsc#1158954
+
+The current guest mitigation of TAA is both too heavy and not really
+sufficient. It is too heavy because it will cause some affected CPUs
+(those that have MDS_NO but lack TAA_NO) to fall back to VERW and
+get the corresponding slowdown. It is not really sufficient because
+it will cause the MDS_NO bit to disappear upon microcode update, so
+that VMs started before the microcode update will not be runnable
+anymore afterwards, even with tsx=on.
+
+Instead, if tsx=on on the host, we can emulate MSR_IA32_TSX_CTRL for
+the guest and let it run without the VERW mitigation. Even though
+MSR_IA32_TSX_CTRL is quite heavyweight, and we do not want to write
+it on every vmentry, we can use the shared MSR functionality because
+the host kernel need not protect itself from TSX-based side-channels.
+
+Tested-by: Jim Mattson <jmattson@google.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Acked-by: Joerg Roedel <jroedel@suse.de>
+---
+ arch/x86/kvm/vmx/vmx.c | 38 +++++++++++++++++++++++++++++++++++---
+ arch/x86/kvm/x86.c | 23 +++++------------------
+ 2 files changed, 40 insertions(+), 21 deletions(-)
+
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -1182,6 +1182,7 @@ static const u32 vmx_msr_index[] = {
+ MSR_SYSCALL_MASK, MSR_LSTAR, MSR_CSTAR,
+ #endif
+ MSR_EFER, MSR_TSC_AUX, MSR_STAR,
++ MSR_IA32_TSX_CTRL,
+ };
+
+ static inline bool is_exception_n(u32 intr_info, u8 vector)
+@@ -2823,6 +2824,9 @@ static void setup_msrs(struct vcpu_vmx *
+ index = __find_msr_index(vmx, MSR_TSC_AUX);
+ if (index >= 0 && guest_cpuid_has(&vmx->vcpu, X86_FEATURE_RDTSCP))
+ move_msr_up(vmx, index, save_nmsrs++);
++ index = __find_msr_index(vmx, MSR_IA32_TSX_CTRL);
++ if (index >= 0)
++ move_msr_up(vmx, index, save_nmsrs++);
+
+ vmx->save_nmsrs = save_nmsrs;
+
+@@ -3463,6 +3467,11 @@ static int vmx_get_msr(struct kvm_vcpu *
+ #endif
+ case MSR_EFER:
+ return kvm_get_msr_common(vcpu, msr_info);
++ case MSR_IA32_TSX_CTRL:
++ if (!msr_info->host_initiated &&
++ !(vcpu->arch.arch_capabilities & ARCH_CAP_TSX_CTRL_MSR))
++ return 1;
++ goto find_shared_msr;
+ case MSR_IA32_TSC:
+ msr_info->data = guest_read_tsc(vcpu);
+ break;
+@@ -3513,8 +3522,9 @@ static int vmx_get_msr(struct kvm_vcpu *
+ if (!msr_info->host_initiated &&
+ !guest_cpuid_has(vcpu, X86_FEATURE_RDTSCP))
+ return 1;
+- /* Otherwise falls through */
++ goto find_shared_msr;
+ default:
++ find_shared_msr:
+ msr = find_msr_entry(to_vmx(vcpu), msr_info->index);
+ if (msr) {
+ msr_info->data = msr->data;
+@@ -3611,6 +3621,13 @@ static int vmx_set_msr(struct kvm_vcpu *
+ MSR_IA32_SPEC_CTRL,
+ MSR_TYPE_RW);
+ break;
++ case MSR_IA32_TSX_CTRL:
++ if (!msr_info->host_initiated &&
++ !(vcpu->arch.arch_capabilities & ARCH_CAP_TSX_CTRL_MSR))
++ return 1;
++ if (data & ~(TSX_CTRL_RTM_DISABLE | TSX_CTRL_CPUID_CLEAR))
++ return 1;
++ goto find_shared_msr;
+ case MSR_IA32_PRED_CMD:
+ if (!msr_info->host_initiated &&
+ !guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL))
+@@ -3701,8 +3718,10 @@ static int vmx_set_msr(struct kvm_vcpu *
+ /* Check reserved bit, higher 32 bits should be zero */
+ if ((data >> 32) != 0)
+ return 1;
+- /* Otherwise falls through */
++ goto find_shared_msr;
++
+ default:
++ find_shared_msr:
+ msr = find_msr_entry(vmx, msr_index);
+ if (msr) {
+ u64 old_msr_data = msr->data;
+@@ -5904,7 +5923,20 @@ static void vmx_vcpu_setup(struct vcpu_v
+ continue;
+ vmx->guest_msrs[j].index = i;
+ vmx->guest_msrs[j].data = 0;
+- vmx->guest_msrs[j].mask = -1ull;
++
++ switch (index) {
++ case MSR_IA32_TSX_CTRL:
++ /*
++ * No need to pass TSX_CTRL_CPUID_CLEAR through, so
++ * let's avoid changing CPUID bits under the host
++ * kernel's feet.
++ */
++ vmx->guest_msrs[j].mask = ~(u64)TSX_CTRL_CPUID_CLEAR;
++ break;
++ default:
++ vmx->guest_msrs[j].mask = -1ull;
++ break;
++ }
+ ++vmx->nmsrs;
+ }
+
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -1084,29 +1084,15 @@ u64 kvm_get_arch_capabilities(void)
+ data |= ARCH_CAP_MDS_NO;
+
+ /*
+- * On TAA affected systems, export MDS_NO=0 when:
+- * - TSX is enabled on the host, i.e. X86_FEATURE_RTM=1.
+- * - Updated microcode is present. This is detected by
+- * the presence of ARCH_CAP_TSX_CTRL_MSR and ensures
+- * that VERW clears CPU buffers.
+- *
+- * When MDS_NO=0 is exported, guests deploy clear CPU buffer
+- * mitigation and don't complain:
+- *
+- * "Vulnerable: Clear CPU buffers attempted, no microcode"
+- *
+- * If TSX is disabled on the system, guests are also mitigated against
+- * TAA and clear CPU buffer mitigation is not required for guests.
++ * On TAA affected systems:
++ * - nothing to do if TSX is disabled on the host.
++ * - we emulate TSX_CTRL if present on the host.
++ * This lets the guest use VERW to clear CPU buffers.
+ */
+ if (!boot_cpu_has(X86_FEATURE_RTM))
+- data &= ~ARCH_CAP_TAA_NO;
++ data &= ~(ARCH_CAP_TAA_NO | ARCH_CAP_TSX_CTRL_MSR);
+ else if (!boot_cpu_has_bug(X86_BUG_TAA))
+ data |= ARCH_CAP_TAA_NO;
+- else if (data & ARCH_CAP_TSX_CTRL_MSR)
+- data &= ~ARCH_CAP_MDS_NO;
+-
+- /* KVM does not emulate MSR_IA32_TSX_CTRL. */
+- data &= ~ARCH_CAP_TSX_CTRL_MSR;
+
+ /*
+ * If nx_huge_pages is enabled, KVM's shadow paging will ensure that
diff --git a/patches.suse/kvm-vmx-use-msr_ia32_tsx_ctrl-to-hard-disable-tsx-on-guest-that-lack-it b/patches.suse/kvm-vmx-use-msr_ia32_tsx_ctrl-to-hard-disable-tsx-on-guest-that-lack-it
new file mode 100644
index 0000000000..bda77f97f0
--- /dev/null
+++ b/patches.suse/kvm-vmx-use-msr_ia32_tsx_ctrl-to-hard-disable-tsx-on-guest-that-lack-it
@@ -0,0 +1,86 @@
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Mon, 18 Nov 2019 12:23:01 -0500
+Subject: KVM: vmx: use MSR_IA32_TSX_CTRL to hard-disable TSX on guest that
+ lack it
+Git-commit: b07a5c53d42a8c87b208614129e947dd2338ff9c
+Patch-mainline: v5.5-rc1
+References: CVE-2019-19338 bsc#1158954
+
+If X86_FEATURE_RTM is disabled, the guest should not be able to access
+MSR_IA32_TSX_CTRL. We can therefore use it in KVM to force all
+transactions from the guest to abort.
+
+Tested-by: Jim Mattson <jmattson@google.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Acked-by: Joerg Roedel <jroedel@suse.de>
+---
+ arch/x86/kvm/vmx/vmx.c | 44 ++++++++++++++++++++++++++++++--------------
+ 1 file changed, 30 insertions(+), 14 deletions(-)
+
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -1633,6 +1633,23 @@ static struct shared_msr_entry *find_msr
+ return NULL;
+ }
+
++static int vmx_set_guest_msr(struct vcpu_vmx *vmx, struct shared_msr_entry *msr, u64 data)
++{
++ int ret = 0;
++
++ u64 old_msr_data = msr->data;
++ msr->data = data;
++ if (msr - vmx->guest_msrs < vmx->save_nmsrs) {
++ preempt_disable();
++ ret = kvm_set_shared_msr(msr->index, msr->data,
++ msr->mask);
++ preempt_enable();
++ if (ret)
++ msr->data = old_msr_data;
++ }
++ return ret;
++}
++
+ static void vmcs_clear(struct vmcs *vmcs)
+ {
+ u64 phys_addr = __pa(vmcs);
+@@ -3723,20 +3740,10 @@ static int vmx_set_msr(struct kvm_vcpu *
+ default:
+ find_shared_msr:
+ msr = find_msr_entry(vmx, msr_index);
+- if (msr) {
+- u64 old_msr_data = msr->data;
+- msr->data = data;
+- if (msr - vmx->guest_msrs < vmx->save_nmsrs) {
+- preempt_disable();
+- ret = kvm_set_shared_msr(msr->index, msr->data,
+- msr->mask);
+- preempt_enable();
+- if (ret)
+- msr->data = old_msr_data;
+- }
+- break;
+- }
+- ret = kvm_set_msr_common(vcpu, msr_info);
++ if (msr)
++ ret = vmx_set_guest_msr(vmx, msr, data);
++ else
++ ret = kvm_set_msr_common(vcpu, msr_info);
+ }
+
+ return ret;
+@@ -10338,6 +10345,15 @@ static void vmx_cpuid_update(struct kvm_
+ nested_vmx_cr_fixed1_bits_update(vcpu);
+ nested_vmx_entry_exit_ctls_update(vcpu);
+ }
++
++ if (boot_cpu_has(X86_FEATURE_RTM)) {
++ struct shared_msr_entry *msr;
++ msr = find_msr_entry(vmx, MSR_IA32_TSX_CTRL);
++ if (msr) {
++ bool enabled = guest_cpuid_has(vcpu, X86_FEATURE_RTM);
++ vmx_set_guest_msr(vmx, msr, enabled ? 0 : TSX_CTRL_RTM_DISABLE);
++ }
++ }
+ }
+
+ static void vmx_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry)
diff --git a/patches.suse/kvm-x86-fix-out-of-bounds-write-in-kvm_get_emulated_cpuid-cve-2019-19332 b/patches.suse/kvm-x86-fix-out-of-bounds-write-in-kvm_get_emulated_cpuid-cve-2019-19332
new file mode 100644
index 0000000000..4991ab0983
--- /dev/null
+++ b/patches.suse/kvm-x86-fix-out-of-bounds-write-in-kvm_get_emulated_cpuid-cve-2019-19332
@@ -0,0 +1,40 @@
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Wed, 4 Dec 2019 10:28:54 +0100
+Subject: KVM: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID
+ (CVE-2019-19332)
+Git-commit: 433f4ba1904100da65a311033f17a9bf586b287e
+Patch-mainline: v5.5-rc1
+References: CVE-2019-19332 bsc#1158827
+
+The bounds check was present in KVM_GET_SUPPORTED_CPUID but not
+KVM_GET_EMULATED_CPUID.
+
+Reported-by: syzbot+e3f4897236c4eeb8af4f@syzkaller.appspotmail.com
+Fixes: 84cffe499b94 ("kvm: Emulate MOVBE", 2013-10-29)
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Acked-by: Joerg Roedel <jroedel@suse.de>
+---
+ arch/x86/kvm/cpuid.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/kvm/cpuid.c
++++ b/arch/x86/kvm/cpuid.c
+@@ -404,7 +404,7 @@ static inline int __do_cpuid_ent(struct
+
+ r = -E2BIG;
+
+- if (*nent >= maxnent)
++ if (WARN_ON(*nent >= maxnent))
+ goto out;
+
+ do_cpuid_1_ent(entry, function, index);
+@@ -706,6 +706,9 @@ out:
+ static int do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 func,
+ u32 idx, int *nent, int maxnent, unsigned int type)
+ {
++ if (*nent >= maxnent)
++ return -E2BIG;
++
+ if (type == KVM_GET_EMULATED_CPUID)
+ return __do_cpuid_ent_emulated(entry, func, idx, nent, maxnent);
+
diff --git a/patches.suse/kvm-x86-fix-presentation-of-tsx-feature-in-arch_capabilities b/patches.suse/kvm-x86-fix-presentation-of-tsx-feature-in-arch_capabilities
new file mode 100644
index 0000000000..ff4248859e
--- /dev/null
+++ b/patches.suse/kvm-x86-fix-presentation-of-tsx-feature-in-arch_capabilities
@@ -0,0 +1,41 @@
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Mon, 18 Nov 2019 18:58:26 +0100
+Subject: KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES
+Git-commit: cbbaa2727aa3ae9e0a844803da7cef7fd3b94f2b
+Patch-mainline: v5.5-rc1
+References: CVE-2019-19338 bsc#1158954
+
+KVM does not implement MSR_IA32_TSX_CTRL, so it must not be presented
+to the guests. It is also confusing to have !ARCH_CAP_TSX_CTRL_MSR &&
+!RTM && ARCH_CAP_TAA_NO: lack of MSR_IA32_TSX_CTRL suggests TSX was not
+hidden (it actually was), yet the value says that TSX is not vulnerable
+to microarchitectural data sampling. Fix both.
+
+Cc: stable@vger.kernel.org
+Tested-by: Jim Mattson <jmattson@google.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Acked-by: Joerg Roedel <jroedel@suse.de>
+---
+ arch/x86/kvm/x86.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -1098,10 +1098,15 @@ u64 kvm_get_arch_capabilities(void)
+ * If TSX is disabled on the system, guests are also mitigated against
+ * TAA and clear CPU buffer mitigation is not required for guests.
+ */
+- if (boot_cpu_has_bug(X86_BUG_TAA) && boot_cpu_has(X86_FEATURE_RTM) &&
+- (data & ARCH_CAP_TSX_CTRL_MSR))
++ if (!boot_cpu_has(X86_FEATURE_RTM))
++ data &= ~ARCH_CAP_TAA_NO;
++ else if (!boot_cpu_has_bug(X86_BUG_TAA))
++ data |= ARCH_CAP_TAA_NO;
++ else if (data & ARCH_CAP_TSX_CTRL_MSR)
+ data &= ~ARCH_CAP_MDS_NO;
+
++ /* KVM does not emulate MSR_IA32_TSX_CTRL. */
++ data &= ~ARCH_CAP_TSX_CTRL_MSR;
+
+ /*
+ * If nx_huge_pages is enabled, KVM's shadow paging will ensure that
diff --git a/patches.suse/kvm-x86-remove-a-spurious-export-of-a-static-function b/patches.suse/kvm-x86-remove-a-spurious-export-of-a-static-function
new file mode 100644
index 0000000000..f9e2c1ec03
--- /dev/null
+++ b/patches.suse/kvm-x86-remove-a-spurious-export-of-a-static-function
@@ -0,0 +1,31 @@
+From: Sean Christopherson <sean.j.christopherson@intel.com>
+Date: Fri, 22 Nov 2019 12:15:49 -0800
+Subject: KVM: x86: Remove a spurious export of a static function
+Git-commit: 24885d1d79e2e83d49201aeae0bc59f1402fd4f1
+Patch-mainline: v5.5-rc1
+References: bsc#1158954
+
+A recent change inadvertently exported a static function, which results
+in modpost throwing a warning. Fix it.
+
+Fixes: cbbaa2727aa3 ("KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES")
+Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
+Cc: stable@vger.kernel.org
+Reviewed-by: Jim Mattson <jmattson@google.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Acked-by: Joerg Roedel <jroedel@suse.de>
+---
+ arch/x86/kvm/x86.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -1105,8 +1105,6 @@ u64 kvm_get_arch_capabilities(void)
+ return data;
+ }
+
+-EXPORT_SYMBOL_GPL(kvm_get_arch_capabilities);
+-
+ static int kvm_get_msr_feature(struct kvm_msr_entry *msr)
+ {
+ switch (msr->index) {
diff --git a/patches.suse/net-phy-Check-against-net_device-being-NULL.patch b/patches.suse/net-phy-Check-against-net_device-being-NULL.patch
new file mode 100644
index 0000000000..7cd467b05f
--- /dev/null
+++ b/patches.suse/net-phy-Check-against-net_device-being-NULL.patch
@@ -0,0 +1,50 @@
+From 82c76aca81187b3d28a6fb3062f6916450ce955e Mon Sep 17 00:00:00 2001
+From: Ioana Ciornei <ioana.ciornei@nxp.com>
+Date: Tue, 28 May 2019 20:38:09 +0300
+Subject: [PATCH] net: phy: Check against net_device being NULL
+Git-commit: 82c76aca81187b3d28a6fb3062f6916450ce955e
+Patch-mainline: v5.3-rc1
+References: bsc#1051510
+
+In general, we don't want MAC drivers calling phy_attach_direct with the
+net_device being NULL. Add checks against this in all the functions
+calling it: phy_attach() and phy_connect_direct().
+
+Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
+Suggested-by: Andrew Lunn <andrew@lunn.ch>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/phy_device.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
+index da3bf3f70d63..1b540ed9b326 100644
+--- a/drivers/net/phy/phy_device.c
++++ b/drivers/net/phy/phy_device.c
+@@ -948,6 +948,9 @@ int phy_connect_direct(struct net_device *dev, struct phy_device *phydev,
+ {
+ int rc;
+
++ if (!dev)
++ return -EINVAL;
++
+ rc = phy_attach_direct(dev, phydev, phydev->dev_flags, interface);
+ if (rc)
+ return rc;
+@@ -1307,6 +1310,9 @@ struct phy_device *phy_attach(struct net_device *dev, const char *bus_id,
+ struct device *d;
+ int rc;
+
++ if (!dev)
++ return ERR_PTR(-EINVAL);
++
+ /* Search the list of PHY devices on the mdio bus for the
+ * PHY with the requested name
+ */
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-Fix-not-to-call-phy_resume-if-PHY-is-not-att.patch b/patches.suse/net-phy-Fix-not-to-call-phy_resume-if-PHY-is-not-att.patch
new file mode 100644
index 0000000000..4f52de4b4c
--- /dev/null
+++ b/patches.suse/net-phy-Fix-not-to-call-phy_resume-if-PHY-is-not-att.patch
@@ -0,0 +1,63 @@
+From ef1b5bf506b1f0ee3edc98533e1f3ecb105eb46a Mon Sep 17 00:00:00 2001
+From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Date: Wed, 28 Nov 2018 09:02:41 +0000
+Subject: [PATCH] net: phy: Fix not to call phy_resume() if PHY is not attached
+Git-commit: ef1b5bf506b1f0ee3edc98533e1f3ecb105eb46a
+Patch-mainline: v4.20-rc6
+References: bsc#1051510
+
+This patch fixes an issue that mdio_bus_phy_resume() doesn't call
+phy_resume() if the PHY is not attached.
+
+Fixes: 803dd9c77ac3 ("net: phy: avoid suspending twice a PHY")
+Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/phy_device.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/phy/phy_device.c
++++ b/drivers/net/phy/phy_device.c
+@@ -81,7 +81,7 @@ static LIST_HEAD(phy_fixup_list);
+ static DEFINE_MUTEX(phy_fixup_lock);
+
+ #ifdef CONFIG_PM
+-static bool mdio_bus_phy_may_suspend(struct phy_device *phydev)
++static bool mdio_bus_phy_may_suspend(struct phy_device *phydev, bool suspend)
+ {
+ struct device_driver *drv = phydev->mdio.dev.driver;
+ struct phy_driver *phydrv = to_phy_driver(drv);
+@@ -93,10 +93,11 @@ static bool mdio_bus_phy_may_suspend(str
+ /* PHY not attached? May suspend if the PHY has not already been
+ * suspended as part of a prior call to phy_disconnect() ->
+ * phy_detach() -> phy_suspend() because the parent netdev might be the
+- * MDIO bus driver and clock gated at this point.
++ * MDIO bus driver and clock gated at this point. Also may resume if
++ * PHY is not attached.
+ */
+ if (!netdev)
+- return !phydev->suspended;
++ return suspend ? !phydev->suspended : phydev->suspended;
+
+ /* Don't suspend PHY if the attached netdev parent may wakeup.
+ * The parent may point to a PCI device, as in tg3 driver.
+@@ -126,7 +127,7 @@ static int mdio_bus_phy_suspend(struct d
+ if (phydev->attached_dev && phydev->adjust_link)
+ phy_stop_machine(phydev);
+
+- if (!mdio_bus_phy_may_suspend(phydev))
++ if (!mdio_bus_phy_may_suspend(phydev, true))
+ return 0;
+
+ return phy_suspend(phydev);
+@@ -137,7 +138,7 @@ static int mdio_bus_phy_resume(struct de
+ struct phy_device *phydev = to_phy_device(dev);
+ int ret;
+
+- if (!mdio_bus_phy_may_suspend(phydev))
++ if (!mdio_bus_phy_may_suspend(phydev, false))
+ goto no_resume;
+
+ ret = phy_resume(phydev);
diff --git a/patches.suse/net-phy-Fix-the-register-offsets-in-Broadcom-iProc-m.patch b/patches.suse/net-phy-Fix-the-register-offsets-in-Broadcom-iProc-m.patch
new file mode 100644
index 0000000000..c752bb6a85
--- /dev/null
+++ b/patches.suse/net-phy-Fix-the-register-offsets-in-Broadcom-iProc-m.patch
@@ -0,0 +1,83 @@
+From 77fefa93bfebe4df44f154f2aa5938e32630d0bf Mon Sep 17 00:00:00 2001
+From: Arun Parameswaran <arun.parameswaran@broadcom.com>
+Date: Wed, 1 Aug 2018 17:53:47 -0700
+Subject: [PATCH] net: phy: Fix the register offsets in Broadcom iProc mdio mux driver
+Git-commit: 77fefa93bfebe4df44f154f2aa5938e32630d0bf
+Patch-mainline: v4.19-rc1
+References: bsc#1051510
+
+Modify the register offsets in the Broadcom iProc mdio mux to start
+from the top of the register address space.
+
+Earlier, the base address pointed to the end of the block's register
+space. The base address will now point to the start of the mdio's
+address space. The offsets have been fixed to match this.
+
+Signed-off-by: Arun Parameswaran <arun.parameswaran@broadcom.com>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/mdio-mux-bcm-iproc.c | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c b/drivers/net/phy/mdio-mux-bcm-iproc.c
+index 0c5b68e7da51..9b3167054843 100644
+--- a/drivers/net/phy/mdio-mux-bcm-iproc.c
++++ b/drivers/net/phy/mdio-mux-bcm-iproc.c
+@@ -22,7 +22,7 @@
+ #include <linux/mdio-mux.h>
+ #include <linux/delay.h>
+
+-#define MDIO_PARAM_OFFSET 0x00
++#define MDIO_PARAM_OFFSET 0x23c
+ #define MDIO_PARAM_MIIM_CYCLE 29
+ #define MDIO_PARAM_INTERNAL_SEL 25
+ #define MDIO_PARAM_BUS_ID 22
+@@ -30,20 +30,22 @@
+ #define MDIO_PARAM_PHY_ID 16
+ #define MDIO_PARAM_PHY_DATA 0
+
+-#define MDIO_READ_OFFSET 0x04
++#define MDIO_READ_OFFSET 0x240
+ #define MDIO_READ_DATA_MASK 0xffff
+-#define MDIO_ADDR_OFFSET 0x08
++#define MDIO_ADDR_OFFSET 0x244
+
+-#define MDIO_CTRL_OFFSET 0x0C
++#define MDIO_CTRL_OFFSET 0x248
+ #define MDIO_CTRL_WRITE_OP 0x1
+ #define MDIO_CTRL_READ_OP 0x2
+
+-#define MDIO_STAT_OFFSET 0x10
++#define MDIO_STAT_OFFSET 0x24c
+ #define MDIO_STAT_DONE 1
+
+ #define BUS_MAX_ADDR 32
+ #define EXT_BUS_START_ADDR 16
+
++#define MDIO_REG_ADDR_SPACE_SIZE 0x250
++
+ struct iproc_mdiomux_desc {
+ void *mux_handle;
+ void __iomem *base;
+@@ -169,6 +171,14 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev)
+ md->dev = &pdev->dev;
+
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (res->start & 0xfff) {
++ /* For backward compatibility in case the
++ * base address is specified with an offset.
++ */
++ dev_info(&pdev->dev, "fix base address in dt-blob\n");
++ res->start &= ~0xfff;
++ res->end = res->start + MDIO_REG_ADDR_SPACE_SIZE - 1;
++ }
+ md->base = devm_ioremap_resource(&pdev->dev, res);
+ if (IS_ERR(md->base)) {
+ dev_err(&pdev->dev, "failed to ioremap register\n");
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-at803x-Change-error-to-EINVAL-for-invalid-MA.patch b/patches.suse/net-phy-at803x-Change-error-to-EINVAL-for-invalid-MA.patch
new file mode 100644
index 0000000000..85782fa6bb
--- /dev/null
+++ b/patches.suse/net-phy-at803x-Change-error-to-EINVAL-for-invalid-MA.patch
@@ -0,0 +1,35 @@
+From fc7556877d1748ac00958822a0a3bba1d4bd9e0d Mon Sep 17 00:00:00 2001
+From: Dan Murphy <dmurphy@ti.com>
+Date: Tue, 10 Oct 2017 12:42:56 -0500
+Subject: [PATCH] net: phy: at803x: Change error to EINVAL for invalid MAC
+Git-commit: fc7556877d1748ac00958822a0a3bba1d4bd9e0d
+Patch-mainline: v4.15-rc1
+References: bsc#1051510
+
+Change the return error code to EINVAL if the MAC
+address is not valid in the set_wol function.
+
+Signed-off-by: Dan Murphy <dmurphy@ti.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/at803x.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
+index c1e52b9dc58d..5f93e6add563 100644
+--- a/drivers/net/phy/at803x.c
++++ b/drivers/net/phy/at803x.c
+@@ -167,7 +167,7 @@ static int at803x_set_wol(struct phy_device *phydev,
+ mac = (const u8 *) ndev->dev_addr;
+
+ if (!is_valid_ether_addr(mac))
+- return -EFAULT;
++ return -EINVAL;
+
+ for (i = 0; i < 3; i++) {
+ phy_write(phydev, AT803X_MMD_ACCESS_CONTROL,
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-broadcom-Use-strlcpy-for-ethtool-get_strings.patch b/patches.suse/net-phy-broadcom-Use-strlcpy-for-ethtool-get_strings.patch
new file mode 100644
index 0000000000..09e2d88b50
--- /dev/null
+++ b/patches.suse/net-phy-broadcom-Use-strlcpy-for-ethtool-get_strings.patch
@@ -0,0 +1,41 @@
+From 8a17eefa235f73b60c0ca7d397d2e4f66f85f413 Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Fri, 2 Mar 2018 15:08:39 -0800
+Subject: [PATCH] net: phy: broadcom: Use strlcpy() for ethtool::get_strings
+Git-commit: 8a17eefa235f73b60c0ca7d397d2e4f66f85f413
+Patch-mainline: v4.16-rc7
+References: bsc#1051510
+
+Our statistics strings are allocated at initialization without being
+bound to a specific size, yet, we would copy ETH_GSTRING_LEN bytes using
+memcpy() which would create out of bounds accesses, this was flagged by
+KASAN. Replace this with strlcpy() to make sure we are bound the source
+buffer size and we also always NUL-terminate strings.
+
+Fixes: 820ee17b8d3b ("net: phy: broadcom: Add support code for reading PHY counters")
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/bcm-phy-lib.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/phy/bcm-phy-lib.c b/drivers/net/phy/bcm-phy-lib.c
+index 171010eb4d9c..5ad130c3da43 100644
+--- a/drivers/net/phy/bcm-phy-lib.c
++++ b/drivers/net/phy/bcm-phy-lib.c
+@@ -341,8 +341,8 @@ void bcm_phy_get_strings(struct phy_device *phydev, u8 *data)
+ unsigned int i;
+
+ for (i = 0; i < ARRAY_SIZE(bcm_phy_hw_stats); i++)
+- memcpy(data + i * ETH_GSTRING_LEN,
+- bcm_phy_hw_stats[i].string, ETH_GSTRING_LEN);
++ strlcpy(data + i * ETH_GSTRING_LEN,
++ bcm_phy_hw_stats[i].string, ETH_GSTRING_LEN);
+ }
+ EXPORT_SYMBOL_GPL(bcm_phy_get_strings);
+
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-dp83867-Set-up-RGMII-TX-delay.patch b/patches.suse/net-phy-dp83867-Set-up-RGMII-TX-delay.patch
new file mode 100644
index 0000000000..6e50488895
--- /dev/null
+++ b/patches.suse/net-phy-dp83867-Set-up-RGMII-TX-delay.patch
@@ -0,0 +1,41 @@
+From 2b892649254fec01678c64f16427622b41fa27f4 Mon Sep 17 00:00:00 2001
+From: Max Uvarov <muvarov@gmail.com>
+Date: Tue, 28 May 2019 13:00:52 +0300
+Subject: [PATCH] net: phy: dp83867: Set up RGMII TX delay
+Git-commit: 2b892649254fec01678c64f16427622b41fa27f4
+Patch-mainline: v5.2-rc3
+References: bsc#1051510
+
+PHY_INTERFACE_MODE_RGMII_RXID is less then TXID
+so code to set tx delay is never called.
+
+Fixes: 2a10154abcb75 ("net: phy: dp83867: Add TI dp83867 phy")
+Signed-off-by: Max Uvarov <muvarov@gmail.com>
+Cc: Florian Fainelli <f.fainelli@gmail.com>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/dp83867.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c
+index 1ec48ecf4133..c71c7d0f53f0 100644
+--- a/drivers/net/phy/dp83867.c
++++ b/drivers/net/phy/dp83867.c
+@@ -255,10 +255,8 @@ static int dp83867_config_init(struct phy_device *phydev)
+ ret = phy_write(phydev, MII_DP83867_PHYCTRL, val);
+ if (ret)
+ return ret;
+- }
+
+- if ((phydev->interface >= PHY_INTERFACE_MODE_RGMII_ID) &&
+- (phydev->interface <= PHY_INTERFACE_MODE_RGMII_RXID)) {
++ /* Set up RGMII delays */
+ val = phy_read_mmd(phydev, DP83867_DEVADDR, DP83867_RGMIICTL);
+
+ if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID)
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-fixed_phy-Fix-fixed_phy-not-checking-GPIO.patch b/patches.suse/net-phy-fixed_phy-Fix-fixed_phy-not-checking-GPIO.patch
new file mode 100644
index 0000000000..a2d4af2611
--- /dev/null
+++ b/patches.suse/net-phy-fixed_phy-Fix-fixed_phy-not-checking-GPIO.patch
@@ -0,0 +1,41 @@
+From 8f289805616e81f7c1690931aa8a586c76f4fa88 Mon Sep 17 00:00:00 2001
+From: Moritz Fischer <mdf@kernel.org>
+Date: Wed, 6 Feb 2019 21:45:29 -0800
+Subject: [PATCH] net: phy: fixed_phy: Fix fixed_phy not checking GPIO
+Git-commit: 8f289805616e81f7c1690931aa8a586c76f4fa88
+Patch-mainline: v5.1-rc1
+References: bsc#1051510
+
+Fix fixed_phy not checking GPIO if no link_update callback
+is registered.
+
+In the original version all users registered a link_update
+callback so the issue was masked.
+
+Fixes: a5597008dbc2 ("phy: fixed_phy: Add gpio to determine link up/down.")
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: Moritz Fischer <mdf@kernel.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/fixed_phy.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/phy/fixed_phy.c
++++ b/drivers/net/phy/fixed_phy.c
+@@ -67,11 +67,11 @@ static int fixed_mdio_read(struct mii_bu
+ do {
+ s = read_seqcount_begin(&fp->seqcount);
+ /* Issue callback if user registered it. */
+- if (fp->link_update) {
++ if (fp->link_update)
+ fp->link_update(fp->phydev->attached_dev,
+ &fp->status);
+- fixed_phy_update(fp);
+- }
++ /* Check the GPIO for change in status */
++ fixed_phy_update(fp);
+ state = fp->status;
+ } while (read_seqcount_retry(&fp->seqcount, s));
+
diff --git a/patches.suse/net-phy-marvell-Fix-buffer-overrun-with-stats-counte.patch b/patches.suse/net-phy-marvell-Fix-buffer-overrun-with-stats-counte.patch
index 160fb7e6b9..4873721d24 100644
--- a/patches.suse/net-phy-marvell-Fix-buffer-overrun-with-stats-counte.patch
+++ b/patches.suse/net-phy-marvell-Fix-buffer-overrun-with-stats-counte.patch
@@ -32,8 +32,8 @@ Signed-off-by: Jiri Slaby <jslaby@suse.cz>
- for (i = 0; i < ARRAY_SIZE(marvell_hw_stats); i++) {
+ for (i = 0; i < count; i++) {
- memcpy(data + i * ETH_GSTRING_LEN,
- marvell_hw_stats[i].string, ETH_GSTRING_LEN);
+ strlcpy(data + i * ETH_GSTRING_LEN,
+ marvell_hw_stats[i].string, ETH_GSTRING_LEN);
}
@@ -1523,9 +1524,10 @@ static u64 marvell_get_stat(struct phy_d
static void marvell_get_stats(struct phy_device *phydev,
diff --git a/patches.suse/net-phy-marvell-Use-strlcpy-for-ethtool-get_strings.patch b/patches.suse/net-phy-marvell-Use-strlcpy-for-ethtool-get_strings.patch
new file mode 100644
index 0000000000..24149c0bbe
--- /dev/null
+++ b/patches.suse/net-phy-marvell-Use-strlcpy-for-ethtool-get_strings.patch
@@ -0,0 +1,41 @@
+From 98409b2bbca36b578be8e66758e6acb96e4c91da Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Fri, 2 Mar 2018 15:08:37 -0800
+Subject: [PATCH] net: phy: marvell: Use strlcpy() for ethtool::get_strings
+Git-commit: 98409b2bbca36b578be8e66758e6acb96e4c91da
+Patch-mainline: v4.16-rc7
+References: bsc#1051510
+
+Our statistics strings are allocated at initialization without being
+bound to a specific size, yet, we would copy ETH_GSTRING_LEN bytes using
+memcpy() which would create out of bounds accesses, this was flagged by
+KASAN. Replace this with strlcpy() to make sure we are bound the source
+buffer size and we also always NUL-terminate strings.
+
+Fixes: d2fa47d9dd5c ("phy: marvell: Add ethtool statistics counters")
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/marvell.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
+index 22d9bc9c33a4..0e0978d8a0eb 100644
+--- a/drivers/net/phy/marvell.c
++++ b/drivers/net/phy/marvell.c
+@@ -1452,8 +1452,8 @@ static void marvell_get_strings(struct phy_device *phydev, u8 *data)
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(marvell_hw_stats); i++) {
+- memcpy(data + i * ETH_GSTRING_LEN,
+- marvell_hw_stats[i].string, ETH_GSTRING_LEN);
++ strlcpy(data + i * ETH_GSTRING_LEN,
++ marvell_hw_stats[i].string, ETH_GSTRING_LEN);
+ }
+ }
+
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-marvell-clear-wol-event-before-setting-it.patch b/patches.suse/net-phy-marvell-clear-wol-event-before-setting-it.patch
new file mode 100644
index 0000000000..e26ddab8e2
--- /dev/null
+++ b/patches.suse/net-phy-marvell-clear-wol-event-before-setting-it.patch
@@ -0,0 +1,40 @@
+From b6a930fa88083b41d26ddf1cab95cbd740936c22 Mon Sep 17 00:00:00 2001
+From: Jingju Hou <Jingju.Hou@synaptics.com>
+Date: Mon, 23 Apr 2018 15:22:49 +0800
+Subject: [PATCH] net: phy: marvell: clear wol event before setting it
+Git-commit: b6a930fa88083b41d26ddf1cab95cbd740936c22
+Patch-mainline: v4.17-rc3
+References: bsc#1051510
+
+If WOL event happened once, the LED[2] interrupt pin will not be
+cleared unless we read the CSISR register. If interrupts are in use,
+the normal interrupt handling will clear the WOL event. Let's clear the
+WOL event before enabling it if !phy_interrupt_is_valid().
+
+Signed-off-by: Jingju Hou <Jingju.Hou@synaptics.com>
+Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/marvell.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/net/phy/marvell.c
++++ b/drivers/net/phy/marvell.c
+@@ -1400,6 +1400,15 @@ static int m88e1318_set_wol(struct phy_d
+ if (err < 0)
+ return err;
+
++ /* If WOL event happened once, the LED[2] interrupt pin
++ * will not be cleared unless we reading the interrupt status
++ * register. If interrupts are in use, the normal interrupt
++ * handling will clear the WOL event. Clear the WOL event
++ * before enabling it if !phy_interrupt_is_valid()
++ */
++ if (!phy_interrupt_is_valid(phydev))
++ phy_read(phydev, MII_M1011_IEVENT);
++
+ /* Enable the WOL interrupt */
+ temp = phy_read(phydev, MII_88E1318S_PHY_CSIER);
+ temp |= MII_88E1318S_PHY_CSIER_WOL_EIE;
diff --git a/patches.suse/net-phy-meson-gxl-check-phy_write-return-value.patch b/patches.suse/net-phy-meson-gxl-check-phy_write-return-value.patch
new file mode 100644
index 0000000000..90674ec6ff
--- /dev/null
+++ b/patches.suse/net-phy-meson-gxl-check-phy_write-return-value.patch
@@ -0,0 +1,92 @@
+From 9042b46eda33ef5db3cdfc9e12b3c8cabb196141 Mon Sep 17 00:00:00 2001
+From: Jerome Brunet <jbrunet@baylibre.com>
+Date: Mon, 18 Dec 2017 10:44:40 +0100
+Subject: [PATCH] net: phy: meson-gxl: check phy_write return value
+Git-commit: 9042b46eda33ef5db3cdfc9e12b3c8cabb196141
+Patch-mainline: v4.16-rc1
+References: bsc#1051510
+
+Always check phy_write return values. Better to be safe than sorry
+
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/meson-gxl.c | 50 ++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 38 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/net/phy/meson-gxl.c b/drivers/net/phy/meson-gxl.c
+index 4ee630afe43a..900606204c0a 100644
+--- a/drivers/net/phy/meson-gxl.c
++++ b/drivers/net/phy/meson-gxl.c
+@@ -26,27 +26,53 @@
+
+ static int meson_gxl_config_init(struct phy_device *phydev)
+ {
++ int ret;
++
+ /* Enable Analog and DSP register Bank access by */
+- phy_write(phydev, 0x14, 0x0000);
+- phy_write(phydev, 0x14, 0x0400);
+- phy_write(phydev, 0x14, 0x0000);
+- phy_write(phydev, 0x14, 0x0400);
++ ret = phy_write(phydev, 0x14, 0x0000);
++ if (ret)
++ return ret;
++ ret = phy_write(phydev, 0x14, 0x0400);
++ if (ret)
++ return ret;
++ ret = phy_write(phydev, 0x14, 0x0000);
++ if (ret)
++ return ret;
++ ret = phy_write(phydev, 0x14, 0x0400);
++ if (ret)
++ return ret;
+
+ /* Write Analog register 23 */
+- phy_write(phydev, 0x17, 0x8E0D);
+- phy_write(phydev, 0x14, 0x4417);
++ ret = phy_write(phydev, 0x17, 0x8E0D);
++ if (ret)
++ return ret;
++ ret = phy_write(phydev, 0x14, 0x4417);
++ if (ret)
++ return ret;
+
+ /* Enable fractional PLL */
+- phy_write(phydev, 0x17, 0x0005);
+- phy_write(phydev, 0x14, 0x5C1B);
++ ret = phy_write(phydev, 0x17, 0x0005);
++ if (ret)
++ return ret;
++ ret = phy_write(phydev, 0x14, 0x5C1B);
++ if (ret)
++ return ret;
+
+ /* Program fraction FR_PLL_DIV1 */
+- phy_write(phydev, 0x17, 0x029A);
+- phy_write(phydev, 0x14, 0x5C1D);
++ ret = phy_write(phydev, 0x17, 0x029A);
++ if (ret)
++ return ret;
++ ret = phy_write(phydev, 0x14, 0x5C1D);
++ if (ret)
++ return ret;
+
+ /* Program fraction FR_PLL_DIV1 */
+- phy_write(phydev, 0x17, 0xAAAA);
+- phy_write(phydev, 0x14, 0x5C1C);
++ ret = phy_write(phydev, 0x17, 0xAAAA);
++ if (ret)
++ return ret;
++ ret = phy_write(phydev, 0x14, 0x5C1C);
++ if (ret)
++ return ret;
+
+ return 0;
+ }
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-micrel-Use-strlcpy-for-ethtool-get_strings.patch b/patches.suse/net-phy-micrel-Use-strlcpy-for-ethtool-get_strings.patch
new file mode 100644
index 0000000000..e045515834
--- /dev/null
+++ b/patches.suse/net-phy-micrel-Use-strlcpy-for-ethtool-get_strings.patch
@@ -0,0 +1,41 @@
+From 55f53567afe5f0cd2fd9e006b174c08c31c466f8 Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Fri, 2 Mar 2018 15:08:38 -0800
+Subject: [PATCH] net: phy: micrel: Use strlcpy() for ethtool::get_strings
+Git-commit: 55f53567afe5f0cd2fd9e006b174c08c31c466f8
+Patch-mainline: v4.16-rc7
+References: bsc#1051510
+
+Our statistics strings are allocated at initialization without being
+bound to a specific size, yet, we would copy ETH_GSTRING_LEN bytes using
+memcpy() which would create out of bounds accesses, this was flagged by
+KASAN. Replace this with strlcpy() to make sure we are bound the source
+buffer size and we also always NUL-terminate strings.
+
+Fixes: 2b2427d06426 ("phy: micrel: Add ethtool statistics counters")
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/micrel.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
+index 0f45310300f6..49be85afbea9 100644
+--- a/drivers/net/phy/micrel.c
++++ b/drivers/net/phy/micrel.c
+@@ -664,8 +664,8 @@ static void kszphy_get_strings(struct phy_device *phydev, u8 *data)
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(kszphy_hw_stats); i++) {
+- memcpy(data + i * ETH_GSTRING_LEN,
+- kszphy_hw_stats[i].string, ETH_GSTRING_LEN);
++ strlcpy(data + i * ETH_GSTRING_LEN,
++ kszphy_hw_stats[i].string, ETH_GSTRING_LEN);
+ }
+ }
+
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-mscc-read-vsc8531-edge-slowdown-as-an-u32.patch b/patches.suse/net-phy-mscc-read-vsc8531-edge-slowdown-as-an-u32.patch
new file mode 100644
index 0000000000..79a9db9e11
--- /dev/null
+++ b/patches.suse/net-phy-mscc-read-vsc8531-edge-slowdown-as-an-u32.patch
@@ -0,0 +1,57 @@
+From 36c53cf0f46526b898390659b125155939f67892 Mon Sep 17 00:00:00 2001
+From: Quentin Schulz <quentin.schulz@bootlin.com>
+Date: Mon, 3 Sep 2018 10:48:50 +0200
+Subject: [PATCH] net: phy: mscc: read 'vsc8531, edge-slowdown' as an u32
+Git-commit: 36c53cf0f46526b898390659b125155939f67892
+Patch-mainline: v4.20-rc1
+References: bsc#1051510
+
+In the DT binding, it is specified nowhere that 'vsc8531,edge-slowdown'
+is an u8, even though it's read as an u8 in the driver.
+
+Let's update the driver to take into consideration that the
+'vsc8531,edge-slowdown' property is of the default type u32.
+
+Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/mscc.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c
+index 49dc23117732..3c7b02bb5c38 100644
+--- a/drivers/net/phy/mscc.c
++++ b/drivers/net/phy/mscc.c
+@@ -129,7 +129,7 @@ struct vsc8531_private {
+ #ifdef CONFIG_OF_MDIO
+ struct vsc8531_edge_rate_table {
+ u32 vddmac;
+- u8 slowdown[8];
++ u32 slowdown[8];
+ };
+
+ static const struct vsc8531_edge_rate_table edge_table[] = {
+@@ -386,8 +386,7 @@ static void vsc85xx_wol_get(struct phy_device *phydev,
+ #ifdef CONFIG_OF_MDIO
+ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev)
+ {
+- u8 sd;
+- u32 vdd;
++ u32 vdd, sd;
+ int rc, i, j;
+ struct device *dev = &phydev->mdio.dev;
+ struct device_node *of_node = dev->of_node;
+@@ -400,7 +399,7 @@ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev)
+ if (rc != 0)
+ vdd = MSCC_VDDMAC_3300;
+
+- rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown", &sd);
++ rc = of_property_read_u32(of_node, "vsc8531,edge-slowdown", &sd);
+ if (rc != 0)
+ sd = 0;
+
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-mscc-read-vsc8531-vddmac-as-an-u32.patch b/patches.suse/net-phy-mscc-read-vsc8531-vddmac-as-an-u32.patch
new file mode 100644
index 0000000000..badbfb0d6f
--- /dev/null
+++ b/patches.suse/net-phy-mscc-read-vsc8531-vddmac-as-an-u32.patch
@@ -0,0 +1,56 @@
+From a993e0f583c7925adaa7721226ccd7a41e7e63d1 Mon Sep 17 00:00:00 2001
+From: Quentin Schulz <quentin.schulz@bootlin.com>
+Date: Mon, 3 Sep 2018 10:48:49 +0200
+Subject: [PATCH] net: phy: mscc: read 'vsc8531,vddmac' as an u32
+Git-commit: a993e0f583c7925adaa7721226ccd7a41e7e63d1
+Patch-mainline: v4.20-rc1
+References: bsc#1051510
+
+In the DT binding, it is specified nowhere that 'vsc8531,vddmac' is an
+u16, even though it's read as an u16 in the driver.
+
+Let's update the driver to take into consideration that the
+'vsc8531,vddmac' property is of the default type u32.
+
+Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/mscc.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c
+index aa37e8547cd0..49dc23117732 100644
+--- a/drivers/net/phy/mscc.c
++++ b/drivers/net/phy/mscc.c
+@@ -128,7 +128,7 @@ struct vsc8531_private {
+
+ #ifdef CONFIG_OF_MDIO
+ struct vsc8531_edge_rate_table {
+- u16 vddmac;
++ u32 vddmac;
+ u8 slowdown[8];
+ };
+
+@@ -387,7 +387,7 @@ static void vsc85xx_wol_get(struct phy_device *phydev,
+ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev)
+ {
+ u8 sd;
+- u16 vdd;
++ u32 vdd;
+ int rc, i, j;
+ struct device *dev = &phydev->mdio.dev;
+ struct device_node *of_node = dev->of_node;
+@@ -396,7 +396,7 @@ static int vsc85xx_edge_rate_magic_get(struct phy_device *phydev)
+ if (!of_node)
+ return -ENODEV;
+
+- rc = of_property_read_u16(of_node, "vsc8531,vddmac", &vdd);
++ rc = of_property_read_u32(of_node, "vsc8531,vddmac", &vdd);
+ if (rc != 0)
+ vdd = MSCC_VDDMAC_3300;
+
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-xgene-disable-clk-on-error-paths.patch b/patches.suse/net-phy-xgene-disable-clk-on-error-paths.patch
new file mode 100644
index 0000000000..bb27054aff
--- /dev/null
+++ b/patches.suse/net-phy-xgene-disable-clk-on-error-paths.patch
@@ -0,0 +1,86 @@
+From ab14436065c8066c265540312742390d6d07ddd2 Mon Sep 17 00:00:00 2001
+From: Alexey Khoroshilov <khoroshilov@ispras.ru>
+Date: Sat, 16 Dec 2017 00:52:39 +0300
+Subject: [PATCH] net: phy: xgene: disable clk on error paths
+Git-commit: ab14436065c8066c265540312742390d6d07ddd2
+Patch-mainline: v4.15-rc5
+References: bsc#1051510
+
+There are several error paths in xgene_mdio_probe(),
+where clk is left undisabled. The patch fixes them.
+
+Found by Linux Driver Verification project (linuxtesting.org).
+
+Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/mdio-xgene.c | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/net/phy/mdio-xgene.c b/drivers/net/phy/mdio-xgene.c
+index bfd3090fb055..07c6048200c6 100644
+--- a/drivers/net/phy/mdio-xgene.c
++++ b/drivers/net/phy/mdio-xgene.c
+@@ -194,8 +194,11 @@ static int xgene_mdio_reset(struct xgene_mdio_pdata *pdata)
+ }
+
+ ret = xgene_enet_ecc_init(pdata);
+- if (ret)
++ if (ret) {
++ if (pdata->dev->of_node)
++ clk_disable_unprepare(pdata->clk);
+ return ret;
++ }
+ xgene_gmac_reset(pdata);
+
+ return 0;
+@@ -388,8 +391,10 @@ static int xgene_mdio_probe(struct platform_device *pdev)
+ return ret;
+
+ mdio_bus = mdiobus_alloc();
+- if (!mdio_bus)
+- return -ENOMEM;
++ if (!mdio_bus) {
++ ret = -ENOMEM;
++ goto out_clk;
++ }
+
+ mdio_bus->name = "APM X-Gene MDIO bus";
+
+@@ -418,7 +423,7 @@ static int xgene_mdio_probe(struct platform_device *pdev)
+ mdio_bus->phy_mask = ~0;
+ ret = mdiobus_register(mdio_bus);
+ if (ret)
+- goto out;
++ goto out_mdiobus;
+
+ acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_HANDLE(dev), 1,
+ acpi_register_phy, NULL, mdio_bus, NULL);
+@@ -426,16 +431,20 @@ static int xgene_mdio_probe(struct platform_device *pdev)
+ }
+
+ if (ret)
+- goto out;
++ goto out_mdiobus;
+
+ pdata->mdio_bus = mdio_bus;
+ xgene_mdio_status = true;
+
+ return 0;
+
+-out:
++out_mdiobus:
+ mdiobus_free(mdio_bus);
+
++out_clk:
++ if (dev->of_node)
++ clk_disable_unprepare(pdata->clk);
++
+ return ret;
+ }
+
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-xgmiitorgmii-Check-phy_driver-ready-before-a.patch b/patches.suse/net-phy-xgmiitorgmii-Check-phy_driver-ready-before-a.patch
new file mode 100644
index 0000000000..7d82054a81
--- /dev/null
+++ b/patches.suse/net-phy-xgmiitorgmii-Check-phy_driver-ready-before-a.patch
@@ -0,0 +1,94 @@
+From ab4e6ee578e88a659938db8fbf33720bc048d29c Mon Sep 17 00:00:00 2001
+From: Brandon Maier <brandon.maier@rockwellcollins.com>
+Date: Tue, 26 Jun 2018 12:50:48 -0500
+Subject: [PATCH] net: phy: xgmiitorgmii: Check phy_driver ready before accessing
+Git-commit: ab4e6ee578e88a659938db8fbf33720bc048d29c
+Patch-mainline: v4.19-rc1
+References: bsc#1051510
+
+Since a phy_device is added to the global mdio_bus list during
+phy_device_register(), but a phy_device's phy_driver doesn't get
+attached until phy_probe(). It's possible of_phy_find_device() in
+xgmiitorgmii will return a valid phy with a NULL phy_driver. Leading to
+a NULL pointer access during the memcpy().
+
+Fixes this Oops:
+
+Unable to handle kernel NULL pointer dereference at virtual address 00000000
+pgd = c0004000
+[00000000] *pgd=00000000
+Internal error: Oops: 5 [#1] PREEMPT SMP ARM
+Modules linked in:
+Cpu: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.40 #1
+Hardware name: Xilinx Zynq Platform
+Task: ce4c8d00 task.stack: ce4ca000
+PC is at memcpy+0x48/0x330
+LR is at xgmiitorgmii_probe+0x90/0xe8
+pc : [<c074bc68>] lr : [<c0529548>] psr: 20000013
+sp : ce4cbb54 ip : 00000000 fp : ce4cbb8c
+R10: 00000000 r9 : 00000000 r8 : c0c49178
+r7 : 00000000 r6 : cdc14718 r5 : ce762800 r4 : cdc14710
+r3 : 00000000 r2 : 00000054 r1 : 00000000 r0 : cdc14718
+Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
+Control: 18c5387d Table: 0000404a DAC: 00000051
+Process swapper/0 (pid: 1, stack limit = 0xce4ca210)
+...
+[<c074bc68>] (memcpy) from [<c0529548>] (xgmiitorgmii_probe+0x90/0xe8)
+[<c0529548>] (xgmiitorgmii_probe) from [<c0526a94>] (mdio_probe+0x28/0x34)
+[<c0526a94>] (mdio_probe) from [<c04db98c>] (driver_probe_device+0x254/0x414)
+[<c04db98c>] (driver_probe_device) from [<c04dbd58>] (__device_attach_driver+0xac/0x10c)
+[<c04dbd58>] (__device_attach_driver) from [<c04d96f4>] (bus_for_each_drv+0x84/0xc8)
+[<c04d96f4>] (bus_for_each_drv) from [<c04db5bc>] (__device_attach+0xd0/0x134)
+[<c04db5bc>] (__device_attach) from [<c04dbdd4>] (device_initial_probe+0x1c/0x20)
+[<c04dbdd4>] (device_initial_probe) from [<c04da8fc>] (bus_probe_device+0x98/0xa0)
+[<c04da8fc>] (bus_probe_device) from [<c04d8660>] (device_add+0x43c/0x5d0)
+[<c04d8660>] (device_add) from [<c0526cb8>] (mdio_device_register+0x34/0x80)
+[<c0526cb8>] (mdio_device_register) from [<c0580b48>] (of_mdiobus_register+0x170/0x30c)
+[<c0580b48>] (of_mdiobus_register) from [<c05349c4>] (macb_probe+0x710/0xc00)
+[<c05349c4>] (macb_probe) from [<c04dd700>] (platform_drv_probe+0x44/0x80)
+[<c04dd700>] (platform_drv_probe) from [<c04db98c>] (driver_probe_device+0x254/0x414)
+[<c04db98c>] (driver_probe_device) from [<c04dbc58>] (__driver_attach+0x10c/0x118)
+[<c04dbc58>] (__driver_attach) from [<c04d9600>] (bus_for_each_dev+0x8c/0xd0)
+[<c04d9600>] (bus_for_each_dev) from [<c04db1fc>] (driver_attach+0x2c/0x30)
+[<c04db1fc>] (driver_attach) from [<c04daa98>] (bus_add_driver+0x50/0x260)
+[<c04daa98>] (bus_add_driver) from [<c04dc440>] (driver_register+0x88/0x108)
+[<c04dc440>] (driver_register) from [<c04dd6b4>] (__platform_driver_register+0x50/0x58)
+[<c04dd6b4>] (__platform_driver_register) from [<c0b31248>] (macb_driver_init+0x24/0x28)
+[<c0b31248>] (macb_driver_init) from [<c010203c>] (do_one_initcall+0x60/0x1a4)
+[<c010203c>] (do_one_initcall) from [<c0b00f78>] (kernel_init_freeable+0x15c/0x1f8)
+[<c0b00f78>] (kernel_init_freeable) from [<c0763d10>] (kernel_init+0x18/0x124)
+[<c0763d10>] (kernel_init) from [<c0112d74>] (ret_from_fork+0x14/0x20)
+
+Code: ba000002 f5d1f03c f5d1f05c f5d1f07c (e8b151f8)
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---[ end trace 3e4ec21905820a1f ]---
+
+Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/phy/xilinx_gmii2rgmii.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
+index 2e5150b0b8d5..04c8bec1c4c1 100644
+--- a/drivers/net/phy/xilinx_gmii2rgmii.c
++++ b/drivers/net/phy/xilinx_gmii2rgmii.c
+@@ -81,6 +81,11 @@ static int xgmiitorgmii_probe(struct mdio_device *mdiodev)
+ return -EPROBE_DEFER;
+ }
+
++ if (!priv->phy_dev->drv) {
++ dev_info(dev, "Attached phy not ready\n");
++ return -EPROBE_DEFER;
++ }
++
+ priv->addr = mdiodev->addr;
+ priv->phy_drv = priv->phy_dev->drv;
+ memcpy(&priv->conv_phy_drv, priv->phy_dev->drv,
+--
+2.16.4
+
diff --git a/patches.suse/net-phy-xgmiitorgmii-Check-read_status-results.patch b/patches.suse/net-phy-xgmiitorgmii-Check-read_status-results.patch
new file mode 100644
index 0000000000..ff7765f965
--- /dev/null
+++ b/patches.suse/net-phy-xgmiitorgmii-Check-read_status-results.patch
@@ -0,0 +1,35 @@
+From 8d0752d11312be830c33e84dfd1016e6a47c2938 Mon Sep 17 00:00:00 2001
+From: Brandon Maier <brandon.maier@rockwellcollins.com>
+Date: Tue, 26 Jun 2018 12:50:50 -0500
+Subject: [PATCH] net: phy: xgmiitorgmii: Check read_status results
+Git-commit: 8d0752d11312be830c33e84dfd1016e6a47c2938
+Patch-mainline: v4.19-rc1
+References: bsc#1051510
+
+We're ignoring the result of the attached phy device's read_status().
+Return it so we can detect errors.
+
+Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/xilinx_gmii2rgmii.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/phy/xilinx_gmii2rgmii.c
++++ b/drivers/net/phy/xilinx_gmii2rgmii.c
+@@ -40,8 +40,11 @@ static int xgmiitorgmii_read_status(stru
+ {
+ struct gmii2rgmii *priv = phydev->priv;
+ u16 val = 0;
++ int err;
+
+- priv->phy_drv->read_status(phydev);
++ err = priv->phy_drv->read_status(phydev);
++ if (err < 0)
++ return err;
+
+ val = mdiobus_read(phydev->mdio.bus, priv->addr, XILINX_GMII2RGMII_REG);
+ val &= ~XILINX_GMII2RGMII_SPEED_MASK;
diff --git a/patches.suse/net-phy-xgmiitorgmii-Support-generic-PHY-status-read.patch b/patches.suse/net-phy-xgmiitorgmii-Support-generic-PHY-status-read.patch
new file mode 100644
index 0000000000..f29b6fe7da
--- /dev/null
+++ b/patches.suse/net-phy-xgmiitorgmii-Support-generic-PHY-status-read.patch
@@ -0,0 +1,42 @@
+From 197f9ab7f08ce4b9ece662f747c3991b2f0fbb57 Mon Sep 17 00:00:00 2001
+From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
+Date: Fri, 15 Feb 2019 17:17:08 +0100
+Subject: [PATCH] net: phy: xgmiitorgmii: Support generic PHY status read
+Git-commit: 197f9ab7f08ce4b9ece662f747c3991b2f0fbb57
+Patch-mainline: v5.0-rc8
+References: bsc#1051510
+
+Some PHY drivers like the generic one do not provide a read_status
+callback on their own but rely on genphy_read_status being called
+directly.
+
+With the current code, this results in a NULL function pointer call.
+Call genphy_read_status instead when there is no specific callback.
+
+Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/phy/xilinx_gmii2rgmii.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
+index 74a8782313cf..bd6084e315de 100644
+--- a/drivers/net/phy/xilinx_gmii2rgmii.c
++++ b/drivers/net/phy/xilinx_gmii2rgmii.c
+@@ -44,7 +44,10 @@ static int xgmiitorgmii_read_status(struct phy_device *phydev)
+ u16 val = 0;
+ int err;
+
+- err = priv->phy_drv->read_status(phydev);
++ if (priv->phy_drv->read_status)
++ err = priv->phy_drv->read_status(phydev);
++ else
++ err = genphy_read_status(phydev);
+ if (err < 0)
+ return err;
+
+--
+2.16.4
+
diff --git a/patches.suse/pktcdvd-remove-warning-on-attempting-to-register-non.patch b/patches.suse/pktcdvd-remove-warning-on-attempting-to-register-non.patch
new file mode 100644
index 0000000000..3d11aa9b56
--- /dev/null
+++ b/patches.suse/pktcdvd-remove-warning-on-attempting-to-register-non.patch
@@ -0,0 +1,87 @@
+From eb09b3cc464d2c3bbde9a6648603c8d599ea8582 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Sun, 22 Sep 2019 10:01:05 -0600
+Subject: [PATCH] pktcdvd: remove warning on attempting to register non-passthrough dev
+Git-commit: eb09b3cc464d2c3bbde9a6648603c8d599ea8582
+Patch-mainline: v5.4-rc1
+References: bsc#1051510
+
+Anatoly reports that he gets the below warning when booting -git on
+a sparc64 box on debian unstable:
+
+...
+[ 13.352975] aes_sparc64: Using sparc64 aes opcodes optimized AES
+implementation
+[ 13.428002] ------------[ cut here ]------------
+[ 13.428081] WARNING: CPU: 21 PID: 586 at
+drivers/block/pktcdvd.c:2597 pkt_setup_dev+0x2e4/0x5a0 [pktcdvd]
+[ 13.428147] Attempt to register a non-SCSI queue
+[ 13.428184] Modules linked in: pktcdvd libdes cdrom aes_sparc64
+n2_rng md5_sparc64 sha512_sparc64 rng_core sha256_sparc64 flash
+sha1_sparc64 ip_tables x_tables ipv6 crc_ccitt nf_defrag_ipv6 autofs4
+ext4 crc16 mbcache jbd2 raid10 raid456 async_raid6_recov async_memcpy
+async_pq async_xor xor async_tx raid6_pq raid1 raid0 multipath linear
+md_mod crc32c_sparc64
+[ 13.428452] CPU: 21 PID: 586 Comm: pktsetup Not tainted
+5.3.0-10169-g574cc4539762 #1234
+[ 13.428507] Call Trace:
+[ 13.428542] [00000000004635c0] __warn+0xc0/0x100
+[ 13.428582] [0000000000463634] warn_slowpath_fmt+0x34/0x60
+[ 13.428626] [000000001045b244] pkt_setup_dev+0x2e4/0x5a0 [pktcdvd]
+[ 13.428674] [000000001045ccf4] pkt_ctl_ioctl+0x94/0x220 [pktcdvd]
+[ 13.428724] [00000000006b95c8] do_vfs_ioctl+0x628/0x6e0
+[ 13.428764] [00000000006b96c8] ksys_ioctl+0x48/0x80
+[ 13.428803] [00000000006b9714] sys_ioctl+0x14/0x40
+[ 13.428847] [0000000000406294] linux_sparc_syscall+0x34/0x44
+[ 13.428890] irq event stamp: 4181
+[ 13.428924] hardirqs last enabled at (4189): [<00000000004e0a74>]
+console_unlock+0x634/0x6c0
+[ 13.428984] hardirqs last disabled at (4196): [<00000000004e0540>]
+console_unlock+0x100/0x6c0
+[ 13.429048] softirqs last enabled at (3978): [<0000000000b2e2d8>]
+__do_softirq+0x498/0x520
+[ 13.429110] softirqs last disabled at (3967): [<000000000042cfb4>]
+do_softirq_own_stack+0x34/0x60
+[ 13.429172] ---[ end trace 2220ca468f32967d ]---
+[ 13.430018] pktcdvd: setup of pktcdvd device failed
+[ 13.455589] des_sparc64: Using sparc64 des opcodes optimized DES
+implementation
+[ 13.515334] camellia_sparc64: Using sparc64 camellia opcodes
+optimized CAMELLIA implementation
+[ 13.522856] pktcdvd: setup of pktcdvd device failed
+[ 13.529327] pktcdvd: setup of pktcdvd device failed
+[ 13.532932] pktcdvd: setup of pktcdvd device failed
+[ 13.536165] pktcdvd: setup of pktcdvd device failed
+[ 13.539372] pktcdvd: setup of pktcdvd device failed
+[ 13.542834] pktcdvd: setup of pktcdvd device failed
+[ 13.546536] pktcdvd: setup of pktcdvd device failed
+[ 15.431071] XFS (dm-0): Mounting V5 Filesystem
+...
+
+Apparently debian auto-attaches any cdrom like device to pktcdvd, which
+can lead to the above warning. There's really no reason to warn for this
+situation, kill it.
+
+Reported-by: Anatoly Pugachev <matorola@gmail.com>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/block/pktcdvd.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
+index 024060165afa..76457003f140 100644
+--- a/drivers/block/pktcdvd.c
++++ b/drivers/block/pktcdvd.c
+@@ -2594,7 +2594,6 @@ static int pkt_new_dev(struct pktcdvd_device *pd, dev_t dev)
+ if (ret)
+ return ret;
+ if (!blk_queue_scsi_passthrough(bdev_get_queue(bdev))) {
+- WARN_ONCE(true, "Attempt to register a non-SCSI queue\n");
+ blkdev_put(bdev, FMODE_READ | FMODE_NDELAY);
+ return -EINVAL;
+ }
+--
+2.16.4
+
diff --git a/patches.suse/pwm-Clear-chip_data-in-pwm_put.patch b/patches.suse/pwm-Clear-chip_data-in-pwm_put.patch
new file mode 100644
index 0000000000..4b4cfd991d
--- /dev/null
+++ b/patches.suse/pwm-Clear-chip_data-in-pwm_put.patch
@@ -0,0 +1,78 @@
+From e926b12c611c2095c7976e2ed31753ad6eb5ff1a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Mon, 25 Mar 2019 10:49:33 +0100
+Subject: [PATCH] pwm: Clear chip_data in pwm_put()
+Mime-version: 1.0
+Content-type: text/plain; charset=UTF-8
+Content-transfer-encoding: 8bit
+Git-commit: e926b12c611c2095c7976e2ed31753ad6eb5ff1a
+Patch-mainline: v5.2-rc1
+References: bsc#1051510
+
+After a PWM is disposed by its user the per chip data becomes invalid.
+Clear the data in common code instead of the device drivers to get
+consistent behaviour. Before this patch only three of nine drivers
+cleaned up here.
+
+Signed-off-by: Uwe Kleine-K├Ânig <u.kleine-koenig@pengutronix.de>
+Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pwm/core.c | 1 +
+ drivers/pwm/pwm-berlin.c | 1 -
+ drivers/pwm/pwm-pca9685.c | 1 -
+ drivers/pwm/pwm-samsung.c | 1 -
+ 4 files changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
+index 8c9200a0df5e..3998ebd51db4 100644
+--- a/drivers/pwm/core.c
++++ b/drivers/pwm/core.c
+@@ -877,6 +877,7 @@ void pwm_put(struct pwm_device *pwm)
+ if (pwm->chip->ops->free)
+ pwm->chip->ops->free(pwm->chip, pwm);
+
++ pwm_set_chip_data(pwm, NULL);
+ pwm->label = NULL;
+
+ module_put(pwm->chip->ops->owner);
+diff --git a/drivers/pwm/pwm-berlin.c b/drivers/pwm/pwm-berlin.c
+index 7c8d6a168ceb..b91c477cc84b 100644
+--- a/drivers/pwm/pwm-berlin.c
++++ b/drivers/pwm/pwm-berlin.c
+@@ -84,7 +84,6 @@ static void berlin_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
+ {
+ struct berlin_pwm_channel *channel = pwm_get_chip_data(pwm);
+
+- pwm_set_chip_data(pwm, NULL);
+ kfree(channel);
+ }
+
+diff --git a/drivers/pwm/pwm-pca9685.c b/drivers/pwm/pwm-pca9685.c
+index a7eaf962a95b..567f5e2771c4 100644
+--- a/drivers/pwm/pwm-pca9685.c
++++ b/drivers/pwm/pwm-pca9685.c
+@@ -176,7 +176,6 @@ static void pca9685_pwm_gpio_free(struct gpio_chip *gpio, unsigned int offset)
+ pm_runtime_put(pca->chip.dev);
+ mutex_lock(&pca->lock);
+ pwm = &pca->chip.pwms[offset];
+- pwm_set_chip_data(pwm, NULL);
+ mutex_unlock(&pca->lock);
+ }
+
+diff --git a/drivers/pwm/pwm-samsung.c b/drivers/pwm/pwm-samsung.c
+index 062f2cfc45ec..3762432dd6a7 100644
+--- a/drivers/pwm/pwm-samsung.c
++++ b/drivers/pwm/pwm-samsung.c
+@@ -238,7 +238,6 @@ static int pwm_samsung_request(struct pwm_chip *chip, struct pwm_device *pwm)
+ static void pwm_samsung_free(struct pwm_chip *chip, struct pwm_device *pwm)
+ {
+ devm_kfree(chip->dev, pwm_get_chip_data(pwm));
+- pwm_set_chip_data(pwm, NULL);
+ }
+
+ static int pwm_samsung_enable(struct pwm_chip *chip, struct pwm_device *pwm)
+--
+2.16.4
+
diff --git a/patches.suse/pwm-clps711x-Fix-period-calculation.patch b/patches.suse/pwm-clps711x-Fix-period-calculation.patch
new file mode 100644
index 0000000000..78730ef5fd
--- /dev/null
+++ b/patches.suse/pwm-clps711x-Fix-period-calculation.patch
@@ -0,0 +1,47 @@
+From b0f17570b8203c22f139459c86cfbaa0311313ed Mon Sep 17 00:00:00 2001
+From: Alexander Shiyan <shc_work@mail.ru>
+Date: Wed, 19 Dec 2018 13:39:24 +0300
+Subject: [PATCH] pwm: clps711x: Fix period calculation
+Git-commit: b0f17570b8203c22f139459c86cfbaa0311313ed
+Patch-mainline: v5.0-rc1
+References: bsc#1051510
+
+Commit e39c0df1be5a ("pwm: Introduce the pwm_args concept") has
+changed the variable for the period for clps711x-pwm driver, so now
+pwm_get/set_period() works with pwm->state.period variable instead
+of pwm->args.period.
+This patch changes the period variable in other places where it is used.
+
+Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
+Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pwm/pwm-clps711x.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/pwm/pwm-clps711x.c b/drivers/pwm/pwm-clps711x.c
+index 26ec24e457b1..7e16b7def0dc 100644
+--- a/drivers/pwm/pwm-clps711x.c
++++ b/drivers/pwm/pwm-clps711x.c
+@@ -48,7 +48,7 @@ static void clps711x_pwm_update_val(struct clps711x_chip *priv, u32 n, u32 v)
+ static unsigned int clps711x_get_duty(struct pwm_device *pwm, unsigned int v)
+ {
+ /* Duty cycle 0..15 max */
+- return DIV_ROUND_CLOSEST(v * 0xf, pwm_get_period(pwm));
++ return DIV_ROUND_CLOSEST(v * 0xf, pwm->args.period);
+ }
+
+ static int clps711x_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
+@@ -71,7 +71,7 @@ static int clps711x_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
+ struct clps711x_chip *priv = to_clps711x_chip(chip);
+ unsigned int duty;
+
+- if (period_ns != pwm_get_period(pwm))
++ if (period_ns != pwm->args.period)
+ return -EINVAL;
+
+ duty = clps711x_get_duty(pwm, duty_ns);
+--
+2.16.4
+
diff --git a/patches.suse/scsi-qla2xxx-Added-support-for-MPI-and-PEP-regions-f.patch b/patches.suse/scsi-qla2xxx-Added-support-for-MPI-and-PEP-regions-f.patch
new file mode 100644
index 0000000000..4f57762a23
--- /dev/null
+++ b/patches.suse/scsi-qla2xxx-Added-support-for-MPI-and-PEP-regions-f.patch
@@ -0,0 +1,79 @@
+From: Michael Hernandez <mhernandez@marvell.com>
+Date: Tue, 3 Dec 2019 14:36:56 -0800
+Subject: scsi: qla2xxx: Added support for MPI and PEP regions for ISP28XX
+Patch-mainline: Queued in subsystem maintainer repository
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: a530bf691f0e4691214562c165e6c8889dc51e57
+References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
+
+This patch adds support for MPI/PEP region updates which is required with
+secure flash updates for ISP28XX.
+
+Fixes: 3f006ac342c0 ("scsi: qla2xxx: Secure flash update support for ISP28XX")
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20191203223657.22109-3-hmadhani@marvell.com
+Signed-off-by: Michael Hernandez <mhernandez@marvell.com>
+Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Acked-by: Daniel Wagner <dwagner@suse.de>
+---
+ drivers/scsi/qla2xxx/qla_fw.h | 4 ++++
+ drivers/scsi/qla2xxx/qla_sup.c | 27 ++++++++++++++++++++++-----
+ 2 files changed, 26 insertions(+), 5 deletions(-)
+
+--- a/drivers/scsi/qla2xxx/qla_fw.h
++++ b/drivers/scsi/qla2xxx/qla_fw.h
+@@ -1523,6 +1523,10 @@ struct qla_flt_header {
+ #define FLT_REG_NVRAM_SEC_28XX_1 0x10F
+ #define FLT_REG_NVRAM_SEC_28XX_2 0x111
+ #define FLT_REG_NVRAM_SEC_28XX_3 0x113
++#define FLT_REG_MPI_PRI_28XX 0xD3
++#define FLT_REG_MPI_SEC_28XX 0xF0
++#define FLT_REG_PEP_PRI_28XX 0xD1
++#define FLT_REG_PEP_SEC_28XX 0xF1
+
+ struct qla_flt_region {
+ uint16_t code;
+--- a/drivers/scsi/qla2xxx/qla_sup.c
++++ b/drivers/scsi/qla2xxx/qla_sup.c
+@@ -2725,8 +2725,11 @@ qla28xx_write_flash_data(scsi_qla_host_t
+ ql_log(ql_log_warn + ql_dbg_verbose, vha, 0xffff,
+ "Region %x is secure\n", region.code);
+
+- if (region.code == FLT_REG_FW ||
+- region.code == FLT_REG_FW_SEC_27XX) {
++ switch (region.code) {
++ case FLT_REG_FW:
++ case FLT_REG_FW_SEC_27XX:
++ case FLT_REG_MPI_PRI_28XX:
++ case FLT_REG_MPI_SEC_28XX:
+ fw_array = dwptr;
+
+ /* 1st fw array */
+@@ -2757,9 +2760,23 @@ qla28xx_write_flash_data(scsi_qla_host_t
+ buf_size_without_sfub += risc_size;
+ fw_array += risc_size;
+ }
+- } else {
+- ql_log(ql_log_warn + ql_dbg_verbose, vha, 0xffff,
+- "Secure region %x not supported\n",
++ break;
++
++ case FLT_REG_PEP_PRI_28XX:
++ case FLT_REG_PEP_SEC_28XX:
++ fw_array = dwptr;
++
++ /* 1st fw array */
++ risc_size = be32_to_cpu(fw_array[3]);
++ risc_attr = be32_to_cpu(fw_array[9]);
++
++ buf_size_without_sfub = risc_size;
++ fw_array += risc_size;
++ break;
++
++ default:
++ ql_log(ql_log_warn + ql_dbg_verbose, vha,
++ 0xffff, "Secure region %x not supported\n",
+ region.code);
+ rval = QLA_COMMAND_ERROR;
+ goto done;
diff --git a/patches.suse/scsi-qla2xxx-Correctly-retrieve-and-interpret-active.patch b/patches.suse/scsi-qla2xxx-Correctly-retrieve-and-interpret-active.patch
new file mode 100644
index 0000000000..0579720549
--- /dev/null
+++ b/patches.suse/scsi-qla2xxx-Correctly-retrieve-and-interpret-active.patch
@@ -0,0 +1,69 @@
+From: Himanshu Madhani <hmadhani@marvell.com>
+Date: Tue, 3 Dec 2019 14:36:55 -0800
+Subject: scsi: qla2xxx: Correctly retrieve and interpret active flash region
+Patch-mainline: Queued in subsystem maintainer repository
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: 4e71dcae0c4cd1e9d19b8b3d80214a4bcdca5a42
+References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
+
+ISP27XX/28XX supports multiple flash regions. This patch fixes issue where
+active flash region was not interpreted correctly during secure flash
+update process.
+
+[mkp: typo]
+
+Fixes: 5fa8774c7f38c ("scsi: qla2xxx: Add 28xx flash primary/secondary status/image mechanism")
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20191203223657.22109-2-hmadhani@marvell.com
+Signed-off-by: Michael Hernandez <mhernandez@marvell.com>
+Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Acked-by: Daniel Wagner <dwagner@suse.de>
+---
+ drivers/scsi/qla2xxx/qla_attr.c | 1 +
+ drivers/scsi/qla2xxx/qla_bsg.c | 2 +-
+ drivers/scsi/qla2xxx/qla_sup.c | 6 +++---
+ 3 files changed, 5 insertions(+), 4 deletions(-)
+
+--- a/drivers/scsi/qla2xxx/qla_attr.c
++++ b/drivers/scsi/qla2xxx/qla_attr.c
+@@ -178,6 +178,7 @@ qla2x00_sysfs_read_nvram(struct file *fi
+
+ faddr = ha->flt_region_nvram;
+ if (IS_QLA28XX(ha)) {
++ qla28xx_get_aux_images(vha, &active_regions);
+ if (active_regions.aux.vpd_nvram == QLA27XX_SECONDARY_IMAGE)
+ faddr = ha->flt_region_nvram_sec;
+ }
+--- a/drivers/scsi/qla2xxx/qla_bsg.c
++++ b/drivers/scsi/qla2xxx/qla_bsg.c
+@@ -2399,7 +2399,7 @@ qla2x00_get_flash_image_status(struct bs
+ struct qla_active_regions regions = { };
+ struct active_regions active_regions = { };
+
+- qla28xx_get_aux_images(vha, &active_regions);
++ qla27xx_get_active_image(vha, &active_regions);
+ regions.global_image = active_regions.global;
+
+ if (IS_QLA28XX(ha)) {
+--- a/drivers/scsi/qla2xxx/qla_sup.c
++++ b/drivers/scsi/qla2xxx/qla_sup.c
+@@ -847,15 +847,15 @@ qla2xxx_get_flt_info(scsi_qla_host_t *vh
+ ha->flt_region_img_status_pri = start;
+ break;
+ case FLT_REG_IMG_SEC_27XX:
+- if (IS_QLA27XX(ha) && !IS_QLA28XX(ha))
++ if (IS_QLA27XX(ha) || IS_QLA28XX(ha))
+ ha->flt_region_img_status_sec = start;
+ break;
+ case FLT_REG_FW_SEC_27XX:
+- if (IS_QLA27XX(ha) && !IS_QLA28XX(ha))
++ if (IS_QLA27XX(ha) || IS_QLA28XX(ha))
+ ha->flt_region_fw_sec = start;
+ break;
+ case FLT_REG_BOOTLOAD_SEC_27XX:
+- if (IS_QLA27XX(ha) && !IS_QLA28XX(ha))
++ if (IS_QLA27XX(ha) || IS_QLA28XX(ha))
+ ha->flt_region_boot_sec = start;
+ break;
+ case FLT_REG_AUX_IMG_PRI_28XX:
diff --git a/patches.suse/scsi-qla2xxx-Fix-incorrect-SFUB-length-used-for-Secu.patch b/patches.suse/scsi-qla2xxx-Fix-incorrect-SFUB-length-used-for-Secu.patch
new file mode 100644
index 0000000000..aebecaee55
--- /dev/null
+++ b/patches.suse/scsi-qla2xxx-Fix-incorrect-SFUB-length-used-for-Secu.patch
@@ -0,0 +1,33 @@
+From: Michael Hernandez <mhernandez@marvell.com>
+Date: Tue, 3 Dec 2019 14:36:57 -0800
+Subject: scsi: qla2xxx: Fix incorrect SFUB length used for Secure Flash Update
+ MB Cmd
+Patch-mainline: Queued in subsystem maintainer repository
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Git-commit: c868907e1ac6a08a17f8fa9ce482c0a496896e9e
+References: bsc#1157424, bsc#1157908, bsc#1157169, bsc#1151548
+
+SFUB length should be in DWORDs when passed to FW.
+
+Fixes: 3f006ac342c03 ("scsi: qla2xxx: Secure flash update support for ISP28XX")
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20191203223657.22109-4-hmadhani@marvell.com
+Signed-off-by: Michael Hernandez <mhernandez@marvell.com>
+Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Acked-by: Daniel Wagner <dwagner@suse.de>
+---
+ drivers/scsi/qla2xxx/qla_sup.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/scsi/qla2xxx/qla_sup.c
++++ b/drivers/scsi/qla2xxx/qla_sup.c
+@@ -2897,7 +2897,7 @@ qla28xx_write_flash_data(scsi_qla_host_t
+ "Sending Secure Flash MB Cmd\n");
+ rval = qla28xx_secure_flash_update(vha, 0, region.code,
+ buf_size_without_sfub, sfub_dma,
+- sizeof(struct secure_flash_update_block));
++ sizeof(struct secure_flash_update_block) >> 2);
+ if (rval != QLA_SUCCESS) {
+ ql_log(ql_log_warn, vha, 0xffff,
+ "Secure Flash MB Cmd failed %x.", rval);
diff --git a/patches.suse/scsi-qla2xxx-Fix-qla2x00_request_irqs-for-MSI.patch b/patches.suse/scsi-qla2xxx-Fix-qla2x00_request_irqs-for-MSI.patch
index 8c9961f5a4..22baaf7c0a 100644
--- a/patches.suse/scsi-qla2xxx-Fix-qla2x00_request_irqs-for-MSI.patch
+++ b/patches.suse/scsi-qla2xxx-Fix-qla2x00_request_irqs-for-MSI.patch
@@ -1,8 +1,7 @@
From: Huacai Chen <chenhc@lemote.com>
Date: Thu, 21 Nov 2019 13:40:47 +0800
Subject: scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 45dc8f2d9c94ed74a5e31e63e9136a19a7e16081
References: bsc#1157424, bsc#1157908. bsc#1117169, bsc#1151548
diff --git a/patches.suse/scsi-qla2xxx-fix-rports-not-being-mark-as-lost-in-sy.patch b/patches.suse/scsi-qla2xxx-fix-rports-not-being-mark-as-lost-in-sy.patch
index f08bb39efe..07ff24929e 100644
--- a/patches.suse/scsi-qla2xxx-fix-rports-not-being-mark-as-lost-in-sy.patch
+++ b/patches.suse/scsi-qla2xxx-fix-rports-not-being-mark-as-lost-in-sy.patch
@@ -1,8 +1,7 @@
From: Martin Wilck <mwilck@suse.com>
Date: Fri, 22 Nov 2019 22:19:22 +0000
Subject: scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: d341e9a8f2cffe4000c610225c629f62c7489c74
References: bsc#1138039
diff --git a/patches.suse/scsi-qla2xxx-unregister-ports-after-GPN_FT-failure.patch b/patches.suse/scsi-qla2xxx-unregister-ports-after-GPN_FT-failure.patch
index 0a21265159..492ed40aa9 100644
--- a/patches.suse/scsi-qla2xxx-unregister-ports-after-GPN_FT-failure.patch
+++ b/patches.suse/scsi-qla2xxx-unregister-ports-after-GPN_FT-failure.patch
@@ -1,8 +1,7 @@
From: Martin Wilck <mwilck@suse.com>
Date: Fri, 22 Nov 2019 22:19:24 +0000
Subject: scsi: qla2xxx: unregister ports after GPN_FT failure
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: c8a347931869bf4373bfd4036d297b8e11ab48ab
References: bsc#1138039
diff --git a/patches.suse/spi-omap2-mcspi-Fix-DMA-and-FIFO-event-trigger-size-.patch b/patches.suse/spi-omap2-mcspi-Fix-DMA-and-FIFO-event-trigger-size-.patch
new file mode 100644
index 0000000000..a8e38f1fd0
--- /dev/null
+++ b/patches.suse/spi-omap2-mcspi-Fix-DMA-and-FIFO-event-trigger-size-.patch
@@ -0,0 +1,49 @@
+From baf8b9f8d260c55a86405f70a384c29cda888476 Mon Sep 17 00:00:00 2001
+From: Vignesh R <vigneshr@ti.com>
+Date: Tue, 15 Jan 2019 12:28:32 +0530
+Subject: [PATCH] spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch
+Git-commit: baf8b9f8d260c55a86405f70a384c29cda888476
+Patch-mainline: v5.1-rc1
+References: bsc#1051510
+
+Commit b682cffa3ac6 ("spi: omap2-mcspi: Set FIFO DMA trigger level to word length")
+broke SPI transfers where bits_per_word != 8. This is because of
+mimsatch between McSPI FIFO level event trigger size (SPI word length) and
+DMA request size(word length * maxburst). This leads to data
+corruption, lockup and errors like:
+
+ spi1.0: EOW timed out
+
+Fix this by setting DMA maxburst size to 1 so that
+McSPI FIFO level event trigger size matches DMA request size.
+
+Fixes: b682cffa3ac6 ("spi: omap2-mcspi: Set FIFO DMA trigger level to word length")
+Cc: stable@vger.kernel.org
+Reported-by: David Lechner <david@lechnology.com>
+Tested-by: David Lechner <david@lechnology.com>
+Signed-off-by: Vignesh R <vigneshr@ti.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/spi/spi-omap2-mcspi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
+index 2fd8881fcd65..8be304379628 100644
+--- a/drivers/spi/spi-omap2-mcspi.c
++++ b/drivers/spi/spi-omap2-mcspi.c
+@@ -623,8 +623,8 @@ omap2_mcspi_txrx_dma(struct spi_device *spi, struct spi_transfer *xfer)
+ cfg.dst_addr = cs->phys + OMAP2_MCSPI_TX0;
+ cfg.src_addr_width = width;
+ cfg.dst_addr_width = width;
+- cfg.src_maxburst = es;
+- cfg.dst_maxburst = es;
++ cfg.src_maxburst = 1;
++ cfg.dst_maxburst = 1;
+
+ rx = xfer->rx_buf;
+ tx = xfer->tx_buf;
+--
+2.16.4
+
diff --git a/patches.suse/spi-omap2-mcspi-Set-FIFO-DMA-trigger-level-to-word-l.patch b/patches.suse/spi-omap2-mcspi-Set-FIFO-DMA-trigger-level-to-word-l.patch
new file mode 100644
index 0000000000..4bd8de8002
--- /dev/null
+++ b/patches.suse/spi-omap2-mcspi-Set-FIFO-DMA-trigger-level-to-word-l.patch
@@ -0,0 +1,112 @@
+From b682cffa3ac6d9d9e16e9b413c45caee3b391fab Mon Sep 17 00:00:00 2001
+From: Vignesh R <vigneshr@ti.com>
+Date: Mon, 15 Oct 2018 12:08:28 +0530
+Subject: [PATCH] spi: omap2-mcspi: Set FIFO DMA trigger level to word length
+Git-commit: b682cffa3ac6d9d9e16e9b413c45caee3b391fab
+Patch-mainline: v4.20-rc1
+References: bsc#1051510
+
+McSPI has 32 byte FIFO in Transmit-Receive mode. Current code tries to
+configuration FIFO watermark level for DMA trigger to be GCD of transfer
+length and max FIFO size which would mean trigger level may be set to 32
+for transmit-receive mode if length is aligned. This does not work in
+case of SPI slave mode where FIFO always needs to have data ready
+whenever master starts the clock. With DMA trigger size of 32 there will
+be a small window during slave TX where DMA is still putting data into
+FIFO but master would have started clock for next byte, resulting in
+shifting out of stale data. Similarly, on Slave RX side there may be RX
+FIFO overflow
+Fix this by setting FIFO watermark for DMA trigger to word
+length. This means DMA is triggered as soon as FIFO has space for word
+length bytes and DMA would make sure FIFO is almost always full
+therefore improving FIFO occupancy in both master and slave mode.
+
+Signed-off-by: Vignesh R <vigneshr@ti.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/spi/spi-omap2-mcspi.c | 26 +++++++-------------------
+ 1 file changed, 7 insertions(+), 19 deletions(-)
+
+diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
+index 985f00d8a964..88469bb22235 100644
+--- a/drivers/spi/spi-omap2-mcspi.c
++++ b/drivers/spi/spi-omap2-mcspi.c
+@@ -300,7 +300,7 @@ static void omap2_mcspi_set_fifo(const struct spi_device *spi,
+ struct omap2_mcspi_cs *cs = spi->controller_state;
+ struct omap2_mcspi *mcspi;
+ unsigned int wcnt;
+- int max_fifo_depth, fifo_depth, bytes_per_word;
++ int max_fifo_depth, bytes_per_word;
+ u32 chconf, xferlevel;
+
+ mcspi = spi_master_get_devdata(master);
+@@ -316,10 +316,6 @@ static void omap2_mcspi_set_fifo(const struct spi_device *spi,
+ else
+ max_fifo_depth = OMAP2_MCSPI_MAX_FIFODEPTH;
+
+- fifo_depth = gcd(t->len, max_fifo_depth);
+- if (fifo_depth < 2 || fifo_depth % bytes_per_word != 0)
+- goto disable_fifo;
+-
+ wcnt = t->len / bytes_per_word;
+ if (wcnt > OMAP2_MCSPI_MAX_FIFOWCNT)
+ goto disable_fifo;
+@@ -327,16 +323,17 @@ static void omap2_mcspi_set_fifo(const struct spi_device *spi,
+ xferlevel = wcnt << 16;
+ if (t->rx_buf != NULL) {
+ chconf |= OMAP2_MCSPI_CHCONF_FFER;
+- xferlevel |= (fifo_depth - 1) << 8;
++ xferlevel |= (bytes_per_word - 1) << 8;
+ }
++
+ if (t->tx_buf != NULL) {
+ chconf |= OMAP2_MCSPI_CHCONF_FFET;
+- xferlevel |= fifo_depth - 1;
++ xferlevel |= bytes_per_word - 1;
+ }
+
+ mcspi_write_reg(master, OMAP2_MCSPI_XFERLEVEL, xferlevel);
+ mcspi_write_chconf0(spi, chconf);
+- mcspi->fifo_depth = fifo_depth;
++ mcspi->fifo_depth = max_fifo_depth;
+
+ return;
+ }
+@@ -576,7 +573,6 @@ omap2_mcspi_txrx_dma(struct spi_device *spi, struct spi_transfer *xfer)
+ struct dma_slave_config cfg;
+ enum dma_slave_buswidth width;
+ unsigned es;
+- u32 burst;
+ void __iomem *chstat_reg;
+ void __iomem *irqstat_reg;
+ int wait_res;
+@@ -596,22 +592,14 @@ omap2_mcspi_txrx_dma(struct spi_device *spi, struct spi_transfer *xfer)
+ }
+
+ count = xfer->len;
+- burst = 1;
+-
+- if (mcspi->fifo_depth > 0) {
+- if (count > mcspi->fifo_depth)
+- burst = mcspi->fifo_depth / es;
+- else
+- burst = count / es;
+- }
+
+ memset(&cfg, 0, sizeof(cfg));
+ cfg.src_addr = cs->phys + OMAP2_MCSPI_RX0;
+ cfg.dst_addr = cs->phys + OMAP2_MCSPI_TX0;
+ cfg.src_addr_width = width;
+ cfg.dst_addr_width = width;
+- cfg.src_maxburst = burst;
+- cfg.dst_maxburst = burst;
++ cfg.src_maxburst = es;
++ cfg.dst_maxburst = es;
+
+ rx = xfer->rx_buf;
+ tx = xfer->tx_buf;
+--
+2.16.4
+
diff --git a/patches.suse/stm-class-Fix-a-double-free-of-stm_source_device.patch b/patches.suse/stm-class-Fix-a-double-free-of-stm_source_device.patch
new file mode 100644
index 0000000000..077039b0de
--- /dev/null
+++ b/patches.suse/stm-class-Fix-a-double-free-of-stm_source_device.patch
@@ -0,0 +1,41 @@
+From 961b6ffe0e2c403b09a8efe4a2e986b3c415391a Mon Sep 17 00:00:00 2001
+From: Ding Xiang <dingxiang@cmss.chinamobile.com>
+Date: Wed, 21 Aug 2019 10:49:52 +0300
+Subject: [PATCH] stm class: Fix a double free of stm_source_device
+Git-commit: 961b6ffe0e2c403b09a8efe4a2e986b3c415391a
+Patch-mainline: v5.3-rc7
+References: bsc#1051510
+
+In the error path of stm_source_register_device(), the kfree is
+unnecessary, as the put_device() before it ends up calling
+stm_source_device_release() to free stm_source_device, leading to
+a double free at the outer kfree() call. Remove it.
+
+Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com>
+Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Fixes: 7bd1d4093c2fa ("stm class: Introduce an abstraction for System Trace Module devices")
+Link: https://lore.kernel.org/linux-arm-kernel/1563354988-23826-1-git-send-email-dingxiang@cmss.chinamobile.com/
+Cc: stable@vger.kernel.org # v4.4+
+Link: https://lore.kernel.org/r/20190821074955.3925-2-alexander.shishkin@linux.intel.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/hwtracing/stm/core.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c
+index e55b902560de..181e7ff1ec4f 100644
+--- a/drivers/hwtracing/stm/core.c
++++ b/drivers/hwtracing/stm/core.c
+@@ -1276,7 +1276,6 @@ int stm_source_register_device(struct device *parent,
+
+ err:
+ put_device(&src->dev);
+- kfree(src);
+
+ return err;
+ }
+--
+2.16.4
+
diff --git a/patches.suse/uaccess-Add-non-pagefault-user-space-write-function.patch b/patches.suse/uaccess-Add-non-pagefault-user-space-write-function.patch
new file mode 100644
index 0000000000..0e65e4de32
--- /dev/null
+++ b/patches.suse/uaccess-Add-non-pagefault-user-space-write-function.patch
@@ -0,0 +1,126 @@
+From: Daniel Borkmann <daniel@iogearbox.net>
+Date: Sat, 2 Nov 2019 00:17:56 +0100
+Subject: uaccess: Add non-pagefault user-space write function
+Patch-mainline: v5.5-rc1
+Git-commit: 1d1585ca0f48fe7ed95c3571f3e4a82b2b5045dc
+References: bsc#1083647
+
+Commit 3d7081822f7f ("uaccess: Add non-pagefault user-space read functions")
+missed to add probe write function, therefore factor out a probe_write_common()
+helper with most logic of probe_kernel_write() except setting KERNEL_DS, and
+add a new probe_user_write() helper so it can be used from BPF side.
+
+Again, on some archs, the user address space and kernel address space can
+co-exist and be overlapping, so in such case, setting KERNEL_DS would mean
+that the given address is treated as being in kernel address space.
+
+Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
+Signed-off-by: Alexei Starovoitov <ast@kernel.org>
+Acked-by: Andrii Nakryiko <andriin@fb.com>
+Cc: Masami Hiramatsu <mhiramat@kernel.org>
+Link: https://lore.kernel.org/bpf/9df2542e68141bfa3addde631441ee45503856a8.1572649915.git.daniel@iogearbox.net
+Acked-by: Gary Lin <glin@suse.com>
+
+NOTE (Gary Lin): The parameter for access_ok() is tweaked to fit 4.12.
+
+---
+ include/linux/uaccess.h | 12 ++++++++++++
+ mm/maccess.c | 46 ++++++++++++++++++++++++++++++++++++++++++----
+ 2 files changed, 54 insertions(+), 4 deletions(-)
+
+--- a/include/linux/uaccess.h
++++ b/include/linux/uaccess.h
+@@ -283,6 +283,18 @@ extern long __probe_kernel_read(void *ds
+ extern long notrace probe_kernel_write(void *dst, const void *src, size_t size);
+ extern long notrace __probe_kernel_write(void *dst, const void *src, size_t size);
+
++/*
++ * probe_user_write(): safely attempt to write to a location in user space
++ * @dst: address to write to
++ * @src: pointer to the data that shall be written
++ * @size: size of the data chunk
++ *
++ * Safely write to address @dst from the buffer at @src. If a kernel fault
++ * happens, handle that and return -EFAULT.
++ */
++extern long notrace probe_user_write(void __user *dst, const void *src, size_t size);
++extern long notrace __probe_user_write(void __user *dst, const void *src, size_t size);
++
+ extern long strncpy_from_unsafe(char *dst, const void *unsafe_addr, long count);
+
+ /**
+--- a/mm/maccess.c
++++ b/mm/maccess.c
+@@ -5,6 +5,18 @@
+ #include <linux/mm.h>
+ #include <linux/uaccess.h>
+
++static __always_inline long
++probe_write_common(void __user *dst, const void *src, size_t size)
++{
++ long ret;
++
++ pagefault_disable();
++ ret = __copy_to_user_inatomic(dst, src, size);
++ pagefault_enable();
++
++ return ret ? -EFAULT : 0;
++}
++
+ /**
+ * probe_kernel_read(): safely attempt to read from a location
+ * @dst: pointer to the buffer that shall take the data
+@@ -48,6 +60,7 @@ EXPORT_SYMBOL_GPL(probe_kernel_read);
+ * Safely write to address @dst from the buffer at @src. If a kernel fault
+ * happens, handle that and return -EFAULT.
+ */
++
+ long __weak probe_kernel_write(void *dst, const void *src, size_t size)
+ __attribute__((alias("__probe_kernel_write")));
+
+@@ -57,16 +70,41 @@ long __probe_kernel_write(void *dst, con
+ mm_segment_t old_fs = get_fs();
+
+ set_fs(KERNEL_DS);
+- pagefault_disable();
+- ret = __copy_to_user_inatomic((__force void __user *)dst, src, size);
+- pagefault_enable();
++ ret = probe_write_common((__force void __user *)dst, src, size);
+ set_fs(old_fs);
+
+- return ret ? -EFAULT : 0;
++ return ret;
+ }
+ EXPORT_SYMBOL_GPL(probe_kernel_write);
+
+ /**
++ * probe_user_write(): safely attempt to write to a user-space location
++ * @dst: address to write to
++ * @src: pointer to the data that shall be written
++ * @size: size of the data chunk
++ *
++ * Safely write to address @dst from the buffer at @src. If a kernel fault
++ * happens, handle that and return -EFAULT.
++ */
++
++long __weak probe_user_write(void __user *dst, const void *src, size_t size)
++ __attribute__((alias("__probe_user_write")));
++
++long __probe_user_write(void __user *dst, const void *src, size_t size)
++{
++ long ret = -EFAULT;
++ mm_segment_t old_fs = get_fs();
++
++ set_fs(USER_DS);
++ if (access_ok(VERIFY_WRITE, dst, size))
++ ret = probe_write_common(dst, src, size);
++ set_fs(old_fs);
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(probe_user_write);
++
++/**
+ * strncpy_from_unsafe: - Copy a NUL terminated string from unsafe address.
+ * @dst: Destination address, in kernel space. This buffer must be at
+ * least @count bytes long.
diff --git a/patches.suse/vfs-fix-preadv64v2-and-pwritev64v2-compat-syscalls-w.patch b/patches.suse/vfs-fix-preadv64v2-and-pwritev64v2-compat-syscalls-w.patch
new file mode 100644
index 0000000000..2177536ba3
--- /dev/null
+++ b/patches.suse/vfs-fix-preadv64v2-and-pwritev64v2-compat-syscalls-w.patch
@@ -0,0 +1,52 @@
+From cc4b1242d7e3b42eed73881fc749944146493e4f Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Thu, 6 Dec 2018 20:05:34 +0100
+Subject: [PATCH] vfs: fix preadv64v2 and pwritev64v2 compat syscalls with offset == -1
+Git-commit: cc4b1242d7e3b42eed73881fc749944146493e4f
+Patch-mainline: v5.1-rc1
+References: bsc#1051510
+
+The preadv2 and pwritev2 syscalls are supposed to emulate the readv and
+writev syscalls when offset == -1. Therefore the compat code should
+check for offset before calling do_compat_preadv64 and
+do_compat_pwritev64. This is the case for the preadv2 and pwritev2
+syscalls, but handling of offset == -1 is missing in their 64-bit
+equivalent.
+
+This patch fixes that, calling do_compat_readv and do_compat_writev when
+offset == -1. This fixes the following glibc tests on x32:
+ - misc/tst-preadvwritev2
+ - misc/tst-preadvwritev64v2
+
+Cc: Alexander Viro <viro@zeniv.linux.org.uk>
+Cc: H.J. Lu <hjl.tools@gmail.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ fs/read_write.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/fs/read_write.c
++++ b/fs/read_write.c
+@@ -1249,6 +1249,9 @@ COMPAT_SYSCALL_DEFINE5(preadv64v2, unsig
+ const struct compat_iovec __user *,vec,
+ unsigned long, vlen, loff_t, pos, int, flags)
+ {
++ if (pos == -1)
++ return do_compat_readv(fd, vec, vlen, flags);
++
+ return do_compat_preadv64(fd, vec, vlen, pos, flags);
+ }
+ #endif
+@@ -1355,6 +1358,9 @@ COMPAT_SYSCALL_DEFINE5(pwritev64v2, unsi
+ const struct compat_iovec __user *,vec,
+ unsigned long, vlen, loff_t, pos, int, flags)
+ {
++ if (pos == -1)
++ return do_compat_writev(fd, vec, vlen, flags);
++
+ return do_compat_pwritev64(fd, vec, vlen, pos, flags);
+ }
+ #endif
diff --git a/patches.suse/x86-speculation-fix-incorrect-mds-taa-mitigation-status.patch b/patches.suse/x86-speculation-fix-incorrect-mds-taa-mitigation-status.patch
new file mode 100644
index 0000000000..8e8a0fd746
--- /dev/null
+++ b/patches.suse/x86-speculation-fix-incorrect-mds-taa-mitigation-status.patch
@@ -0,0 +1,159 @@
+From: Waiman Long <longman@redhat.com>
+Date: Fri, 15 Nov 2019 11:14:44 -0500
+Subject: x86/speculation: Fix incorrect MDS/TAA mitigation status
+Git-commit: 64870ed1b12e235cfca3f6c6da75b542c973ff78
+Patch-mainline: v5.5-rc1
+References: bsc#1114279
+
+For MDS vulnerable processors with TSX support, enabling either MDS or
+TAA mitigations will enable the use of VERW to flush internal processor
+buffers at the right code path. IOW, they are either both mitigated
+or both not. However, if the command line options are inconsistent,
+the vulnerabilites sysfs files may not report the mitigation status
+correctly.
+
+For example, with only the "mds=off" option:
+
+ vulnerabilities/mds:Vulnerable; SMT vulnerable
+ vulnerabilities/tsx_async_abort:Mitigation: Clear CPU buffers; SMT vulnerable
+
+The mds vulnerabilities file has wrong status in this case. Similarly,
+the taa vulnerability file will be wrong with mds mitigation on, but
+taa off.
+
+Change taa_select_mitigation() to sync up the two mitigation status
+and have them turned off if both "mds=off" and "tsx_async_abort=off"
+are present.
+
+Update documentation to emphasize the fact that both "mds=off" and
+"tsx_async_abort=off" have to be specified together for processors that
+are affected by both TAA and MDS to be effective.
+
+ [ bp: Massage and add kernel-parameters.txt change too. ]
+
+Fixes: 1b42f017415b ("x86/speculation/taa: Add mitigation for TSX Async Abort")
+Signed-off-by: Waiman Long <longman@redhat.com>
+Signed-off-by: Borislav Petkov <bp@suse.de>
+Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Cc: "H. Peter Anvin" <hpa@zytor.com>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Jiri Kosina <jkosina@suse.cz>
+Cc: Jonathan Corbet <corbet@lwn.net>
+Cc: Josh Poimboeuf <jpoimboe@redhat.com>
+Cc: linux-doc@vger.kernel.org
+Cc: Mark Gross <mgross@linux.intel.com>
+Cc: <stable@vger.kernel.org>
+Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Tim Chen <tim.c.chen@linux.intel.com>
+Cc: Tony Luck <tony.luck@intel.com>
+Cc: Tyler Hicks <tyhicks@canonical.com>
+Cc: x86-ml <x86@kernel.org>
+Link: https://lkml.kernel.org/r/20191115161445.30809-2-longman@redhat.com
+---
+ Documentation/admin-guide/hw-vuln/mds.rst | 7 +++++--
+ Documentation/admin-guide/hw-vuln/tsx_async_abort.rst | 5 ++++-
+ Documentation/admin-guide/kernel-parameters.txt | 11 +++++++++++
+ arch/x86/kernel/cpu/bugs.c | 17 +++++++++++++++--
+ 4 files changed, 35 insertions(+), 5 deletions(-)
+
+diff --git a/Documentation/admin-guide/hw-vuln/mds.rst b/Documentation/admin-guide/hw-vuln/mds.rst
+index e3a796c0d3a2..2d19c9f4c1fe 100644
+--- a/Documentation/admin-guide/hw-vuln/mds.rst
++++ b/Documentation/admin-guide/hw-vuln/mds.rst
+@@ -265,8 +265,11 @@ time with the option "mds=". The valid arguments for this option are:
+
+ ============ =============================================================
+
+-Not specifying this option is equivalent to "mds=full".
+-
++Not specifying this option is equivalent to "mds=full". For processors
++that are affected by both TAA (TSX Asynchronous Abort) and MDS,
++specifying just "mds=off" without an accompanying "tsx_async_abort=off"
++will have no effect as the same mitigation is used for both
++vulnerabilities.
+
+ Mitigation selection guide
+ --------------------------
+diff --git a/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst b/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
+index fddbd7579c53..af6865b822d2 100644
+--- a/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
++++ b/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
+@@ -174,7 +174,10 @@ the option "tsx_async_abort=". The valid arguments for this option are:
+ CPU is not vulnerable to cross-thread TAA attacks.
+ ============ =============================================================
+
+-Not specifying this option is equivalent to "tsx_async_abort=full".
++Not specifying this option is equivalent to "tsx_async_abort=full". For
++processors that are affected by both TAA and MDS, specifying just
++"tsx_async_abort=off" without an accompanying "mds=off" will have no
++effect as the same mitigation is used for both vulnerabilities.
+
+ The kernel command line also allows to control the TSX feature using the
+ parameter "tsx=" on CPUs which support TSX control. MSR_IA32_TSX_CTRL is used
+diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
+index 8dee8f68fe15..9983ac73b66d 100644
+--- a/Documentation/admin-guide/kernel-parameters.txt
++++ b/Documentation/admin-guide/kernel-parameters.txt
+@@ -2473,6 +2473,12 @@
+ SMT on vulnerable CPUs
+ off - Unconditionally disable MDS mitigation
+
++ On TAA-affected machines, mds=off can be prevented by
++ an active TAA mitigation as both vulnerabilities are
++ mitigated with the same mechanism so in order to disable
++ this mitigation, you need to specify tsx_async_abort=off
++ too.
++
+ Not specifying this option is equivalent to
+ mds=full.
+
+@@ -4931,6 +4937,11 @@
+ vulnerable to cross-thread TAA attacks.
+ off - Unconditionally disable TAA mitigation
+
++ On MDS-affected machines, tsx_async_abort=off can be
++ prevented by an active MDS mitigation as both vulnerabilities
++ are mitigated with the same mechanism so in order to disable
++ this mitigation, you need to specify mds=off too.
++
+ Not specifying this option is equivalent to
+ tsx_async_abort=full. On CPUs which are MDS affected
+ and deploy MDS mitigation, TAA mitigation is not
+diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
+index 4c7b0fa15a19..cb513eaa0df1 100644
+--- a/arch/x86/kernel/cpu/bugs.c
++++ b/arch/x86/kernel/cpu/bugs.c
+@@ -304,8 +304,12 @@ static void __init taa_select_mitigation(void)
+ return;
+ }
+
+- /* TAA mitigation is turned off on the cmdline (tsx_async_abort=off) */
+- if (taa_mitigation == TAA_MITIGATION_OFF)
++ /*
++ * TAA mitigation via VERW is turned off if both
++ * tsx_async_abort=off and mds=off are specified.
++ */
++ if (taa_mitigation == TAA_MITIGATION_OFF &&
++ mds_mitigation == MDS_MITIGATION_OFF)
+ goto out;
+
+ if (boot_cpu_has(X86_FEATURE_MD_CLEAR))
+@@ -339,6 +343,15 @@ static void __init taa_select_mitigation(void)
+ if (taa_nosmt || cpu_mitigations_auto_nosmt())
+ cpu_smt_disable(false);
+
++ /*
++ * Update MDS mitigation, if necessary, as the mds_user_clear is
++ * now enabled for TAA mitigation.
++ */
++ if (mds_mitigation == MDS_MITIGATION_OFF &&
++ boot_cpu_has_bug(X86_BUG_MDS)) {
++ mds_mitigation = MDS_MITIGATION_FULL;
++ mds_select_mitigation();
++ }
+ out:
+ pr_info("%s\n", taa_strings[taa_mitigation]);
+ }
+
diff --git a/patches.suse/x86-speculation-fix-redundant-mds-mitigation-message.patch b/patches.suse/x86-speculation-fix-redundant-mds-mitigation-message.patch
new file mode 100644
index 0000000000..be9b7aef58
--- /dev/null
+++ b/patches.suse/x86-speculation-fix-redundant-mds-mitigation-message.patch
@@ -0,0 +1,80 @@
+From: Waiman Long <longman@redhat.com>
+Date: Fri, 15 Nov 2019 11:14:45 -0500
+Subject: x86/speculation: Fix redundant MDS mitigation message
+Git-commit: cd5a2aa89e847bdda7b62029d94e95488d73f6b2
+Patch-mainline: v5.5-rc1
+References: bsc#1114279
+
+Since MDS and TAA mitigations are inter-related for processors that are
+affected by both vulnerabilities, the followiing confusing messages can
+be printed in the kernel log:
+
+ MDS: Vulnerable
+ MDS: Mitigation: Clear CPU buffers
+
+To avoid the first incorrect message, defer the printing of MDS
+mitigation after the TAA mitigation selection has been done. However,
+that has the side effect of printing TAA mitigation first before MDS
+mitigation.
+
+ [ bp: Check box is affected/mitigations are disabled first before
+ printing and massage. ]
+
+Suggested-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
+Signed-off-by: Waiman Long <longman@redhat.com>
+Signed-off-by: Borislav Petkov <bp@suse.de>
+Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Cc: "H. Peter Anvin" <hpa@zytor.com>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Josh Poimboeuf <jpoimboe@redhat.com>
+Cc: Mark Gross <mgross@linux.intel.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Tim Chen <tim.c.chen@linux.intel.com>
+Cc: Tony Luck <tony.luck@intel.com>
+Cc: Tyler Hicks <tyhicks@canonical.com>
+Cc: x86-ml <x86@kernel.org>
+Link: https://lkml.kernel.org/r/20191115161445.30809-3-longman@redhat.com
+---
+ arch/x86/kernel/cpu/bugs.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
+index cb513eaa0df1..8bf64899f56a 100644
+--- a/arch/x86/kernel/cpu/bugs.c
++++ b/arch/x86/kernel/cpu/bugs.c
+@@ -39,6 +39,7 @@ static void __init spectre_v2_select_mitigation(void);
+ static void __init ssb_select_mitigation(void);
+ static void __init l1tf_select_mitigation(void);
+ static void __init mds_select_mitigation(void);
++static void __init mds_print_mitigation(void);
+ static void __init taa_select_mitigation(void);
+
+ /* The base value of the SPEC_CTRL MSR that always has to be preserved. */
+@@ -108,6 +109,12 @@ void __init check_bugs(void)
+ mds_select_mitigation();
+ taa_select_mitigation();
+
++ /*
++ * As MDS and TAA mitigations are inter-related, print MDS
++ * mitigation until after TAA mitigation selection is done.
++ */
++ mds_print_mitigation();
++
+ arch_smt_update();
+
+ #ifdef CONFIG_X86_32
+@@ -245,6 +252,12 @@ static void __init mds_select_mitigation(void)
+ (mds_nosmt || cpu_mitigations_auto_nosmt()))
+ cpu_smt_disable(false);
+ }
++}
++
++static void __init mds_print_mitigation(void)
++{
++ if (!boot_cpu_has_bug(X86_BUG_MDS) || cpu_mitigations_off())
++ return;
+
+ pr_info("%s\n", mds_strings[mds_mitigation]);
+ }
+
diff --git a/scripts/git_sort/README.md b/scripts/git_sort/README.md
index 09b09cf3a7..75767c3f07 100644
--- a/scripts/git_sort/README.md
+++ b/scripts/git_sort/README.md
@@ -292,8 +292,12 @@ Example of a merge conflict resolution involving sorted patches in series.conf
When merging or rebasing between commits in kernel-source it is possible that
there is a conflict involving sorted patches in series.conf. This type of
conflict can be solved automatically using the git mergetool interface with
-the script merge_tool.py. Please see the header of that file for installation
-instructions.
+the script merge_tool.py. To set up the merge tool, add a section like this
+to git config:
+
+ [mergetool "git-sort"]
+ cmd = scripts/git_sort/merge_tool.py $LOCAL $BASE $REMOTE $MERGED
+ trustExitCode = true
When using the merge tool, the LINUX_GIT reference repository must fetch from
the repositories which are the upstream source of patches which were added in
diff --git a/scripts/log2 b/scripts/log2
index 25ad680b4e..01e7086225 100755
--- a/scripts/log2
+++ b/scripts/log2
@@ -379,12 +379,22 @@ while [ -n "$1" ] ; do
case "$1" in
--no-edit) no_edit=--no-edit
;;
+ --amend) amend=yes
+ ;;
*) echo Unknown argument "$1" >&2
;;
esac
shift
done
+if [ -n "$amend" ]; then
+ if [ $(git rev-list HEAD^.. | wc -l) -gt 1 ]; then
+ echo "ERROR: cannot use --amend option on the merge commit HEAD."
+ exit 1
+ fi
+ git reset --soft HEAD^
+fi
+
trap 'rm -rf "$tmpdir"' EXIT
tmpdir=$(mktemp -d /tmp/${0##*/}.XXXXXX)
diff --git a/scripts/osc_wrapper b/scripts/osc_wrapper
index 5a8b93c23a..64bb1e223b 100755
--- a/scripts/osc_wrapper
+++ b/scripts/osc_wrapper
@@ -281,7 +281,8 @@ do_build()
setup_api $api
rm -rf "$(dirname "$spec")/.osc"
- osc build --local-package --alternative-project="$PROJECT" \
+ osc build --no-service --local-package \
+ --alternative-project="$PROJECT" \
"${osc_args[@]}" standard "$spec"
}
diff --git a/scripts/stableids b/scripts/stableids
index b47533a71c..6ff27aaafe 100755
--- a/scripts/stableids
+++ b/scripts/stableids
@@ -79,9 +79,11 @@ foreach my $rev (@revs) {
if (/^[Cc]ommit ($sha_re) upstream\.?$/ ||
/^[\[(]\s*[Uu]pstream commit ($sha_re)\s*[\])]$/ ||
/^[uU]pstream commit ($sha_re)\.$/ ||
- /^This is a backport of ($sha_re)$/ ||
- /^\(cherry picked from commit ($sha_re)\)$/) {
+ /^This is a backport of ($sha_re)$/) {
push @shas, $1;
+ } elsif (/^\(cherry picked from commit ($sha_re)\)$/) {
+ # if this is not the first SHA, it's likely DRM crap
+ push(@shas, $1) if (!scalar @shas);
} elsif (/^[\[(]\s*[Uu]pstream commits ($sha_re)\s+and\s*$/) {
push @shas, $1;
$cont = 1;
diff --git a/series.conf b/series.conf
index a936ce1e74..67431a6184 100644
--- a/series.conf
+++ b/series.conf
@@ -9122,6 +9122,7 @@
patches.suse/e1000e-Be-drop-monitor-friendly.patch
patches.suse/igb-check-memory-allocation-failure.patch
patches.suse/net-dst-move-cpu-inside-ifdef-to-avoid-compilation-w.patch
+ patches.suse/net-phy-at803x-Change-error-to-EINVAL-for-invalid-MA.patch
patches.suse/net-hns3-make-local-functions-static.patch
patches.suse/net-smc-replace-function-pointer-get_netdev.patch
patches.suse/net-smc-dev_put-for-netdev-after-usage-of-ib_query_g.patch
@@ -11179,6 +11180,7 @@
patches.suse/net-phy-marvell-Limit-88m1101-autoneg-errata-to-88E1.patch
patches.suse/sctp-add-SCTP_CID_RECONF-conversion-in-sctp_cname.patch
patches.suse/net-bridge-fix-early-call-to-br_stp_change_bridge_id.patch
+ patches.suse/net-phy-xgene-disable-clk-on-error-paths.patch
patches.suse/nl80211-fix-nl80211_send_iface-error-paths
patches.suse/mac80211_hwsim-Fix-a-possible-sleep-in-atomic-bug-in
patches.suse/tg3-Fix-rx-hang-on-MTU-change-with-5717-5719.patch
@@ -12571,6 +12573,7 @@
patches.suse/xfrm-Fix-xfrm_replay_overflow_offload_esn.patch
patches.suse/ipvlan-remove-excessive-packet-scrubbing.patch
patches.suse/qmi_wwan-set-FLAG_SEND_ZLP-to-avoid-network-initiate
+ patches.suse/net-phy-meson-gxl-check-phy_write-return-value.patch
patches.suse/net-Introduce-NETIF_F_GRO_HW.patch
patches.suse/net-Disable-GRO_HW-when-generic-XDP-is-installed-on-.patch
patches.suse/bnxt_en-Use-NETIF_F_GRO_HW.patch
@@ -14584,6 +14587,9 @@
patches.suse/mmc-dw_mmc-exynos-fix-the-suspend-resume-issue-for-e
patches.suse/mmc-core-Disable-HPI-for-certain-Micron-Numonyx-eMMC
patches.suse/mmc-dw_mmc-fix-falling-from-idmac-to-PIO-mode-when-d
+ patches.suse/net-phy-marvell-Use-strlcpy-for-ethtool-get_strings.patch
+ patches.suse/net-phy-micrel-Use-strlcpy-for-ethtool-get_strings.patch
+ patches.suse/net-phy-broadcom-Use-strlcpy-for-ethtool-get_strings.patch
patches.suse/net-Only-honor-ifindex-in-IP_PKTINFO-if-non-0.patch
patches.suse/rhashtable-Fix-rhlist-duplicates-insertion
patches.suse/Bluetooth-btusb-Remove-Yoga-920-from-the-btusb_needs
@@ -16219,6 +16225,7 @@
patches.suse/ipv6-add-RTA_TABLE-and-RTA_PREFSRC-to-rtm_ipv6_polic.patch
patches.suse/0006-ipvs-fix-rtnl_lock-lockups-caused-by-start_sync_thre.patch
patches.suse/0007-netfilter-nf_tables-can-t-fail-after-linking-rule-in.patch
+ patches.suse/net-phy-marvell-clear-wol-event-before-setting-it.patch
patches.suse/l2tp-check-sockaddr-length-in-pppol2tp_connect.patch
patches.suse/pppoe-check-sockaddr-length-in-pppoe_connect.patch
patches.suse/amd-xgbe-Add-pre-post-auto-negotiation-phy-hooks.patch
@@ -19045,6 +19052,8 @@
patches.suse/netns-get-more-entropy-from-net_hash_mix.patch
patches.suse/cxgb4-Add-flag-tc_flower_initialized.patch
patches.suse/0001-cxgb4-Add-new-T5-PCI-device-id-0x50ae.patch
+ patches.suse/net-phy-xgmiitorgmii-Check-phy_driver-ready-before-a.patch
+ patches.suse/net-phy-xgmiitorgmii-Check-read_status-results.patch
patches.suse/net-hns3-rename-the-interface-for-init_client_instan.patch
patches.suse/net-hns3-add-unlikely-for-error-check.patch
patches.suse/0001-cxgb4-Add-support-for-FW_ETH_TX_PKT_VM_WR.patch
@@ -19122,6 +19131,7 @@
patches.suse/be2net-gather-debug-info-and-reset-adapter-only-for-.patch
patches.suse/be2net-Update-the-driver-version-to-12.0.0.0.patch
patches.suse/net-hns3-fix-return-value-error-while-hclge_cmd_csq_.patch
+ patches.suse/net-phy-Fix-the-register-offsets-in-Broadcom-iProc-m.patch
patches.suse/net-hns3-Fix-MSIX-allocation-issue-for-VF.patch
patches.suse/ethtool-Remove-trailing-semicolon-for-static-inline.patch
patches.suse/ip-discard-IPv4-datagrams-with-overlapping-segments.patch
@@ -20338,6 +20348,7 @@
patches.suse/spi-pic32-Use-proper-enum-in-dmaengine_prep_slave_rg.patch
patches.suse/spi-fsl-lpspi-Prevent-FIFO-under-overrun-by-default.patch
patches.suse/spi-spidev-Fix-OF-tree-warning-logic.patch
+ patches.suse/spi-omap2-mcspi-Set-FIFO-DMA-trigger-level-to-word-l.patch
patches.suse/0001-mmc-sdhci-of-arasan-Do-now-show-error-message-in-cas.patch
patches.suse/mmc-sdhci-pci-o2micro-Add-quirk-for-O2-Micro-dev-0x8.patch
patches.suse/mmc-mediatek-fix-cannot-receive-new-request-when-msd.patch
@@ -20357,6 +20368,7 @@
patches.suse/0001-ipmi-ssif-Add-support-for-multi-part-transmit-messag.patch
patches.suse/ipmi-Fix-timer-race-with-module-unload.patch
patches.suse/pcmcia-Implement-CLKRUN-protocol-disabling-for-Ricoh.patch
+ patches.suse/PM-Domains-Deal-with-multiple-states-but-no-governor.patch
patches.suse/cpufreq-conservative-Take-limits-changes-into-accoun.patch
patches.suse/x86-hibernate-fix-nosave_regions-setup-for-hibernation
patches.suse/PM-hibernate-Check-the-success-of-generating-md5-dig.patch
@@ -20416,6 +20428,8 @@
patches.suse/net-hns3-Fix-ping-exited-problem-when-doing-lp-selft.patch
patches.suse/net-hns3-Preserve-vlan-0-in-hardware-table.patch
patches.suse/cxgb4-collect-hardware-queue-descriptors.patch
+ patches.suse/net-phy-mscc-read-vsc8531-vddmac-as-an-u32.patch
+ patches.suse/net-phy-mscc-read-vsc8531-edge-slowdown-as-an-u32.patch
patches.suse/cxgb4-impose-mandatory-VLAN-usage-when-non-zero-TAG-.patch
patches.suse/cxgb4-remove-redundant-assignment-to-vlan_cmd.dropno.patch
patches.suse/0001-cxgb4-add-per-rx-queue-counter-for-packet-errors.patch
@@ -21498,6 +21512,7 @@
patches.suse/tun-forbid-iface-creation-with-rtnl-ops.patch
patches.suse/net-phy-don-t-allow-__set_phy_supported-to-add-unsup.patch
patches.suse/net-8139cp-fix-a-BUG-triggered-by-changing-mtu-with-.patch
+ patches.suse/net-phy-Fix-not-to-call-phy_resume-if-PHY-is-not-att.patch
patches.suse/net-ibmvnic-Fix-RTNL-deadlock-during-device-reset.patch
patches.suse/sctp-kfree_rcu-asoc.patch
patches.suse/mv88e6060-disable-hardware-level-MAC-learning.patch
@@ -21680,6 +21695,7 @@
patches.suse/ACPICA-Use-d-for-signed-int-print-formatting-instead.patch
patches.suse/ACPI-LPSS-Ignore-acpi_device_fix_up_power-return-val.patch
patches.suse/ACPI-APEI-Clear-GHES-block_status-before-panic.patch
+ patches.suse/pwm-clps711x-Fix-period-calculation.patch
patches.suse/drivers-regulator-fix-a-missing-check-of-return-valu.patch
patches.suse/regulator-tps65910-fix-a-missing-check-of-return-val.patch
patches.suse/spi-bcm2835-Avoid-finishing-transfer-prematurely-in-.patch
@@ -22524,6 +22540,7 @@
patches.suse/mailbox-bcm-flexrm-mailbox-Fix-FlexRM-ring-flush-tim.patch
patches.suse/mac80211-Free-mpath-object-when-rhashtable-insertion.patch
patches.suse/mac80211-Restore-vif-beacon-interval-if-start-ap-fai.patch
+ patches.suse/net-phy-xgmiitorgmii-Support-generic-PHY-status-read.patch
patches.suse/net-Fix-for_each_netdev_feature-on-Big-endian.patch
patches.suse/net-validate-untrusted-gso-packets-without-csum-offl.patch
patches.suse/net-Add-header-for-usage-of-fls64.patch
@@ -22620,6 +22637,7 @@
patches.suse/regulator-pv88090-Fix-array-out-of-bounds-access.patch
patches.suse/regulator-wm831x-dcdc-Fix-list-of-wm831x_dcdc_ilim-f.patch
patches.suse/regulator-act8865-Fix-act8600_sudcdc_voltage_ranges-.patch
+ patches.suse/spi-omap2-mcspi-Fix-DMA-and-FIFO-event-trigger-size-.patch
patches.suse/spi-topcliff_pch-Fix-potential-NULL-dereference-on-a.patch
patches.suse/spi-ti-qspi-Fix-mmap-read-when-more-than-one-CS-in-u.patch
patches.suse/spi-pxa2xx-Setup-maximum-supported-DMA-transfer-leng.patch
@@ -22636,6 +22654,7 @@
patches.suse/iwlwifi-mvm-fix-A-MPDU-reference-assignment.patch
patches.suse/0001-iwiwifi-fix-bad-monitor-buffer-register-addresses.patch
patches.suse/mt7601u-bump-supported-EEPROM-version.patch
+ patches.suse/net-phy-fixed_phy-Fix-fixed_phy-not-checking-GPIO.patch
patches.suse/net-smc-postpone-release-of-clcsock
patches.suse/net-smc-use-smc_curs_copy-for-smc-d
patches.suse/net-smc-unlock-lgr-pending-lock-earlier-for-smc-d
@@ -23073,6 +23092,7 @@
patches.suse/kernel-sysctl.c-add-missing-range-check-in-do_proc_d.patch
patches.suse/fsdevpts-always-delete-dcache-dentry-s-in-dput.patch
patches.suse/splice-dont-merge-into-linked-buffers.patch
+ patches.suse/vfs-fix-preadv64v2-and-pwritev64v2-compat-syscalls-w.patch
patches.suse/NFS-Fix-I-O-request-leakages.patch
patches.suse/NFS-Fix-an-I-O-request-leakage-in-nfs_do_recoalesce.patch
patches.suse/NFS-Don-t-recoalesce-on-error-in-nfs_pageio_complete.patch
@@ -24053,6 +24073,7 @@
patches.suse/pwm-meson-Consider-128-a-valid-pre-divider.patch
patches.suse/pwm-meson-Don-t-disable-PWM-when-setting-duty-repeat.patch
patches.suse/pwm-meson-Use-the-spin-lock-only-to-protect-register.patch
+ patches.suse/pwm-Clear-chip_data-in-pwm_put.patch
patches.suse/omapfb-add-missing-of_node_put-after-of_device_is_av.patch
patches.suse/video-hgafb-fix-potential-NULL-pointer-dereference.patch
patches.suse/video-imsttfb-fix-potential-NULL-pointer-dereference.patch
@@ -24267,6 +24288,7 @@
patches.suse/bonding-802.3ad-fix-slave-link-initialization-transi.patch
patches.suse/net-mvneta-Fix-err-code-path-of-probe.patch
patches.suse/llc-fix-skb-leak-in-llc_build_and_send_ui_pkt.patch
+ patches.suse/net-phy-dp83867-Set-up-RGMII-TX-delay.patch
patches.suse/net-mlx5-Fix-error-handling-in-mlx5_load.patch
patches.suse/net-mlx5-Avoid-double-free-in-fs-init-error-unwindin.patch
patches.suse/net-mlx5-Allocate-root-ns-memory-using-kzalloc-to-ma.patch
@@ -24654,6 +24676,7 @@
patches.suse/ext4-use-jbd2_inode-dirty-range-scoping.patch
patches.suse/Revert-e1000e-fix-cyclic-resets-at-link-up-with-acti.patch
patches.suse/e1000e-start-network-tx-queue-only-when-link-is-up.patch
+ patches.suse/net-phy-Check-against-net_device-being-NULL.patch
patches.suse/tua6100-Avoid-build-warnings.patch
patches.suse/net-ena-add-handling-of-llq-max-tx-burst-size.patch
patches.suse/net-ena-ethtool-add-extra-properties-retrieval-via-g.patch
@@ -25215,6 +25238,7 @@
patches.suse/USB-storage-ums-realtek-Whitelist-auto-delink-suppor.patch
patches.suse/usb-host-xhci-rcar-Fix-typo-in-compatible-string-mat.patch
patches.suse/USB-cdc-wdm-fix-race-between-write-and-disconnect-du.patch
+ patches.suse/stm-class-Fix-a-double-free-of-stm_source_device.patch
patches.suse/intel_th-pci-Add-support-for-another-Lewisburg-PCH.patch
patches.suse/intel_th-pci-Add-Tiger-Lake-support.patch
patches.suse/VMCI-Release-resource-if-the-work-is-already-queued.patch
@@ -25557,6 +25581,7 @@
patches.suse/hypfs-fix-error-number-left-in-struct-pointer-member
patches.suse/platform-x86-pmc_atom-Add-Siemens-SIMATIC-IPC277E-to.patch
patches.suse/mm-compaction.c-clear-total_-migrate-free-_scanned-before-scanning-a-new-zone.patch
+ patches.suse/pktcdvd-remove-warning-on-attempting-to-register-non.patch
patches.suse/ALSA-hda-realtek-Fix-alienware-headset-mic.patch
patches.suse/ALSA-hda-Apply-AMD-controller-workaround-for-Raven-p.patch
patches.suse/ALSA-hda-Add-laptop-imic-fixup-for-ASUS-M9V-laptop.patch
@@ -25931,6 +25956,10 @@
patches.suse/kvm-svm-guard-against-deactivate-when-performing-wbinvd-df_flush.patch
patches.suse/kvm-x86-introduce-vcpu-arch-xsaves_enabled
patches.suse/kvm-vmx-fix-conditions-for-guest-ia32_xss-support
+ patches.suse/kvm-x86-fix-presentation-of-tsx-feature-in-arch_capabilities
+ patches.suse/kvm-vmx-implement-msr_ia32_tsx_ctrl-disable-rtm-functionality
+ patches.suse/kvm-vmx-use-msr_ia32_tsx_ctrl-to-hard-disable-tsx-on-guest-that-lack-it
+ patches.suse/kvm-x86-remove-a-spurious-export-of-a-static-function
patches.suse/edac-ghes-fix-locking-and-memory-barrier-issues.patch
patches.suse/edac-ghes-do-not-warn-when-incrementing-refcount-on-0.patch
patches.suse/livepatch-keep-replaced-patches-until-post_patch-callback-is-called.patch
@@ -25948,6 +25977,8 @@
patches.suse/Bluetooth-hci_core-fix-init-for-HCI_USER_CHANNEL.patch
patches.suse/e1000e-Use-rtnl_lock-to-prevent-race-conditions-betw.patch
patches.suse/e1000e-Drop-unnecessary-__E1000_DOWN-bit-twiddling.patch
+ patches.suse/uaccess-Add-non-pagefault-user-space-write-function.patch
+ patches.suse/bpf-Make-use-of-probe_user_write-in-probe-write-help.patch
patches.suse/mt7601u-fix-bbp-version-check-in-mt7601u_wait_bbp_re.patch
patches.suse/rtlwifi-prevent-memory-leak-in-rtl_usb_probe.patch
patches.suse/libertas-fix-a-potential-NULL-pointer-dereference.patch
@@ -25972,6 +26003,8 @@
patches.suse/regulator-ab8500-Remove-SYSCLKREQ-from-enum-ab8505_r.patch
patches.suse/spi-atmel-fix-handling-of-cs_change-set-on-non-last-.patch
patches.suse/spi-atmel-Fix-CS-high-support.patch
+ patches.suse/x86-speculation-fix-incorrect-mds-taa-mitigation-status.patch
+ patches.suse/x86-speculation-fix-redundant-mds-mitigation-message.patch
patches.suse/cpufreq-powernv-fix-stack-bloat-and-hard-limit-on-nu.patch
patches.suse/PM-devfreq-Check-NULL-governor-in-available_governor.patch
patches.suse/PM-devfreq-Lock-devfreq-in-trans_stat_show.patch
@@ -26109,12 +26142,16 @@
patches.suse/tty-serial-pch_uart-correct-usage-of-dma_unmap_sg.patch
patches.suse/ACPI-OSL-only-free-map-once-in-osl.c.patch
patches.suse/ACPI-sysfs-Change-ACPI_MASKABLE_GPE_MAX-to-0x100.patch
+ patches.suse/kvm-x86-fix-out-of-bounds-write-in-kvm_get_emulated_cpuid-cve-2019-19332
patches.suse/thermal-Fix-deadlock-in-thermal-thermal_zone_device_.patch
patches.suse/moduleparam-fix-parameter-description-mismatch.patch
patches.suse/ALSA-hda-hdmi-fix-vgaswitcheroo-detection-for-AMD.patch
patches.suse/ALSA-hda-hdmi-Add-new-pci-ids-for-AMD-GPU-display-au.patch
patches.suse/ALSA-hda-realtek-Dell-headphone-has-noise-on-unmute-.patch
patches.suse/ALSA-pcm-oss-Avoid-potential-buffer-overflows.patch
+ patches.suse/scsi-qla2xxx-fix-rports-not-being-mark-as-lost-in-sy.patch
+ patches.suse/scsi-qla2xxx-unregister-ports-after-GPN_FT-failure.patch
+ patches.suse/scsi-qla2xxx-Fix-qla2x00_request_irqs-for-MSI.patch
# dhowells/linux-fs keys-uefi
patches.suse/0001-KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch
@@ -26124,10 +26161,23 @@
patches.suse/0005-MODSIGN-Allow-the-db-UEFI-variable-to-be-suppressed.patch
patches.suse/0006-modsign-Use-secondary-trust-keyring-for-module-signi.patch
- # mkp/scsi queue
- patches.suse/scsi-qla2xxx-fix-rports-not-being-mark-as-lost-in-sy.patch
- patches.suse/scsi-qla2xxx-unregister-ports-after-GPN_FT-failure.patch
- patches.suse/scsi-qla2xxx-Fix-qla2x00_request_irqs-for-MSI.patch
+ # mkp/scsi fixes
+ patches.suse/scsi-qla2xxx-Correctly-retrieve-and-interpret-active.patch
+ patches.suse/scsi-qla2xxx-Added-support-for-MPI-and-PEP-regions-f.patch
+ patches.suse/scsi-qla2xxx-Fix-incorrect-SFUB-length-used-for-Secu.patch
+ patches.suse/0001-scsi-qla2xxx-Ignore-NULL-pointer-in-tcm_qla2xxx_free.patch
+ patches.suse/0002-scsi-qla2xxx-Use-explicit-LOGO-in-target-mode.patch
+ patches.suse/0003-scsi-qla2xxx-Initialize-free_work-before-flushing-it.patch
+ patches.suse/0004-scsi-qla2xxx-Drop-superfluous-INIT_WORK-of-del_work.patch
+ patches.suse/0005-scsi-qla2xxx-Change-discovery-state-before-PLOGI.patch
+ patches.suse/0006-scsi-qla2xxx-Allow-PLOGI-in-target-mode.patch
+ patches.suse/0007-scsi-qla2xxx-Don-t-call-qlt_async_event-twice.patch
+ patches.suse/0008-scsi-qla2xxx-Fix-PLOGI-payload-and-ELS-IOCB-dump-len.patch
+ patches.suse/0009-scsi-qla2xxx-Configure-local-loop-for-N2N-target.patch
+ patches.suse/0010-scsi-qla2xxx-Send-Notify-ACK-after-N2N-PLOGI.patch
+ patches.suse/0011-scsi-qla2xxx-Don-t-defer-relogin-unconditonally.patch
+ patches.suse/0012-scsi-qla2xxx-Ignore-PORT-UPDATE-after-N2N-PLOGI.patch
+ patches.suse/0013-scsi-qla2xxx-Add-debug-dump-of-LOGO-payload-and-ELS-.patch
# out-of-tree patches
patches.kabi/kabi-drop-LINUX_MIB_TCPWQUEUETOOBIG-snmp-counter.patch
@@ -26494,21 +26544,6 @@
patches.kabi/kABI-fix-addition-of-new-field-in-struct-esp
patches.kabi/block-kABI-fixes-for-BLK_EH_DONE-renaming.patch
- # qla2xxx fixes from linux-scsi, 2019-11-25, v3 series from Roman Bolshakov
- patches.suse/0001-scsi-qla2xxx-Ignore-NULL-pointer-in-tcm_qla2xxx_free.patch
- patches.suse/0002-scsi-qla2xxx-Use-explicit-LOGO-in-target-mode.patch
- patches.suse/0003-scsi-qla2xxx-Initialize-free_work-before-flushing-it.patch
- patches.suse/0004-scsi-qla2xxx-Drop-superfluous-INIT_WORK-of-del_work.patch
- patches.suse/0005-scsi-qla2xxx-Change-discovery-state-before-PLOGI.patch
- patches.suse/0006-scsi-qla2xxx-Allow-PLOGI-in-target-mode.patch
- patches.suse/0007-scsi-qla2xxx-Don-t-call-qlt_async_event-twice.patch
- patches.suse/0008-scsi-qla2xxx-Fix-PLOGI-payload-and-ELS-IOCB-dump-len.patch
- patches.suse/0009-scsi-qla2xxx-Configure-local-loop-for-N2N-target.patch
- patches.suse/0010-scsi-qla2xxx-Send-Notify-ACK-after-N2N-PLOGI.patch
- patches.suse/0011-scsi-qla2xxx-Don-t-defer-relogin-unconditonally.patch
- patches.suse/0012-scsi-qla2xxx-Ignore-PORT-UPDATE-after-N2N-PLOGI.patch
- patches.suse/0013-scsi-qla2xxx-Add-debug-dump-of-LOGO-payload-and-ELS-.patch
-
########################################################
# DRM/Video
########################################################