Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKernel Build Daemon <kbuild@suse.de>2019-12-06 07:15:04 +0100
committerKernel Build Daemon <kbuild@suse.de>2019-12-06 07:15:04 +0100
commitf70e1bb518783466e0f4923ae86166a6e75c8662 (patch)
treef0fcf9f6eb14b06c684cde2987f82b8c9e4d1545
parent5c4c7a618264324f5eeff9e5e9311d852e408823 (diff)
parent4e1356c34dad69411f94487b7e6c38b89a20dd3a (diff)
Merge branch 'SLE15-SP1' into SLE15-SP1-AZURE
-rw-r--r--blacklist.conf16
-rw-r--r--patches.suse/0001-usb-cdc-acm-make-sure-a-refcount-is-taken-early-enou.patch2
-rw-r--r--patches.suse/0006-can-peak_usb-pcan_usb_pro-Fix-info-leaks-to-USB-devi.patch2
-rw-r--r--patches.suse/CIFS-Fix-SMB2-oplock-break-processing.patch3
-rw-r--r--patches.suse/Input-ff-memless-kill-timer-in-destroy.patch2
-rw-r--r--patches.suse/PCI-Apply-Cavium-ACS-quirk-to-ThunderX2-and-ThunderX.patch60
-rw-r--r--patches.suse/PCI-Fix-Intel-ACS-quirk-UPDCR-register-address.patch51
-rw-r--r--patches.suse/PCI-MSI-Fix-incorrect-MSI-X-masking-on-resume.patch62
-rw-r--r--patches.suse/PCI-PTM-Remove-spurious-d-from-granularity-message.patch41
-rw-r--r--patches.suse/PCI-dwc-Fix-find_next_bit-usage.patch56
-rw-r--r--patches.suse/PCI-rcar-Fix-missing-MACCTLR-register-setting-in-ini.patch67
-rw-r--r--patches.suse/PCI-tegra-Enable-Relaxed-Ordering-only-for-Tegra20-T.patch63
-rw-r--r--patches.suse/USB-iowarrior-fix-use-after-free-on-disconnect.patch2
-rw-r--r--patches.suse/USB-misc-appledisplay-fix-backlight-update_status-re.patch50
-rw-r--r--patches.suse/can-mcba_usb-fix-use-after-free-on-disconnect.patch2
-rw-r--r--patches.suse/can-peak_usb-fix-slab-info-leak.patch2
-rw-r--r--patches.suse/cifs-move-cifsFileInfo_put-logic-into-a-work-queue.patch3
-rw-r--r--patches.suse/compat_ioctl-handle-SIOCOUTQNSD.patch38
-rw-r--r--patches.suse/ftrace-introduce-permanent-ftrace_ops-flag.patch134
-rw-r--r--patches.suse/ieee802154-atusb-fix-use-after-free-at-disconnect.patch2
-rw-r--r--patches.suse/kvm-svm-guard-against-deactivate-when-performing-wbinvd-df_flush.patch85
-rw-r--r--patches.suse/kvm-svm-serialize-access-to-the-sev-asid-bitmap.patch104
-rw-r--r--patches.suse/livepatch-allow-to-distinguish-different-version-of-system-state-changes.patch166
-rw-r--r--patches.suse/livepatch-basic-api-to-track-system-state-changes.patch187
-rw-r--r--patches.suse/livepatch-create-and-include-UAPI-headers.patch12
-rw-r--r--patches.suse/livepatch-keep-replaced-patches-until-post_patch-callback-is-called.patch160
-rw-r--r--patches.suse/livepatch-selftests-of-the-api-for-tracking-system-state-changes.patch408
-rw-r--r--patches.suse/lpfc-add-additional-discovery-log-messages.patch3
-rw-r--r--patches.suse/lpfc-add-fa-wwn-async-event-reporting.patch3
-rw-r--r--patches.suse/lpfc-add-fc-al-support-to-lpe32000-models.patch3
-rw-r--r--patches.suse/lpfc-add-log-macros-to-allow-print-by-serverity-or.patch3
-rw-r--r--patches.suse/lpfc-fix-bad-ndlp-ptr-in-xri-aborted-handling.patch3
-rw-r--r--patches.suse/lpfc-fix-coverity-error-of-dereference-after-null.patch3
-rw-r--r--patches.suse/lpfc-fix-hardlockup-in-lpfc_abort_handler.patch3
-rw-r--r--patches.suse/lpfc-fix-lockdep-errors-in-sli_ringtx_put.patch3
-rw-r--r--patches.suse/lpfc-fix-lpfc_nvmet_mrq-to-be-bound-by-hdw-queue-count.patch3
-rw-r--r--patches.suse/lpfc-fix-reporting-of-read-only-fw-error-errors.patch3
-rw-r--r--patches.suse/lpfc-fix-sli3-hba-in-loop-mode-not-discovering-devices.patch3
-rw-r--r--patches.suse/lpfc-make-fw-logging-dynamically-configurable.patch3
-rw-r--r--patches.suse/lpfc-remove-lock-contention-target-write-path.patch3
-rw-r--r--patches.suse/lpfc-revise-interrupt-coalescing-for-missing-scenarios.patch3
-rw-r--r--patches.suse/lpfc-slight-fast-path-performance-optimizations.patch3
-rw-r--r--patches.suse/lpfc-update-lpfc-version-to-12.6.0.0.patch3
-rw-r--r--patches.suse/media-serial_ir-Fix-use-after-free-in-serial_ir_init.patch2
-rw-r--r--patches.suse/mlx5-add-parameter-to-disable-enhanced-IPoIB.patch46
-rw-r--r--patches.suse/mwifiex-Fix-heap-overflow-in-mmwifiex_process_tdls_a.patch167
-rw-r--r--patches.suse/net-smc-avoid-fallback-in-case-of-non-blocking-connect55
-rw-r--r--patches.suse/net-smc-do-not-schedule-tx_work-in-smc_closed-state45
-rw-r--r--patches.suse/net-smc-fix-closing-of-fallback-smc-sockets50
-rw-r--r--patches.suse/net-smc-fix-error-path-in-smc_init40
-rw-r--r--patches.suse/net-smc-fix-ethernet-interface-refcounting35
-rw-r--r--patches.suse/net-smc-fix-fastopen-for-non-blocking-connect37
-rw-r--r--patches.suse/net-smc-fix-refcount-non-blocking-connect-part-235
-rw-r--r--patches.suse/net-smc-fix-refcounting-for-non-blocking-connect43
-rw-r--r--patches.suse/net-smc-fix-smcd-link-group-creation-with-vlan-id40
-rw-r--r--patches.suse/net-smc-keep-vlan_id-for-smc-r-in-smc_listen_work35
-rw-r--r--patches.suse/net-smc-original-socket-family-in-inet_sock_diag49
-rw-r--r--patches.suse/powerpc-book3s64-hash-Use-secondary-hash-for-bolted-.patch3
-rw-r--r--patches.suse/powerpc-fadump-when-fadump-is-supported-register-the.patch3
-rw-r--r--patches.suse/powerpc-papr_scm-Fix-an-off-by-one-check-in-papr_scm.patch3
-rw-r--r--patches.suse/powerpc-pseries-Don-t-fail-hash-page-table-insert-fo.patch3
-rw-r--r--patches.suse/powerpc-pseries-Don-t-opencode-HPTE_V_BOLTED.patch3
-rw-r--r--patches.suse/powerpc-pseries-address-checkpatch-warnings-in-dlpar.patch3
-rw-r--r--patches.suse/powerpc-pseries-safely-roll-back-failed-DLPAR-cpu-ad.patch3
-rw-r--r--patches.suse/powerpc-security-Fix-wrong-message-when-RFI-Flush-is.patch3
-rw-r--r--patches.suse/powerpc-security-book3s64-Report-L1TF-status-in-sysf.patch3
-rw-r--r--patches.suse/powerpc-xive-Prevent-page-fault-issues-in-the-machin.patch3
-rw-r--r--patches.suse/printk-export-console_printk.patch30
-rw-r--r--patches.suse/s390-mm-properly-clear-page_noexec-bit-when-it-is-not-supported62
-rw-r--r--patches.suse/scsi-lpfc-Add-enablement-of-multiple-adapter-dumps.patch3
-rw-r--r--patches.suse/scsi-lpfc-Add-registration-for-CPU-Offline-Online-ev.patch3
-rw-r--r--patches.suse/scsi-lpfc-Change-default-IRQ-model-on-AMD-architectu.patch3
-rw-r--r--patches.suse/scsi-lpfc-Clarify-FAWNN-error-message.patch3
-rw-r--r--patches.suse/scsi-lpfc-Complete-removal-of-FCoE-T10-PI-support-on.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-GPF-on-scsi-command-completion.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-NULL-check-before-mempool_destroy-is-n.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-NVME-io-abort-failures-causing-hangs.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-NVMe-ABTS-in-response-to-receiving-an-.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_get.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_sli.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-configuration-of-BB-credit-recovery-in.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-coverity-errors-on-NULL-pointer-checks.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-device-recovery-errors-after-PLOGI-fai.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-discovery-failures-when-target-device-.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-duplicate-unreg_rpi-error-in-port-offl.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-dynamic-fw-log-enablement-check.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-hdwq-sgl-locks-and-irq-handling.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-host-hang-at-boot-or-slow-boot.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-kernel-crash-at-lpfc_nvme_info_show-du.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-list-corruption-detected-in-lpfc_put_s.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-list-corruption-in-lpfc_sli_get_iocbq.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-locking-on-mailbox-command-completion.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-lpfc_cpumask_of_node_init.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-miss-of-register-read-failure-check.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-premature-re-enabling-of-interrupts-in.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-pt2pt-discovery-on-SLI3-HBAs.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-rpi-release-when-deleting-vport.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-spinlock_irq-issues-in-lpfc_els_flush_.patch3
-rw-r--r--patches.suse/scsi-lpfc-Fix-unexpected-error-messages-during-RSCN-.patch3
-rw-r--r--patches.suse/scsi-lpfc-Initialize-cpu_map-for-not-present-cpus.patch3
-rw-r--r--patches.suse/scsi-lpfc-Make-function-lpfc_defer_pt2pt_acc-static.patch3
-rw-r--r--patches.suse/scsi-lpfc-Make-lpfc_debugfs_ras_log_data-static.patch3
-rw-r--r--patches.suse/scsi-lpfc-Sync-with-FC-NVMe-2-SLER-change-to-require.patch3
-rw-r--r--patches.suse/scsi-lpfc-Update-async-event-logging.patch3
-rw-r--r--patches.suse/scsi-lpfc-Update-lpfc-version-to-12.4.0.1.patch3
-rw-r--r--patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.1.patch3
-rw-r--r--patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.2.patch3
-rw-r--r--patches.suse/scsi-lpfc-cleanup-remove-unused-fcp_txcmlpq_cnt.patch3
-rw-r--r--patches.suse/scsi-lpfc-fix-Coverity-lpfc_cmpl_els_rsp-Null-pointe.patch3
-rw-r--r--patches.suse/scsi-lpfc-fix-Coverity-lpfc_get_scsi_buf_s3-Null-poi.patch3
-rw-r--r--patches.suse/scsi-lpfc-fix-build-error-of-lpfc_debugfs.c-for-vfre.patch3
-rw-r--r--patches.suse/scsi-lpfc-fix-inlining-of-lpfc_sli4_cleanup_poll_lis.patch3
-rw-r--r--patches.suse/scsi-lpfc-fix-spelling-error-in-MAGIC_NUMER_xxx.patch3
-rw-r--r--patches.suse/scsi-lpfc-lpfc_attr-Fix-Use-plain-integer-as-NULL-po.patch3
-rw-r--r--patches.suse/scsi-lpfc-lpfc_nvmet-Fix-Use-plain-integer-as-NULL-p.patch3
-rw-r--r--patches.suse/scsi-lpfc-revise-nvme-max-queues-to-be-hdwq-count.patch3
-rw-r--r--patches.suse/scsi-lpfc-use-hdwq-assigned-cpu-for-allocation.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Add-error-handling-for-PLOGI-ELS-passth.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Capture-FW-dump-on-MPI-heartbeat-stop-e.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Check-for-MB-timeout-while-capturing-IS.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Do-command-completion-on-abort-timeout.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Dual-FCP-NVMe-target-port-support.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Fix-SRB-leak-on-switch-command-timeout.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Fix-a-dma_pool_free-call.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Fix-device-connect-issues-in-P2P-config.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Fix-double-scsi_done-for-abort-path.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Fix-driver-unload-hang.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Improve-logging-for-scan-thread.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Remove-an-include-directive.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Retry-PLOGI-on-FC-NVMe-PRLI-failure.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Set-remove-flag-for-all-VP.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.20-k.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.21-k.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-don-t-use-zero-for-FC4_PRIORITY_NVME.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-initialize-fc4_type_priority.patch3
-rw-r--r--patches.suse/scsi-qla2xxx-remove-redundant-assignment-to-pointer-.patch3
-rw-r--r--patches.suse/sctp-change-sctp_prot-.no_autobind-with-true.patch27
-rw-r--r--patches.suse/synclink_gt-fix-compat_ioctl.patch62
-rw-r--r--patches.suse/tcp_nv-fix-potential-integer-overflow-in-tcpnv_acked.patch46
-rw-r--r--patches.suse/tipc-Avoid-copying-bytes-beyond-the-supplied-data.patch74
-rw-r--r--patches.suse/tipc-check-bearer-name-with-right-length-in-tipc_nl_.patch57
-rw-r--r--patches.suse/tipc-check-link-name-with-right-length-in-tipc_nl_co.patch45
-rw-r--r--patches.suse/tipc-check-msg-req-data-len-in-tipc_nl_compat_bearer.patch92
-rw-r--r--patches.suse/tipc-compat-allow-tipc-commands-without-arguments.patch90
-rw-r--r--patches.suse/tipc-fix-tipc_mon_delete-oops-in-tipc_enable_bearer-.patch85
-rw-r--r--patches.suse/tipc-fix-wrong-timeout-input-for-tipc_wait_for_cond.patch40
-rw-r--r--patches.suse/tipc-handle-the-err-returned-from-cmd-header-functio.patch81
-rw-r--r--patches.suse/tipc-pass-tunnel-dev-as-NULL-to-udp_tunnel-6-_xmit_s.patch94
-rw-r--r--patches.suse/tipc-tipc-clang-warning.patch69
-rw-r--r--patches.suse/tty-serial-fsl_lpuart-use-the-sg-count-from-dma_map_.patch44
-rw-r--r--patches.suse/tty-serial-imx-use-the-sg-count-from-dma_map_sg.patch38
-rw-r--r--patches.suse/tty-serial-msm_serial-Fix-flow-control.patch74
-rw-r--r--patches.suse/tty-serial-pch_uart-correct-usage-of-dma_unmap_sg.patch70
-rw-r--r--patches.suse/usb-yurex-Fix-use-after-free-in-yurex_delete.patch2
-rw-r--r--patches.suse/vsock-virtio-fix-sock-refcnt-holding-during-the-shut.patch46
-rw-r--r--series.conf100
-rw-r--r--supported.conf3
157 files changed, 3829 insertions, 240 deletions
diff --git a/blacklist.conf b/blacklist.conf
index 0ebd1055e1..e7e83b9e60 100644
--- a/blacklist.conf
+++ b/blacklist.conf
@@ -147,16 +147,18 @@ arch/powerpc/mm/ppc_mmu_32.c
arch/powerpc/mm/tlb_hash32.c
+fs/f2fs/ # Not compiled, has some fatal flaws (see bsc#1109665)
+
drivers/bus/brcmstb_gisb.c # driver for an internal bus on a settop box
+drivers/ide # IDE not shipped since SLE12
+drivers/pci/dwc/pci-dra7xx.c # config not enabled
+drivers/staging/android # we do not build android stuff
drivers/staging/lustre # not shipped
drivers/usb/renesas_usbhs # config not enabled
-tools/testing/selftests/ # Selftests should be run from upstream
-
-fs/f2fs/ # Not compiled, has some fatal flaws (see bsc#1109665)
security/smack # we don't enable Smack
-drivers/ide # IDE not shipped since SLE12
-driver/staging/android # we do not build android stuff
+
+tools/testing/selftests/ # Selftests should be run from upstream
# Blacklisted CVE entries
# -----------------------
@@ -1402,3 +1404,7 @@ cee7fb437edcdb2f9f8affa959e274997f5dca4d # Duplicate of 2d691aeca4aecbb8d0414a77
3b8720e63f4a1fc6f422a49ecbaa3b59c86d5aaf # Not required, breaks kabi: fbdev: Ditch fb_edid_add_monspecs
8b51dc7291473093c821195c4b6af85fadedbc2f # misattributed, needed only in Tumbleweed
db9492cef45efc347beed7b617dfdfac399f662b # reverted by a287a49e672d9762bb85de117b477bdf3ef20bd5
+bacb7e1855969bba78b32302453d2cc8ba0bc403 # we do not have 11fc7d5a0a2d
+d1f0b5dce8fda09a7f5f04c1878f181d548e42f5 # requires updating firmware
+1d200e9d6f635ae894993a7d0f1b9e0b6e522e3b # not really needed. No long BDI name in the kernel.
+880a98c339961eaa074393e3a2117cbe9125b8bb # 32-bit fix
diff --git a/patches.suse/0001-usb-cdc-acm-make-sure-a-refcount-is-taken-early-enou.patch b/patches.suse/0001-usb-cdc-acm-make-sure-a-refcount-is-taken-early-enou.patch
index a57409795f..135d7f5732 100644
--- a/patches.suse/0001-usb-cdc-acm-make-sure-a-refcount-is-taken-early-enou.patch
+++ b/patches.suse/0001-usb-cdc-acm-make-sure-a-refcount-is-taken-early-enou.patch
@@ -4,7 +4,7 @@ Date: Thu, 8 Aug 2019 16:21:19 +0200
Subject: [PATCH] usb: cdc-acm: make sure a refcount is taken early enough
Git-commit: c52873e5a1ef72f845526d9f6a50704433f9c625
Patch-mainline: v5.3-rc5
-References: bsc#1142635
+References: CVE-2019-19530 bsc#1158410 bsc#1142635
destroy() will decrement the refcount on the interface, so that
it needs to be taken so early that it never undercounts.
diff --git a/patches.suse/0006-can-peak_usb-pcan_usb_pro-Fix-info-leaks-to-USB-devi.patch b/patches.suse/0006-can-peak_usb-pcan_usb_pro-Fix-info-leaks-to-USB-devi.patch
index 85da45b793..0c68f3bf59 100644
--- a/patches.suse/0006-can-peak_usb-pcan_usb_pro-Fix-info-leaks-to-USB-devi.patch
+++ b/patches.suse/0006-can-peak_usb-pcan_usb_pro-Fix-info-leaks-to-USB-devi.patch
@@ -4,7 +4,7 @@ Date: Wed, 31 Jul 2019 10:54:47 -0400
Subject: [PATCH] can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices
Git-commit: ead16e53c2f0ed946d82d4037c630e2f60f4ab69
Patch-mainline: v5.3-rc4
-References: bsc#1051510
+References: CVE-2019-19536 bsc#1158394 bsc#1051510
Uninitialized Kernel memory can leak to USB devices.
diff --git a/patches.suse/CIFS-Fix-SMB2-oplock-break-processing.patch b/patches.suse/CIFS-Fix-SMB2-oplock-break-processing.patch
index 604ad95bfe..f8b4a8d346 100644
--- a/patches.suse/CIFS-Fix-SMB2-oplock-break-processing.patch
+++ b/patches.suse/CIFS-Fix-SMB2-oplock-break-processing.patch
@@ -2,7 +2,8 @@ From: Pavel Shilovsky <piastryyy@gmail.com>
Date: Thu, 31 Oct 2019 14:18:57 -0700
Subject: [PATCH] CIFS: Fix SMB2 oplock break processing
References: bsc#1144333 bsc#1154355
-Patch-mainline: Not yet, queued in for-next
+Patch-mainline: v5.5-rc1
+Git-commit: fa9c2362497fbd64788063288dc4e74daf977ebb
Even when mounting modern protocol version the server may be
configured without supporting SMB2.1 leases and the client
diff --git a/patches.suse/Input-ff-memless-kill-timer-in-destroy.patch b/patches.suse/Input-ff-memless-kill-timer-in-destroy.patch
index 18e8223d2b..4e62c701a1 100644
--- a/patches.suse/Input-ff-memless-kill-timer-in-destroy.patch
+++ b/patches.suse/Input-ff-memless-kill-timer-in-destroy.patch
@@ -4,7 +4,7 @@ Date: Fri, 15 Nov 2019 11:35:05 -0800
Subject: [PATCH] Input: ff-memless - kill timer in destroy()
Git-commit: fa3a5a1880c91bb92594ad42dfe9eedad7996b86
Patch-mainline: v5.4-rc8
-References: bsc#1051510
+References: CVE-2019-19524 bsc#1158413 bsc#1051510
No timer must be left running when the device goes away.
diff --git a/patches.suse/PCI-Apply-Cavium-ACS-quirk-to-ThunderX2-and-ThunderX.patch b/patches.suse/PCI-Apply-Cavium-ACS-quirk-to-ThunderX2-and-ThunderX.patch
new file mode 100644
index 0000000000..6f6968644e
--- /dev/null
+++ b/patches.suse/PCI-Apply-Cavium-ACS-quirk-to-ThunderX2-and-ThunderX.patch
@@ -0,0 +1,60 @@
+From f338bb9f0179cb959977b74e8331b312264d720b Mon Sep 17 00:00:00 2001
+From: George Cherian <george.cherian@marvell.com>
+Date: Mon, 11 Nov 2019 02:43:03 +0000
+Subject: [PATCH] PCI: Apply Cavium ACS quirk to ThunderX2 and ThunderX3
+Git-commit: f338bb9f0179cb959977b74e8331b312264d720b
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+Enhance the ACS quirk for Cavium Processors. Add the root port vendor IDs
+for ThunderX2 and ThunderX3 series of processors.
+
+[bhelgaas: add Fixes: and stable tag]
+Fixes: f2ddaf8dfd4a ("PCI: Apply Cavium ThunderX ACS quirk to more Root Ports")
+Link: https://lore.kernel.org/r/20191111024243.GA11408@dc5-eodlnx05.marvell.com
+Signed-off-by: George Cherian <george.cherian@marvell.com>
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Reviewed-by: Robert Richter <rrichter@marvell.com>
+Cc: stable@vger.kernel.org # v4.12+
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pci/quirks.c | 20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+index d5d57cd91a5e..2544e210b984 100644
+--- a/drivers/pci/quirks.c
++++ b/drivers/pci/quirks.c
+@@ -4347,15 +4347,21 @@ static int pci_quirk_amd_sb_acs(struct pci_dev *dev, u16 acs_flags)
+
+ static bool pci_quirk_cavium_acs_match(struct pci_dev *dev)
+ {
++ if (!pci_is_pcie(dev) || pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT)
++ return false;
++
++ switch (dev->device) {
+ /*
+- * Effectively selects all downstream ports for whole ThunderX 1
+- * family by 0xf800 mask (which represents 8 SoCs), while the lower
+- * bits of device ID are used to indicate which subdevice is used
+- * within the SoC.
++ * Effectively selects all downstream ports for whole ThunderX1
++ * (which represents 8 SoCs).
+ */
+- return (pci_is_pcie(dev) &&
+- (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) &&
+- ((dev->device & 0xf800) == 0xa000));
++ case 0xa000 ... 0xa7ff: /* ThunderX1 */
++ case 0xaf84: /* ThunderX2 */
++ case 0xb884: /* ThunderX3 */
++ return true;
++ default:
++ return false;
++ }
+ }
+
+ static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags)
+--
+2.16.4
+
diff --git a/patches.suse/PCI-Fix-Intel-ACS-quirk-UPDCR-register-address.patch b/patches.suse/PCI-Fix-Intel-ACS-quirk-UPDCR-register-address.patch
new file mode 100644
index 0000000000..25bcae04b8
--- /dev/null
+++ b/patches.suse/PCI-Fix-Intel-ACS-quirk-UPDCR-register-address.patch
@@ -0,0 +1,51 @@
+From d8558ac8c93d429d65d7490b512a3a67e559d0d4 Mon Sep 17 00:00:00 2001
+From: Steffen Liebergeld <steffen.liebergeld@kernkonzept.com>
+Date: Wed, 18 Sep 2019 15:16:52 +0200
+Subject: [PATCH] PCI: Fix Intel ACS quirk UPDCR register address
+Git-commit: d8558ac8c93d429d65d7490b512a3a67e559d0d4
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+According to documentation [0] the correct offset for the Upstream Peer
+Decode Configuration Register (UPDCR) is 0x1014. It was previously defined
+as 0x1114.
+
+d99321b63b1f ("PCI: Enable quirks for PCIe ACS on Intel PCH root ports")
+intended to enforce isolation between PCI devices allowing them to be put
+into separate IOMMU groups. Due to the wrong register offset the intended
+isolation was not fully enforced. This is fixed with this patch.
+
+Please note that I did not test this patch because I have no hardware that
+implements this register.
+
+[0] https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/4th-gen-core-family-mobile-i-o-datasheet.pdf (page 325)
+
+Fixes: d99321b63b1f ("PCI: Enable quirks for PCIe ACS on Intel PCH root ports")
+Link: https://lore.kernel.org/r/7a3505df-79ba-8a28-464c-88b83eefffa6@kernkonzept.com
+Signed-off-by: Steffen Liebergeld <steffen.liebergeld@kernkonzept.com>
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Reviewed-by: Andrew Murray <andrew.murray@arm.com>
+Acked-by: Ashok Raj <ashok.raj@intel.com>
+Cc: stable@vger.kernel.org # v3.15+
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pci/quirks.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+index 320255e5e8f8..cd3e84ae742e 100644
+--- a/drivers/pci/quirks.c
++++ b/drivers/pci/quirks.c
+@@ -4706,7 +4706,7 @@ int pci_dev_specific_acs_enabled(struct pci_dev *dev, u16 acs_flags)
+ #define INTEL_BSPR_REG_BPPD (1 << 9)
+
+ /* Upstream Peer Decode Configuration Register */
+-#define INTEL_UPDCR_REG 0x1114
++#define INTEL_UPDCR_REG 0x1014
+ /* 5:0 Peer Decode Enable bits */
+ #define INTEL_UPDCR_REG_MASK 0x3f
+
+--
+2.16.4
+
diff --git a/patches.suse/PCI-MSI-Fix-incorrect-MSI-X-masking-on-resume.patch b/patches.suse/PCI-MSI-Fix-incorrect-MSI-X-masking-on-resume.patch
new file mode 100644
index 0000000000..065b87eb61
--- /dev/null
+++ b/patches.suse/PCI-MSI-Fix-incorrect-MSI-X-masking-on-resume.patch
@@ -0,0 +1,62 @@
+From e045fa29e89383c717e308609edd19d2fd29e1be Mon Sep 17 00:00:00 2001
+From: Jian-Hong Pan <jian-hong@endlessm.com>
+Date: Tue, 8 Oct 2019 11:42:39 +0800
+Subject: [PATCH] PCI/MSI: Fix incorrect MSI-X masking on resume
+Git-commit: e045fa29e89383c717e308609edd19d2fd29e1be
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+When a driver enables MSI-X, msix_program_entries() reads the MSI-X Vector
+Control register for each vector and saves it in desc->masked. Each
+register is 32 bits and bit 0 is the actual Mask bit.
+
+When we restored these registers during resume, we previously set the Mask
+bit if *any* bit in desc->masked was set instead of when the Mask bit
+itself was set:
+
+ pci_restore_state
+ pci_restore_msi_state
+ __pci_restore_msix_state
+ for_each_pci_msi_entry
+ msix_mask_irq(entry, entry->masked) <-- entire u32 word
+ __pci_msix_desc_mask_irq(desc, flag)
+ mask_bits = desc->masked & ~PCI_MSIX_ENTRY_CTRL_MASKBIT
+ if (flag) <-- testing entire u32, not just bit 0
+ mask_bits |= PCI_MSIX_ENTRY_CTRL_MASKBIT
+ writel(mask_bits, desc_addr + PCI_MSIX_ENTRY_VECTOR_CTRL)
+
+This means that after resume, MSI-X vectors were masked when they shouldn't
+be, which leads to timeouts like this:
+
+ nvme nvme0: I/O 978 QID 3 timeout, completion polled
+
+On resume, set the Mask bit only when the saved Mask bit from suspend was
+set.
+
+This should remove the need for 19ea025e1d28 ("nvme: Add quirk for Kingston
+NVME SSD running FW E8FK11.T").
+
+[bhelgaas: commit log, move fix to __pci_msix_desc_mask_irq()]
+Link: https://bugzilla.kernel.org/show_bug.cgi?id=204887
+Link: https://lore.kernel.org/r/20191008034238.2503-1-jian-hong@endlessm.com
+Fixes: f2440d9acbe8 ("PCI MSI: Refactor interrupt masking code")
+Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Cc: stable@vger.kernel.org
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pci/msi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/pci/msi.c
++++ b/drivers/pci/msi.c
+@@ -211,7 +211,7 @@ u32 __pci_msix_desc_mask_irq(struct msi_
+ return 0;
+
+ mask_bits &= ~PCI_MSIX_ENTRY_CTRL_MASKBIT;
+- if (flag)
++ if (flag & PCI_MSIX_ENTRY_CTRL_MASKBIT)
+ mask_bits |= PCI_MSIX_ENTRY_CTRL_MASKBIT;
+ writel(mask_bits, pci_msix_desc_addr(desc) + PCI_MSIX_ENTRY_VECTOR_CTRL);
+
diff --git a/patches.suse/PCI-PTM-Remove-spurious-d-from-granularity-message.patch b/patches.suse/PCI-PTM-Remove-spurious-d-from-granularity-message.patch
new file mode 100644
index 0000000000..c2acae0f9f
--- /dev/null
+++ b/patches.suse/PCI-PTM-Remove-spurious-d-from-granularity-message.patch
@@ -0,0 +1,41 @@
+From 127a7709495db52a41012deaebbb7afc231dad91 Mon Sep 17 00:00:00 2001
+From: Bjorn Helgaas <bhelgaas@google.com>
+Date: Wed, 6 Nov 2019 15:30:48 -0600
+Subject: [PATCH] PCI/PTM: Remove spurious "d" from granularity message
+Git-commit: 127a7709495db52a41012deaebbb7afc231dad91
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+The granularity message has an extra "d":
+
+ pci 0000:02:00.0: PTM enabled, 4dns granularity
+
+Remove the "d" so the message is simply "PTM enabled, 4ns granularity".
+
+Fixes: 8b2ec318eece ("PCI: Add PTM clock granularity information")
+Link: https://lore.kernel.org/r/20191106222420.10216-2-helgaas@kernel.org
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Reviewed-by: Andrew Murray <andrew.murray@arm.com>
+Cc: Jonathan Yong <jonathan.yong@intel.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pci/pcie/ptm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/pci/pcie/ptm.c b/drivers/pci/pcie/ptm.c
+index 98cfa30f3fae..9361f3aa26ab 100644
+--- a/drivers/pci/pcie/ptm.c
++++ b/drivers/pci/pcie/ptm.c
+@@ -21,7 +21,7 @@ static void pci_ptm_info(struct pci_dev *dev)
+ snprintf(clock_desc, sizeof(clock_desc), ">254ns");
+ break;
+ default:
+- snprintf(clock_desc, sizeof(clock_desc), "%udns",
++ snprintf(clock_desc, sizeof(clock_desc), "%uns",
+ dev->ptm_granularity);
+ break;
+ }
+--
+2.16.4
+
diff --git a/patches.suse/PCI-dwc-Fix-find_next_bit-usage.patch b/patches.suse/PCI-dwc-Fix-find_next_bit-usage.patch
new file mode 100644
index 0000000000..fd28095c26
--- /dev/null
+++ b/patches.suse/PCI-dwc-Fix-find_next_bit-usage.patch
@@ -0,0 +1,56 @@
+From 1137e61dcb99f7f8b54e77ed83f68b5b485a3e34 Mon Sep 17 00:00:00 2001
+From: Niklas Cassel <niklas.cassel@linaro.org>
+Date: Wed, 4 Sep 2019 18:03:38 +0200
+Subject: [PATCH] PCI: dwc: Fix find_next_bit() usage
+Git-commit: 1137e61dcb99f7f8b54e77ed83f68b5b485a3e34
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+find_next_bit() takes a parameter of size long, and performs arithmetic
+that assumes that the argument is of size long.
+
+Therefore we cannot pass a u32, since this will cause find_next_bit()
+to read outside the stack buffer and will produce the following print:
+Bug: KASAN: stack-out-of-bounds in find_next_bit+0x38/0xb0
+
+Fixes: 1b497e6493c4 ("PCI: dwc: Fix uninitialized variable in dw_handle_msi_irq()")
+Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
+Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
+Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+Reviewed-by: Andrew Murray <andrew.murray@arm.com>
+Acked-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pci/dwc/pcie-designware-host.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+--- a/drivers/pci/dwc/pcie-designware-host.c
++++ b/drivers/pci/dwc/pcie-designware-host.c
+@@ -56,20 +56,21 @@ static struct irq_chip dw_msi_irq_chip =
+ /* MSI int handler */
+ irqreturn_t dw_handle_msi_irq(struct pcie_port *pp)
+ {
+- u32 val;
++ unsigned long val;
++ u32 status;
+ int i, pos, irq;
+ irqreturn_t ret = IRQ_NONE;
+
+ for (i = 0; i < MAX_MSI_CTRLS; i++) {
+ dw_pcie_rd_own_conf(pp, PCIE_MSI_INTR0_STATUS + i * 12, 4,
+- &val);
+- if (!val)
++ &status);
++ if (!status)
+ continue;
+
+ ret = IRQ_HANDLED;
++ val = status;
+ pos = 0;
+- while ((pos = find_next_bit((unsigned long *) &val, 32,
+- pos)) != 32) {
++ while ((pos = find_next_bit(&val, 32, pos)) != 32) {
+ irq = irq_find_mapping(pp->irq_domain, i * 32 + pos);
+ generic_handle_irq(irq);
+ dw_pcie_wr_own_conf(pp, PCIE_MSI_INTR0_STATUS + i * 12,
diff --git a/patches.suse/PCI-rcar-Fix-missing-MACCTLR-register-setting-in-ini.patch b/patches.suse/PCI-rcar-Fix-missing-MACCTLR-register-setting-in-ini.patch
new file mode 100644
index 0000000000..8d5e61bc18
--- /dev/null
+++ b/patches.suse/PCI-rcar-Fix-missing-MACCTLR-register-setting-in-ini.patch
@@ -0,0 +1,67 @@
+From 7c7e53e1c93df14690bd12c1f84730fef927a6f1 Mon Sep 17 00:00:00 2001
+From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Date: Tue, 5 Nov 2019 19:51:29 +0900
+Subject: [PATCH] PCI: rcar: Fix missing MACCTLR register setting in initialization sequence
+Git-commit: 7c7e53e1c93df14690bd12c1f84730fef927a6f1
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+[ backport note: dropped rcar_pcie_resume_noirq() hunk as it doesn't exist
+ in SLE15 code -- tiwai ]
+
+The R-Car Gen2/3 manual - available at:
+
+https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rz/rzg/rzg1m.html#documents
+
+"RZ/G Series User's Manual: Hardware" section
+
+strictly enforces the MACCTLR inizialization value - 39.3.1 - "Initial
+Setting of PCI Express":
+
+"Be sure to write the initial value (= H'80FF 0000) to MACCTLR before
+enabling PCIETCTLR.CFINIT".
+
+To avoid unexpected behavior and to match the SW initialization sequence
+guidelines, this patch programs the MACCTLR with the correct value.
+
+Note that the MACCTLR.SPCHG bit in the MACCTLR register description
+reports that "Only writing 1 is valid and writing 0 is invalid" but this
+"invalid" has to be interpreted as a write-ignore aka "ignored", not
+"prohibited".
+
+Reported-by: Eugeniu Rosca <erosca@de.adit-jv.com>
+Fixes: c25da4778803 ("PCI: rcar: Add Renesas R-Car PCIe driver")
+Fixes: be20bbcb0a8c ("PCI: rcar: Add the initialization of PCIe link in resume_noirq()")
+Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Cc: <stable@vger.kernel.org> # v5.2+
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/pci/host/pcie-rcar.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/pci/host/pcie-rcar.c
++++ b/drivers/pci/host/pcie-rcar.c
+@@ -89,8 +89,11 @@
+ #define LINK_SPEED_2_5GTS (1 << 16)
+ #define LINK_SPEED_5_0GTS (2 << 16)
+ #define MACCTLR 0x011058
++#define MACCTLR_NFTS_MASK GENMASK(23, 16) /* The name is from SH7786 */
+ #define SPEED_CHANGE (1 << 24)
+ #define SCRAMBLE_DISABLE (1 << 27)
++#define LTSMDIS BIT(31)
++#define MACCTLR_INIT_VAL (LTSMDIS | MACCTLR_NFTS_MASK)
+ #define MACS2R 0x011078
+ #define MACCGSPSETR 0x011084
+ #define SPCNGRSN (1 << 31)
+@@ -590,6 +593,8 @@ static int rcar_pcie_hw_init(struct rcar
+ if (IS_ENABLED(CONFIG_PCI_MSI))
+ rcar_pci_write_reg(pcie, 0x801f0000, PCIEMSITXR);
+
++ rcar_pci_write_reg(pcie, MACCTLR_INIT_VAL, MACCTLR);
++
+ /* Finish initialization - establish a PCI Express link */
+ rcar_pci_write_reg(pcie, CFINIT, PCIETCTLR);
+
diff --git a/patches.suse/PCI-tegra-Enable-Relaxed-Ordering-only-for-Tegra20-T.patch b/patches.suse/PCI-tegra-Enable-Relaxed-Ordering-only-for-Tegra20-T.patch
new file mode 100644
index 0000000000..8009f62a34
--- /dev/null
+++ b/patches.suse/PCI-tegra-Enable-Relaxed-Ordering-only-for-Tegra20-T.patch
@@ -0,0 +1,63 @@
+From: Vidya Sagar <vidyas@nvidia.com>
+Date: Thu, 4 Jul 2019 20:34:28 +0530
+Subject: PCI: tegra: Enable Relaxed Ordering only for Tegra20 & Tegra30
+Git-commit: 7be142caabc4780b13a522c485abc806de5c4114
+Patch-mainline: 5.3-rc1
+References: git-fixes
+
+The PCI Tegra controller conversion to a device tree configurable
+driver in commit d1523b52bff3 ("PCI: tegra: Move PCIe driver
+to drivers/pci/host") implied that code for the driver can be
+compiled in for a kernel supporting multiple platforms.
+
+Unfortunately, a blind move of the code did not check that some of the
+quirks that were applied in arch/arm (eg enabling Relaxed Ordering on
+all PCI devices - since the quirk hook erroneously matches PCI_ANY_ID
+for both Vendor-ID and Device-ID) are now applied in all kernels that
+compile the PCI Tegra controlled driver, DT and ACPI alike.
+
+This is completely wrong, in that enablement of Relaxed Ordering is only
+required by default in Tegra20 platforms as described in the Tegra20
+Technical Reference Manual (available at
+https://developer.nvidia.com/embedded/downloads#?search=tegra%202 in
+Section 34.1, where it is mentioned that Relaxed Ordering bit needs to
+be enabled in its root ports to avoid deadlock in hardware) and in the
+Tegra30 platforms for the same reasons (unfortunately not documented
+in the TRM).
+
+There is no other strict requirement on PCI devices Relaxed Ordering
+enablement on any other Tegra platforms or PCI host bridge driver.
+
+Fix this quite upsetting situation by limiting the vendor and device IDs
+to which the Relaxed Ordering quirk applies to the root ports in
+question, reported above.
+
+Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
+[lorenzo.pieralisi@arm.com: completely rewrote the commit log/fixes tag]
+Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+Acked-by: Thierry Reding <treding@nvidia.com>
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+---
+ drivers/pci/host/pci-tegra.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/drivers/pci/host/pci-tegra.c
++++ b/drivers/pci/host/pci-tegra.c
+@@ -606,12 +606,15 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NV
+ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0e1c, tegra_pcie_fixup_class);
+ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0e1d, tegra_pcie_fixup_class);
+
+-/* Tegra PCIE requires relaxed ordering */
++/* Tegra20 and Tegra30 PCIE requires relaxed ordering */
+ static void tegra_pcie_relax_enable(struct pci_dev *dev)
+ {
+ pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_RELAX_EN);
+ }
+-DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_relax_enable);
++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0bf0, tegra_pcie_relax_enable);
++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0bf1, tegra_pcie_relax_enable);
++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0e1c, tegra_pcie_relax_enable);
++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0e1d, tegra_pcie_relax_enable);
+
+ static int tegra_pcie_request_resources(struct tegra_pcie *pcie)
+ {
diff --git a/patches.suse/USB-iowarrior-fix-use-after-free-on-disconnect.patch b/patches.suse/USB-iowarrior-fix-use-after-free-on-disconnect.patch
index 76f55d6332..9464a3f9d8 100644
--- a/patches.suse/USB-iowarrior-fix-use-after-free-on-disconnect.patch
+++ b/patches.suse/USB-iowarrior-fix-use-after-free-on-disconnect.patch
@@ -4,7 +4,7 @@ Date: Wed, 9 Oct 2019 12:48:41 +0200
Subject: [PATCH] USB: iowarrior: fix use-after-free on disconnect
Git-commit: edc4746f253d907d048de680a621e121517f484b
Patch-mainline: v5.4-rc3
-References: bsc#1051510
+References: CVE-2019-19528 bsc#1158407 bsc#1051510
A recent fix addressing a deadlock on disconnect introduced a new bug
by moving the present flag out of the critical section protected by the
diff --git a/patches.suse/USB-misc-appledisplay-fix-backlight-update_status-re.patch b/patches.suse/USB-misc-appledisplay-fix-backlight-update_status-re.patch
new file mode 100644
index 0000000000..58ede69428
--- /dev/null
+++ b/patches.suse/USB-misc-appledisplay-fix-backlight-update_status-re.patch
@@ -0,0 +1,50 @@
+From 090158555ff8d194a98616034100b16697dd80d0 Mon Sep 17 00:00:00 2001
+From: Mattias Jacobsson <2pi@mok.nu>
+Date: Tue, 16 Oct 2018 14:20:08 +0200
+Subject: [PATCH] USB: misc: appledisplay: fix backlight update_status return code
+Git-commit: 090158555ff8d194a98616034100b16697dd80d0
+Patch-mainline: v4.20-rc1
+References: bsc#1051510
+
+Upon success the update_status handler returns a positive number
+corresponding to the number of bytes transferred by usb_control_msg.
+However the return code of the update_status handler should indicate if
+an error occurred(negative) or how many bytes of the user's input to sysfs
+that was consumed. Return code zero indicates all bytes were consumed.
+
+The bug can for example result in the update_status handler being called
+twice, the second time with only the "unconsumed" part of the user's input
+to sysfs. Effectively setting an incorrect brightness.
+
+Change the update_status handler to return zero for all successful
+transactions and forward usb_control_msg's error code upon failure.
+
+Signed-off-by: Mattias Jacobsson <2pi@mok.nu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/usb/misc/appledisplay.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/usb/misc/appledisplay.c b/drivers/usb/misc/appledisplay.c
+index d746c26a8055..bd539f3058bc 100644
+--- a/drivers/usb/misc/appledisplay.c
++++ b/drivers/usb/misc/appledisplay.c
+@@ -146,8 +146,11 @@ static int appledisplay_bl_update_status(struct backlight_device *bd)
+ pdata->msgdata, 2,
+ ACD_USB_TIMEOUT);
+ mutex_unlock(&pdata->sysfslock);
+-
+- return retval;
++
++ if (retval < 0)
++ return retval;
++ else
++ return 0;
+ }
+
+ static int appledisplay_bl_get_brightness(struct backlight_device *bd)
+--
+2.16.4
+
diff --git a/patches.suse/can-mcba_usb-fix-use-after-free-on-disconnect.patch b/patches.suse/can-mcba_usb-fix-use-after-free-on-disconnect.patch
index 00f3e5c513..ac45c7edf3 100644
--- a/patches.suse/can-mcba_usb-fix-use-after-free-on-disconnect.patch
+++ b/patches.suse/can-mcba_usb-fix-use-after-free-on-disconnect.patch
@@ -7,7 +7,7 @@ Content-type: text/plain; charset=UTF-8
Content-transfer-encoding: 8bit
Git-commit: 4d6636498c41891d0482a914dd570343a838ad79
Patch-mainline: v5.4-rc7
-References: git-fixes
+References: CVE-2019-19529 bsc#1158381
The driver was accessing its driver data after having freed it.
diff --git a/patches.suse/can-peak_usb-fix-slab-info-leak.patch b/patches.suse/can-peak_usb-fix-slab-info-leak.patch
index 45622fef4b..35f04da9a4 100644
--- a/patches.suse/can-peak_usb-fix-slab-info-leak.patch
+++ b/patches.suse/can-peak_usb-fix-slab-info-leak.patch
@@ -4,7 +4,7 @@ Date: Wed, 23 Oct 2019 10:27:05 +0200
Subject: [PATCH] can: peak_usb: fix slab info leak
Git-commit: f7a1337f0d29b98733c8824e165fca3371d7d4fd
Patch-mainline: v5.4-rc7
-References: git-fixes
+References: CVE-2019-19534 bsc#1158398
Fix a small slab info leak due to a failure to clear the command buffer
at allocation.
diff --git a/patches.suse/cifs-move-cifsFileInfo_put-logic-into-a-work-queue.patch b/patches.suse/cifs-move-cifsFileInfo_put-logic-into-a-work-queue.patch
index 32a0751f67..c03a1a5190 100644
--- a/patches.suse/cifs-move-cifsFileInfo_put-logic-into-a-work-queue.patch
+++ b/patches.suse/cifs-move-cifsFileInfo_put-logic-into-a-work-queue.patch
@@ -2,7 +2,8 @@ From: Ronnie Sahlberg <lsahlber@redhat.com>
Date: Sun, 3 Nov 2019 13:06:37 +1000
Subject: [PATCH] cifs: move cifsFileInfo_put logic into a work-queue
References: bsc#1144333 bsc#1154355
-Patch-mainline: Not yet, queued in for-next
+Patch-mainline: v5.5-rc1
+Git-commit: 32546a9586aa4565035bb557e191648e022b29e8
This patch moves the final part of the cifsFileInfo_put() logic where we
need a write lock on lock_sem to be processed in a separate thread that
diff --git a/patches.suse/compat_ioctl-handle-SIOCOUTQNSD.patch b/patches.suse/compat_ioctl-handle-SIOCOUTQNSD.patch
new file mode 100644
index 0000000000..1523b22cf9
--- /dev/null
+++ b/patches.suse/compat_ioctl-handle-SIOCOUTQNSD.patch
@@ -0,0 +1,38 @@
+From 9d7bf41fafa5b5ddd4c13eb39446b0045f0a8167 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Mon, 3 Jun 2019 23:06:00 +0200
+Subject: [PATCH] compat_ioctl: handle SIOCOUTQNSD
+Git-commit: 9d7bf41fafa5b5ddd4c13eb39446b0045f0a8167
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+Unlike the normal SIOCOUTQ, SIOCOUTQNSD was never handled in compat
+mode. Add it to the common socket compat handler along with similar
+ones.
+
+Fixes: 2f4e1b397097 ("tcp: ioctl type SIOCOUTQNSD returns amount of data not sent")
+Cc: Eric Dumazet <edumazet@google.com>
+Cc: netdev@vger.kernel.org
+Cc: "David S. Miller" <davem@davemloft.net>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/socket.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/net/socket.c b/net/socket.c
+index 6a9ab7a8b1d2..a60f48ab2130 100644
+--- a/net/socket.c
++++ b/net/socket.c
+@@ -3452,6 +3452,7 @@ static int compat_sock_ioctl_trans(struct file *file, struct socket *sock,
+ case SIOCSARP:
+ case SIOCGARP:
+ case SIOCDARP:
++ case SIOCOUTQNSD:
+ case SIOCATMARK:
+ return sock_do_ioctl(net, sock, cmd, arg);
+ }
+--
+2.16.4
+
diff --git a/patches.suse/ftrace-introduce-permanent-ftrace_ops-flag.patch b/patches.suse/ftrace-introduce-permanent-ftrace_ops-flag.patch
new file mode 100644
index 0000000000..1e2280ada8
--- /dev/null
+++ b/patches.suse/ftrace-introduce-permanent-ftrace_ops-flag.patch
@@ -0,0 +1,134 @@
+From: Miroslav Benes <mbenes@suse.cz>
+Date: Wed, 16 Oct 2019 13:33:13 +0200
+Subject: ftrace: Introduce PERMANENT ftrace_ops flag
+Git-commit: 7162431dcf72032835d369c8d7b51311df407938
+Patch-mainline: v5.5-rc1
+References: bsc#1120853
+
+Livepatch uses ftrace for redirection to new patched functions. It means
+that if ftrace is disabled, all live patched functions are disabled as
+well. Toggling global 'ftrace_enabled' sysctl thus affect it directly.
+It is not a problem per se, because only administrator can set sysctl
+values, but it still may be surprising.
+
+Introduce PERMANENT ftrace_ops flag to amend this. If the
+FTRACE_OPS_FL_PERMANENT is set on any ftrace ops, the tracing cannot be
+disabled by disabling ftrace_enabled. Equally, a callback with the flag
+set cannot be registered if ftrace_enabled is disabled.
+
+Link: http://lkml.kernel.org/r/20191016113316.13415-2-mbenes@suse.cz
+
+Reviewed-by: Petr Mladek <pmladek@suse.com>
+Reviewed-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
+Signed-off-by: Miroslav Benes <mbenes@suse.cz>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+---
+ Documentation/trace/ftrace.txt | 4 +++-
+ include/linux/ftrace.h | 3 +++
+ kernel/livepatch/patch.c | 3 ++-
+ kernel/trace/ftrace.c | 23 +++++++++++++++++++++--
+ 4 files changed, 29 insertions(+), 4 deletions(-)
+
+--- a/Documentation/trace/ftrace.txt
++++ b/Documentation/trace/ftrace.txt
+@@ -2440,7 +2440,9 @@ Note, the proc sysctl ftrace_enable is a
+ function tracer. By default it is enabled (when function tracing is
+ enabled in the kernel). If it is disabled, all function tracing is
+ disabled. This includes not only the function tracers for ftrace, but
+-also for any other uses (perf, kprobes, stack tracing, profiling, etc).
++also for any other uses (perf, kprobes, stack tracing, profiling, etc). It
++cannot be disabled if there is a callback with FTRACE_OPS_FL_PERMANENT set
++registered.
+
+ Please disable this with care.
+
+--- a/include/linux/ftrace.h
++++ b/include/linux/ftrace.h
+@@ -119,6 +119,8 @@ ftrace_func_t ftrace_ops_get_func(struct
+ * for any of the functions that this ops will be registered for, then
+ * this ops will fail to register or set_filter_ip.
+ * PID - Is affected by set_ftrace_pid (allows filtering on those pids)
++ * PERMANENT - Set when the ops is permanent and should not be affected by
++ * ftrace_enabled.
+ */
+ enum {
+ FTRACE_OPS_FL_ENABLED = 1 << 0,
+@@ -137,6 +139,7 @@ enum {
+ FTRACE_OPS_FL_IPMODIFY = 1 << 13,
+ FTRACE_OPS_FL_PID = 1 << 14,
+ FTRACE_OPS_FL_RCU = 1 << 15,
++ FTRACE_OPS_FL_PERMANENT = 1 << 16,
+ };
+
+ #ifdef CONFIG_DYNAMIC_FTRACE
+--- a/kernel/livepatch/patch.c
++++ b/kernel/livepatch/patch.c
+@@ -208,7 +208,8 @@ static int klp_patch_func(struct klp_fun
+ ops->fops.func = klp_ftrace_handler;
+ ops->fops.flags = FTRACE_OPS_FL_SAVE_REGS |
+ FTRACE_OPS_FL_DYNAMIC |
+- FTRACE_OPS_FL_IPMODIFY;
++ FTRACE_OPS_FL_IPMODIFY |
++ FTRACE_OPS_FL_PERMANENT;
+
+ list_add(&ops->node, &klp_ops);
+
+--- a/kernel/trace/ftrace.c
++++ b/kernel/trace/ftrace.c
+@@ -407,6 +407,8 @@ static int __register_ftrace_function(st
+ if (ops->flags & FTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED)
+ ops->flags |= FTRACE_OPS_FL_SAVE_REGS;
+ #endif
++ if (!ftrace_enabled && (ops->flags & FTRACE_OPS_FL_PERMANENT))
++ return -EBUSY;
+
+ if (!core_kernel_data((unsigned long)ops))
+ ops->flags |= FTRACE_OPS_FL_DYNAMIC;
+@@ -6129,6 +6131,18 @@ int unregister_ftrace_function(struct ft
+ }
+ EXPORT_SYMBOL_GPL(unregister_ftrace_function);
+
++static bool is_permanent_ops_registered(void)
++{
++ struct ftrace_ops *op;
++
++ do_for_each_ftrace_op(op, ftrace_ops_list) {
++ if (op->flags & FTRACE_OPS_FL_PERMANENT)
++ return true;
++ } while_for_each_ftrace_op(op);
++
++ return false;
++}
++
+ int
+ ftrace_enable_sysctl(struct ctl_table *table, int write,
+ void __user *buffer, size_t *lenp,
+@@ -6146,8 +6160,6 @@ ftrace_enable_sysctl(struct ctl_table *t
+ if (ret || !write || (last_ftrace_enabled == !!ftrace_enabled))
+ goto out;
+
+- last_ftrace_enabled = !!ftrace_enabled;
+-
+ if (ftrace_enabled) {
+
+ /* we are starting ftrace again */
+@@ -6157,12 +6169,19 @@ ftrace_enable_sysctl(struct ctl_table *t
+ ftrace_startup_sysctl();
+
+ } else {
++ if (is_permanent_ops_registered()) {
++ ftrace_enabled = true;
++ ret = -EBUSY;
++ goto out;
++ }
++
+ /* stopping ftrace calls (just send to ftrace_stub) */
+ ftrace_trace_function = ftrace_stub;
+
+ ftrace_shutdown_sysctl();
+ }
+
++ last_ftrace_enabled = !!ftrace_enabled;
+ out:
+ mutex_unlock(&ftrace_lock);
+ return ret;
diff --git a/patches.suse/ieee802154-atusb-fix-use-after-free-at-disconnect.patch b/patches.suse/ieee802154-atusb-fix-use-after-free-at-disconnect.patch
index 77216c59c5..cecaed7dd0 100644
--- a/patches.suse/ieee802154-atusb-fix-use-after-free-at-disconnect.patch
+++ b/patches.suse/ieee802154-atusb-fix-use-after-free-at-disconnect.patch
@@ -4,7 +4,7 @@ Date: Thu, 19 Sep 2019 14:12:34 +0200
Subject: [PATCH] ieee802154: atusb: fix use-after-free at disconnect
Git-commit: 7fd25e6fc035f4b04b75bca6d7e8daa069603a76
Patch-mainline: v5.4-rc2
-References: bsc#1051510
+References: CVE-2019-19525 bsc#1158417 bsc#1051510
The disconnect callback was accessing the hardware-descriptor private
data after having having freed it.
diff --git a/patches.suse/kvm-svm-guard-against-deactivate-when-performing-wbinvd-df_flush.patch b/patches.suse/kvm-svm-guard-against-deactivate-when-performing-wbinvd-df_flush.patch
new file mode 100644
index 0000000000..bc33864243
--- /dev/null
+++ b/patches.suse/kvm-svm-guard-against-deactivate-when-performing-wbinvd-df_flush.patch
@@ -0,0 +1,85 @@
+From: Tom Lendacky <thomas.lendacky@amd.com>
+Date: Thu, 3 Oct 2019 21:17:45 +0000
+Subject: KVM: SVM: Guard against DEACTIVATE when performing WBINVD/DF_FLUSH
+Git-commit: 83af5e65a89547633bab7278564219ca8e68b968
+Patch-mainline: v5.5-rc1
+References: bsc#1114279
+
+The SEV firmware DEACTIVATE command disassociates an SEV guest from an
+ASID, clears the WBINVD indicator on all threads and indicates that the
+SEV firmware DF_FLUSH command must be issued before the ASID can be
+re-used. The SEV firmware DF_FLUSH command will return an error if a
+WBINVD has not been performed on every thread before it has been invoked.
+A window exists between the WBINVD and the invocation of the DF_FLUSH
+command where an SEV firmware DEACTIVATE command could be invoked on
+another thread, clearing the WBINVD indicator. This will cause the
+subsequent SEV firmware DF_FLUSH command to fail which, in turn, results
+in the SEV firmware ACTIVATE command failing for the reclaimed ASID.
+This results in the SEV guest failing to start.
+
+Use a mutex to close the WBINVD/DF_FLUSH window by obtaining the mutex
+before the DEACTIVATE and releasing it after the DF_FLUSH. This ensures
+that any DEACTIVATE cannot run before a DF_FLUSH has completed.
+
+Fixes: 59414c989220 ("KVM: SVM: Add support for KVM_SEV_LAUNCH_START command")
+Tested-by: David Rientjes <rientjes@google.com>
+Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Acked-by: Borislav Petkov <bp@suse.de>
+---
+ arch/x86/kvm/svm.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
+index d371007ab109..1d217680cf83 100644
+--- a/arch/x86/kvm/svm.c
++++ b/arch/x86/kvm/svm.c
+@@ -418,6 +418,7 @@ enum {
+
+ #define VMCB_AVIC_APIC_BAR_MASK 0xFFFFFFFFFF000ULL
+
++static DEFINE_MUTEX(sev_deactivate_lock);
+ static DEFINE_MUTEX(sev_bitmap_lock);
+ static unsigned int max_sev_asid;
+ static unsigned int min_sev_asid;
+@@ -1756,10 +1757,20 @@ static void sev_unbind_asid(struct kvm *kvm, unsigned int handle)
+
+ /* deactivate handle */
+ data->handle = handle;
++
++ /*
++ * Guard against a parallel DEACTIVATE command before the DF_FLUSH
++ * command has completed.
++ */
++ mutex_lock(&sev_deactivate_lock);
++
+ sev_guest_deactivate(data, NULL);
+
+ wbinvd_on_all_cpus();
+ sev_guest_df_flush(NULL);
++
++ mutex_unlock(&sev_deactivate_lock);
++
+ kfree(data);
+
+ decommission = kzalloc(sizeof(*decommission), GFP_KERNEL);
+@@ -6318,9 +6329,18 @@ static int sev_bind_asid(struct kvm *kvm, unsigned int handle, int *error)
+ int asid = sev_get_asid(kvm);
+ int ret;
+
++ /*
++ * Guard against a DEACTIVATE command before the DF_FLUSH command
++ * has completed.
++ */
++ mutex_lock(&sev_deactivate_lock);
++
+ wbinvd_on_all_cpus();
+
+ ret = sev_guest_df_flush(error);
++
++ mutex_unlock(&sev_deactivate_lock);
++
+ if (ret)
+ return ret;
+
+
diff --git a/patches.suse/kvm-svm-serialize-access-to-the-sev-asid-bitmap.patch b/patches.suse/kvm-svm-serialize-access-to-the-sev-asid-bitmap.patch
new file mode 100644
index 0000000000..03e521f3d9
--- /dev/null
+++ b/patches.suse/kvm-svm-serialize-access-to-the-sev-asid-bitmap.patch
@@ -0,0 +1,104 @@
+From: Tom Lendacky <thomas.lendacky@amd.com>
+Date: Thu, 3 Oct 2019 21:17:43 +0000
+Subject: KVM: SVM: Serialize access to the SEV ASID bitmap
+Git-commit: e3b9a9e147dbe1a8fb9d8398a2faa47d8a6f50de
+Patch-mainline: v5.5-rc1
+References: bsc#1114279
+
+The SEV ASID bitmap currently is not protected against parallel SEV guest
+startups. This can result in an SEV guest failing to start because another
+SEV guest could have been assigned the same ASID value. Use a mutex to
+serialize access to the SEV ASID bitmap.
+
+Fixes: 1654efcbc431 ("KVM: SVM: Add KVM_SEV_INIT command")
+Tested-by: David Rientjes <rientjes@google.com>
+Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Acked-by: Borislav Petkov <bp@suse.de>
+---
+ arch/x86/kvm/svm.c | 29 +++++++++++++++++------------
+ 1 file changed, 17 insertions(+), 12 deletions(-)
+
+--- a/arch/x86/kvm/svm.c
++++ b/arch/x86/kvm/svm.c
+@@ -394,6 +394,7 @@ enum {
+
+ #define VMCB_AVIC_APIC_BAR_MASK 0xFFFFFFFFFF000ULL
+
++static DEFINE_MUTEX(sev_bitmap_lock);
+ static unsigned int max_sev_asid;
+ static unsigned int min_sev_asid;
+ static unsigned long *sev_asid_bitmap;
+@@ -1671,25 +1672,22 @@ static int avic_init_backing_page(struct
+ return 0;
+ }
+
+-static void __sev_asid_free(int asid)
++static void sev_asid_free(int asid)
+ {
+ struct svm_cpu_data *sd;
+ int cpu, pos;
+
++ mutex_lock(&sev_bitmap_lock);
++
+ pos = asid - 1;
+- clear_bit(pos, sev_asid_bitmap);
++ __clear_bit(pos, sev_asid_bitmap);
+
+ for_each_possible_cpu(cpu) {
+ sd = per_cpu(svm_data, cpu);
+ sd->sev_vmcbs[pos] = NULL;
+ }
+-}
+-
+-static void sev_asid_free(struct kvm *kvm)
+-{
+- struct kvm_sev_info *sev = &kvm->arch.sev_info;
+
+- __sev_asid_free(sev->asid);
++ mutex_unlock(&sev_bitmap_lock);
+ }
+
+ static void sev_unbind_asid(struct kvm *kvm, unsigned int handle)
+@@ -1851,7 +1849,7 @@ static void sev_vm_destroy(struct kvm *k
+ mutex_unlock(&kvm->lock);
+
+ sev_unbind_asid(kvm, sev->handle);
+- sev_asid_free(kvm);
++ sev_asid_free(sev->asid);
+ }
+
+ static void avic_vm_destroy(struct kvm *kvm)
+@@ -6180,14 +6178,21 @@ static int sev_asid_new(void)
+ {
+ int pos;
+
++ mutex_lock(&sev_bitmap_lock);
++
+ /*
+ * SEV-enabled guest must use asid from min_sev_asid to max_sev_asid.
+ */
+ pos = find_next_zero_bit(sev_asid_bitmap, max_sev_asid, min_sev_asid - 1);
+- if (pos >= max_sev_asid)
++ if (pos >= max_sev_asid) {
++ mutex_unlock(&sev_bitmap_lock);
+ return -EBUSY;
++ }
++
++ __set_bit(pos, sev_asid_bitmap);
++
++ mutex_unlock(&sev_bitmap_lock);
+
+- set_bit(pos, sev_asid_bitmap);
+ return pos + 1;
+ }
+
+@@ -6215,7 +6220,7 @@ static int sev_guest_init(struct kvm *kv
+ return 0;
+
+ e_free:
+- __sev_asid_free(asid);
++ sev_asid_free(asid);
+ return ret;
+ }
+
diff --git a/patches.suse/livepatch-allow-to-distinguish-different-version-of-system-state-changes.patch b/patches.suse/livepatch-allow-to-distinguish-different-version-of-system-state-changes.patch
new file mode 100644
index 0000000000..559167669b
--- /dev/null
+++ b/patches.suse/livepatch-allow-to-distinguish-different-version-of-system-state-changes.patch
@@ -0,0 +1,166 @@
+From: Petr Mladek <pmladek@suse.com>
+Date: Wed, 30 Oct 2019 16:43:11 +0100
+Subject: livepatch: Allow to distinguish different version of system state
+ changes
+Git-commit: 92c9abf5e57500ea7dc59a55273aa7850b631bda
+Patch-mainline: v5.5-rc1
+References: bsc#1071995 fate#323487
+
+The atomic replace runs pre/post (un)install callbacks only from the new
+livepatch. There are several reasons for this:
+
+ + Simplicity: clear ordering of operations, no interactions between
+ old and new callbacks.
+
+ + Reliability: only new livepatch knows what changes can already be made
+ by older livepatches and how to take over the state.
+
+ + Testing: the atomic replace can be properly tested only when a newer
+ livepatch is available. It might be too late to fix unwanted effect
+ of callbacks from older livepatches.
+
+It might happen that an older change is not enough and the same system
+state has to be modified another way. Different changes need to get
+distinguished by a version number added to struct klp_state.
+
+The version can also be used to prevent loading incompatible livepatches.
+The check is done when the livepatch is enabled. The rules are:
+
+ + Any completely new system state modification is allowed.
+
+ + System state modifications with the same or higher version are allowed
+ for already modified system states.
+
+ + Cumulative livepatches must handle all system state modifications from
+ already installed livepatches.
+
+ + Non-cumulative livepatches are allowed to touch already modified
+ system states.
+
+Link: http://lkml.kernel.org/r/20191030154313.13263-4-pmladek@suse.com
+To: Jiri Kosina <jikos@kernel.org>
+Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
+Cc: Nicolai Stange <nstange@suse.de>
+Cc: live-patching@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Acked-by: Miroslav Benes <mbenes@suse.cz>
+Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
+Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
+Signed-off-by: Petr Mladek <pmladek@suse.com>
+---
+ include/linux/livepatch.h | 2 ++
+ kernel/livepatch/core.c | 8 ++++++++
+ kernel/livepatch/state.c | 36 ++++++++++++++++++++++++++++++++++++
+ kernel/livepatch/state.h | 9 +++++++++
+ 4 files changed, 55 insertions(+)
+
+diff --git a/include/linux/livepatch.h b/include/linux/livepatch.h
+index 726947338fd5..e894e74905f3 100644
+--- a/include/linux/livepatch.h
++++ b/include/linux/livepatch.h
+@@ -133,10 +133,12 @@ struct klp_object {
+ /**
+ * struct klp_state - state of the system modified by the livepatch
+ * @id: system state identifier (non-zero)
++ * @version: version of the change
+ * @data: custom data
+ */
+ struct klp_state {
+ unsigned long id;
++ unsigned int version;
+ void *data;
+ };
+
+diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
+index 1e1d87ead55c..c3512e7e0801 100644
+--- a/kernel/livepatch/core.c
++++ b/kernel/livepatch/core.c
+@@ -22,6 +22,7 @@
+ #include <asm/cacheflush.h>
+ #include "core.h"
+ #include "patch.h"
++#include "state.h"
+ #include "transition.h"
+
+ /*
+@@ -1009,6 +1010,13 @@ int klp_enable_patch(struct klp_patch *patch)
+
+ mutex_lock(&klp_mutex);
+
++ if (!klp_is_patch_compatible(patch)) {
++ pr_err("Livepatch patch (%s) is not compatible with the already installed livepatches.\n",
++ patch->mod->name);
++ mutex_unlock(&klp_mutex);
++ return -EINVAL;
++ }
++
+ ret = klp_init_patch_early(patch);
+ if (ret) {
+ mutex_unlock(&klp_mutex);
+diff --git a/kernel/livepatch/state.c b/kernel/livepatch/state.c
+index 6ab15b642c0a..7ee19476de9d 100644
+--- a/kernel/livepatch/state.c
++++ b/kernel/livepatch/state.c
+@@ -9,6 +9,7 @@
+
+ #include <linux/livepatch.h>
+ #include "core.h"
++#include "state.h"
+ #include "transition.h"
+
+ #define klp_for_each_state(patch, state) \
+@@ -81,3 +82,38 @@ struct klp_state *klp_get_prev_state(unsigned long id)
+ return last_state;
+ }
+ EXPORT_SYMBOL_GPL(klp_get_prev_state);
++
++/* Check if the patch is able to deal with the existing system state. */
++static bool klp_is_state_compatible(struct klp_patch *patch,
++ struct klp_state *old_state)
++{
++ struct klp_state *state;
++
++ state = klp_get_state(patch, old_state->id);
++
++ /* A cumulative livepatch must handle all already modified states. */
++ if (!state)
++ return !patch->replace;
++
++ return state->version >= old_state->version;
++}
++
++/*
++ * Check that the new livepatch will not break the existing system states.
++ * Cumulative patches must handle all already modified states.
++ * Non-cumulative patches can touch already modified states.
++ */
++bool klp_is_patch_compatible(struct klp_patch *patch)
++{
++ struct klp_patch *old_patch;
++ struct klp_state *old_state;
++
++ klp_for_each_patch(old_patch) {
++ klp_for_each_state(old_patch, old_state) {
++ if (!klp_is_state_compatible(patch, old_state))
++ return false;
++ }
++ }
++
++ return true;
++}
+diff --git a/kernel/livepatch/state.h b/kernel/livepatch/state.h
+new file mode 100644
+index 000000000000..49d9c16e8762
+--- /dev/null
++++ b/kernel/livepatch/state.h
+@@ -0,0 +1,9 @@
++/* SPDX-License-Identifier: GPL-2.0 */
++#ifndef _LIVEPATCH_STATE_H
++#define _LIVEPATCH_STATE_H
++
++#include <linux/livepatch.h>
++
++bool klp_is_patch_compatible(struct klp_patch *patch);
++
++#endif /* _LIVEPATCH_STATE_H */
+
diff --git a/patches.suse/livepatch-basic-api-to-track-system-state-changes.patch b/patches.suse/livepatch-basic-api-to-track-system-state-changes.patch
new file mode 100644
index 0000000000..c7eee3b18c
--- /dev/null
+++ b/patches.suse/livepatch-basic-api-to-track-system-state-changes.patch
@@ -0,0 +1,187 @@
+From: Petr Mladek <pmladek@suse.com>
+Date: Wed, 30 Oct 2019 16:43:10 +0100
+Subject: livepatch: Basic API to track system state changes
+Git-commit: 73727f4dafa2df107e85753c5ab703a1f344e1f1
+Patch-mainline: v5.5-rc1
+References: bsc#1071995 fate#323487
+
+This is another step how to help maintaining more livepatches.
+
+One big help was the atomic replace and cumulative livepatches. These
+livepatches replace the already installed ones. Therefore it should
+be enough when each cumulative livepatch is consistent.
+
+The problems might come with shadow variables and callbacks. They might
+change the system behavior or state so that it is no longer safe to
+go back and use an older livepatch or the original kernel code. Also,
+a new livepatch must be able to detect changes which were made by
+the already installed livepatches.
+
+This is where the livepatch system state tracking gets useful. It
+allows to:
+
+ - find whether a system state has already been modified by
+ previous livepatches
+
+ - store data needed to manipulate and restore the system state
+
+The information about the manipulated system states is stored in an
+array of struct klp_state. It can be searched by two new functions
+klp_get_state() and klp_get_prev_state().
+
+The dependencies are going to be solved by a version field added later.
+The only important information is that it will be allowed to modify
+the same state by more non-cumulative livepatches. It is similar
+to allowing to modify the same function several times. The livepatch
+author is responsible for preventing incompatible changes.
+
+Link: http://lkml.kernel.org/r/20191030154313.13263-3-pmladek@suse.com
+To: Jiri Kosina <jikos@kernel.org>
+Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
+Cc: Nicolai Stange <nstange@suse.de>
+Cc: live-patching@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Acked-by: Miroslav Benes <mbenes@suse.cz>
+Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
+Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
+Signed-off-by: Petr Mladek <pmladek@suse.com>
+---
+ include/linux/livepatch.h | 15 ++++++++
+ kernel/livepatch/Makefile | 2 -
+ kernel/livepatch/state.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 99 insertions(+), 1 deletion(-)
+
+--- a/include/linux/livepatch.h
++++ b/include/linux/livepatch.h
+@@ -145,9 +145,20 @@ struct klp_object {
+ };
+
+ /**
++ * struct klp_state - state of the system modified by the livepatch
++ * @id: system state identifier (non-zero)
++ * @data: custom data
++ */
++struct klp_state {
++ unsigned long id;
++ void *data;
++};
++
++/**
+ * struct klp_patch - patch structure for live patching
+ * @mod: reference to the live patch module
+ * @objs: object entries for kernel objects to be patched
++ * @states: system states that can get modified
+ * @replace: replace all actively used patches
+ * @list: list node for global list of actively used patches
+ * @kobj: kobject for sysfs resources
+@@ -162,6 +173,7 @@ struct klp_patch {
+ /* external */
+ struct module *mod;
+ struct klp_object *objs;
++ struct klp_state *states;
+ bool replace;
+
+ /* internal */
+@@ -232,6 +244,9 @@ void *klp_shadow_get_or_alloc(void *obj,
+ void klp_shadow_free(void *obj, unsigned long id, klp_shadow_dtor_t dtor);
+ void klp_shadow_free_all(unsigned long id, klp_shadow_dtor_t dtor);
+
++struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id);
++struct klp_state *klp_get_prev_state(unsigned long id);
++
+ #else /* !CONFIG_LIVEPATCH */
+
+ static inline int klp_module_coming(struct module *mod) { return 0; }
+--- a/kernel/livepatch/Makefile
++++ b/kernel/livepatch/Makefile
+@@ -1,3 +1,3 @@
+ obj-$(CONFIG_LIVEPATCH) += livepatch.o
+
+-livepatch-objs := core.o patch.o shadow.o transition.o
++livepatch-objs := core.o patch.o shadow.o state.o transition.o
+--- /dev/null
++++ b/kernel/livepatch/state.c
+@@ -0,0 +1,83 @@
++// SPDX-License-Identifier: GPL-2.0-or-later
++/*
++ * system_state.c - State of the system modified by livepatches
++ *
++ * Copyright (C) 2019 SUSE
++ */
++
++#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
++
++#include <linux/livepatch.h>
++#include "core.h"
++#include "transition.h"
++
++#define klp_for_each_state(patch, state) \
++ for (state = patch->states; state && state->id; state++)
++
++/**
++ * klp_get_state() - get information about system state modified by
++ * the given patch
++ * @patch: livepatch that modifies the given system state
++ * @id: custom identifier of the modified system state
++ *
++ * Checks whether the given patch modifies the given system state.
++ *
++ * The function can be called either from pre/post (un)patch
++ * callbacks or from the kernel code added by the livepatch.
++ *
++ * Return: pointer to struct klp_state when found, otherwise NULL.
++ */
++struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id)
++{
++ struct klp_state *state;
++
++ klp_for_each_state(patch, state) {
++ if (state->id == id)
++ return state;
++ }
++
++ return NULL;
++}
++EXPORT_SYMBOL_GPL(klp_get_state);
++
++/**
++ * klp_get_prev_state() - get information about system state modified by
++ * the already installed livepatches
++ * @id: custom identifier of the modified system state
++ *
++ * Checks whether already installed livepatches modify the given
++ * system state.
++ *
++ * The same system state can be modified by more non-cumulative
++ * livepatches. It is expected that the latest livepatch has
++ * the most up-to-date information.
++ *
++ * The function can be called only during transition when a new
++ * livepatch is being enabled or when such a transition is reverted.
++ * It is typically called only from from pre/post (un)patch
++ * callbacks.
++ *
++ * Return: pointer to the latest struct klp_state from already
++ * installed livepatches, NULL when not found.
++ */
++struct klp_state *klp_get_prev_state(unsigned long id)
++{
++ struct klp_patch *patch;
++ struct klp_state *state, *last_state = NULL;
++
++ if (WARN_ON_ONCE(!klp_transition_patch))
++ return NULL;
++
++ klp_for_each_patch(patch) {
++ if (patch == klp_transition_patch)
++ goto out;
++
++ state = klp_get_state(patch, id);
++ if (state)
++ last_state = state;
++ }
++
++out:
++ return last_state;
++}
++EXPORT_SYMBOL_GPL(klp_get_prev_state);
diff --git a/patches.suse/livepatch-create-and-include-UAPI-headers.patch b/patches.suse/livepatch-create-and-include-UAPI-headers.patch
index d3ca1a7203..e376d8272d 100644
--- a/patches.suse/livepatch-create-and-include-UAPI-headers.patch
+++ b/patches.suse/livepatch-create-and-include-UAPI-headers.patch
@@ -27,7 +27,7 @@ Signed-off-by: Miroslav Benes <mbenes@suse.cz>
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -7728,6 +7728,7 @@ R: Petr Mladek <pmladek@suse.com>
+@@ -7734,6 +7734,7 @@ R: Petr Mladek <pmladek@suse.com>
S: Maintained
F: kernel/livepatch/
F: include/linux/livepatch.h
@@ -45,9 +45,9 @@ Signed-off-by: Miroslav Benes <mbenes@suse.cz>
#if IS_ENABLED(CONFIG_LIVEPATCH)
-@@ -230,6 +231,17 @@ void *klp_shadow_get_or_alloc(void *obj,
- void klp_shadow_free(void *obj, unsigned long id, klp_shadow_dtor_t dtor);
- void klp_shadow_free_all(unsigned long id, klp_shadow_dtor_t dtor);
+@@ -249,6 +250,17 @@ void klp_shadow_free_all(unsigned long i
+ struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id);
+ struct klp_state *klp_get_prev_state(unsigned long id);
+/* Used to annotate symbol relocations in live patches */
+#define KLP_MODULE_RELOC(obj) \
@@ -96,7 +96,7 @@ Signed-off-by: Miroslav Benes <mbenes@suse.cz>
+#endif /* _UAPI_LIVEPATCH_H */
--- a/kernel/livepatch/core.c
+++ b/kernel/livepatch/core.c
-@@ -261,7 +261,7 @@ static int klp_resolve_symbols(Elf_Shdr
+@@ -235,7 +235,7 @@ static int klp_resolve_symbols(Elf_Shdr
/* Format: .klp.sym.objname.symname,sympos */
cnt = sscanf(strtab + sym->st_name,
@@ -105,7 +105,7 @@ Signed-off-by: Miroslav Benes <mbenes@suse.cz>
objname, symname, &sympos);
if (cnt != 3) {
pr_err("symbol %s has an incorrectly formatted name\n",
-@@ -307,7 +307,7 @@ static int klp_write_object_relocations(
+@@ -281,7 +281,7 @@ static int klp_write_object_relocations(
* See comment in klp_resolve_symbols() for an explanation
* of the selected field width value.
*/
diff --git a/patches.suse/livepatch-keep-replaced-patches-until-post_patch-callback-is-called.patch b/patches.suse/livepatch-keep-replaced-patches-until-post_patch-callback-is-called.patch
new file mode 100644
index 0000000000..9deae17949
--- /dev/null
+++ b/patches.suse/livepatch-keep-replaced-patches-until-post_patch-callback-is-called.patch
@@ -0,0 +1,160 @@
+From: Petr Mladek <pmladek@suse.com>
+Date: Wed, 30 Oct 2019 16:43:09 +0100
+Subject: livepatch: Keep replaced patches until post_patch callback is called
+Git-commit: 7e35e4eb7e56233dcf445992d7b835a9ba93408e
+Patch-mainline: v5.5-rc1
+References: bsc#1071995 fate#323487
+
+Pre/post (un)patch callbacks might manipulate the system state. Cumulative
+livepatches might need to take over the changes made by the replaced
+ones. For this they might need to access some data stored or referenced
+by the old livepatches.
+
+Therefore the replaced livepatches have to stay around until post_patch()
+callback is called. It is achieved by calling the free functions later.
+It is the same location where disabled livepatches have already been
+freed.
+
+Link: http://lkml.kernel.org/r/20191030154313.13263-2-pmladek@suse.com
+To: Jiri Kosina <jikos@kernel.org>
+Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
+Cc: Nicolai Stange <nstange@suse.de>
+Cc: live-patching@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Acked-by: Miroslav Benes <mbenes@suse.cz>
+Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
+Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
+Signed-off-by: Petr Mladek <pmladek@suse.com>
+---
+ kernel/livepatch/core.c | 36 ++++++++++++++++++++++++++----------
+ kernel/livepatch/core.h | 5 +++--
+ kernel/livepatch/transition.c | 12 ++++++------
+ 3 files changed, 35 insertions(+), 18 deletions(-)
+
+diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
+index ab4a4606d19b..1e1d87ead55c 100644
+--- a/kernel/livepatch/core.c
++++ b/kernel/livepatch/core.c
+@@ -632,7 +632,7 @@ static void klp_free_objects_dynamic(struct klp_patch *patch)
+ * The operation must be completed by calling klp_free_patch_finish()
+ * outside klp_mutex.
+ */
+-void klp_free_patch_start(struct klp_patch *patch)
++static void klp_free_patch_start(struct klp_patch *patch)
+ {
+ if (!list_empty(&patch->list))
+ list_del(&patch->list);
+@@ -677,6 +677,23 @@ static void klp_free_patch_work_fn(struct work_struct *work)
+ klp_free_patch_finish(patch);
+ }
+
++void klp_free_patch_async(struct klp_patch *patch)
++{
++ klp_free_patch_start(patch);
++ schedule_work(&patch->free_work);
++}
++
++void klp_free_replaced_patches_async(struct klp_patch *new_patch)
++{
++ struct klp_patch *old_patch, *tmp_patch;
++
++ klp_for_each_patch_safe(old_patch, tmp_patch) {
++ if (old_patch == new_patch)
++ return;
++ klp_free_patch_async(old_patch);
++ }
++}
++
+ static int klp_init_func(struct klp_object *obj, struct klp_func *func)
+ {
+ if (!func->old_name)
+@@ -1022,12 +1039,13 @@ int klp_enable_patch(struct klp_patch *patch)
+ EXPORT_SYMBOL_GPL(klp_enable_patch);
+
+ /*
+- * This function removes replaced patches.
++ * This function unpatches objects from the replaced livepatches.
+ *
+ * We could be pretty aggressive here. It is called in the situation where
+- * these structures are no longer accessible. All functions are redirected
+- * by the klp_transition_patch. They use either a new code or they are in
+- * the original code because of the special nop function patches.
++ * these structures are no longer accessed from the ftrace handler.
++ * All functions are redirected by the klp_transition_patch. They
++ * use either a new code or they are in the original code because
++ * of the special nop function patches.
+ *
+ * The only exception is when the transition was forced. In this case,
+ * klp_ftrace_handler() might still see the replaced patch on the stack.
+@@ -1035,18 +1053,16 @@ EXPORT_SYMBOL_GPL(klp_enable_patch);
+ * thanks to RCU. We only have to keep the patches on the system. Also
+ * this is handled transparently by patch->module_put.
+ */
+-void klp_discard_replaced_patches(struct klp_patch *new_patch)
++void klp_unpatch_replaced_patches(struct klp_patch *new_patch)
+ {
+- struct klp_patch *old_patch, *tmp_patch;
++ struct klp_patch *old_patch;
+
+- klp_for_each_patch_safe(old_patch, tmp_patch) {
++ klp_for_each_patch(old_patch) {
+ if (old_patch == new_patch)
+ return;
+
+ old_patch->enabled = false;
+ klp_unpatch_objects(old_patch);
+- klp_free_patch_start(old_patch);
+- schedule_work(&old_patch->free_work);
+ }
+ }
+
+diff --git a/kernel/livepatch/core.h b/kernel/livepatch/core.h
+index ec43a40b853f..38209c7361b6 100644
+--- a/kernel/livepatch/core.h
++++ b/kernel/livepatch/core.h
+@@ -13,8 +13,9 @@ extern struct list_head klp_patches;
+ #define klp_for_each_patch(patch) \
+ list_for_each_entry(patch, &klp_patches, list)
+
+-void klp_free_patch_start(struct klp_patch *patch);
+-void klp_discard_replaced_patches(struct klp_patch *new_patch);
++void klp_free_patch_async(struct klp_patch *patch);
++void klp_free_replaced_patches_async(struct klp_patch *new_patch);
++void klp_unpatch_replaced_patches(struct klp_patch *new_patch);
+ void klp_discard_nops(struct klp_patch *new_patch);
+
+ static inline bool klp_is_object_loaded(struct klp_object *obj)
+diff --git a/kernel/livepatch/transition.c b/kernel/livepatch/transition.c
+index cdf318d86dd6..f6310f848f34 100644
+--- a/kernel/livepatch/transition.c
++++ b/kernel/livepatch/transition.c
+@@ -78,7 +78,7 @@ static void klp_complete_transition(void)
+ klp_target_state == KLP_PATCHED ? "patching" : "unpatching");
+
+ if (klp_transition_patch->replace && klp_target_state == KLP_PATCHED) {
+- klp_discard_replaced_patches(klp_transition_patch);
++ klp_unpatch_replaced_patches(klp_transition_patch);
+ klp_discard_nops(klp_transition_patch);
+ }
+
+@@ -446,14 +446,14 @@ void klp_try_complete_transition(void)
+ klp_complete_transition();
+
+ /*
+- * It would make more sense to free the patch in
++ * It would make more sense to free the unused patches in
+ * klp_complete_transition() but it is called also
+ * from klp_cancel_transition().
+ */
+- if (!patch->enabled) {
+- klp_free_patch_start(patch);
+- schedule_work(&patch->free_work);
+- }
++ if (!patch->enabled)
++ klp_free_patch_async(patch);
++ else if (patch->replace)
++ klp_free_replaced_patches_async(patch);
+ }
+
+ /*
+
diff --git a/patches.suse/livepatch-selftests-of-the-api-for-tracking-system-state-changes.patch b/patches.suse/livepatch-selftests-of-the-api-for-tracking-system-state-changes.patch
new file mode 100644
index 0000000000..d200256336
--- /dev/null
+++ b/patches.suse/livepatch-selftests-of-the-api-for-tracking-system-state-changes.patch
@@ -0,0 +1,408 @@
+From: Petr Mladek <pmladek@suse.com>
+Date: Wed, 30 Oct 2019 16:43:13 +0100
+Subject: livepatch: Selftests of the API for tracking system state changes
+Git-commit: ecd25094c5f5d5af12dffd3a4f2f4a42e486cdd8
+Patch-mainline: v5.5-rc1
+References: bsc#1071995 fate#323487
+
+Four selftests for the new API.
+
+Link: http://lkml.kernel.org/r/20191030154313.13263-6-pmladek@suse.com
+To: Jiri Kosina <jikos@kernel.org>
+Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
+Cc: Nicolai Stange <nstange@suse.de>
+Cc: live-patching@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Acked-by: Miroslav Benes <mbenes@suse.cz>
+Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
+Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
+[ mb: selftests runtime hunks removed ]
+Signed-off-by: Petr Mladek <pmladek@suse.com>
+---
+ lib/livepatch/Makefile | 5 -
+ lib/livepatch/test_klp_state.c | 162 +++++++++++++++++++++++++++++++++
+ lib/livepatch/test_klp_state2.c | 191 ++++++++++++++++++++++++++++++++++++++++
+ lib/livepatch/test_klp_state3.c | 5 +
+ 4 files changed, 362 insertions(+), 1 deletion(-)
+
+--- a/lib/livepatch/Makefile
++++ b/lib/livepatch/Makefile
+@@ -8,7 +8,10 @@ obj-$(CONFIG_TEST_LIVEPATCH) += test_klp
+ test_klp_callbacks_busy.o \
+ test_klp_callbacks_mod.o \
+ test_klp_livepatch.o \
+- test_klp_shadow_vars.o
++ test_klp_shadow_vars.o \
++ test_klp_state.o \
++ test_klp_state2.o \
++ test_klp_state3.o
+
+ # Target modules to be livepatched require CC_FLAGS_FTRACE
+ CFLAGS_test_klp_callbacks_busy.o += $(CC_FLAGS_FTRACE)
+--- /dev/null
++++ b/lib/livepatch/test_klp_state.c
+@@ -0,0 +1,162 @@
++// SPDX-License-Identifier: GPL-2.0
++// Copyright (C) 2019 SUSE
++
++#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
++
++#include <linux/slab.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/printk.h>
++#include <linux/livepatch.h>
++
++#define CONSOLE_LOGLEVEL_STATE 1
++/* Version 1 does not support migration. */
++#define CONSOLE_LOGLEVEL_STATE_VERSION 1
++
++static const char *const module_state[] = {
++ [MODULE_STATE_LIVE] = "[MODULE_STATE_LIVE] Normal state",
++ [MODULE_STATE_COMING] = "[MODULE_STATE_COMING] Full formed, running module_init",
++ [MODULE_STATE_GOING] = "[MODULE_STATE_GOING] Going away",
++ [MODULE_STATE_UNFORMED] = "[MODULE_STATE_UNFORMED] Still setting it up",
++};
++
++static void callback_info(const char *callback, struct klp_object *obj)
++{
++ if (obj->mod)
++ pr_info("%s: %s -> %s\n", callback, obj->mod->name,
++ module_state[obj->mod->state]);
++ else
++ pr_info("%s: vmlinux\n", callback);
++}
++
++static struct klp_patch patch;
++
++static int allocate_loglevel_state(void)
++{
++ struct klp_state *loglevel_state;
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return -EINVAL;
++
++ loglevel_state->data = kzalloc(sizeof(console_loglevel), GFP_KERNEL);
++ if (!loglevel_state->data)
++ return -ENOMEM;
++
++ pr_info("%s: allocating space to store console_loglevel\n",
++ __func__);
++ return 0;
++}
++
++static void fix_console_loglevel(void)
++{
++ struct klp_state *loglevel_state;
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return;
++
++ pr_info("%s: fixing console_loglevel\n", __func__);
++ *(int *)loglevel_state->data = console_loglevel;
++ console_loglevel = CONSOLE_LOGLEVEL_MOTORMOUTH;
++}
++
++static void restore_console_loglevel(void)
++{
++ struct klp_state *loglevel_state;
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return;
++
++ pr_info("%s: restoring console_loglevel\n", __func__);
++ console_loglevel = *(int *)loglevel_state->data;
++}
++
++static void free_loglevel_state(void)
++{
++ struct klp_state *loglevel_state;
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return;
++
++ pr_info("%s: freeing space for the stored console_loglevel\n",
++ __func__);
++ kfree(loglevel_state->data);
++}
++
++/* Executed on object patching (ie, patch enablement) */
++static int pre_patch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ return allocate_loglevel_state();
++}
++
++/* Executed on object unpatching (ie, patch disablement) */
++static void post_patch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ fix_console_loglevel();
++}
++
++/* Executed on object unpatching (ie, patch disablement) */
++static void pre_unpatch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ restore_console_loglevel();
++}
++
++/* Executed on object unpatching (ie, patch disablement) */
++static void post_unpatch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ free_loglevel_state();
++}
++
++static struct klp_func no_funcs[] = {
++ {}
++};
++
++static struct klp_object objs[] = {
++ {
++ .name = NULL, /* vmlinux */
++ .funcs = no_funcs,
++ .callbacks = {
++ .pre_patch = pre_patch_callback,
++ .post_patch = post_patch_callback,
++ .pre_unpatch = pre_unpatch_callback,
++ .post_unpatch = post_unpatch_callback,
++ },
++ }, { }
++};
++
++static struct klp_state states[] = {
++ {
++ .id = CONSOLE_LOGLEVEL_STATE,
++ .version = CONSOLE_LOGLEVEL_STATE_VERSION,
++ }, { }
++};
++
++static struct klp_patch patch = {
++ .mod = THIS_MODULE,
++ .objs = objs,
++ .states = states,
++ .replace = true,
++};
++
++static int test_klp_callbacks_demo_init(void)
++{
++ return klp_enable_patch(&patch);
++}
++
++static void test_klp_callbacks_demo_exit(void)
++{
++}
++
++module_init(test_klp_callbacks_demo_init);
++module_exit(test_klp_callbacks_demo_exit);
++MODULE_LICENSE("GPL");
++MODULE_INFO(livepatch, "Y");
++MODULE_AUTHOR("Petr Mladek <pmladek@suse.com>");
++MODULE_DESCRIPTION("Livepatch test: system state modification");
+--- /dev/null
++++ b/lib/livepatch/test_klp_state2.c
+@@ -0,0 +1,191 @@
++// SPDX-License-Identifier: GPL-2.0
++// Copyright (C) 2019 SUSE
++
++#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
++
++#include <linux/slab.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/printk.h>
++#include <linux/livepatch.h>
++
++#define CONSOLE_LOGLEVEL_STATE 1
++/* Version 2 supports migration. */
++#define CONSOLE_LOGLEVEL_STATE_VERSION 2
++
++static const char *const module_state[] = {
++ [MODULE_STATE_LIVE] = "[MODULE_STATE_LIVE] Normal state",
++ [MODULE_STATE_COMING] = "[MODULE_STATE_COMING] Full formed, running module_init",
++ [MODULE_STATE_GOING] = "[MODULE_STATE_GOING] Going away",
++ [MODULE_STATE_UNFORMED] = "[MODULE_STATE_UNFORMED] Still setting it up",
++};
++
++static void callback_info(const char *callback, struct klp_object *obj)
++{
++ if (obj->mod)
++ pr_info("%s: %s -> %s\n", callback, obj->mod->name,
++ module_state[obj->mod->state]);
++ else
++ pr_info("%s: vmlinux\n", callback);
++}
++
++static struct klp_patch patch;
++
++static int allocate_loglevel_state(void)
++{
++ struct klp_state *loglevel_state, *prev_loglevel_state;
++
++ prev_loglevel_state = klp_get_prev_state(CONSOLE_LOGLEVEL_STATE);
++ if (prev_loglevel_state) {
++ pr_info("%s: space to store console_loglevel already allocated\n",
++ __func__);
++ return 0;
++ }
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return -EINVAL;
++
++ loglevel_state->data = kzalloc(sizeof(console_loglevel), GFP_KERNEL);
++ if (!loglevel_state->data)
++ return -ENOMEM;
++
++ pr_info("%s: allocating space to store console_loglevel\n",
++ __func__);
++ return 0;
++}
++
++static void fix_console_loglevel(void)
++{
++ struct klp_state *loglevel_state, *prev_loglevel_state;
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return;
++
++ prev_loglevel_state = klp_get_prev_state(CONSOLE_LOGLEVEL_STATE);
++ if (prev_loglevel_state) {
++ pr_info("%s: taking over the console_loglevel change\n",
++ __func__);
++ loglevel_state->data = prev_loglevel_state->data;
++ return;
++ }
++
++ pr_info("%s: fixing console_loglevel\n", __func__);
++ *(int *)loglevel_state->data = console_loglevel;
++ console_loglevel = CONSOLE_LOGLEVEL_MOTORMOUTH;
++}
++
++static void restore_console_loglevel(void)
++{
++ struct klp_state *loglevel_state, *prev_loglevel_state;
++
++ prev_loglevel_state = klp_get_prev_state(CONSOLE_LOGLEVEL_STATE);
++ if (prev_loglevel_state) {
++ pr_info("%s: passing the console_loglevel change back to the old livepatch\n",
++ __func__);
++ return;
++ }
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return;
++
++ pr_info("%s: restoring console_loglevel\n", __func__);
++ console_loglevel = *(int *)loglevel_state->data;
++}
++
++static void free_loglevel_state(void)
++{
++ struct klp_state *loglevel_state, *prev_loglevel_state;
++
++ prev_loglevel_state = klp_get_prev_state(CONSOLE_LOGLEVEL_STATE);
++ if (prev_loglevel_state) {
++ pr_info("%s: keeping space to store console_loglevel\n",
++ __func__);
++ return;
++ }
++
++ loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE);
++ if (!loglevel_state)
++ return;
++
++ pr_info("%s: freeing space for the stored console_loglevel\n",
++ __func__);
++ kfree(loglevel_state->data);
++}
++
++/* Executed on object patching (ie, patch enablement) */
++static int pre_patch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ return allocate_loglevel_state();
++}
++
++/* Executed on object unpatching (ie, patch disablement) */
++static void post_patch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ fix_console_loglevel();
++}
++
++/* Executed on object unpatching (ie, patch disablement) */
++static void pre_unpatch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ restore_console_loglevel();
++}
++
++/* Executed on object unpatching (ie, patch disablement) */
++static void post_unpatch_callback(struct klp_object *obj)
++{
++ callback_info(__func__, obj);
++ free_loglevel_state();
++}
++
++static struct klp_func no_funcs[] = {
++ {}
++};
++
++static struct klp_object objs[] = {
++ {
++ .name = NULL, /* vmlinux */
++ .funcs = no_funcs,
++ .callbacks = {
++ .pre_patch = pre_patch_callback,
++ .post_patch = post_patch_callback,
++ .pre_unpatch = pre_unpatch_callback,
++ .post_unpatch = post_unpatch_callback,
++ },
++ }, { }
++};
++
++static struct klp_state states[] = {
++ {
++ .id = CONSOLE_LOGLEVEL_STATE,
++ .version = CONSOLE_LOGLEVEL_STATE_VERSION,
++ }, { }
++};
++
++static struct klp_patch patch = {
++ .mod = THIS_MODULE,
++ .objs = objs,
++ .states = states,
++ .replace = true,
++};
++
++static int test_klp_callbacks_demo_init(void)
++{
++ return klp_enable_patch(&patch);
++}
++
++static void test_klp_callbacks_demo_exit(void)
++{
++}
++
++module_init(test_klp_callbacks_demo_init);
++module_exit(test_klp_callbacks_demo_exit);
++MODULE_LICENSE("GPL");
++MODULE_INFO(livepatch, "Y");
++MODULE_AUTHOR("Petr Mladek <pmladek@suse.com>");
++MODULE_DESCRIPTION("Livepatch test: system state modification");
+--- /dev/null
++++ b/lib/livepatch/test_klp_state3.c
+@@ -0,0 +1,5 @@
++// SPDX-License-Identifier: GPL-2.0
++// Copyright (C) 2019 SUSE
++
++/* The console loglevel fix is the same in the next cumulative patch. */
++#include "test_klp_state2.c"
diff --git a/patches.suse/lpfc-add-additional-discovery-log-messages.patch b/patches.suse/lpfc-add-additional-discovery-log-messages.patch
index 811311be5f..3e9d373139 100644
--- a/patches.suse/lpfc-add-additional-discovery-log-messages.patch
+++ b/patches.suse/lpfc-add-additional-discovery-log-messages.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:31 -0700
Subject: scsi: lpfc: Add additional discovery log messages
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: b4b3417cf6c8051f9f210cd694e6342fb008795c
References: bsc#1154521
diff --git a/patches.suse/lpfc-add-fa-wwn-async-event-reporting.patch b/patches.suse/lpfc-add-fa-wwn-async-event-reporting.patch
index 1d8f2bb84e..b7730d696d 100644
--- a/patches.suse/lpfc-add-fa-wwn-async-event-reporting.patch
+++ b/patches.suse/lpfc-add-fa-wwn-async-event-reporting.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:29 -0700
Subject: scsi: lpfc: Add FA-WWN Async Event reporting
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: e7d8595272553c27846946601b72e4c581f9712a
References: bsc#1154521
diff --git a/patches.suse/lpfc-add-fc-al-support-to-lpe32000-models.patch b/patches.suse/lpfc-add-fc-al-support-to-lpe32000-models.patch
index 4afc06c053..a3ccf1514c 100644
--- a/patches.suse/lpfc-add-fc-al-support-to-lpe32000-models.patch
+++ b/patches.suse/lpfc-add-fc-al-support-to-lpe32000-models.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:30 -0700
Subject: scsi: lpfc: Add FC-AL support to lpe32000 models
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 83c6cb1ae8be6948b5fa43b2450a176dba80688b
References: bsc#1154521
diff --git a/patches.suse/lpfc-add-log-macros-to-allow-print-by-serverity-or.patch b/patches.suse/lpfc-add-log-macros-to-allow-print-by-serverity-or.patch
index 94142f3437..29aacb46f2 100644
--- a/patches.suse/lpfc-add-log-macros-to-allow-print-by-serverity-or.patch
+++ b/patches.suse/lpfc-add-log-macros-to-allow-print-by-serverity-or.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:28 -0700
Subject: scsi: lpfc: Add log macros to allow print by serverity or verbosity setting
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: b1dfa5411ea440f7a5bd65176259ffb3bfbdecf0
References: bsc#1154521
diff --git a/patches.suse/lpfc-fix-bad-ndlp-ptr-in-xri-aborted-handling.patch b/patches.suse/lpfc-fix-bad-ndlp-ptr-in-xri-aborted-handling.patch
index 8e478d21b9..e099b8d4d4 100644
--- a/patches.suse/lpfc-fix-bad-ndlp-ptr-in-xri-aborted-handling.patch
+++ b/patches.suse/lpfc-fix-bad-ndlp-ptr-in-xri-aborted-handling.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:21 -0700
Subject: scsi: lpfc: Fix bad ndlp ptr in xri aborted handling
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 324e1c402069e8d277d2a2b18ce40bde1265b96a
References: bsc#1154521
diff --git a/patches.suse/lpfc-fix-coverity-error-of-dereference-after-null.patch b/patches.suse/lpfc-fix-coverity-error-of-dereference-after-null.patch
index 454f5cd3e6..97442425dc 100644
--- a/patches.suse/lpfc-fix-coverity-error-of-dereference-after-null.patch
+++ b/patches.suse/lpfc-fix-coverity-error-of-dereference-after-null.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:23 -0700
Subject: scsi: lpfc: fix coverity error of dereference after null check
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: f84f8f93f01feb64fdda8dd6c72d1b7dc24ad11d
References: bsc#1154521
diff --git a/patches.suse/lpfc-fix-hardlockup-in-lpfc_abort_handler.patch b/patches.suse/lpfc-fix-hardlockup-in-lpfc_abort_handler.patch
index 7d6daf52d5..931f24d5a8 100644
--- a/patches.suse/lpfc-fix-hardlockup-in-lpfc_abort_handler.patch
+++ b/patches.suse/lpfc-fix-hardlockup-in-lpfc_abort_handler.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:22 -0700
Subject: scsi: lpfc: Fix hardlockup in lpfc_abort_handler
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 91a52b617cdb8bf6d298892101c061d438b84a19
References: bsc#1154521
diff --git a/patches.suse/lpfc-fix-lockdep-errors-in-sli_ringtx_put.patch b/patches.suse/lpfc-fix-lockdep-errors-in-sli_ringtx_put.patch
index 4f712f3480..e0ec5aaa07 100644
--- a/patches.suse/lpfc-fix-lockdep-errors-in-sli_ringtx_put.patch
+++ b/patches.suse/lpfc-fix-lockdep-errors-in-sli_ringtx_put.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:19 -0700
Subject: scsi: lpfc: Fix lockdep errors in sli_ringtx_put
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 27f3efd637ce4859a44a7ca730c72392b4111c26
References: bsc#1154521
diff --git a/patches.suse/lpfc-fix-lpfc_nvmet_mrq-to-be-bound-by-hdw-queue-count.patch b/patches.suse/lpfc-fix-lpfc_nvmet_mrq-to-be-bound-by-hdw-queue-count.patch
index 578bf08877..9bba5f3783 100644
--- a/patches.suse/lpfc-fix-lpfc_nvmet_mrq-to-be-bound-by-hdw-queue-count.patch
+++ b/patches.suse/lpfc-fix-lpfc_nvmet_mrq-to-be-bound-by-hdw-queue-count.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:17 -0700
Subject: scsi: lpfc: fix lpfc_nvmet_mrq to be bound by hdw queue count
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 97a9ed3b3ae8eae27a231129c0939151879d5f2b
References: bsc#1154521
diff --git a/patches.suse/lpfc-fix-reporting-of-read-only-fw-error-errors.patch b/patches.suse/lpfc-fix-reporting-of-read-only-fw-error-errors.patch
index 85f5a945b4..f4fab0584e 100644
--- a/patches.suse/lpfc-fix-reporting-of-read-only-fw-error-errors.patch
+++ b/patches.suse/lpfc-fix-reporting-of-read-only-fw-error-errors.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:18 -0700
Subject: scsi: lpfc: Fix reporting of read-only fw error errors
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 0a5ce731977da1cc6d8d6d7df01c2e53ebb81796
References: bsc#1154521
diff --git a/patches.suse/lpfc-fix-sli3-hba-in-loop-mode-not-discovering-devices.patch b/patches.suse/lpfc-fix-sli3-hba-in-loop-mode-not-discovering-devices.patch
index 781a9e9c1d..66eb47d35d 100644
--- a/patches.suse/lpfc-fix-sli3-hba-in-loop-mode-not-discovering-devices.patch
+++ b/patches.suse/lpfc-fix-sli3-hba-in-loop-mode-not-discovering-devices.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:20 -0700
Subject: scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: feff8b3d84d3d9570f893b4d83e5eab6693d6a52
References: bsc#1154521
diff --git a/patches.suse/lpfc-make-fw-logging-dynamically-configurable.patch b/patches.suse/lpfc-make-fw-logging-dynamically-configurable.patch
index 7f05514504..429d06f4c4 100644
--- a/patches.suse/lpfc-make-fw-logging-dynamically-configurable.patch
+++ b/patches.suse/lpfc-make-fw-logging-dynamically-configurable.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:27 -0700
Subject: scsi: lpfc: Make FW logging dynamically configurable
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 95bfc6d8ad86a76c89f62bb466f740b0fc05a667
References: bsc#1154521
diff --git a/patches.suse/lpfc-remove-lock-contention-target-write-path.patch b/patches.suse/lpfc-remove-lock-contention-target-write-path.patch
index 6f64acebd6..c5469b044c 100644
--- a/patches.suse/lpfc-remove-lock-contention-target-write-path.patch
+++ b/patches.suse/lpfc-remove-lock-contention-target-write-path.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:25 -0700
Subject: scsi: lpfc: Remove lock contention target write path
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: ea85a20cd54f3b09880f6c08994b059f0d114a11
References: bsc#1154521
diff --git a/patches.suse/lpfc-revise-interrupt-coalescing-for-missing-scenarios.patch b/patches.suse/lpfc-revise-interrupt-coalescing-for-missing-scenarios.patch
index 415a36e8f5..be395727b1 100644
--- a/patches.suse/lpfc-revise-interrupt-coalescing-for-missing-scenarios.patch
+++ b/patches.suse/lpfc-revise-interrupt-coalescing-for-missing-scenarios.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:26 -0700
Subject: scsi: lpfc: Revise interrupt coalescing for missing scenarios
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 8156d378c4cbf8ca19df5d8f0c610ce6923b61e2
References: bsc#1154521
diff --git a/patches.suse/lpfc-slight-fast-path-performance-optimizations.patch b/patches.suse/lpfc-slight-fast-path-performance-optimizations.patch
index fb3481d50c..71f497d6ff 100644
--- a/patches.suse/lpfc-slight-fast-path-performance-optimizations.patch
+++ b/patches.suse/lpfc-slight-fast-path-performance-optimizations.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:24 -0700
Subject: scsi: lpfc: Slight fast-path performance optimizations
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 22770cbabf6bb77a397d9f11d41f97667dd0caa2
References: bsc#1154521
diff --git a/patches.suse/lpfc-update-lpfc-version-to-12.6.0.0.patch b/patches.suse/lpfc-update-lpfc-version-to-12.6.0.0.patch
index c2a2529bb6..81794fa748 100644
--- a/patches.suse/lpfc-update-lpfc-version-to-12.6.0.0.patch
+++ b/patches.suse/lpfc-update-lpfc-version-to-12.6.0.0.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 18 Oct 2019 14:18:32 -0700
Subject: scsi: lpfc: Update lpfc version to 12.6.0.0
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 74acec655f560ef721c1e191732af2bcb094b537
References: bsc#1154521
diff --git a/patches.suse/media-serial_ir-Fix-use-after-free-in-serial_ir_init.patch b/patches.suse/media-serial_ir-Fix-use-after-free-in-serial_ir_init.patch
index 538bbec145..f338cb80be 100644
--- a/patches.suse/media-serial_ir-Fix-use-after-free-in-serial_ir_init.patch
+++ b/patches.suse/media-serial_ir-Fix-use-after-free-in-serial_ir_init.patch
@@ -4,7 +4,7 @@ Date: Tue, 5 Mar 2019 00:40:26 -0500
Subject: [PATCH] media: serial_ir: Fix use-after-free in serial_ir_init_module
Git-commit: 56cd26b618855c9af48c8301aa6754ced8dd0beb
Patch-mainline: v5.2-rc1
-References: bsc#1051510
+References: CVE-2019-19543 bsc#1158427 bsc#1051510
Syzkaller report this:
diff --git a/patches.suse/mlx5-add-parameter-to-disable-enhanced-IPoIB.patch b/patches.suse/mlx5-add-parameter-to-disable-enhanced-IPoIB.patch
new file mode 100644
index 0000000000..5b85250b05
--- /dev/null
+++ b/patches.suse/mlx5-add-parameter-to-disable-enhanced-IPoIB.patch
@@ -0,0 +1,46 @@
+From e6bc5ebe2450cc5fd71e4cbd859541423f13c9e0 Mon Sep 17 00:00:00 2001
+From: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
+Date: Mon, 29 Jul 2019 20:19:55 +0200
+Subject: [PATCH] mlx5: add parameter to disable enhanced IPoIB
+Patch-mainline: Never, better fix based on netlink is being worked on
+References: bsc#1142095
+
+Recent ConnextX-[45] HCA have enhanced IPoIB enabled which prevents the use of the connected mode.
+Although not an issue in a fully compatible setup, it can be an issue in a mixed HW one.
+
+Mellanox OFED uses a ipoib_enhanced flag on the ib_ipoib module to work around the issue.
+This patch adds a similarly name flag to the mlx5_ib module to disable enhanced IPoIB for
+all mlx5 HCA and allow users to pick datagram/connected the usual way.
+
+Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
+---
+ drivers/infiniband/hw/mlx5/main.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+
+diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
+index ef8d51ec8a40..4997de10e614 100644
+--- a/drivers/infiniband/hw/mlx5/main.c
++++ b/drivers/infiniband/hw/mlx5/main.c
+@@ -68,6 +68,10 @@ MODULE_AUTHOR("Eli Cohen <eli@mellanox.com>");
+ MODULE_DESCRIPTION("Mellanox Connect-IB HCA IB driver");
+ MODULE_LICENSE("Dual BSD/GPL");
+
++static int ipoib_enhanced = 1;
++module_param(ipoib_enhanced, int, 0444);
++MODULE_PARM_DESC(ipoib_enhanced, "Enable IPoIB enhanced for capable devices (default = 1) (0-1)");
++
+ static char mlx5_version[] =
+ DRIVER_NAME ": Mellanox Connect-IB Infiniband driver v"
+ DRIVER_VERSION "\n";
+@@ -4026,6 +4030,7 @@ static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
+ dev->ib_dev.get_dev_fw_str = get_dev_fw_str;
+ dev->ib_dev.get_vector_affinity = mlx5_ib_get_vector_affinity;
+ if (MLX5_CAP_GEN(mdev, ipoib_enhanced_offloads) &&
++ ipoib_enhanced &&
+ IS_ENABLED(CONFIG_MLX5_CORE_IPOIB))
+ dev->ib_dev.rdma_netdev_get_params = mlx5_ib_rn_get_params;
+
+--
+2.24.0
+
diff --git a/patches.suse/mwifiex-Fix-heap-overflow-in-mmwifiex_process_tdls_a.patch b/patches.suse/mwifiex-Fix-heap-overflow-in-mmwifiex_process_tdls_a.patch
new file mode 100644
index 0000000000..9cf92d6827
--- /dev/null
+++ b/patches.suse/mwifiex-Fix-heap-overflow-in-mmwifiex_process_tdls_a.patch
@@ -0,0 +1,167 @@
+From 1e58252e334dc3f3756f424a157d1b7484464c40 Mon Sep 17 00:00:00 2001
+From: qize wang <wangqize888888888@gmail.com>
+Date: Fri, 29 Nov 2019 18:10:54 +0800
+Subject: [PATCH] mwifiex: Fix heap overflow in
+ mmwifiex_process_tdls_action_frame()
+Mime-version: 1.0
+Content-type: text/plain; charset=UTF-8
+Content-transfer-encoding: 8bit
+References: CVE-2019-14901,bsc#1157042
+Git-commit: 1e58252e334dc3f3756f424a157d1b7484464c40
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git
+Patch-mainline: Queued in subsystem maintainer repository
+
+mwifiex_process_tdls_action_frame() without checking
+the incoming tdls infomation element's vality before use it,
+this may cause multi heap buffer overflows.
+
+Fix them by putting vality check before use it.
+
+IE is TLV struct, but ht_cap and ht_oper aren’t TLV struct.
+the origin marvell driver code is wrong:
+
+memcpy(&sta_ptr->tdls_cap.ht_oper, pos,....
+memcpy((u8 *)&sta_ptr->tdls_cap.ht_capb, pos,...
+
+Fix the bug by changing pos(the address of IE) to
+pos+2 ( the address of IE value ).
+
+Signed-off-by: qize wang <wangqize888888888@gmail.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/wireless/marvell/mwifiex/tdls.c | 70 ++++++++++++++++++++++++++---
+ 1 file changed, 64 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/net/wireless/marvell/mwifiex/tdls.c b/drivers/net/wireless/marvell/mwifiex/tdls.c
+index 09313047beed..7caf1d26124a 100644
+--- a/drivers/net/wireless/marvell/mwifiex/tdls.c
++++ b/drivers/net/wireless/marvell/mwifiex/tdls.c
+@@ -953,59 +953,117 @@ void mwifiex_process_tdls_action_frame(struct mwifiex_private *priv,
+
+ switch (*pos) {
+ case WLAN_EID_SUPP_RATES:
++ if (pos[1] > 32)
++ return;
+ sta_ptr->tdls_cap.rates_len = pos[1];
+ for (i = 0; i < pos[1]; i++)
+ sta_ptr->tdls_cap.rates[i] = pos[i + 2];
+ break;
+
+ case WLAN_EID_EXT_SUPP_RATES:
++ if (pos[1] > 32)
++ return;
+ basic = sta_ptr->tdls_cap.rates_len;
++ if (pos[1] > 32 - basic)
++ return;
+ for (i = 0; i < pos[1]; i++)
+ sta_ptr->tdls_cap.rates[basic + i] = pos[i + 2];
+ sta_ptr->tdls_cap.rates_len += pos[1];
+ break;
+ case WLAN_EID_HT_CAPABILITY:
+- memcpy((u8 *)&sta_ptr->tdls_cap.ht_capb, pos,
++ if (pos > end - sizeof(struct ieee80211_ht_cap) - 2)
++ return;
++ if (pos[1] != sizeof(struct ieee80211_ht_cap))
++ return;
++ /* copy the ie's value into ht_capb*/
++ memcpy((u8 *)&sta_ptr->tdls_cap.ht_capb, pos + 2,
+ sizeof(struct ieee80211_ht_cap));
+ sta_ptr->is_11n_enabled = 1;
+ break;
+ case WLAN_EID_HT_OPERATION:
+- memcpy(&sta_ptr->tdls_cap.ht_oper, pos,
++ if (pos > end -
++ sizeof(struct ieee80211_ht_operation) - 2)
++ return;
++ if (pos[1] != sizeof(struct ieee80211_ht_operation))
++ return;
++ /* copy the ie's value into ht_oper*/
++ memcpy(&sta_ptr->tdls_cap.ht_oper, pos + 2,
+ sizeof(struct ieee80211_ht_operation));
+ break;
+ case WLAN_EID_BSS_COEX_2040:
++ if (pos > end - 3)
++ return;
++ if (pos[1] != 1)
++ return;
+ sta_ptr->tdls_cap.coex_2040 = pos[2];
+ break;
+ case WLAN_EID_EXT_CAPABILITY:
++ if (pos > end - sizeof(struct ieee_types_header))
++ return;
++ if (pos[1] < sizeof(struct ieee_types_header))
++ return;
++ if (pos[1] > 8)
++ return;
+ memcpy((u8 *)&sta_ptr->tdls_cap.extcap, pos,
+ sizeof(struct ieee_types_header) +
+ min_t(u8, pos[1], 8));
+ break;
+ case WLAN_EID_RSN:
++ if (pos > end - sizeof(struct ieee_types_header))
++ return;
++ if (pos[1] < sizeof(struct ieee_types_header))
++ return;
++ if (pos[1] > IEEE_MAX_IE_SIZE -
++ sizeof(struct ieee_types_header))
++ return;
+ memcpy((u8 *)&sta_ptr->tdls_cap.rsn_ie, pos,
+ sizeof(struct ieee_types_header) +
+ min_t(u8, pos[1], IEEE_MAX_IE_SIZE -
+ sizeof(struct ieee_types_header)));
+ break;
+ case WLAN_EID_QOS_CAPA:
++ if (pos > end - 3)
++ return;
++ if (pos[1] != 1)
++ return;
+ sta_ptr->tdls_cap.qos_info = pos[2];
+ break;
+ case WLAN_EID_VHT_OPERATION:
+- if (priv->adapter->is_hw_11ac_capable)
+- memcpy(&sta_ptr->tdls_cap.vhtoper, pos,
++ if (priv->adapter->is_hw_11ac_capable) {
++ if (pos > end -
++ sizeof(struct ieee80211_vht_operation) - 2)
++ return;
++ if (pos[1] !=
++ sizeof(struct ieee80211_vht_operation))
++ return;
++ /* copy the ie's value into vhtoper*/
++ memcpy(&sta_ptr->tdls_cap.vhtoper, pos + 2,
+ sizeof(struct ieee80211_vht_operation));
++ }
+ break;
+ case WLAN_EID_VHT_CAPABILITY:
+ if (priv->adapter->is_hw_11ac_capable) {
+- memcpy((u8 *)&sta_ptr->tdls_cap.vhtcap, pos,
++ if (pos > end -
++ sizeof(struct ieee80211_vht_cap) - 2)
++ return;
++ if (pos[1] != sizeof(struct ieee80211_vht_cap))
++ return;
++ /* copy the ie's value into vhtcap*/
++ memcpy((u8 *)&sta_ptr->tdls_cap.vhtcap, pos + 2,
+ sizeof(struct ieee80211_vht_cap));
+ sta_ptr->is_11ac_enabled = 1;
+ }
+ break;
+ case WLAN_EID_AID:
+- if (priv->adapter->is_hw_11ac_capable)
++ if (priv->adapter->is_hw_11ac_capable) {
++ if (pos > end - 4)
++ return;
++ if (pos[1] != 2)
++ return;
+ sta_ptr->tdls_cap.aid =
+ get_unaligned_le16((pos + 2));
++ }
++ break;
+ default:
+ break;
+ }
+--
+2.16.4
+
diff --git a/patches.suse/net-smc-avoid-fallback-in-case-of-non-blocking-connect b/patches.suse/net-smc-avoid-fallback-in-case-of-non-blocking-connect
new file mode 100644
index 0000000000..d0402a2de8
--- /dev/null
+++ b/patches.suse/net-smc-avoid-fallback-in-case-of-non-blocking-connect
@@ -0,0 +1,55 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Fri, 2 Aug 2019 10:47:50 +0200
+Subject: net/smc: avoid fallback in case of non-blocking connect
+Git-commit: cd2063604ea6a8c2683b4eb9b5f4c4da74592d87
+Patch-mainline: v5.3-rc4
+References: git-fixes
+
+FASTOPEN is not possible with SMC. sendmsg() with msg_flag MSG_FASTOPEN
+triggers a fallback to TCP if the socket is in state SMC_INIT.
+But if a nonblocking connect is already started, fallback to TCP
+is no longer possible, even though the socket may still be in state
+SMC_INIT.
+And if a nonblocking connect is already started, a listen() call
+does not make sense.
+
+Reported-by: syzbot+bd8cc73d665590a1fcad@syzkaller.appspotmail.com
+Fixes: 50717a37db032 ("net/smc: nonblocking connect rework")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -253,7 +253,7 @@ static int smc_bind(struct socket *sock,
+
+ /* Check if socket is already active */
+ rc = -EINVAL;
+- if (sk->sk_state != SMC_INIT)
++ if (sk->sk_state != SMC_INIT || smc->connect_nonblock)
+ goto out_rel;
+
+ smc->clcsock->sk->sk_reuse = sk->sk_reuse;
+@@ -1398,7 +1398,8 @@ static int smc_listen(struct socket *soc
+ lock_sock(sk);
+
+ rc = -EINVAL;
+- if ((sk->sk_state != SMC_INIT) && (sk->sk_state != SMC_LISTEN))
++ if ((sk->sk_state != SMC_INIT && sk->sk_state != SMC_LISTEN) ||
++ smc->connect_nonblock)
+ goto out;
+
+ rc = 0;
+@@ -1526,7 +1527,7 @@ static int smc_sendmsg(struct socket *so
+ goto out;
+
+ if (msg->msg_flags & MSG_FASTOPEN) {
+- if (sk->sk_state == SMC_INIT) {
++ if (sk->sk_state == SMC_INIT && !smc->connect_nonblock) {
+ smc_switch_to_fallback(smc);
+ smc->fallback_rsn = SMC_CLC_DECL_OPTUNSUPP;
+ } else {
diff --git a/patches.suse/net-smc-do-not-schedule-tx_work-in-smc_closed-state b/patches.suse/net-smc-do-not-schedule-tx_work-in-smc_closed-state
new file mode 100644
index 0000000000..a0c6c2a1d4
--- /dev/null
+++ b/patches.suse/net-smc-do-not-schedule-tx_work-in-smc_closed-state
@@ -0,0 +1,45 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Fri, 2 Aug 2019 10:16:38 +0200
+Subject: net/smc: do not schedule tx_work in SMC_CLOSED state
+Git-commit: f9cedf1a9b1cdcfb0c52edb391d01771e43994a4
+Patch-mainline: v5.3-rc4
+References: git-fixes
+
+The setsockopts options TCP_NODELAY and TCP_CORK may schedule the
+tx worker. Make sure the socket is not yet moved into SMC_CLOSED
+state (for instance by a shutdown SHUT_RDWR call).
+
+Reported-by: syzbot+92209502e7aab127c75f@syzkaller.appspotmail.com
+Reported-by: syzbot+b972214bb803a343f4fe@syzkaller.appspotmail.com
+Fixes: 01d2f7e2cdd31 ("net/smc: sockopts TCP_NODELAY and TCP_CORK")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -1738,14 +1738,18 @@ static int smc_setsockopt(struct socket
+ }
+ break;
+ case TCP_NODELAY:
+- if (sk->sk_state != SMC_INIT && sk->sk_state != SMC_LISTEN) {
++ if (sk->sk_state != SMC_INIT &&
++ sk->sk_state != SMC_LISTEN &&
++ sk->sk_state != SMC_CLOSED) {
+ if (val && !smc->use_fallback)
+ mod_delayed_work(system_wq, &smc->conn.tx_work,
+ 0);
+ }
+ break;
+ case TCP_CORK:
+- if (sk->sk_state != SMC_INIT && sk->sk_state != SMC_LISTEN) {
++ if (sk->sk_state != SMC_INIT &&
++ sk->sk_state != SMC_LISTEN &&
++ sk->sk_state != SMC_CLOSED) {
+ if (!val && !smc->use_fallback)
+ mod_delayed_work(system_wq, &smc->conn.tx_work,
+ 0);
diff --git a/patches.suse/net-smc-fix-closing-of-fallback-smc-sockets b/patches.suse/net-smc-fix-closing-of-fallback-smc-sockets
new file mode 100644
index 0000000000..6ce878a650
--- /dev/null
+++ b/patches.suse/net-smc-fix-closing-of-fallback-smc-sockets
@@ -0,0 +1,50 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Wed, 23 Oct 2019 15:44:05 +0200
+Subject: net/smc: fix closing of fallback SMC sockets
+Git-commit: f536dffc0b79738c3104af999318279dccbaa261
+Patch-mainline: v5.4-rc6
+References: git-fixes
+
+For SMC sockets forced to fallback to TCP, the file is propagated
+from the outer SMC to the internal TCP socket. When closing the SMC
+socket, the internal TCP socket file pointer must be restored to the
+original NULL value, otherwise memory leaks may show up (found with
+CONFIG_DEBUG_KMEMLEAK).
+
+The internal TCP socket is released in smc_clcsock_release(), which
+calls __sock_release() function in net/socket.c. This calls the
+needed iput(SOCK_INODE(sock)) only, if the file pointer has been reset
+to the original NULL-value.
+
+Fixes: 07603b230895 ("net/smc: propagate file from SMC to TCP socket")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -122,6 +122,12 @@ struct proto smc_proto6 = {
+ };
+ EXPORT_SYMBOL_GPL(smc_proto6);
+
++static void smc_restore_fallback_changes(struct smc_sock *smc)
++{
++ smc->clcsock->file->private_data = smc->sk.sk_socket;
++ smc->clcsock->file = NULL;
++}
++
+ static int smc_release(struct socket *sock)
+ {
+ struct sock *sk = sock->sk;
+@@ -159,6 +165,7 @@ static int smc_release(struct socket *so
+ }
+ sk->sk_state = SMC_CLOSED;
+ sk->sk_state_change(sk);
++ smc_restore_fallback_changes(smc);
+ }
+
+ sk->sk_prot->unhash(sk);
diff --git a/patches.suse/net-smc-fix-error-path-in-smc_init b/patches.suse/net-smc-fix-error-path-in-smc_init
new file mode 100644
index 0000000000..32ed5d860a
--- /dev/null
+++ b/patches.suse/net-smc-fix-error-path-in-smc_init
@@ -0,0 +1,40 @@
+From: YueHaibing <yuehaibing@huawei.com>
+Date: Wed, 26 Jun 2019 17:47:50 +0200
+Subject: net/smc: Fix error path in smc_init
+Git-commit: 8c33bf1b0a9663d1742cb19ee71da46a1d8670dd
+Patch-mainline: v5.2-rc7
+References: git-fixes
+
+If register_pernet_subsys success in smc_init,
+we should cleanup it in case any other error.
+
+Fixes: 64e28b52c7a6 (net/smc: add pnet table namespace support")
+Signed-off-by: YueHaibing <yuehaibing@huawei.com>
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -2026,7 +2026,7 @@ static int __init smc_init(void)
+
+ rc = smc_pnet_init();
+ if (rc)
+- return rc;
++ goto out_pernet_subsys;
+
+ rc = smc_llc_init();
+ if (rc) {
+@@ -2077,6 +2077,9 @@ out_proto:
+ proto_unregister(&smc_proto);
+ out_pnet:
+ smc_pnet_exit();
++out_pernet_subsys:
++ unregister_pernet_subsys(&smc_net_ops);
++
+ return rc;
+ }
+
diff --git a/patches.suse/net-smc-fix-ethernet-interface-refcounting b/patches.suse/net-smc-fix-ethernet-interface-refcounting
new file mode 100644
index 0000000000..240c2d3d13
--- /dev/null
+++ b/patches.suse/net-smc-fix-ethernet-interface-refcounting
@@ -0,0 +1,35 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Wed, 6 Nov 2019 10:49:57 +0100
+Subject: net/smc: fix ethernet interface refcounting
+Git-commit: 98f3375505b8d6517bd6710bc6d4f6289eeb30aa
+Patch-mainline: v5.4-rc7
+References: git-fixes
+
+If a pnet table entry is to be added mentioning a valid ethernet
+interface, but an invalid infiniband or ISM device, the dev_put()
+operation for the ethernet interface is called twice, resulting
+in a negative refcount for the ethernet interface, which disables
+removal of such a network interface.
+
+This patch removes one of the dev_put() calls.
+
+Fixes: 890a2cb4a966 ("net/smc: rework pnet table")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/smc_pnet.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/net/smc/smc_pnet.c
++++ b/net/smc/smc_pnet.c
+@@ -375,8 +375,6 @@ static int smc_pnet_fill_entry(struct ne
+ return 0;
+
+ error:
+- if (pnetelem->ndev)
+- dev_put(pnetelem->ndev);
+ return rc;
+ }
+
diff --git a/patches.suse/net-smc-fix-fastopen-for-non-blocking-connect b/patches.suse/net-smc-fix-fastopen-for-non-blocking-connect
new file mode 100644
index 0000000000..62cad03904
--- /dev/null
+++ b/patches.suse/net-smc-fix-fastopen-for-non-blocking-connect
@@ -0,0 +1,37 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Fri, 15 Nov 2019 12:39:30 +0100
+Subject: net/smc: fix fastopen for non-blocking connect()
+Git-commit: 8204df72bea1a7d83d0777add6da98a41dfbdc34
+Patch-mainline: v5.4-rc8
+References: git-fixes
+
+FASTOPEN does not work with SMC-sockets. Since SMC allows fallback to
+TCP native during connection start, the FASTOPEN setsockopts trigger
+this fallback, if the SMC-socket is still in state SMC_INIT.
+But if a FASTOPEN setsockopt is called after a non-blocking connect(),
+this is broken, and fallback does not make sense.
+This change complements
+commit cd2063604ea6 ("net/smc: avoid fallback in case of non-blocking connect")
+and fixes the syzbot reported problem "WARNING in smc_unhash_sk".
+
+Reported-by: syzbot+8488cc4cf1c9e09b8b86@syzkaller.appspotmail.com
+Fixes: e1bbdd570474 ("net/smc: reduce sock_put() for fallback sockets")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -1737,7 +1737,7 @@ static int smc_setsockopt(struct socket
+ case TCP_FASTOPEN:
+ case TCP_FASTOPEN_CONNECT:
+ /* option not supported by SMC */
+- if (sk->sk_state == SMC_INIT) {
++ if (sk->sk_state == SMC_INIT && !smc->connect_nonblock) {
+ smc_switch_to_fallback(smc);
+ smc->fallback_rsn = SMC_CLC_DECL_OPTUNSUPP;
+ } else {
diff --git a/patches.suse/net-smc-fix-refcount-non-blocking-connect-part-2 b/patches.suse/net-smc-fix-refcount-non-blocking-connect-part-2
new file mode 100644
index 0000000000..4cea5e1173
--- /dev/null
+++ b/patches.suse/net-smc-fix-refcount-non-blocking-connect-part-2
@@ -0,0 +1,35 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Tue, 12 Nov 2019 16:03:41 +0100
+Subject: net/smc: fix refcount non-blocking connect() -part 2
+Git-commit: 6d6dd528d5af05dc2d0c773951ed68d630a0c3f1
+Patch-mainline: v5.4-rc8
+References: git-fixes
+
+If an SMC socket is immediately terminated after a non-blocking connect()
+has been called, a memory leak is possible.
+Due to the sock_hold move in
+commit 301428ea3708 ("net/smc: fix refcounting for non-blocking connect()")
+an extra sock_put() is needed in smc_connect_work(), if the internal
+TCP socket is aborted and cancels the sk_stream_wait_connect() of the
+connect worker.
+
+Reported-by: syzbot+4b73ad6fc767e576e275@syzkaller.appspotmail.com
+Fixes: 301428ea3708 ("net/smc: fix refcounting for non-blocking connect()")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -785,6 +785,7 @@ static void smc_connect_work(struct work
+ smc->sk.sk_err = EPIPE;
+ else if (signal_pending(current))
+ smc->sk.sk_err = -sock_intr_errno(timeo);
++ sock_put(&smc->sk); /* passive closing */
+ goto out;
+ }
+
diff --git a/patches.suse/net-smc-fix-refcounting-for-non-blocking-connect b/patches.suse/net-smc-fix-refcounting-for-non-blocking-connect
new file mode 100644
index 0000000000..7e329adf42
--- /dev/null
+++ b/patches.suse/net-smc-fix-refcounting-for-non-blocking-connect
@@ -0,0 +1,43 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Tue, 29 Oct 2019 12:41:26 +0100
+Subject: net/smc: fix refcounting for non-blocking connect()
+Git-commit: 301428ea3708188dc4a243e6e6b46c03b46a0fbc
+Patch-mainline: v5.4-rc6
+References: git-fixes
+
+If a nonblocking socket is immediately closed after connect(),
+the connect worker may not have started. This results in a refcount
+problem, since sock_hold() is called from the connect worker.
+This patch moves the sock_hold in front of the connect worker
+scheduling.
+
+Reported-by: syzbot+4c063e6dea39e4b79f29@syzkaller.appspotmail.com
+Fixes: 50717a37db03 ("net/smc: nonblocking connect rework")
+Reviewed-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -696,8 +696,6 @@ static int __smc_connect(struct smc_sock
+ int smc_type;
+ int rc = 0;
+
+- sock_hold(&smc->sk); /* sock put in passive closing */
+-
+ if (smc->use_fallback)
+ return smc_connect_fallback(smc, smc->fallback_rsn);
+
+@@ -842,6 +840,8 @@ static int smc_connect(struct socket *so
+ rc = kernel_connect(smc->clcsock, addr, alen, flags);
+ if (rc && rc != -EINPROGRESS)
+ goto out;
++
++ sock_hold(&smc->sk); /* sock put in passive closing */
+ if (flags & O_NONBLOCK) {
+ if (schedule_work(&smc->connect_work))
+ smc->connect_nonblock = 1;
diff --git a/patches.suse/net-smc-fix-smcd-link-group-creation-with-vlan-id b/patches.suse/net-smc-fix-smcd-link-group-creation-with-vlan-id
new file mode 100644
index 0000000000..242fc4d268
--- /dev/null
+++ b/patches.suse/net-smc-fix-smcd-link-group-creation-with-vlan-id
@@ -0,0 +1,40 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Thu, 10 Oct 2019 10:16:09 +0200
+Subject: net/smc: fix SMCD link group creation with VLAN id
+Git-commit: 29ee2701529e1905c0e948688f9688c68c8d4ea4
+Patch-mainline: v5.4-rc4
+References: git-fixes
+
+If creation of an SMCD link group with VLAN id fails, the initial
+smc_ism_get_vlan() step has to be reverted as well.
+
+Fixes: c6ba7c9ba43d ("net/smc: add base infrastructure for SMC-D and ISM")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/smc_core.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/net/smc/smc_core.c
++++ b/net/smc/smc_core.c
+@@ -212,7 +212,7 @@ static int smc_lgr_create(struct smc_soc
+ lgr = kzalloc(sizeof(*lgr), GFP_KERNEL);
+ if (!lgr) {
+ rc = SMC_CLC_DECL_MEM;
+- goto out;
++ goto ism_put_vlan;
+ }
+ lgr->is_smcd = ini->is_smcd;
+ lgr->sync_err = 0;
+@@ -288,6 +288,9 @@ clear_llc_lnk:
+ smc_llc_link_clear(lnk);
+ free_lgr:
+ kfree(lgr);
++ism_put_vlan:
++ if (ini->is_smcd && ini->vlan_id)
++ smc_ism_put_vlan(ini->ism_dev, ini->vlan_id);
+ out:
+ if (rc < 0) {
+ if (rc == -ENOMEM)
diff --git a/patches.suse/net-smc-keep-vlan_id-for-smc-r-in-smc_listen_work b/patches.suse/net-smc-keep-vlan_id-for-smc-r-in-smc_listen_work
new file mode 100644
index 0000000000..8753e490b6
--- /dev/null
+++ b/patches.suse/net-smc-keep-vlan_id-for-smc-r-in-smc_listen_work
@@ -0,0 +1,35 @@
+From: Ursula Braun <ubraun@linux.ibm.com>
+Date: Wed, 23 Oct 2019 15:44:06 +0200
+Subject: net/smc: keep vlan_id for SMC-R in smc_listen_work()
+Git-commit: ca5f8d2dd5229ccacdd5cfde1ce4d32b0810e454
+Patch-mainline: v5.4-rc6
+References: git-fixes
+
+Creating of an SMC-R connection with vlan-id fails, because
+smc_listen_work() determines the vlan_id of the connection,
+saves it in struct smc_init_info ini, but clears the ini area
+again if SMC-D is not applicable.
+This patch just resets the ISM device before investigating
+SMC-R availability.
+
+Fixes: bc36d2fc93eb ("net/smc: consolidate function parameters")
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/af_smc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/smc/af_smc.c
++++ b/net/smc/af_smc.c
+@@ -1306,8 +1306,8 @@ static void smc_listen_work(struct work_
+ /* check if RDMA is available */
+ if (!ism_supported) { /* SMC_TYPE_R or SMC_TYPE_B */
+ /* prepare RDMA check */
+- memset(&ini, 0, sizeof(ini));
+ ini.is_smcd = false;
++ ini.ism_dev = NULL;
+ ini.ib_lcl = &pclc->lcl;
+ rc = smc_find_rdma_device(new_smc, &ini);
+ if (rc) {
diff --git a/patches.suse/net-smc-original-socket-family-in-inet_sock_diag b/patches.suse/net-smc-original-socket-family-in-inet_sock_diag
new file mode 100644
index 0000000000..33f56358cf
--- /dev/null
+++ b/patches.suse/net-smc-original-socket-family-in-inet_sock_diag
@@ -0,0 +1,49 @@
+From: Karsten Graul <kgraul@linux.ibm.com>
+Date: Thu, 7 Feb 2019 15:56:20 +0100
+Subject: net/smc: original socket family in inet_sock_diag
+Git-commit: 232dc8ef647658a5352da807d9e994e0e03b43cd
+Patch-mainline: v5.1-rc1
+References: git-fixes
+
+Commit ed75986f4aae ("net/smc: ipv6 support for smc_diag.c") changed the
+value of the diag_family field. The idea was to indicate the family of
+the IP address in the inet_diag_sockid field. But the change makes it
+impossible to distinguish an inet_sock_diag response message from SMC
+sock_diag response. This patch restores the original behaviour and sends
+AF_SMC as value of the diag_family field.
+
+Fixes: ed75986f4aae ("net/smc: ipv6 support for smc_diag.c")
+Reported-by: Eugene Syromiatnikov <esyr@redhat.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ net/smc/smc_diag.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/net/smc/smc_diag.c
++++ b/net/smc/smc_diag.c
+@@ -38,6 +38,7 @@ static void smc_diag_msg_common_fill(str
+ {
+ struct smc_sock *smc = smc_sk(sk);
+
++ r->diag_family = sk->sk_family;
+ if (!smc->clcsock)
+ return;
+ r->id.idiag_sport = htons(smc->clcsock->sk->sk_num);
+@@ -45,14 +46,12 @@ static void smc_diag_msg_common_fill(str
+ r->id.idiag_if = smc->clcsock->sk->sk_bound_dev_if;
+ sock_diag_save_cookie(sk, r->id.idiag_cookie);
+ if (sk->sk_protocol == SMCPROTO_SMC) {
+- r->diag_family = PF_INET;
+ memset(&r->id.idiag_src, 0, sizeof(r->id.idiag_src));
+ memset(&r->id.idiag_dst, 0, sizeof(r->id.idiag_dst));
+ r->id.idiag_src[0] = smc->clcsock->sk->sk_rcv_saddr;
+ r->id.idiag_dst[0] = smc->clcsock->sk->sk_daddr;
+ #if IS_ENABLED(CONFIG_IPV6)
+ } else if (sk->sk_protocol == SMCPROTO_SMC6) {
+- r->diag_family = PF_INET6;
+ memcpy(&r->id.idiag_src, &smc->clcsock->sk->sk_v6_rcv_saddr,
+ sizeof(smc->clcsock->sk->sk_v6_rcv_saddr));
+ memcpy(&r->id.idiag_dst, &smc->clcsock->sk->sk_v6_daddr,
diff --git a/patches.suse/powerpc-book3s64-hash-Use-secondary-hash-for-bolted-.patch b/patches.suse/powerpc-book3s64-hash-Use-secondary-hash-for-bolted-.patch
index a4f4035006..02b35c50cf 100644
--- a/patches.suse/powerpc-book3s64-hash-Use-secondary-hash-for-bolted-.patch
+++ b/patches.suse/powerpc-book3s64-hash-Use-secondary-hash-for-bolted-.patch
@@ -5,8 +5,7 @@ Subject: [PATCH] powerpc/book3s64/hash: Use secondary hash for bolted mapping
if the primary is full
References: bsc#1157778 ltc#182520
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: d78d5dace5398b542fd5a21b50db6e88ce7d392e
With bolted hash page table entry, kernel currently only use primary hash group
diff --git a/patches.suse/powerpc-fadump-when-fadump-is-supported-register-the.patch b/patches.suse/powerpc-fadump-when-fadump-is-supported-register-the.patch
index 1ec26e2ae1..7fa810f258 100644
--- a/patches.suse/powerpc-fadump-when-fadump-is-supported-register-the.patch
+++ b/patches.suse/powerpc-fadump-when-fadump-is-supported-register-the.patch
@@ -5,8 +5,7 @@ Subject: [PATCH] powerpc/fadump: when fadump is supported register the fadump
sysfs files.
References: bsc#1146352
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 565f9bc05e2dad6c7fdfc7c2e641be580aa599cd
Currently it is not possible to distinguish the case when fadump is
diff --git a/patches.suse/powerpc-papr_scm-Fix-an-off-by-one-check-in-papr_scm.patch b/patches.suse/powerpc-papr_scm-Fix-an-off-by-one-check-in-papr_scm.patch
index 940edd7c12..2bc42144f3 100644
--- a/patches.suse/powerpc-papr_scm-Fix-an-off-by-one-check-in-papr_scm.patch
+++ b/patches.suse/powerpc-papr_scm-Fix-an-off-by-one-check-in-papr_scm.patch
@@ -5,8 +5,7 @@ Subject: [PATCH] powerpc/papr_scm: Fix an off-by-one check in
papr_scm_meta_{get, set}
References: bsc#1152243 ltc#181472
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 612ee81b9461475b5a5612c2e8d71559dd3c7920
A validation check to prevent out of bounds read/write inside
diff --git a/patches.suse/powerpc-pseries-Don-t-fail-hash-page-table-insert-fo.patch b/patches.suse/powerpc-pseries-Don-t-fail-hash-page-table-insert-fo.patch
index 05ab561e6f..a2530943ec 100644
--- a/patches.suse/powerpc-pseries-Don-t-fail-hash-page-table-insert-fo.patch
+++ b/patches.suse/powerpc-pseries-Don-t-fail-hash-page-table-insert-fo.patch
@@ -5,8 +5,7 @@ Subject: [PATCH] powerpc/pseries: Don't fail hash page table insert for bolted
mapping
References: bsc#1157778 ltc#182520
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 75838a3290cd4ebbd1f567f310ba04b6ef017ce4
If the hypervisor returned H_PTEG_FULL for H_ENTER hcall, retry a hash page table
diff --git a/patches.suse/powerpc-pseries-Don-t-opencode-HPTE_V_BOLTED.patch b/patches.suse/powerpc-pseries-Don-t-opencode-HPTE_V_BOLTED.patch
index a63a92c552..d04dba4209 100644
--- a/patches.suse/powerpc-pseries-Don-t-opencode-HPTE_V_BOLTED.patch
+++ b/patches.suse/powerpc-pseries-Don-t-opencode-HPTE_V_BOLTED.patch
@@ -4,8 +4,7 @@ Date: Thu, 24 Oct 2019 15:05:40 +0530
Subject: [PATCH] powerpc/pseries: Don't opencode HPTE_V_BOLTED
References: bsc#1157778 ltc#182520
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 82ce028ad26dd075b06285ef61a854a564d910fb
No functional change in this patch.
diff --git a/patches.suse/powerpc-pseries-address-checkpatch-warnings-in-dlpar.patch b/patches.suse/powerpc-pseries-address-checkpatch-warnings-in-dlpar.patch
index ad218571b2..7f9cda1f6f 100644
--- a/patches.suse/powerpc-pseries-address-checkpatch-warnings-in-dlpar.patch
+++ b/patches.suse/powerpc-pseries-address-checkpatch-warnings-in-dlpar.patch
@@ -5,8 +5,7 @@ Subject: [PATCH] powerpc/pseries: address checkpatch warnings in
dlpar_offline_cpu
References: bsc#1156700 ltc#182459
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 3366ebe9e19ba3c672a00a6fb86f0ac8636ee989
Remove some stray blank lines, convert a printk to pr_warn, and
diff --git a/patches.suse/powerpc-pseries-safely-roll-back-failed-DLPAR-cpu-ad.patch b/patches.suse/powerpc-pseries-safely-roll-back-failed-DLPAR-cpu-ad.patch
index 9f14bade6f..7fcdca4a1d 100644
--- a/patches.suse/powerpc-pseries-safely-roll-back-failed-DLPAR-cpu-ad.patch
+++ b/patches.suse/powerpc-pseries-safely-roll-back-failed-DLPAR-cpu-ad.patch
@@ -4,8 +4,7 @@ Date: Wed, 16 Oct 2019 13:36:11 -0500
Subject: [PATCH] powerpc/pseries: safely roll back failed DLPAR cpu add
References: bsc#1156700 ltc#182459
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 80c784282859cc39617b808440a34d0be9502b87
dlpar_online_cpu() attempts to online all threads of a core that has
diff --git a/patches.suse/powerpc-security-Fix-wrong-message-when-RFI-Flush-is.patch b/patches.suse/powerpc-security-Fix-wrong-message-when-RFI-Flush-is.patch
index 9e5bcc4eac..8af5369794 100644
--- a/patches.suse/powerpc-security-Fix-wrong-message-when-RFI-Flush-is.patch
+++ b/patches.suse/powerpc-security-Fix-wrong-message-when-RFI-Flush-is.patch
@@ -4,8 +4,7 @@ Date: Thu, 2 May 2019 18:09:07 -0300
Subject: [PATCH] powerpc/security: Fix wrong message when RFI Flush is disable
References: bsc#1131107
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 4e706af3cd8e1d0503c25332b30cad33c97ed442
The issue was showing "Mitigation" message via sysfs whatever the
diff --git a/patches.suse/powerpc-security-book3s64-Report-L1TF-status-in-sysf.patch b/patches.suse/powerpc-security-book3s64-Report-L1TF-status-in-sysf.patch
index fdc5235f33..18e167b2b4 100644
--- a/patches.suse/powerpc-security-book3s64-Report-L1TF-status-in-sysf.patch
+++ b/patches.suse/powerpc-security-book3s64-Report-L1TF-status-in-sysf.patch
@@ -4,8 +4,7 @@ Date: Tue, 29 Oct 2019 12:07:59 -0700
Subject: [PATCH] powerpc/security/book3s64: Report L1TF status in sysfs
References: bsc#1091041
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 8e6b6da91ac9b9ec5a925b6cb13f287a54bd547d
Some PowerPC CPUs are vulnerable to L1TF to the same extent as to
diff --git a/patches.suse/powerpc-xive-Prevent-page-fault-issues-in-the-machin.patch b/patches.suse/powerpc-xive-Prevent-page-fault-issues-in-the-machin.patch
index 491b4076a5..3432ae574d 100644
--- a/patches.suse/powerpc-xive-Prevent-page-fault-issues-in-the-machin.patch
+++ b/patches.suse/powerpc-xive-Prevent-page-fault-issues-in-the-machin.patch
@@ -8,8 +8,7 @@ Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
References: bsc#1156882 ltc#182435
-Patch-mainline: queued
-Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Patch-mainline: v5.5-rc1
Git-commit: 1ca3dec2b2dff9d286ce6cd64108bda0e98f9710
When the machine crash handler is invoked, all interrupts are masked
diff --git a/patches.suse/printk-export-console_printk.patch b/patches.suse/printk-export-console_printk.patch
new file mode 100644
index 0000000000..6d7becad98
--- /dev/null
+++ b/patches.suse/printk-export-console_printk.patch
@@ -0,0 +1,30 @@
+From: Prarit Bhargava <prarit@redhat.com>
+Date: Fri, 8 Feb 2019 19:24:49 +0100
+Subject: printk: Export console_printk
+Git-commit: a1939185c7a907f91b40da259a610ce2e2da9e18
+Patch-mainline: v5.1-rc1
+References: bsc#1071995 fate#323487
+
+The fbcon can be built as a module and requires console_printk.
+
+Export console_printk.
+
+Signed-off-by: Prarit Bhargava <prarit@redhat.com>
+Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
+Acked-by: Petr Mladek <pmladek@suse.com>
+Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
+Acked-by: Miroslav Benes <mbenes@suse.cz>
+---
+ kernel/printk/printk.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/kernel/printk/printk.c
++++ b/kernel/printk/printk.c
+@@ -65,6 +65,7 @@ int console_printk[4] = {
+ CONSOLE_LOGLEVEL_MIN, /* minimum_console_loglevel */
+ CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */
+ };
++EXPORT_SYMBOL_GPL(console_printk);
+
+ /*
+ * Low level drivers may need that to know if they can schedule in
diff --git a/patches.suse/s390-mm-properly-clear-page_noexec-bit-when-it-is-not-supported b/patches.suse/s390-mm-properly-clear-page_noexec-bit-when-it-is-not-supported
new file mode 100644
index 0000000000..1e11bd4fbf
--- /dev/null
+++ b/patches.suse/s390-mm-properly-clear-page_noexec-bit-when-it-is-not-supported
@@ -0,0 +1,62 @@
+From: Gerald Schaefer <gerald.schaefer@de.ibm.com>
+Date: Wed, 11 Sep 2019 19:42:23 +0200
+Subject: s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported
+Git-commit: ab874f22d35a8058d8fdee5f13eb69d8867efeae
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+On older HW or under a hypervisor, w/o the instruction-execution-
+protection (IEP) facility, and also w/o EDAT-1, a translation-specification
+exception may be recognized when bit 55 of a pte is one (_PAGE_NOEXEC).
+
+The current code tries to prevent setting _PAGE_NOEXEC in such cases,
+by removing it within set_pte_at(). However, ptep_set_access_flags()
+will modify a pte directly, w/o using set_pte_at(). There is at least
+one scenario where this can result in an active pte with _PAGE_NOEXEC
+set, which would then lead to a panic due to a translation-specification
+exception (write to swapped out page):
+
+do_swap_page
+ pte = mk_pte (with _PAGE_NOEXEC bit)
+ set_pte_at (will remove _PAGE_NOEXEC bit in page table, but keep it
+ in local variable pte)
+ vmf->orig_pte = pte (pte still contains _PAGE_NOEXEC bit)
+ do_wp_page
+ wp_page_reuse
+ entry = vmf->orig_pte (still with _PAGE_NOEXEC bit)
+ ptep_set_access_flags (writes entry with _PAGE_NOEXEC bit)
+
+Fix this by clearing _PAGE_NOEXEC already in mk_pte_phys(), where the
+pgprot value is applied, so that no pte with _PAGE_NOEXEC will ever be
+visible, if it is not supported. The check in set_pte_at() can then also
+be removed.
+
+Cc: <stable@vger.kernel.org> # 4.11+
+Fixes: 57d7f939e7bd ("s390: add no-execute support")
+Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
+Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ arch/s390/include/asm/pgtable.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/s390/include/asm/pgtable.h
++++ b/arch/s390/include/asm/pgtable.h
+@@ -1071,8 +1071,6 @@ int pgste_perform_essa(struct mm_struct
+ static inline void set_pte_at(struct mm_struct *mm, unsigned long addr,
+ pte_t *ptep, pte_t entry)
+ {
+- if (!MACHINE_HAS_NX)
+- pte_val(entry) &= ~_PAGE_NOEXEC;
+ if (pte_present(entry))
+ pte_val(entry) &= ~_PAGE_UNUSED;
+ if (mm_has_pgste(mm))
+@@ -1089,6 +1087,8 @@ static inline pte_t mk_pte_phys(unsigned
+ {
+ pte_t __pte;
+ pte_val(__pte) = physpage + pgprot_val(pgprot);
++ if (!MACHINE_HAS_NX)
++ pte_val(__pte) &= ~_PAGE_NOEXEC;
+ return pte_mkyoung(__pte);
+ }
+
diff --git a/patches.suse/scsi-lpfc-Add-enablement-of-multiple-adapter-dumps.patch b/patches.suse/scsi-lpfc-Add-enablement-of-multiple-adapter-dumps.patch
index d94cdf2e23..4887481592 100644
--- a/patches.suse/scsi-lpfc-Add-enablement-of-multiple-adapter-dumps.patch
+++ b/patches.suse/scsi-lpfc-Add-enablement-of-multiple-adapter-dumps.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:07 -0800
Subject: scsi: lpfc: Add enablement of multiple adapter dumps
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 171f6c41949f6e9d5e09dcac842a10bf8dda8dcc
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Add-registration-for-CPU-Offline-Online-ev.patch b/patches.suse/scsi-lpfc-Add-registration-for-CPU-Offline-Online-ev.patch
index 21c023cb23..70a49f2be7 100644
--- a/patches.suse/scsi-lpfc-Add-registration-for-CPU-Offline-Online-ev.patch
+++ b/patches.suse/scsi-lpfc-Add-registration-for-CPU-Offline-Online-ev.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:05 -0800
Subject: scsi: lpfc: Add registration for CPU Offline/Online events
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 93a4d6f40198dffcca35d9a928c409f9290f1fe0
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Change-default-IRQ-model-on-AMD-architectu.patch b/patches.suse/scsi-lpfc-Change-default-IRQ-model-on-AMD-architectu.patch
index 7fb363fb14..8af47f3209 100644
--- a/patches.suse/scsi-lpfc-Change-default-IRQ-model-on-AMD-architectu.patch
+++ b/patches.suse/scsi-lpfc-Change-default-IRQ-model-on-AMD-architectu.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:06 -0800
Subject: scsi: lpfc: Change default IRQ model on AMD architectures
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: dcaa213679387e95a315dca05c57dbb15273703c
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Clarify-FAWNN-error-message.patch b/patches.suse/scsi-lpfc-Clarify-FAWNN-error-message.patch
index cd664ace32..e9e28165a7 100644
--- a/patches.suse/scsi-lpfc-Clarify-FAWNN-error-message.patch
+++ b/patches.suse/scsi-lpfc-Clarify-FAWNN-error-message.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:04 -0800
Subject: scsi: lpfc: Clarify FAWNN error message
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: b9da814cd5f5bb93041a6e4dbc9c5149713186ff
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Complete-removal-of-FCoE-T10-PI-support-on.patch b/patches.suse/scsi-lpfc-Complete-removal-of-FCoE-T10-PI-support-on.patch
index e9dd9f9cc3..ed375f3669 100644
--- a/patches.suse/scsi-lpfc-Complete-removal-of-FCoE-T10-PI-support-on.patch
+++ b/patches.suse/scsi-lpfc-Complete-removal-of-FCoE-T10-PI-support-on.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:59:04 -0700
Subject: scsi: lpfc: Complete removal of FCoE T10 PI support on SLI-4 adapters
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 412e7375e48fc7dc660da99c4b699e4475873f7b
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-GPF-on-scsi-command-completion.patch b/patches.suse/scsi-lpfc-Fix-GPF-on-scsi-command-completion.patch
index 01f64d0fbe..adbdeed49c 100644
--- a/patches.suse/scsi-lpfc-Fix-GPF-on-scsi-command-completion.patch
+++ b/patches.suse/scsi-lpfc-Fix-GPF-on-scsi-command-completion.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:54 -0700
Subject: scsi: lpfc: Fix GPF on scsi command completion
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 9df0a0381a600438d19def2c3868c02871e0cd72
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-NULL-check-before-mempool_destroy-is-n.patch b/patches.suse/scsi-lpfc-Fix-NULL-check-before-mempool_destroy-is-n.patch
index 832f51937a..e2dc2fe54a 100644
--- a/patches.suse/scsi-lpfc-Fix-NULL-check-before-mempool_destroy-is-n.patch
+++ b/patches.suse/scsi-lpfc-Fix-NULL-check-before-mempool_destroy-is-n.patch
@@ -1,8 +1,7 @@
From: Saurav Girepunje <saurav.girepunje@gmail.com>
Date: Sun, 27 Oct 2019 01:17:17 +0530
Subject: scsi: lpfc: Fix NULL check before mempool_destroy is not needed
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: c3e5aac3e2f501ad4fcb03fed0e32a6f009faea2
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-NVME-io-abort-failures-causing-hangs.patch b/patches.suse/scsi-lpfc-Fix-NVME-io-abort-failures-causing-hangs.patch
index f7ee47d021..2493764811 100644
--- a/patches.suse/scsi-lpfc-Fix-NVME-io-abort-failures-causing-hangs.patch
+++ b/patches.suse/scsi-lpfc-Fix-NVME-io-abort-failures-causing-hangs.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:50 -0700
Subject: scsi: lpfc: Fix NVME io abort failures causing hangs
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: a5f7337f5a82fc4b13b4481a7e56977656cbe7d1
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-NVMe-ABTS-in-response-to-receiving-an-.patch b/patches.suse/scsi-lpfc-Fix-NVMe-ABTS-in-response-to-receiving-an-.patch
index b56b09e385..2f573dce1f 100644
--- a/patches.suse/scsi-lpfc-Fix-NVMe-ABTS-in-response-to-receiving-an-.patch
+++ b/patches.suse/scsi-lpfc-Fix-NVMe-ABTS-in-response-to-receiving-an-.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:56 -0700
Subject: scsi: lpfc: Fix NVMe ABTS in response to receiving an ABTS
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 51f8e43ed355d30b3c93293077ecb0c0afac3799
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_get.patch b/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_get.patch
index 7c3ee298bd..b9d1645997 100644
--- a/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_get.patch
+++ b/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_get.patch
@@ -1,8 +1,7 @@
From: Bart Van Assche <bvanassche@acm.org>
Date: Wed, 6 Nov 2019 21:21:54 -0800
Subject: scsi: lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq()
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 765ab6cdac3b681952da0e22184bf6cf1ae41cf8
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_sli.patch b/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_sli.patch
index d31da88bcc..c6d46323bf 100644
--- a/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_sli.patch
+++ b/patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_sli.patch
@@ -1,8 +1,7 @@
From: Bart Van Assche <bvanassche@acm.org>
Date: Wed, 6 Nov 2019 21:21:56 -0800
Subject: scsi: lpfc: Fix a kernel warning triggered by lpfc_sli4_enable_intr()
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: eea2d396aa57acb3607f79ef04c08c2c5166f3fa
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-configuration-of-BB-credit-recovery-in.patch b/patches.suse/scsi-lpfc-Fix-configuration-of-BB-credit-recovery-in.patch
index 91c4c04cb9..dddb0531bb 100644
--- a/patches.suse/scsi-lpfc-Fix-configuration-of-BB-credit-recovery-in.patch
+++ b/patches.suse/scsi-lpfc-Fix-configuration-of-BB-credit-recovery-in.patch
@@ -2,8 +2,7 @@ From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:56:59 -0800
Subject: scsi: lpfc: Fix configuration of BB credit recovery in service
parameters
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 6bfb1620829825c01e1dcdd63b6a7700352babd9
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-coverity-errors-on-NULL-pointer-checks.patch b/patches.suse/scsi-lpfc-Fix-coverity-errors-on-NULL-pointer-checks.patch
index 32aedfce53..ab8bcdbcb4 100644
--- a/patches.suse/scsi-lpfc-Fix-coverity-errors-on-NULL-pointer-checks.patch
+++ b/patches.suse/scsi-lpfc-Fix-coverity-errors-on-NULL-pointer-checks.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:57 -0700
Subject: scsi: lpfc: Fix coverity errors on NULL pointer checks
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 43bfea1bffb6b01089c2fe483ede1b036e166579
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-device-recovery-errors-after-PLOGI-fai.patch b/patches.suse/scsi-lpfc-Fix-device-recovery-errors-after-PLOGI-fai.patch
index 5707cd29c6..0128837705 100644
--- a/patches.suse/scsi-lpfc-Fix-device-recovery-errors-after-PLOGI-fai.patch
+++ b/patches.suse/scsi-lpfc-Fix-device-recovery-errors-after-PLOGI-fai.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:52 -0700
Subject: scsi: lpfc: Fix device recovery errors after PLOGI failures
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 0f154226d699fefe651ccc4db773efc05a820b56
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-discovery-failures-when-target-device-.patch b/patches.suse/scsi-lpfc-Fix-discovery-failures-when-target-device-.patch
index 9a60dea7c9..85a6469a2a 100644
--- a/patches.suse/scsi-lpfc-Fix-discovery-failures-when-target-device-.patch
+++ b/patches.suse/scsi-lpfc-Fix-discovery-failures-when-target-device-.patch
@@ -2,8 +2,7 @@ From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:55 -0700
Subject: scsi: lpfc: Fix discovery failures when target device connectivity
bounces
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 3f97aed6117c7677eb16756c4ec8b86000fd5822
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-duplicate-unreg_rpi-error-in-port-offl.patch b/patches.suse/scsi-lpfc-Fix-duplicate-unreg_rpi-error-in-port-offl.patch
index 0350a88dc6..706c7f1188 100644
--- a/patches.suse/scsi-lpfc-Fix-duplicate-unreg_rpi-error-in-port-offl.patch
+++ b/patches.suse/scsi-lpfc-Fix-duplicate-unreg_rpi-error-in-port-offl.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:56:58 -0800
Subject: scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 7cfd5639d99bec0d27af089d0c8c114330e43a72
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-dynamic-fw-log-enablement-check.patch b/patches.suse/scsi-lpfc-Fix-dynamic-fw-log-enablement-check.patch
index 4f5ede51a2..f3a294504e 100644
--- a/patches.suse/scsi-lpfc-Fix-dynamic-fw-log-enablement-check.patch
+++ b/patches.suse/scsi-lpfc-Fix-dynamic-fw-log-enablement-check.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:02 -0800
Subject: scsi: lpfc: Fix dynamic fw log enablement check
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: dda5bdf074da3782ff9e785ee50cd2a3f214d498
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-hdwq-sgl-locks-and-irq-handling.patch b/patches.suse/scsi-lpfc-Fix-hdwq-sgl-locks-and-irq-handling.patch
index 4a30e95c19..976e408b3c 100644
--- a/patches.suse/scsi-lpfc-Fix-hdwq-sgl-locks-and-irq-handling.patch
+++ b/patches.suse/scsi-lpfc-Fix-hdwq-sgl-locks-and-irq-handling.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:59:01 -0700
Subject: scsi: lpfc: Fix hdwq sgl locks and irq handling
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: a4c21acca2be6729ecbe72eda9b08092725b0a77
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-host-hang-at-boot-or-slow-boot.patch b/patches.suse/scsi-lpfc-Fix-host-hang-at-boot-or-slow-boot.patch
index 3b5c1ef984..7421f4ab0d 100644
--- a/patches.suse/scsi-lpfc-Fix-host-hang-at-boot-or-slow-boot.patch
+++ b/patches.suse/scsi-lpfc-Fix-host-hang-at-boot-or-slow-boot.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:58 -0700
Subject: scsi: lpfc: Fix host hang at boot or slow boot
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 24c7c0a6d3de68b6e15532d18749e561d260c160
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-kernel-crash-at-lpfc_nvme_info_show-du.patch b/patches.suse/scsi-lpfc-Fix-kernel-crash-at-lpfc_nvme_info_show-du.patch
index d08b088f54..7d1509c88c 100644
--- a/patches.suse/scsi-lpfc-Fix-kernel-crash-at-lpfc_nvme_info_show-du.patch
+++ b/patches.suse/scsi-lpfc-Fix-kernel-crash-at-lpfc_nvme_info_show-du.patch
@@ -2,8 +2,7 @@ From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:00 -0800
Subject: scsi: lpfc: Fix kernel crash at lpfc_nvme_info_show during remote
port bounce
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 6c1e803eac846f886cd35131e6516fc51a8414b9
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-list-corruption-detected-in-lpfc_put_s.patch b/patches.suse/scsi-lpfc-Fix-list-corruption-detected-in-lpfc_put_s.patch
index 9fea67c074..4d312b3e69 100644
--- a/patches.suse/scsi-lpfc-Fix-list-corruption-detected-in-lpfc_put_s.patch
+++ b/patches.suse/scsi-lpfc-Fix-list-corruption-detected-in-lpfc_put_s.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:59:02 -0700
Subject: scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 35a635af54ce79881eb35ba20b64dcb1e81b0389
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-list-corruption-in-lpfc_sli_get_iocbq.patch b/patches.suse/scsi-lpfc-Fix-list-corruption-in-lpfc_sli_get_iocbq.patch
index 8080867f48..a9407467a4 100644
--- a/patches.suse/scsi-lpfc-Fix-list-corruption-in-lpfc_sli_get_iocbq.patch
+++ b/patches.suse/scsi-lpfc-Fix-list-corruption-in-lpfc_sli_get_iocbq.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:59 -0700
Subject: scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 15498dc1a55b7aaea4b51ff03e3ff0f662e73f44
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-locking-on-mailbox-command-completion.patch b/patches.suse/scsi-lpfc-Fix-locking-on-mailbox-command-completion.patch
index 12e83ad697..f12e1c62d8 100644
--- a/patches.suse/scsi-lpfc-Fix-locking-on-mailbox-command-completion.patch
+++ b/patches.suse/scsi-lpfc-Fix-locking-on-mailbox-command-completion.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:53 -0700
Subject: scsi: lpfc: Fix locking on mailbox command completion
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 07b8582430370097238b589f4e24da7613ca6dd3
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-lpfc_cpumask_of_node_init.patch b/patches.suse/scsi-lpfc-Fix-lpfc_cpumask_of_node_init.patch
index 927c6b98f3..e52e479f7c 100644
--- a/patches.suse/scsi-lpfc-Fix-lpfc_cpumask_of_node_init.patch
+++ b/patches.suse/scsi-lpfc-Fix-lpfc_cpumask_of_node_init.patch
@@ -1,8 +1,7 @@
From: Bart Van Assche <bvanassche@acm.org>
Date: Fri, 8 Nov 2019 14:59:47 -0800
Subject: scsi: lpfc: Fix lpfc_cpumask_of_node_init()
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 61951a6d3153b4482404b739be921a7459f8dc12
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Fix-miss-of-register-read-failure-check.patch b/patches.suse/scsi-lpfc-Fix-miss-of-register-read-failure-check.patch
index 5518b6b202..9b206d1922 100644
--- a/patches.suse/scsi-lpfc-Fix-miss-of-register-read-failure-check.patch
+++ b/patches.suse/scsi-lpfc-Fix-miss-of-register-read-failure-check.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:49 -0700
Subject: scsi: lpfc: Fix miss of register read failure check
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: b7b95fb8637d7bd271df25e17e002a584b16f411
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-premature-re-enabling-of-interrupts-in.patch b/patches.suse/scsi-lpfc-Fix-premature-re-enabling-of-interrupts-in.patch
index 3508401f54..3ddbe43b93 100644
--- a/patches.suse/scsi-lpfc-Fix-premature-re-enabling-of-interrupts-in.patch
+++ b/patches.suse/scsi-lpfc-Fix-premature-re-enabling-of-interrupts-in.patch
@@ -2,8 +2,7 @@ From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:48 -0700
Subject: scsi: lpfc: Fix premature re-enabling of interrupts in
lpfc_sli_host_down
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 65a3df63e7ff5addafc75ad8bc5ef5856db55429
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-pt2pt-discovery-on-SLI3-HBAs.patch b/patches.suse/scsi-lpfc-Fix-pt2pt-discovery-on-SLI3-HBAs.patch
index 5a45e34a95..ffcbd8638a 100644
--- a/patches.suse/scsi-lpfc-Fix-pt2pt-discovery-on-SLI3-HBAs.patch
+++ b/patches.suse/scsi-lpfc-Fix-pt2pt-discovery-on-SLI3-HBAs.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:47 -0700
Subject: scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 359e10f087dbb7b9c9f3035a8cc4391af45bd651
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-rpi-release-when-deleting-vport.patch b/patches.suse/scsi-lpfc-Fix-rpi-release-when-deleting-vport.patch
index 27a7343503..fa9272a3ad 100644
--- a/patches.suse/scsi-lpfc-Fix-rpi-release-when-deleting-vport.patch
+++ b/patches.suse/scsi-lpfc-Fix-rpi-release-when-deleting-vport.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:58:51 -0700
Subject: scsi: lpfc: Fix rpi release when deleting vport
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 97acd0019d5dadd9c0e111c2083c889bfe548f25
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-spinlock_irq-issues-in-lpfc_els_flush_.patch b/patches.suse/scsi-lpfc-Fix-spinlock_irq-issues-in-lpfc_els_flush_.patch
index 91b048be97..aecf5d897a 100644
--- a/patches.suse/scsi-lpfc-Fix-spinlock_irq-issues-in-lpfc_els_flush_.patch
+++ b/patches.suse/scsi-lpfc-Fix-spinlock_irq-issues-in-lpfc_els_flush_.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:59:00 -0700
Subject: scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd()
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: d38b4a527fe898f859f74a3a43d4308f48ac7855
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Fix-unexpected-error-messages-during-RSCN-.patch b/patches.suse/scsi-lpfc-Fix-unexpected-error-messages-during-RSCN-.patch
index 770a49738d..775faa38b4 100644
--- a/patches.suse/scsi-lpfc-Fix-unexpected-error-messages-during-RSCN-.patch
+++ b/patches.suse/scsi-lpfc-Fix-unexpected-error-messages-during-RSCN-.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:01 -0800
Subject: scsi: lpfc: Fix unexpected error messages during RSCN handling
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 2332e6e475b016e2026763f51333f84e2e6c57a3
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Initialize-cpu_map-for-not-present-cpus.patch b/patches.suse/scsi-lpfc-Initialize-cpu_map-for-not-present-cpus.patch
index b1daee8300..d82196645f 100644
--- a/patches.suse/scsi-lpfc-Initialize-cpu_map-for-not-present-cpus.patch
+++ b/patches.suse/scsi-lpfc-Initialize-cpu_map-for-not-present-cpus.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 11 Nov 2019 15:03:59 -0800
Subject: scsi: lpfc: Initialize cpu_map for not present cpus
-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: bc227dde0d8b687aa525d01b0df5556d4d37eca3
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Make-function-lpfc_defer_pt2pt_acc-static.patch b/patches.suse/scsi-lpfc-Make-function-lpfc_defer_pt2pt_acc-static.patch
index 54128c3fb9..d75b47044e 100644
--- a/patches.suse/scsi-lpfc-Make-function-lpfc_defer_pt2pt_acc-static.patch
+++ b/patches.suse/scsi-lpfc-Make-function-lpfc_defer_pt2pt_acc-static.patch
@@ -1,8 +1,7 @@
From: zhengbin <zhengbin13@huawei.com>
Date: Fri, 4 Oct 2019 18:04:37 +0800
Subject: scsi: lpfc: Make function lpfc_defer_pt2pt_acc static
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: f7cb0d0945ebc9879aff72cf7b3342fd1040ffaa
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Make-lpfc_debugfs_ras_log_data-static.patch b/patches.suse/scsi-lpfc-Make-lpfc_debugfs_ras_log_data-static.patch
index 305b6f1d3c..46dabda2b0 100644
--- a/patches.suse/scsi-lpfc-Make-lpfc_debugfs_ras_log_data-static.patch
+++ b/patches.suse/scsi-lpfc-Make-lpfc_debugfs_ras_log_data-static.patch
@@ -1,8 +1,7 @@
From: YueHaibing <yuehaibing@huawei.com>
Date: Mon, 28 Oct 2019 21:25:56 +0800
Subject: scsi: lpfc: Make lpfc_debugfs_ras_log_data static
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 7b10db555257d1248398643a23e10cf36b50d516
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Sync-with-FC-NVMe-2-SLER-change-to-require.patch b/patches.suse/scsi-lpfc-Sync-with-FC-NVMe-2-SLER-change-to-require.patch
index 7eb20d7188..84bd47976c 100644
--- a/patches.suse/scsi-lpfc-Sync-with-FC-NVMe-2-SLER-change-to-require.patch
+++ b/patches.suse/scsi-lpfc-Sync-with-FC-NVMe-2-SLER-change-to-require.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:03 -0800
Subject: scsi: lpfc: Sync with FC-NVMe-2 SLER change to require Conf with SLER
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 69641627c653464db46f3e3d8c438349be055670
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Update-async-event-logging.patch b/patches.suse/scsi-lpfc-Update-async-event-logging.patch
index acb7d35101..25f4989fd6 100644
--- a/patches.suse/scsi-lpfc-Update-async-event-logging.patch
+++ b/patches.suse/scsi-lpfc-Update-async-event-logging.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:59:03 -0700
Subject: scsi: lpfc: Update async event logging
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: d11ed16db698c31663938d004451b11ac6b2b2e1
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.4.0.1.patch b/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.4.0.1.patch
index eccbb05f99..5d7f671601 100644
--- a/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.4.0.1.patch
+++ b/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.4.0.1.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:59:06 -0700
Subject: scsi: lpfc: Update lpfc version to 12.4.0.1
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 5f9d423a725a86505ba42ed026c9a827410a69cd
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.1.patch b/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.1.patch
index 6473d88cc8..5507518c00 100644
--- a/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.1.patch
+++ b/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.1.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 4 Nov 2019 16:57:08 -0800
Subject: scsi: lpfc: Update lpfc version to 12.6.0.1
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: aff6ab9e7221c1b5d15418419b9797e5badd4aec
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.2.patch b/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.2.patch
index cbb2d8c3c9..dfb94a4d90 100644
--- a/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.2.patch
+++ b/patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.2.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 11 Nov 2019 15:04:01 -0800
Subject: scsi: lpfc: Update lpfc version to 12.6.0.2
-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: 3b294c0fb910dc91250abab574e85c9c1957c795
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-cleanup-remove-unused-fcp_txcmlpq_cnt.patch b/patches.suse/scsi-lpfc-cleanup-remove-unused-fcp_txcmlpq_cnt.patch
index ca0088ede2..f0358a8a29 100644
--- a/patches.suse/scsi-lpfc-cleanup-remove-unused-fcp_txcmlpq_cnt.patch
+++ b/patches.suse/scsi-lpfc-cleanup-remove-unused-fcp_txcmlpq_cnt.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Sat, 21 Sep 2019 20:59:05 -0700
Subject: scsi: lpfc: cleanup: remove unused fcp_txcmlpq_cnt
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: ff349bca17716f310697b619b8cf9b926e852ba9
References: bsc#1154521
diff --git a/patches.suse/scsi-lpfc-fix-Coverity-lpfc_cmpl_els_rsp-Null-pointe.patch b/patches.suse/scsi-lpfc-fix-Coverity-lpfc_cmpl_els_rsp-Null-pointe.patch
index 6b860073e6..9cfe00ab6a 100644
--- a/patches.suse/scsi-lpfc-fix-Coverity-lpfc_cmpl_els_rsp-Null-pointe.patch
+++ b/patches.suse/scsi-lpfc-fix-Coverity-lpfc_cmpl_els_rsp-Null-pointe.patch
@@ -2,8 +2,7 @@ From: James Smart <jsmart2021@gmail.com>
Date: Mon, 11 Nov 2019 15:03:57 -0800
Subject: scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer
dereferences
-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: 6c6d59e0fe5b86cf273d6d744a6a9768c4ecc756
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-fix-Coverity-lpfc_get_scsi_buf_s3-Null-poi.patch b/patches.suse/scsi-lpfc-fix-Coverity-lpfc_get_scsi_buf_s3-Null-poi.patch
index b2f74fc4ba..76c38b5312 100644
--- a/patches.suse/scsi-lpfc-fix-Coverity-lpfc_get_scsi_buf_s3-Null-poi.patch
+++ b/patches.suse/scsi-lpfc-fix-Coverity-lpfc_get_scsi_buf_s3-Null-poi.patch
@@ -2,8 +2,7 @@ From: James Smart <jsmart2021@gmail.com>
Date: Mon, 11 Nov 2019 15:03:56 -0800
Subject: scsi: lpfc: fix: Coverity: lpfc_get_scsi_buf_s3(): Null pointer
dereferences
-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: 6f23f8c5c9f1be4eb17c035129c80e49000c18a7
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-fix-build-error-of-lpfc_debugfs.c-for-vfre.patch b/patches.suse/scsi-lpfc-fix-build-error-of-lpfc_debugfs.c-for-vfre.patch
index 924905dc12..fe44d1fc8f 100644
--- a/patches.suse/scsi-lpfc-fix-build-error-of-lpfc_debugfs.c-for-vfre.patch
+++ b/patches.suse/scsi-lpfc-fix-build-error-of-lpfc_debugfs.c-for-vfre.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 25 Oct 2019 11:25:30 -0700
Subject: scsi: lpfc: fix build error of lpfc_debugfs.c for vfree/vmalloc
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 9e2edb41c3d4cab6da0eedcc07ae04758af62ab8
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-fix-inlining-of-lpfc_sli4_cleanup_poll_lis.patch b/patches.suse/scsi-lpfc-fix-inlining-of-lpfc_sli4_cleanup_poll_lis.patch
index e945758cb9..b8cee26173 100644
--- a/patches.suse/scsi-lpfc-fix-inlining-of-lpfc_sli4_cleanup_poll_lis.patch
+++ b/patches.suse/scsi-lpfc-fix-inlining-of-lpfc_sli4_cleanup_poll_lis.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 11 Nov 2019 15:03:58 -0800
Subject: scsi: lpfc: fix inlining of lpfc_sli4_cleanup_poll_list()
-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: d480e57809a043333a3b9e755c0bdd43e10a9f12
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-fix-spelling-error-in-MAGIC_NUMER_xxx.patch b/patches.suse/scsi-lpfc-fix-spelling-error-in-MAGIC_NUMER_xxx.patch
index 18622c2961..1993a047c0 100644
--- a/patches.suse/scsi-lpfc-fix-spelling-error-in-MAGIC_NUMER_xxx.patch
+++ b/patches.suse/scsi-lpfc-fix-spelling-error-in-MAGIC_NUMER_xxx.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Fri, 25 Oct 2019 11:43:42 -0700
Subject: scsi: lpfc: fix spelling error in MAGIC_NUMER_xxx
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 5792a0e81678da41f05bb724ebd20f134604fa15
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-lpfc_attr-Fix-Use-plain-integer-as-NULL-po.patch b/patches.suse/scsi-lpfc-lpfc_attr-Fix-Use-plain-integer-as-NULL-po.patch
index 37e63ca6a3..831f24d4f8 100644
--- a/patches.suse/scsi-lpfc-lpfc_attr-Fix-Use-plain-integer-as-NULL-po.patch
+++ b/patches.suse/scsi-lpfc-lpfc_attr-Fix-Use-plain-integer-as-NULL-po.patch
@@ -1,8 +1,7 @@
From: Saurav Girepunje <saurav.girepunje@gmail.com>
Date: Thu, 24 Oct 2019 08:27:29 +0530
Subject: scsi: lpfc: lpfc_attr: Fix Use plain integer as NULL pointer
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 2c7fb469024f0da98f4d078fcf570786ec87c384
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-lpfc_nvmet-Fix-Use-plain-integer-as-NULL-p.patch b/patches.suse/scsi-lpfc-lpfc_nvmet-Fix-Use-plain-integer-as-NULL-p.patch
index 32982f050a..5333fc4c5d 100644
--- a/patches.suse/scsi-lpfc-lpfc_nvmet-Fix-Use-plain-integer-as-NULL-p.patch
+++ b/patches.suse/scsi-lpfc-lpfc_nvmet-Fix-Use-plain-integer-as-NULL-p.patch
@@ -1,8 +1,7 @@
From: Saurav Girepunje <saurav.girepunje@gmail.com>
Date: Thu, 24 Oct 2019 08:39:01 +0530
Subject: scsi: lpfc: lpfc_nvmet: Fix Use plain integer as NULL pointer
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 5314995e370e46ac12d12378544ad4575b6f6672
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-revise-nvme-max-queues-to-be-hdwq-count.patch b/patches.suse/scsi-lpfc-revise-nvme-max-queues-to-be-hdwq-count.patch
index f9b19fb69d..94b7cb6d2c 100644
--- a/patches.suse/scsi-lpfc-revise-nvme-max-queues-to-be-hdwq-count.patch
+++ b/patches.suse/scsi-lpfc-revise-nvme-max-queues-to-be-hdwq-count.patch
@@ -1,8 +1,7 @@
From: James Smart <jsmart2021@gmail.com>
Date: Mon, 11 Nov 2019 15:04:00 -0800
Subject: scsi: lpfc: revise nvme max queues to be hdwq count
-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: 542ddc9b346984cb5bbc2a923d3f3f27ae961ffa
References: bsc#1154601
diff --git a/patches.suse/scsi-lpfc-use-hdwq-assigned-cpu-for-allocation.patch b/patches.suse/scsi-lpfc-use-hdwq-assigned-cpu-for-allocation.patch
index 102bda9914..5349d6e666 100644
--- a/patches.suse/scsi-lpfc-use-hdwq-assigned-cpu-for-allocation.patch
+++ b/patches.suse/scsi-lpfc-use-hdwq-assigned-cpu-for-allocation.patch
@@ -2,8 +2,7 @@ From: James Smart <jsmart2021@gmail.com>
Date: Fri, 15 Nov 2019 16:38:47 -0800
Subject: [PATCH] scsi: lpfc: use hdwq assigned cpu for allocation
Git-commit: 4583a4f66b323c6e4d774be2649e83a4e7c7b78c
-Patch-Mainline: queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-Mainline: v5.5-rc1
References: bsc#1157160
Looking at the recent conversion from smp_processor_id() to
diff --git a/patches.suse/scsi-qla2xxx-Add-error-handling-for-PLOGI-ELS-passth.patch b/patches.suse/scsi-qla2xxx-Add-error-handling-for-PLOGI-ELS-passth.patch
index 956fec50ef..042bb1a7eb 100644
--- a/patches.suse/scsi-qla2xxx-Add-error-handling-for-PLOGI-ELS-passth.patch
+++ b/patches.suse/scsi-qla2xxx-Add-error-handling-for-PLOGI-ELS-passth.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Thu, 12 Sep 2019 11:09:13 -0700
Subject: scsi: qla2xxx: Add error handling for PLOGI ELS passthrough
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: c76ae845ea836d6128982dcbd41ac35c81e2de63
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/scsi-qla2xxx-Capture-FW-dump-on-MPI-heartbeat-stop-e.patch b/patches.suse/scsi-qla2xxx-Capture-FW-dump-on-MPI-heartbeat-stop-e.patch
index d2c40ce4cc..99773624b0 100644
--- a/patches.suse/scsi-qla2xxx-Capture-FW-dump-on-MPI-heartbeat-stop-e.patch
+++ b/patches.suse/scsi-qla2xxx-Capture-FW-dump-on-MPI-heartbeat-stop-e.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Thu, 12 Sep 2019 11:09:16 -0700
Subject: scsi: qla2xxx: Capture FW dump on MPI heartbeat stop event
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: d52cd7747d905f5b2a6ec07d5f6abe8720969dc5
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/scsi-qla2xxx-Check-for-MB-timeout-while-capturing-IS.patch b/patches.suse/scsi-qla2xxx-Check-for-MB-timeout-while-capturing-IS.patch
index 9ae887349b..d2663dc4b8 100644
--- a/patches.suse/scsi-qla2xxx-Check-for-MB-timeout-while-capturing-IS.patch
+++ b/patches.suse/scsi-qla2xxx-Check-for-MB-timeout-while-capturing-IS.patch
@@ -2,8 +2,7 @@ From: Quinn Tran <qutran@marvell.com>
Date: Thu, 12 Sep 2019 11:09:15 -0700
Subject: scsi: qla2xxx: Check for MB timeout while capturing ISP27/28xx FW
dump
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: c55474197a2e29fd0858fb9678db1628f4a39861
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/scsi-qla2xxx-Do-command-completion-on-abort-timeout.patch b/patches.suse/scsi-qla2xxx-Do-command-completion-on-abort-timeout.patch
index b19ffe744a..1eb49a21f1 100644
--- a/patches.suse/scsi-qla2xxx-Do-command-completion-on-abort-timeout.patch
+++ b/patches.suse/scsi-qla2xxx-Do-command-completion-on-abort-timeout.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Tue, 5 Nov 2019 07:06:51 -0800
Subject: scsi: qla2xxx: Do command completion on abort timeout
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 71c80b75ce8f08c0978ce9a9816b81b5c3ce5e12
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Dual-FCP-NVMe-target-port-support.patch b/patches.suse/scsi-qla2xxx-Dual-FCP-NVMe-target-port-support.patch
index 21f32fea8e..ffc9efc6fe 100644
--- a/patches.suse/scsi-qla2xxx-Dual-FCP-NVMe-target-port-support.patch
+++ b/patches.suse/scsi-qla2xxx-Dual-FCP-NVMe-target-port-support.patch
@@ -1,8 +1,7 @@
From: Michael Hernandez <mhernandez@marvell.com>
Date: Thu, 12 Sep 2019 11:09:12 -0700
Subject: scsi: qla2xxx: Dual FCP-NVMe target port support
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 84ed362ac40ca44dbbbebf767301463aa72bc797
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/scsi-qla2xxx-Fix-SRB-leak-on-switch-command-timeout.patch b/patches.suse/scsi-qla2xxx-Fix-SRB-leak-on-switch-command-timeout.patch
index ce9dfdecdd..81f6b71d67 100644
--- a/patches.suse/scsi-qla2xxx-Fix-SRB-leak-on-switch-command-timeout.patch
+++ b/patches.suse/scsi-qla2xxx-Fix-SRB-leak-on-switch-command-timeout.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Tue, 5 Nov 2019 07:06:52 -0800
Subject: scsi: qla2xxx: Fix SRB leak on switch command timeout
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: af2a0c51b1205327f55a7e82e530403ae1d42cbb
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Fix-a-dma_pool_free-call.patch b/patches.suse/scsi-qla2xxx-Fix-a-dma_pool_free-call.patch
index b1cfd06be3..e12edf7cb8 100644
--- a/patches.suse/scsi-qla2xxx-Fix-a-dma_pool_free-call.patch
+++ b/patches.suse/scsi-qla2xxx-Fix-a-dma_pool_free-call.patch
@@ -1,8 +1,7 @@
From: Bart Van Assche <bvanassche@acm.org>
Date: Tue, 5 Nov 2019 20:42:26 -0800
Subject: scsi: qla2xxx: Fix a dma_pool_free() call
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 162b805e38327135168cb0938bd37b131b481cb0
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Fix-device-connect-issues-in-P2P-config.patch b/patches.suse/scsi-qla2xxx-Fix-device-connect-issues-in-P2P-config.patch
index 288bbedd26..4990144d1a 100644
--- a/patches.suse/scsi-qla2xxx-Fix-device-connect-issues-in-P2P-config.patch
+++ b/patches.suse/scsi-qla2xxx-Fix-device-connect-issues-in-P2P-config.patch
@@ -1,8 +1,7 @@
From: Arun Easi <aeasi@marvell.com>
Date: Tue, 5 Nov 2019 07:06:56 -0800
Subject: scsi: qla2xxx: Fix device connect issues in P2P configuration
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 65e9200938052ce90f24421bb057e1be1d6147c7
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Fix-double-scsi_done-for-abort-path.patch b/patches.suse/scsi-qla2xxx-Fix-double-scsi_done-for-abort-path.patch
index 2340f54665..41e82c7b6d 100644
--- a/patches.suse/scsi-qla2xxx-Fix-double-scsi_done-for-abort-path.patch
+++ b/patches.suse/scsi-qla2xxx-Fix-double-scsi_done-for-abort-path.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Tue, 5 Nov 2019 07:06:54 -0800
Subject: scsi: qla2xxx: Fix double scsi_done for abort path
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: f45bca8c5052e8c59bab64ee90c44441678b9a52
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Fix-driver-unload-hang.patch b/patches.suse/scsi-qla2xxx-Fix-driver-unload-hang.patch
index 426a9775bf..3d1975f9b5 100644
--- a/patches.suse/scsi-qla2xxx-Fix-driver-unload-hang.patch
+++ b/patches.suse/scsi-qla2xxx-Fix-driver-unload-hang.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Tue, 5 Nov 2019 07:06:53 -0800
Subject: scsi: qla2xxx: Fix driver unload hang
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: dd322b7f3efc8cda085bb60eadc4aee6324eadd8
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Improve-logging-for-scan-thread.patch b/patches.suse/scsi-qla2xxx-Improve-logging-for-scan-thread.patch
index 1c9b06845d..dc86a67e8e 100644
--- a/patches.suse/scsi-qla2xxx-Improve-logging-for-scan-thread.patch
+++ b/patches.suse/scsi-qla2xxx-Improve-logging-for-scan-thread.patch
@@ -1,8 +1,7 @@
From: Himanshu Madhani <hmadhani@marvell.com>
Date: Thu, 12 Sep 2019 11:09:17 -0700
Subject: scsi: qla2xxx: Improve logging for scan thread
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 45c96e442f52c4890f7fceeda9496a5900909aa5
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/scsi-qla2xxx-Remove-an-include-directive.patch b/patches.suse/scsi-qla2xxx-Remove-an-include-directive.patch
index f7cb31de91..a2955b43c3 100644
--- a/patches.suse/scsi-qla2xxx-Remove-an-include-directive.patch
+++ b/patches.suse/scsi-qla2xxx-Remove-an-include-directive.patch
@@ -1,8 +1,7 @@
From: Bart Van Assche <bvanassche@acm.org>
Date: Tue, 5 Nov 2019 20:42:25 -0800
Subject: scsi: qla2xxx: Remove an include directive
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 47140a20a8198192af9957dc8bb8f7c8e578b5a9
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Retry-PLOGI-on-FC-NVMe-PRLI-failure.patch b/patches.suse/scsi-qla2xxx-Retry-PLOGI-on-FC-NVMe-PRLI-failure.patch
index 28fbbf41d5..ef5d98bfdf 100644
--- a/patches.suse/scsi-qla2xxx-Retry-PLOGI-on-FC-NVMe-PRLI-failure.patch
+++ b/patches.suse/scsi-qla2xxx-Retry-PLOGI-on-FC-NVMe-PRLI-failure.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Tue, 5 Nov 2019 07:06:50 -0800
Subject: scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 983f127603fac650fa34ee69db363e4615eaf9e7
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-Set-remove-flag-for-all-VP.patch b/patches.suse/scsi-qla2xxx-Set-remove-flag-for-all-VP.patch
index d521bef94a..0f3f4a0e61 100644
--- a/patches.suse/scsi-qla2xxx-Set-remove-flag-for-all-VP.patch
+++ b/patches.suse/scsi-qla2xxx-Set-remove-flag-for-all-VP.patch
@@ -1,8 +1,7 @@
From: Quinn Tran <qutran@marvell.com>
Date: Thu, 12 Sep 2019 11:09:14 -0700
Subject: scsi: qla2xxx: Set remove flag for all VP
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 6997db98d00a659d05cda23bd33c34aff546635b
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.20-k.patch b/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.20-k.patch
index ad5a0f3c9b..3215cfd5af 100644
--- a/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.20-k.patch
+++ b/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.20-k.patch
@@ -1,8 +1,7 @@
From: Himanshu Madhani <hmadhani@marvell.com>
Date: Thu, 12 Sep 2019 11:09:18 -0700
Subject: scsi: qla2xxx: Update driver version to 10.01.00.20-k
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: 8ae15a460b1471622f85bad6caebe56fd91f4f83
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.21-k.patch b/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.21-k.patch
index 19c74304d2..2dd4bdd28d 100644
--- a/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.21-k.patch
+++ b/patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.21-k.patch
@@ -1,8 +1,7 @@
From: Himanshu Madhani <hmadhani@marvell.com>
Date: Tue, 5 Nov 2019 07:06:57 -0800
Subject: scsi: qla2xxx: Update driver version to 10.01.00.21-k
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: b3f74568411b2df0806e0d1df6458cb270eb29ce
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-don-t-use-zero-for-FC4_PRIORITY_NVME.patch b/patches.suse/scsi-qla2xxx-don-t-use-zero-for-FC4_PRIORITY_NVME.patch
index c5a418d232..0c43ed136c 100644
--- a/patches.suse/scsi-qla2xxx-don-t-use-zero-for-FC4_PRIORITY_NVME.patch
+++ b/patches.suse/scsi-qla2xxx-don-t-use-zero-for-FC4_PRIORITY_NVME.patch
@@ -1,8 +1,7 @@
From: Martin Wilck <mwilck@suse.com>
Date: Thu, 7 Nov 2019 22:48:57 +0000
Subject: scsi: qla2xxx: don't use zero for FC4_PRIORITY_NVME
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: a10c8803d0dbab54370eeac2a07e6540c6215908
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-initialize-fc4_type_priority.patch b/patches.suse/scsi-qla2xxx-initialize-fc4_type_priority.patch
index ac0f8141af..e8b430c325 100644
--- a/patches.suse/scsi-qla2xxx-initialize-fc4_type_priority.patch
+++ b/patches.suse/scsi-qla2xxx-initialize-fc4_type_priority.patch
@@ -1,8 +1,7 @@
From: Martin Wilck <mwilck@suse.com>
Date: Thu, 7 Nov 2019 22:48:55 +0000
Subject: scsi: qla2xxx: initialize fc4_type_priority
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: f5a2b219a7897751f9bb1c8d7308933e33000f2f
References: bsc#1143706 bsc#1082635 bsc#1154526 bsc#1048942
diff --git a/patches.suse/scsi-qla2xxx-remove-redundant-assignment-to-pointer-.patch b/patches.suse/scsi-qla2xxx-remove-redundant-assignment-to-pointer-.patch
index 62bc967dfa..a7744493e7 100644
--- a/patches.suse/scsi-qla2xxx-remove-redundant-assignment-to-pointer-.patch
+++ b/patches.suse/scsi-qla2xxx-remove-redundant-assignment-to-pointer-.patch
@@ -1,8 +1,7 @@
From: Colin Ian King <colin.king@canonical.com>
Date: Thu, 5 Sep 2019 14:42:29 +0100
Subject: scsi: qla2xxx: remove redundant assignment to pointer host
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
+Patch-mainline: v5.5-rc1
Git-commit: da6d2965dbdb480f091c42f54a09abe8056282e5
References: bsc#1143706 bsc#1082635 bsc#1123034
diff --git a/patches.suse/sctp-change-sctp_prot-.no_autobind-with-true.patch b/patches.suse/sctp-change-sctp_prot-.no_autobind-with-true.patch
index 2748385a70..b1932da973 100644
--- a/patches.suse/sctp-change-sctp_prot-.no_autobind-with-true.patch
+++ b/patches.suse/sctp-change-sctp_prot-.no_autobind-with-true.patch
@@ -1,9 +1,8 @@
From: Xin Long <lucien.xin@gmail.com>
-Date: Tue, 15 Oct 2019 15:24:38 +0800
Subject: sctp: change sctp_prot .no_autobind with true
+Patch-mainline: v5.4-rc4
Git-commit: 63dfb7938b13fa2c2fbcb45f34d065769eb09414
-Patch-mainline: 5.4-rc4
-References: networking-stable-19_10_24
+References: networking-stable-19_10_24 bsc#1158082
syzbot reported a memory leak:
@@ -43,10 +42,28 @@ Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
+
+SLE15: we need to check no_autobind socket flag in inet_dgram_connect() as,
+unlike in mainline, SCTP still uses this function.
+
---
- net/sctp/socket.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ net/ipv4/af_inet.c | 3 ++-
+ net/sctp/socket.c | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+--- a/net/ipv4/af_inet.c
++++ b/net/ipv4/af_inet.c
+@@ -535,7 +535,8 @@ int inet_dgram_connect(struct socket *sock, struct sockaddr *uaddr,
+ return err;
+ }
+
+- if (!inet_sk(sk)->inet_num && inet_autobind(sk))
++ if (!inet_sk(sk)->inet_num && !sk->sk_prot->no_autobind &&
++ inet_autobind(sk))
+ return -EAGAIN;
+ return sk->sk_prot->connect(sk, uaddr, addr_len);
+ }
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -8240,7 +8240,7 @@ struct proto sctp_prot = {
diff --git a/patches.suse/synclink_gt-fix-compat_ioctl.patch b/patches.suse/synclink_gt-fix-compat_ioctl.patch
new file mode 100644
index 0000000000..9b7e4dd9bd
--- /dev/null
+++ b/patches.suse/synclink_gt-fix-compat_ioctl.patch
@@ -0,0 +1,62 @@
+From 27230e51349fde075598c1b59d15e1ff802f3f6e Mon Sep 17 00:00:00 2001
+From: Al Viro <viro@zeniv.linux.org.uk>
+Date: Wed, 12 Sep 2018 20:57:18 -0400
+Subject: [PATCH] synclink_gt(): fix compat_ioctl()
+Git-commit: 27230e51349fde075598c1b59d15e1ff802f3f6e
+Patch-mainline: v4.20-rc1
+References: bsc#1051510
+
+compat_ptr() for pointer-taking ones...
+
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/tty/synclink_gt.c | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
+index b8287a010336..e8a9047de451 100644
+--- a/drivers/tty/synclink_gt.c
++++ b/drivers/tty/synclink_gt.c
+@@ -1185,14 +1185,13 @@ static long slgt_compat_ioctl(struct tty_struct *tty,
+ unsigned int cmd, unsigned long arg)
+ {
+ struct slgt_info *info = tty->driver_data;
+- int rc = -ENOIOCTLCMD;
++ int rc;
+
+ if (sanity_check(info, tty->name, "compat_ioctl"))
+ return -ENODEV;
+ DBGINFO(("%s compat_ioctl() cmd=%08X\n", info->device_name, cmd));
+
+ switch (cmd) {
+-
+ case MGSL_IOCSPARAMS32:
+ rc = set_params32(info, compat_ptr(arg));
+ break;
+@@ -1212,18 +1211,11 @@ static long slgt_compat_ioctl(struct tty_struct *tty,
+ case MGSL_IOCWAITGPIO:
+ case MGSL_IOCGXSYNC:
+ case MGSL_IOCGXCTRL:
+- case MGSL_IOCSTXIDLE:
+- case MGSL_IOCTXENABLE:
+- case MGSL_IOCRXENABLE:
+- case MGSL_IOCTXABORT:
+- case TIOCMIWAIT:
+- case MGSL_IOCSIF:
+- case MGSL_IOCSXSYNC:
+- case MGSL_IOCSXCTRL:
+- rc = ioctl(tty, cmd, arg);
++ rc = ioctl(tty, cmd, (unsigned long)compat_ptr(arg));
+ break;
++ default:
++ rc = ioctl(tty, cmd, arg);
+ }
+-
+ DBGINFO(("%s compat_ioctl() cmd=%08X rc=%d\n", info->device_name, cmd, rc));
+ return rc;
+ }
+--
+2.16.4
+
diff --git a/patches.suse/tcp_nv-fix-potential-integer-overflow-in-tcpnv_acked.patch b/patches.suse/tcp_nv-fix-potential-integer-overflow-in-tcpnv_acked.patch
new file mode 100644
index 0000000000..13cfe5cc52
--- /dev/null
+++ b/patches.suse/tcp_nv-fix-potential-integer-overflow-in-tcpnv_acked.patch
@@ -0,0 +1,46 @@
+From e4823fbd229bfbba368b40cdadb8f4eeb20604cc Mon Sep 17 00:00:00 2001
+From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
+Date: Tue, 30 Jan 2018 22:21:48 -0600
+Subject: [PATCH] tcp_nv: fix potential integer overflow in tcpnv_acked
+Git-commit: e4823fbd229bfbba368b40cdadb8f4eeb20604cc
+Patch-mainline: v4.16-rc1
+References: bsc#1051510
+
+Add suffix ULL to constant 80000 in order to avoid a potential integer
+overflow and give the compiler complete information about the proper
+arithmetic to use. Notice that this constant is used in a context that
+expects an expression of type u64.
+
+The current cast to u64 effectively applies to the whole expression
+as an argument of type u64 to be passed to div64_u64, but it does
+not prevent it from being evaluated using 32-bit arithmetic instead
+of 64-bit arithmetic.
+
+Also, once the expression is properly evaluated using 64-bit arithmentic,
+there is no need for the parentheses and the external cast to u64.
+
+Addresses-coverity-id: 1357588 ("Unintentional integer overflow")
+Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/ipv4/tcp_nv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/net/ipv4/tcp_nv.c b/net/ipv4/tcp_nv.c
+index ddbce73edae8..764298e52577 100644
+--- a/net/ipv4/tcp_nv.c
++++ b/net/ipv4/tcp_nv.c
+@@ -364,7 +364,7 @@ static void tcpnv_acked(struct sock *sk, const struct ack_sample *sample)
+ */
+ cwnd_by_slope = (u32)
+ div64_u64(((u64)ca->nv_rtt_max_rate) * ca->nv_min_rtt,
+- (u64)(80000 * tp->mss_cache));
++ 80000ULL * tp->mss_cache);
+ max_win = cwnd_by_slope + nv_pad;
+
+ /* If cwnd > max_win, decrease cwnd
+--
+2.16.4
+
diff --git a/patches.suse/tipc-Avoid-copying-bytes-beyond-the-supplied-data.patch b/patches.suse/tipc-Avoid-copying-bytes-beyond-the-supplied-data.patch
new file mode 100644
index 0000000000..2310c53415
--- /dev/null
+++ b/patches.suse/tipc-Avoid-copying-bytes-beyond-the-supplied-data.patch
@@ -0,0 +1,74 @@
+From 9bbcdb07a53549ed072f03a88a5012e939a64c01 Mon Sep 17 00:00:00 2001
+From: Chris Packham <chris.packham@alliedtelesis.co.nz>
+Date: Mon, 20 May 2019 15:45:36 +1200
+Subject: [PATCH] tipc: Avoid copying bytes beyond the supplied data
+Git-commit: 9bbcdb07a53549ed072f03a88a5012e939a64c01
+Patch-mainline: v5.2-rc2
+References: bsc#1051510
+
+TLV_SET is called with a data pointer and a len parameter that tells us
+how many bytes are pointed to by data. When invoking memcpy() we need
+to careful to only copy len bytes.
+
+Previously we would copy TLV_LENGTH(len) bytes which would copy an extra
+4 bytes past the end of the data pointer which newer GCC versions
+complain about.
+
+ In file included from test.c:17:
+ In function 'TLV_SET',
+ inlined from 'test' at test.c:186:5:
+ /usr/include/linux/tipc_config.h:317:3:
+ warning: 'memcpy' forming offset [33, 36] is out of the bounds [0, 32]
+ of object 'bearer_name' with type 'char[32]' [-Warray-bounds]
+ memcpy(TLV_DATA(tlv_ptr), data, tlv_len);
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ test.c: In function 'test':
+ test.c::161:10: note:
+ 'bearer_name' declared here
+ char bearer_name[TIPC_MAX_BEARER_NAME];
+ ^~~~~~~~~~~
+
+We still want to ensure any padding bytes at the end are initialised, do
+this with a explicit memset() rather than copy bytes past the end of
+data. Apply the same logic to TCM_SET.
+
+Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ include/uapi/linux/tipc_config.h | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/include/uapi/linux/tipc_config.h b/include/uapi/linux/tipc_config.h
+index 4b2c93b1934c..4955e1a9f1bc 100644
+--- a/include/uapi/linux/tipc_config.h
++++ b/include/uapi/linux/tipc_config.h
+@@ -307,8 +307,10 @@ static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)
+ tlv_ptr = (struct tlv_desc *)tlv;
+ tlv_ptr->tlv_type = htons(type);
+ tlv_ptr->tlv_len = htons(tlv_len);
+- if (len && data)
+- memcpy(TLV_DATA(tlv_ptr), data, tlv_len);
++ if (len && data) {
++ memcpy(TLV_DATA(tlv_ptr), data, len);
++ memset(TLV_DATA(tlv_ptr) + len, 0, TLV_SPACE(len) - tlv_len);
++ }
+ return TLV_SPACE(len);
+ }
+
+@@ -405,8 +407,10 @@ static inline int TCM_SET(void *msg, __u16 cmd, __u16 flags,
+ tcm_hdr->tcm_len = htonl(msg_len);
+ tcm_hdr->tcm_type = htons(cmd);
+ tcm_hdr->tcm_flags = htons(flags);
+- if (data_len && data)
++ if (data_len && data) {
+ memcpy(TCM_DATA(msg), data, data_len);
++ memset(TCM_DATA(msg) + data_len, 0, TCM_SPACE(data_len) - msg_len);
++ }
+ return TCM_SPACE(data_len);
+ }
+
+--
+2.16.4
+
diff --git a/patches.suse/tipc-check-bearer-name-with-right-length-in-tipc_nl_.patch b/patches.suse/tipc-check-bearer-name-with-right-length-in-tipc_nl_.patch
new file mode 100644
index 0000000000..858fadf338
--- /dev/null
+++ b/patches.suse/tipc-check-bearer-name-with-right-length-in-tipc_nl_.patch
@@ -0,0 +1,57 @@
+From 6f07e5f06c8712acc423485f657799fc8e11e56c Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Sun, 31 Mar 2019 22:50:08 +0800
+Subject: [PATCH] tipc: check bearer name with right length in tipc_nl_compat_bearer_enable
+Git-commit: 6f07e5f06c8712acc423485f657799fc8e11e56c
+Patch-mainline: v5.1-rc4
+References: bsc#1051510
+
+Syzbot reported the following crash:
+
+Bug: KMSAN: uninit-value in memchr+0xce/0x110 lib/string.c:961 memchr+0xce/0x110 lib/string.c:961 string_is_valid net/tipc/netlink_compat.c:176 [inline] tipc_nl_compat_bearer_enable+0x2c4/0x910 net/tipc/netlink_compat.c:401 __tipc_nl_compat_doit net/tipc/netlink_compat.c:321 [inline] tipc_nl_compat_doit+0x3aa/0xaf0 net/tipc/netlink_compat.c:354 tipc_nl_compat_handle net/tipc/netlink_compat.c:1162 [inline] tipc_nl_compat_recv+0x1ae7/0x2750 net/tipc/netlink_compat.c:1265 genl_family_rcv_msg net/netlink/genetlink.c:601 [inline] genl_rcv_msg+0x185f/0x1a60 net/netlink/genetlink.c:626 netlink_rcv_skb+0x431/0x620 net/netlink/af_netlink.c:2477 genl_rcv+0x63/0x80 net/netlink/genetlink.c:637 netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline] netlink_unicast+0xf3e/0x1020 net/netlink/af_netlink.c:1336 netlink_sendmsg+0x127f/0x1300 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:622 [inline] sock_sendmsg net/socket.c:632 [inline]
+
+Uninit was created at:
+ __alloc_skb+0x309/0xa20 net/core/skbuff.c:208
+ alloc_skb include/linux/skbuff.h:1012 [inline]
+ netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline]
+ netlink_sendmsg+0xb82/0x1300 net/netlink/af_netlink.c:1892
+ sock_sendmsg_nosec net/socket.c:622 [inline]
+ sock_sendmsg net/socket.c:632 [inline]
+
+It was triggered when the bearer name size < TIPC_MAX_BEARER_NAME,
+it would check with a wrong len/TLV_GET_DATA_LEN(msg->req), which
+also includes priority and disc_domain length.
+
+This patch is to fix it by checking it with a right length:
+'TLV_GET_DATA_LEN(msg->req) - offsetof(struct tipc_bearer_config, name)'.
+
+Reported-by: syzbot+8b707430713eb46e1e45@syzkaller.appspotmail.com
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/netlink_compat.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
+index 4ad3586da8f0..5f8e53cca222 100644
+--- a/net/tipc/netlink_compat.c
++++ b/net/tipc/netlink_compat.c
+@@ -397,7 +397,12 @@ static int tipc_nl_compat_bearer_enable(struct tipc_nl_compat_cmd_doit *cmd,
+ if (!bearer)
+ return -EMSGSIZE;
+
+- len = min_t(int, TLV_GET_DATA_LEN(msg->req), TIPC_MAX_BEARER_NAME);
++ len = TLV_GET_DATA_LEN(msg->req);
++ len -= offsetof(struct tipc_bearer_config, name);
++ if (len <= 0)
++ return -EINVAL;
++
++ len = min_t(int, len, TIPC_MAX_BEARER_NAME);
+ if (!string_is_valid(b->name, len))
+ return -EINVAL;
+
+--
+2.16.4
+
diff --git a/patches.suse/tipc-check-link-name-with-right-length-in-tipc_nl_co.patch b/patches.suse/tipc-check-link-name-with-right-length-in-tipc_nl_co.patch
new file mode 100644
index 0000000000..2de6a95bfc
--- /dev/null
+++ b/patches.suse/tipc-check-link-name-with-right-length-in-tipc_nl_co.patch
@@ -0,0 +1,45 @@
+From 8c63bf9ab4be8b83bd8c34aacfd2f1d2c8901c8a Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Sun, 31 Mar 2019 22:50:09 +0800
+Subject: [PATCH] tipc: check link name with right length in tipc_nl_compat_link_set
+Git-commit: 8c63bf9ab4be8b83bd8c34aacfd2f1d2c8901c8a
+Patch-mainline: v5.1-rc4
+References: bsc#1051510
+
+A similar issue as fixed by Patch "tipc: check bearer name with right
+length in tipc_nl_compat_bearer_enable" was also found by syzbot in
+tipc_nl_compat_link_set().
+
+The length to check with should be 'TLV_GET_DATA_LEN(msg->req) -
+offsetof(struct tipc_link_config, name)'.
+
+Reported-by: syzbot+de00a87b8644a582ae79@syzkaller.appspotmail.com
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/netlink_compat.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
+index 5f8e53cca222..0bfd03d67fdd 100644
+--- a/net/tipc/netlink_compat.c
++++ b/net/tipc/netlink_compat.c
+@@ -771,7 +771,12 @@ static int tipc_nl_compat_link_set(struct tipc_nl_compat_cmd_doit *cmd,
+
+ lc = (struct tipc_link_config *)TLV_DATA(msg->req);
+
+- len = min_t(int, TLV_GET_DATA_LEN(msg->req), TIPC_MAX_LINK_NAME);
++ len = TLV_GET_DATA_LEN(msg->req);
++ len -= offsetof(struct tipc_link_config, name);
++ if (len <= 0)
++ return -EINVAL;
++
++ len = min_t(int, len, TIPC_MAX_LINK_NAME);
+ if (!string_is_valid(lc->name, len))
+ return -EINVAL;
+
+--
+2.16.4
+
diff --git a/patches.suse/tipc-check-msg-req-data-len-in-tipc_nl_compat_bearer.patch b/patches.suse/tipc-check-msg-req-data-len-in-tipc_nl_compat_bearer.patch
new file mode 100644
index 0000000000..e5cf26fbec
--- /dev/null
+++ b/patches.suse/tipc-check-msg-req-data-len-in-tipc_nl_compat_bearer.patch
@@ -0,0 +1,92 @@
+From 4f07b80c973348a99b5d2a32476a2e7877e94a05 Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Tue, 25 Jun 2019 00:28:19 +0800
+Subject: [PATCH] tipc: check msg->req data len in tipc_nl_compat_bearer_disable
+Git-commit: 4f07b80c973348a99b5d2a32476a2e7877e94a05
+Patch-mainline: v5.2-rc7
+References: bsc#1051510
+
+This patch is to fix an uninit-value issue, reported by syzbot:
+
+ BUG: KMSAN: uninit-value in memchr+0xce/0x110 lib/string.c:981
+ Call Trace:
+ __dump_stack lib/dump_stack.c:77 [inline]
+ dump_stack+0x191/0x1f0 lib/dump_stack.c:113
+ kmsan_report+0x130/0x2a0 mm/kmsan/kmsan.c:622
+ __msan_warning+0x75/0xe0 mm/kmsan/kmsan_instr.c:310
+ memchr+0xce/0x110 lib/string.c:981
+ string_is_valid net/tipc/netlink_compat.c:176 [inline]
+ tipc_nl_compat_bearer_disable+0x2a1/0x480 net/tipc/netlink_compat.c:449
+ __tipc_nl_compat_doit net/tipc/netlink_compat.c:327 [inline]
+ tipc_nl_compat_doit+0x3ac/0xb00 net/tipc/netlink_compat.c:360
+ tipc_nl_compat_handle net/tipc/netlink_compat.c:1178 [inline]
+ tipc_nl_compat_recv+0x1b1b/0x27b0 net/tipc/netlink_compat.c:1281
+
+TLV_GET_DATA_LEN() may return a negtive int value, which will be
+used as size_t (becoming a big unsigned long) passed into memchr,
+cause this issue.
+
+Similar to what it does in tipc_nl_compat_bearer_enable(), this
+fix is to return -EINVAL when TLV_GET_DATA_LEN() is negtive in
+tipc_nl_compat_bearer_disable(), as well as in
+tipc_nl_compat_link_stat_dump() and tipc_nl_compat_link_reset_stats().
+
+V1->v2: - add the missing Fixes tags per Eric's request.
+
+Fixes: 0762216c0ad2 ("tipc: fix uninit-value in tipc_nl_compat_bearer_enable")
+Fixes: 8b66fee7f8ee ("tipc: fix uninit-value in tipc_nl_compat_link_reset_stats")
+Reported-by: syzbot+30eaa8bf392f7fafffaf@syzkaller.appspotmail.com
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/netlink_compat.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
+index c6a04c09d075..cf155061c472 100644
+--- a/net/tipc/netlink_compat.c
++++ b/net/tipc/netlink_compat.c
+@@ -445,7 +445,11 @@ static int tipc_nl_compat_bearer_disable(struct tipc_nl_compat_cmd_doit *cmd,
+ if (!bearer)
+ return -EMSGSIZE;
+
+- len = min_t(int, TLV_GET_DATA_LEN(msg->req), TIPC_MAX_BEARER_NAME);
++ len = TLV_GET_DATA_LEN(msg->req);
++ if (len <= 0)
++ return -EINVAL;
++
++ len = min_t(int, len, TIPC_MAX_BEARER_NAME);
+ if (!string_is_valid(name, len))
+ return -EINVAL;
+
+@@ -539,7 +543,11 @@ static int tipc_nl_compat_link_stat_dump(struct tipc_nl_compat_msg *msg,
+
+ name = (char *)TLV_DATA(msg->req);
+
+- len = min_t(int, TLV_GET_DATA_LEN(msg->req), TIPC_MAX_LINK_NAME);
++ len = TLV_GET_DATA_LEN(msg->req);
++ if (len <= 0)
++ return -EINVAL;
++
++ len = min_t(int, len, TIPC_MAX_BEARER_NAME);
+ if (!string_is_valid(name, len))
+ return -EINVAL;
+
+@@ -817,7 +825,11 @@ static int tipc_nl_compat_link_reset_stats(struct tipc_nl_compat_cmd_doit *cmd,
+ if (!link)
+ return -EMSGSIZE;
+
+- len = min_t(int, TLV_GET_DATA_LEN(msg->req), TIPC_MAX_LINK_NAME);
++ len = TLV_GET_DATA_LEN(msg->req);
++ if (len <= 0)
++ return -EINVAL;
++
++ len = min_t(int, len, TIPC_MAX_BEARER_NAME);
+ if (!string_is_valid(name, len))
+ return -EINVAL;
+
+--
+2.16.4
+
diff --git a/patches.suse/tipc-compat-allow-tipc-commands-without-arguments.patch b/patches.suse/tipc-compat-allow-tipc-commands-without-arguments.patch
new file mode 100644
index 0000000000..fe21f0aaa7
--- /dev/null
+++ b/patches.suse/tipc-compat-allow-tipc-commands-without-arguments.patch
@@ -0,0 +1,90 @@
+From 4da5f0018eef4c0de31675b670c80e82e13e99d1 Mon Sep 17 00:00:00 2001
+From: Taras Kondratiuk <takondra@cisco.com>
+Date: Mon, 29 Jul 2019 22:15:07 +0000
+Subject: [PATCH] tipc: compat: allow tipc commands without arguments
+Git-commit: 4da5f0018eef4c0de31675b670c80e82e13e99d1
+Patch-mainline: v5.3-rc4
+References: bsc#1051510
+
+Commit 2753ca5d9009 ("tipc: fix uninit-value in tipc_nl_compat_doit")
+broke older tipc tools that use compat interface (e.g. tipc-config from
+tipcutils package):
+
+% tipc-config -p
+operation not supported
+
+The commit started to reject TIPC netlink compat messages that do not
+have attributes. It is too restrictive because some of such messages are
+valid (they don't need any arguments):
+
+% grep 'tx none' include/uapi/linux/tipc_config.h
+#define TIPC_CMD_NOOP 0x0000 /* tx none, rx none */
+#define TIPC_CMD_GET_MEDIA_NAMES 0x0002 /* tx none, rx media_name(s) */
+#define TIPC_CMD_GET_BEARER_NAMES 0x0003 /* tx none, rx bearer_name(s) */
+#define TIPC_CMD_SHOW_PORTS 0x0006 /* tx none, rx ultra_string */
+#define TIPC_CMD_GET_REMOTE_MNG 0x4003 /* tx none, rx unsigned */
+#define TIPC_CMD_GET_MAX_PORTS 0x4004 /* tx none, rx unsigned */
+#define TIPC_CMD_GET_NETID 0x400B /* tx none, rx unsigned */
+#define TIPC_CMD_NOT_NET_ADMIN 0xC001 /* tx none, rx none */
+
+This patch relaxes the original fix and rejects messages without
+arguments only if such arguments are expected by a command (reg_type is
+non zero).
+
+Fixes: 2753ca5d9009 ("tipc: fix uninit-value in tipc_nl_compat_doit")
+Cc: stable@vger.kernel.org
+Signed-off-by: Taras Kondratiuk <takondra@cisco.com>
+Acked-by: Ying Xue <ying.xue@windriver.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/netlink_compat.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
+index d86030ef1232..e135d4e11231 100644
+--- a/net/tipc/netlink_compat.c
++++ b/net/tipc/netlink_compat.c
+@@ -55,6 +55,7 @@ struct tipc_nl_compat_msg {
+ int rep_type;
+ int rep_size;
+ int req_type;
++ int req_size;
+ struct net *net;
+ struct sk_buff *rep;
+ struct tlv_desc *req;
+@@ -257,7 +258,8 @@ static int tipc_nl_compat_dumpit(struct tipc_nl_compat_cmd_dump *cmd,
+ int err;
+ struct sk_buff *arg;
+
+- if (msg->req_type && !TLV_CHECK_TYPE(msg->req, msg->req_type))
++ if (msg->req_type && (!msg->req_size ||
++ !TLV_CHECK_TYPE(msg->req, msg->req_type)))
+ return -EINVAL;
+
+ msg->rep = tipc_tlv_alloc(msg->rep_size);
+@@ -354,7 +356,8 @@ static int tipc_nl_compat_doit(struct tipc_nl_compat_cmd_doit *cmd,
+ {
+ int err;
+
+- if (msg->req_type && !TLV_CHECK_TYPE(msg->req, msg->req_type))
++ if (msg->req_type && (!msg->req_size ||
++ !TLV_CHECK_TYPE(msg->req, msg->req_type)))
+ return -EINVAL;
+
+ err = __tipc_nl_compat_doit(cmd, msg);
+@@ -1278,8 +1281,8 @@ static int tipc_nl_compat_recv(struct sk_buff *skb, struct genl_info *info)
+ goto send;
+ }
+
+- len = nlmsg_attrlen(req_nlh, GENL_HDRLEN + TIPC_GENL_HDRLEN);
+- if (!len || !TLV_OK(msg.req, len)) {
++ msg.req_size = nlmsg_attrlen(req_nlh, GENL_HDRLEN + TIPC_GENL_HDRLEN);
++ if (msg.req_size && !TLV_OK(msg.req, msg.req_size)) {
+ msg.rep = tipc_get_err_tlv(TIPC_CFG_NOT_SUPPORTED);
+ err = -EOPNOTSUPP;
+ goto send;
+--
+2.16.4
+
diff --git a/patches.suse/tipc-fix-tipc_mon_delete-oops-in-tipc_enable_bearer-.patch b/patches.suse/tipc-fix-tipc_mon_delete-oops-in-tipc_enable_bearer-.patch
new file mode 100644
index 0000000000..1ed7292a60
--- /dev/null
+++ b/patches.suse/tipc-fix-tipc_mon_delete-oops-in-tipc_enable_bearer-.patch
@@ -0,0 +1,85 @@
+From 642a8439ddd8423b92f2e71960afe21ee1f66bb6 Mon Sep 17 00:00:00 2001
+From: Tommi Rantala <tommi.t.rantala@nokia.com>
+Date: Fri, 22 Dec 2017 09:35:17 +0200
+Subject: [PATCH] tipc: fix tipc_mon_delete() oops in tipc_enable_bearer() error path
+Git-commit: 642a8439ddd8423b92f2e71960afe21ee1f66bb6
+Patch-mainline: v4.15-rc6
+References: bsc#1051510
+
+Calling tipc_mon_delete() before the monitor has been created will oops.
+This can happen in tipc_enable_bearer() error path if tipc_disc_create()
+fails.
+
+[ 48.589074] BUG: unable to handle kernel paging request at 0000000000001008
+[ 48.590266] IP: tipc_mon_delete+0xea/0x270 [tipc]
+[ 48.591223] PGD 1e60c5067 P4D 1e60c5067 PUD 1eb0cf067 PMD 0
+[ 48.592230] Oops: 0000 [#1] SMP KASAN
+[ 48.595610] CPU: 5 PID: 1199 Comm: tipc Tainted: G B 4.15.0-rc4-pc64-dirty #5
+[ 48.597176] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-2.fc27 04/01/2014
+[ 48.598489] RIP: 0010:tipc_mon_delete+0xea/0x270 [tipc]
+[ 48.599347] RSP: 0018:ffff8801d827f668 EFLAGS: 00010282
+[ 48.600705] RAX: ffff8801ee813f00 RBX: 0000000000000204 RCX: 0000000000000000
+[ 48.602183] RDX: 1ffffffff1de6a75 RSI: 0000000000000297 RDI: 0000000000000297
+[ 48.604373] RBP: 0000000000000000 R08: 0000000000000000 R09: fffffbfff1dd1533
+[ 48.605607] R10: ffffffff8eafbb05 R11: fffffbfff1dd1534 R12: 0000000000000050
+[ 48.607082] R13: dead000000000200 R14: ffffffff8e73f310 R15: 0000000000001020
+[ 48.608228] FS: 00007fc686484800(0000) GS:ffff8801f5540000(0000) knlGS:0000000000000000
+[ 48.610189] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+[ 48.611459] CR2: 0000000000001008 CR3: 00000001dda70002 CR4: 00000000003606e0
+[ 48.612759] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+[ 48.613831] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
+[ 48.615038] Call Trace:
+[ 48.615635] tipc_enable_bearer+0x415/0x5e0 [tipc]
+[ 48.620623] tipc_nl_bearer_enable+0x1ab/0x200 [tipc]
+[ 48.625118] genl_family_rcv_msg+0x36b/0x570
+[ 48.631233] genl_rcv_msg+0x5a/0xa0
+[ 48.631867] netlink_rcv_skb+0x1cc/0x220
+[ 48.636373] genl_rcv+0x24/0x40
+[ 48.637306] netlink_unicast+0x29c/0x350
+[ 48.639664] netlink_sendmsg+0x439/0x590
+[ 48.642014] SYSC_sendto+0x199/0x250
+[ 48.649912] do_syscall_64+0xfd/0x2c0
+[ 48.650651] entry_SYSCALL64_slow_path+0x25/0x25
+[ 48.651843] RIP: 0033:0x7fc6859848e3
+[ 48.652539] RSP: 002b:00007ffd25dff938 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
+[ 48.654003] RAX: ffffffffffffffda RBX: 00007ffd25dff990 RCX: 00007fc6859848e3
+[ 48.655303] RDX: 0000000000000054 RSI: 00007ffd25dff990 RDI: 0000000000000003
+[ 48.656512] RBP: 00007ffd25dff980 R08: 00007fc685c35fc0 R09: 000000000000000c
+[ 48.657697] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000d13010
+[ 48.658840] R13: 00007ffd25e009c0 R14: 0000000000000000 R15: 0000000000000000
+[ 48.662972] RIP: tipc_mon_delete+0xea/0x270 [tipc] RSP: ffff8801d827f668
+[ 48.664073] CR2: 0000000000001008
+[ 48.664576] ---[ end trace e811818d54d5ce88 ]---
+
+Acked-by: Ying Xue <ying.xue@windriver.com>
+Acked-by: Jon Maloy <jon.maloy@ericsson.com>
+Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/monitor.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/net/tipc/monitor.c b/net/tipc/monitor.c
+index 8e884ed06d4b..32dc33a94bc7 100644
+--- a/net/tipc/monitor.c
++++ b/net/tipc/monitor.c
+@@ -642,9 +642,13 @@ void tipc_mon_delete(struct net *net, int bearer_id)
+ {
+ struct tipc_net *tn = tipc_net(net);
+ struct tipc_monitor *mon = tipc_monitor(net, bearer_id);
+- struct tipc_peer *self = get_self(net, bearer_id);
++ struct tipc_peer *self;
+ struct tipc_peer *peer, *tmp;
+
++ if (!mon)
++ return;
++
++ self = get_self(net, bearer_id);
+ write_lock_bh(&mon->lock);
+ tn->monitors[bearer_id] = NULL;
+ list_for_each_entry_safe(peer, tmp, &self->list, list) {
+--
+2.16.4
+
diff --git a/patches.suse/tipc-fix-wrong-timeout-input-for-tipc_wait_for_cond.patch b/patches.suse/tipc-fix-wrong-timeout-input-for-tipc_wait_for_cond.patch
new file mode 100644
index 0000000000..8691a6fe6c
--- /dev/null
+++ b/patches.suse/tipc-fix-wrong-timeout-input-for-tipc_wait_for_cond.patch
@@ -0,0 +1,40 @@
+From 12db3c8083fcab4270866a88191933f2d9f24f89 Mon Sep 17 00:00:00 2001
+From: Tung Nguyen <tung.q.nguyen@dektech.com.au>
+Date: Thu, 28 Nov 2019 10:10:07 +0700
+Subject: [PATCH] tipc: fix wrong timeout input for tipc_wait_for_cond()
+Git-commit: 12db3c8083fcab4270866a88191933f2d9f24f89
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+In function __tipc_shutdown(), the timeout value passed to
+tipc_wait_for_cond() is not jiffies.
+
+This commit fixes it by converting that value from milliseconds
+to jiffies.
+
+Fixes: 365ad353c256 ("tipc: reduce risk of user starvation during link congestion")
+Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
+Acked-by: Jon Maloy <jon.maloy@ericsson.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/socket.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/net/tipc/socket.c b/net/tipc/socket.c
+index fb5595081a05..da5fb84852a6 100644
+--- a/net/tipc/socket.c
++++ b/net/tipc/socket.c
+@@ -532,7 +532,7 @@ static void __tipc_shutdown(struct socket *sock, int error)
+ struct sock *sk = sock->sk;
+ struct tipc_sock *tsk = tipc_sk(sk);
+ struct net *net = sock_net(sk);
+- long timeout = CONN_TIMEOUT_DEFAULT;
++ long timeout = msecs_to_jiffies(CONN_TIMEOUT_DEFAULT);
+ u32 dnode = tsk_peer_node(tsk);
+ struct sk_buff *skb;
+
+--
+2.16.4
+
diff --git a/patches.suse/tipc-handle-the-err-returned-from-cmd-header-functio.patch b/patches.suse/tipc-handle-the-err-returned-from-cmd-header-functio.patch
new file mode 100644
index 0000000000..fcb9803e15
--- /dev/null
+++ b/patches.suse/tipc-handle-the-err-returned-from-cmd-header-functio.patch
@@ -0,0 +1,81 @@
+From 2ac695d1d602ce00b12170242f58c3d3a8e36d04 Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Sun, 31 Mar 2019 22:50:10 +0800
+Subject: [PATCH] tipc: handle the err returned from cmd header function
+Git-commit: 2ac695d1d602ce00b12170242f58c3d3a8e36d04
+Patch-mainline: v5.1-rc4
+References: bsc#1051510
+
+Syzbot found a crash:
+
+ BUG: KMSAN: uninit-value in tipc_nl_compat_name_table_dump+0x54f/0xcd0 net/tipc/netlink_compat.c:872
+ Call Trace:
+ tipc_nl_compat_name_table_dump+0x54f/0xcd0 net/tipc/netlink_compat.c:872
+ __tipc_nl_compat_dumpit+0x59e/0xda0 net/tipc/netlink_compat.c:215
+ tipc_nl_compat_dumpit+0x63a/0x820 net/tipc/netlink_compat.c:280
+ tipc_nl_compat_handle net/tipc/netlink_compat.c:1226 [inline]
+ tipc_nl_compat_recv+0x1b5f/0x2750 net/tipc/netlink_compat.c:1265
+ genl_family_rcv_msg net/netlink/genetlink.c:601 [inline]
+ genl_rcv_msg+0x185f/0x1a60 net/netlink/genetlink.c:626
+ netlink_rcv_skb+0x431/0x620 net/netlink/af_netlink.c:2477
+ genl_rcv+0x63/0x80 net/netlink/genetlink.c:637
+ netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
+ netlink_unicast+0xf3e/0x1020 net/netlink/af_netlink.c:1336
+ netlink_sendmsg+0x127f/0x1300 net/netlink/af_netlink.c:1917
+ sock_sendmsg_nosec net/socket.c:622 [inline]
+ sock_sendmsg net/socket.c:632 [inline]
+
+ Uninit was created at:
+ __alloc_skb+0x309/0xa20 net/core/skbuff.c:208
+ alloc_skb include/linux/skbuff.h:1012 [inline]
+ netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline]
+ netlink_sendmsg+0xb82/0x1300 net/netlink/af_netlink.c:1892
+ sock_sendmsg_nosec net/socket.c:622 [inline]
+ sock_sendmsg net/socket.c:632 [inline]
+
+It was supposed to be fixed on commit 974cb0e3e7c9 ("tipc: fix uninit-value
+in tipc_nl_compat_name_table_dump") by checking TLV_GET_DATA_LEN(msg->req)
+in cmd->header()/tipc_nl_compat_name_table_dump_header(), which is called
+ahead of tipc_nl_compat_name_table_dump().
+
+However, tipc_nl_compat_dumpit() doesn't handle the error returned from cmd
+header function. It means even when the check added in that fix fails, it
+won't stop calling tipc_nl_compat_name_table_dump(), and the issue will be
+triggered again.
+
+So this patch is to add the process for the err returned from cmd header
+function in tipc_nl_compat_dumpit().
+
+Reported-by: syzbot+3ce8520484b0d4e260a5@syzkaller.appspotmail.com
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/netlink_compat.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
+index 0bfd03d67fdd..340a6e7c43a7 100644
+--- a/net/tipc/netlink_compat.c
++++ b/net/tipc/netlink_compat.c
+@@ -267,8 +267,14 @@ static int tipc_nl_compat_dumpit(struct tipc_nl_compat_cmd_dump *cmd,
+ if (msg->rep_type)
+ tipc_tlv_init(msg->rep, msg->rep_type);
+
+- if (cmd->header)
+- (*cmd->header)(msg);
++ if (cmd->header) {
++ err = (*cmd->header)(msg);
++ if (err) {
++ kfree_skb(msg->rep);
++ msg->rep = NULL;
++ return err;
++ }
++ }
+
+ arg = nlmsg_new(0, GFP_KERNEL);
+ if (!arg) {
+--
+2.16.4
+
diff --git a/patches.suse/tipc-pass-tunnel-dev-as-NULL-to-udp_tunnel-6-_xmit_s.patch b/patches.suse/tipc-pass-tunnel-dev-as-NULL-to-udp_tunnel-6-_xmit_s.patch
new file mode 100644
index 0000000000..948939f82f
--- /dev/null
+++ b/patches.suse/tipc-pass-tunnel-dev-as-NULL-to-udp_tunnel-6-_xmit_s.patch
@@ -0,0 +1,94 @@
+From c3bcde026684c62d7a2b6f626dc7cf763833875c Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Mon, 17 Jun 2019 21:34:15 +0800
+Subject: [PATCH] tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb
+Git-commit: c3bcde026684c62d7a2b6f626dc7cf763833875c
+Patch-mainline: v5.2-rc6
+References: bsc#1051510
+
+udp_tunnel(6)_xmit_skb() called by tipc_udp_xmit() expects a tunnel device
+to count packets on dev->tstats, a perpcu variable. However, TIPC is using
+udp tunnel with no tunnel device, and pass the lower dev, like veth device
+that only initializes dev->lstats(a perpcu variable) when creating it.
+
+Later iptunnel_xmit_stats() called by ip(6)tunnel_xmit() thinks the dev as
+a tunnel device, and uses dev->tstats instead of dev->lstats. tstats' each
+pointer points to a bigger struct than lstats, so when tstats->tx_bytes is
+increased, other percpu variable's members could be overwritten.
+
+syzbot has reported quite a few crashes due to fib_nh_common percpu member
+'nhc_pcpu_rth_output' overwritten, call traces are like:
+
+ BUG: KASAN: slab-out-of-bounds in rt_cache_valid+0x158/0x190
+ net/ipv4/route.c:1556
+ rt_cache_valid+0x158/0x190 net/ipv4/route.c:1556
+ __mkroute_output net/ipv4/route.c:2332 [inline]
+ ip_route_output_key_hash_rcu+0x819/0x2d50 net/ipv4/route.c:2564
+ ip_route_output_key_hash+0x1ef/0x360 net/ipv4/route.c:2393
+ __ip_route_output_key include/net/route.h:125 [inline]
+ ip_route_output_flow+0x28/0xc0 net/ipv4/route.c:2651
+ ip_route_output_key include/net/route.h:135 [inline]
+ ...
+
+Or:
+
+ kasan: GPF could be caused by NULL-ptr deref or user memory access
+ RIP: 0010:dst_dev_put+0x24/0x290 net/core/dst.c:168
+ <IRQ>
+ rt_fibinfo_free_cpus net/ipv4/fib_semantics.c:200 [inline]
+ free_fib_info_rcu+0x2e1/0x490 net/ipv4/fib_semantics.c:217
+ __rcu_reclaim kernel/rcu/rcu.h:240 [inline]
+ rcu_do_batch kernel/rcu/tree.c:2437 [inline]
+ invoke_rcu_callbacks kernel/rcu/tree.c:2716 [inline]
+ rcu_process_callbacks+0x100a/0x1ac0 kernel/rcu/tree.c:2697
+ ...
+
+The issue exists since tunnel stats update is moved to iptunnel_xmit by
+Commit 039f50629b7f ("ip_tunnel: Move stats update to iptunnel_xmit()"),
+and here to fix it by passing a NULL tunnel dev to udp_tunnel(6)_xmit_skb
+so that the packets counting won't happen on dev->tstats.
+
+Reported-by: syzbot+9d4c12bfd45a58738d0a@syzkaller.appspotmail.com
+Reported-by: syzbot+a9e23ea2aa21044c2798@syzkaller.appspotmail.com
+Reported-by: syzbot+c4c4b2bb358bb936ad7e@syzkaller.appspotmail.com
+Reported-by: syzbot+0290d2290a607e035ba1@syzkaller.appspotmail.com
+Reported-by: syzbot+a43d8d4e7e8a7a9e149e@syzkaller.appspotmail.com
+Reported-by: syzbot+a47c5f4c6c00fc1ed16e@syzkaller.appspotmail.com
+Fixes: 039f50629b7f ("ip_tunnel: Move stats update to iptunnel_xmit()")
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/udp_media.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c
+index 7fc02d84c4f1..1405ccc9101c 100644
+--- a/net/tipc/udp_media.c
++++ b/net/tipc/udp_media.c
+@@ -176,7 +176,6 @@ static int tipc_udp_xmit(struct net *net, struct sk_buff *skb,
+ goto tx_error;
+ }
+
+- skb->dev = rt->dst.dev;
+ ttl = ip4_dst_hoplimit(&rt->dst);
+ udp_tunnel_xmit_skb(rt, ub->ubsock->sk, skb, src->ipv4.s_addr,
+ dst->ipv4.s_addr, 0, ttl, 0, src->port,
+@@ -195,10 +194,9 @@ static int tipc_udp_xmit(struct net *net, struct sk_buff *skb,
+ if (err)
+ goto tx_error;
+ ttl = ip6_dst_hoplimit(ndst);
+- err = udp_tunnel6_xmit_skb(ndst, ub->ubsock->sk, skb,
+- ndst->dev, &src->ipv6,
+- &dst->ipv6, 0, ttl, 0, src->port,
+- dst->port, false);
++ err = udp_tunnel6_xmit_skb(ndst, ub->ubsock->sk, skb, NULL,
++ &src->ipv6, &dst->ipv6, 0, ttl, 0,
++ src->port, dst->port, false);
+ #endif
+ }
+ return err;
+--
+2.16.4
+
diff --git a/patches.suse/tipc-tipc-clang-warning.patch b/patches.suse/tipc-tipc-clang-warning.patch
new file mode 100644
index 0000000000..11052d7ec2
--- /dev/null
+++ b/patches.suse/tipc-tipc-clang-warning.patch
@@ -0,0 +1,69 @@
+From 737889efe9713a0f20a75fd0de952841d9275e6b Mon Sep 17 00:00:00 2001
+From: Jon Maloy <jon.maloy@ericsson.com>
+Date: Fri, 22 Mar 2019 15:03:51 +0100
+Subject: [PATCH] tipc: tipc clang warning
+Git-commit: 737889efe9713a0f20a75fd0de952841d9275e6b
+Patch-mainline: v5.1-rc3
+References: bsc#1051510
+
+When checking the code with clang -Wsometimes-uninitialized we get the
+following warning:
+
+if (!tipc_link_is_establishing(l)) {
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+net/tipc/node.c:847:46: note: uninitialized use occurs here
+ tipc_bearer_xmit(n->net, bearer_id, &xmitq, maddr);
+
+net/tipc/node.c:831:2: note: remove the 'if' if its condition is always
+true
+if (!tipc_link_is_establishing(l)) {
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+net/tipc/node.c:821:31: note: initialize the variable 'maddr' to silence
+this warning
+struct tipc_media_addr *maddr;
+
+We fix this by initializing 'maddr' to NULL. For the matter of clarity,
+we also test if 'xmitq' is non-empty before we use it and 'maddr'
+further down in the function. It will never happen that 'xmitq' is non-
+empty at the same time as 'maddr' is NULL, so this is a sufficient test.
+
+Fixes: 598411d70f85 ("tipc: make resetting of links non-atomic")
+Reported-by: Nathan Chancellor <natechancellor@gmail.com>
+Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ net/tipc/node.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/net/tipc/node.c b/net/tipc/node.c
+index 2dc4919ab23c..dd3b6dc17662 100644
+--- a/net/tipc/node.c
++++ b/net/tipc/node.c
+@@ -817,10 +817,10 @@ static void __tipc_node_link_down(struct tipc_node *n, int *bearer_id,
+ static void tipc_node_link_down(struct tipc_node *n, int bearer_id, bool delete)
+ {
+ struct tipc_link_entry *le = &n->links[bearer_id];
++ struct tipc_media_addr *maddr = NULL;
+ struct tipc_link *l = le->link;
+- struct tipc_media_addr *maddr;
+- struct sk_buff_head xmitq;
+ int old_bearer_id = bearer_id;
++ struct sk_buff_head xmitq;
+
+ if (!l)
+ return;
+@@ -844,7 +844,8 @@ static void tipc_node_link_down(struct tipc_node *n, int bearer_id, bool delete)
+ tipc_node_write_unlock(n);
+ if (delete)
+ tipc_mon_remove_peer(n->net, n->addr, old_bearer_id);
+- tipc_bearer_xmit(n->net, bearer_id, &xmitq, maddr);
++ if (!skb_queue_empty(&xmitq))
++ tipc_bearer_xmit(n->net, bearer_id, &xmitq, maddr);
+ tipc_sk_rcv(n->net, &le->inputq);
+ }
+
+--
+2.16.4
+
diff --git a/patches.suse/tty-serial-fsl_lpuart-use-the-sg-count-from-dma_map_.patch b/patches.suse/tty-serial-fsl_lpuart-use-the-sg-count-from-dma_map_.patch
new file mode 100644
index 0000000000..7a320dde00
--- /dev/null
+++ b/patches.suse/tty-serial-fsl_lpuart-use-the-sg-count-from-dma_map_.patch
@@ -0,0 +1,44 @@
+From 487ee861de176090b055eba5b252b56a3b9973d6 Mon Sep 17 00:00:00 2001
+From: Peng Fan <peng.fan@nxp.com>
+Date: Tue, 5 Nov 2019 05:51:10 +0000
+Subject: [PATCH] tty: serial: fsl_lpuart: use the sg count from dma_map_sg
+Git-commit: 487ee861de176090b055eba5b252b56a3b9973d6
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+The dmaengine_prep_slave_sg needs to use sg count returned
+by dma_map_sg, not use sport->dma_tx_nents, because the return
+value of dma_map_sg is not always same with "nents".
+
+When enabling iommu for lpuart + edma, iommu framework may concatenate
+two sgs into one.
+
+Fixes: 6250cc30c4c4e ("tty: serial: fsl_lpuart: Use scatter/gather DMA for Tx")
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Peng Fan <peng.fan@nxp.com>
+Link: https://lore.kernel.org/r/1572932977-17866-1-git-send-email-peng.fan@nxp.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/tty/serial/fsl_lpuart.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
+index 22df5f8f48b6..4e128d19e0ad 100644
+--- a/drivers/tty/serial/fsl_lpuart.c
++++ b/drivers/tty/serial/fsl_lpuart.c
+@@ -437,8 +437,8 @@ static void lpuart_dma_tx(struct lpuart_port *sport)
+ }
+
+ sport->dma_tx_desc = dmaengine_prep_slave_sg(sport->dma_tx_chan, sgl,
+- sport->dma_tx_nents,
+- DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT);
++ ret, DMA_MEM_TO_DEV,
++ DMA_PREP_INTERRUPT);
+ if (!sport->dma_tx_desc) {
+ dma_unmap_sg(dev, sgl, sport->dma_tx_nents, DMA_TO_DEVICE);
+ dev_err(dev, "Cannot prepare TX slave DMA!\n");
+--
+2.16.4
+
diff --git a/patches.suse/tty-serial-imx-use-the-sg-count-from-dma_map_sg.patch b/patches.suse/tty-serial-imx-use-the-sg-count-from-dma_map_sg.patch
new file mode 100644
index 0000000000..f3d137fe37
--- /dev/null
+++ b/patches.suse/tty-serial-imx-use-the-sg-count-from-dma_map_sg.patch
@@ -0,0 +1,38 @@
+From 596fd8dffb745afcebc0ec6968e17fe29f02044c Mon Sep 17 00:00:00 2001
+From: Peng Fan <peng.fan@nxp.com>
+Date: Thu, 7 Nov 2019 06:42:53 +0000
+Subject: [PATCH] tty: serial: imx: use the sg count from dma_map_sg
+Git-commit: 596fd8dffb745afcebc0ec6968e17fe29f02044c
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+The dmaengine_prep_slave_sg needs to use sg count returned
+by dma_map_sg, not use sport->dma_tx_nents, because the return
+value of dma_map_sg is not always same with "nents".
+
+Fixes: b4cdc8f61beb ("serial: imx: add DMA support for imx6q")
+Signed-off-by: Peng Fan <peng.fan@nxp.com>
+Link: https://lore.kernel.org/r/1573108875-26530-1-git-send-email-peng.fan@nxp.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/tty/serial/imx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
+index 357d3ff34d51..a9e20e6c63ad 100644
+--- a/drivers/tty/serial/imx.c
++++ b/drivers/tty/serial/imx.c
+@@ -619,7 +619,7 @@ static void imx_uart_dma_tx(struct imx_port *sport)
+ dev_err(dev, "DMA mapping error for TX.\n");
+ return;
+ }
+- desc = dmaengine_prep_slave_sg(chan, sgl, sport->dma_tx_nents,
++ desc = dmaengine_prep_slave_sg(chan, sgl, ret,
+ DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT);
+ if (!desc) {
+ dma_unmap_sg(dev, sgl, sport->dma_tx_nents,
+--
+2.16.4
+
diff --git a/patches.suse/tty-serial-msm_serial-Fix-flow-control.patch b/patches.suse/tty-serial-msm_serial-Fix-flow-control.patch
new file mode 100644
index 0000000000..6c92a2332a
--- /dev/null
+++ b/patches.suse/tty-serial-msm_serial-Fix-flow-control.patch
@@ -0,0 +1,74 @@
+From b027ce258369cbfa88401a691c23dad01deb9f9b Mon Sep 17 00:00:00 2001
+From: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
+Date: Mon, 21 Oct 2019 08:46:16 -0700
+Subject: [PATCH] tty: serial: msm_serial: Fix flow control
+Git-commit: b027ce258369cbfa88401a691c23dad01deb9f9b
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+hci_qca interfaces to the wcn3990 via a uart_dm on the msm8998 mtp and
+Lenovo Miix 630 laptop. As part of initializing the wcn3990, hci_qca
+disables flow, configures the uart baudrate, and then reenables flow - at
+which point an event is expected to be received over the uart from the
+wcn3990. It is observed that this event comes after the baudrate change
+but before hci_qca re-enables flow. This is unexpected, and is a result of
+msm_reset() being broken.
+
+According to the uart_dm hardware documentation, it is recommended that
+automatic hardware flow control be enabled by setting RX_RDY_CTL. Auto
+hw flow control will manage RFR based on the configured watermark. When
+there is space to receive data, the hw will assert RFR. When the watermark
+is hit, the hw will de-assert RFR.
+
+The hardware documentation indicates that RFR can me manually managed via
+CR when RX_RDY_CTL is not set. SET_RFR asserts RFR, and RESET_RFR
+de-asserts RFR.
+
+msm_reset() is broken because after resetting the hardware, it
+unconditionally asserts RFR via SET_RFR. This enables flow regardless of
+the current configuration, and would undo a previous flow disable
+operation. It should instead de-assert RFR via RESET_RFR to block flow
+until the hardware is reconfigured. msm_serial should rely on the client
+to specify that flow should be enabled, either via mctrl() or the termios
+structure, and only assert RFR in response to those triggers.
+
+Fixes: 04896a77a97b ("msm_serial: serial driver for MSM7K onboard serial peripheral.")
+Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
+Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
+Cc: stable <stable@vger.kernel.org>
+Reviewed-by: Andy Gross <agross@kernel.org>
+Link: https://lore.kernel.org/r/20191021154616.25457-1-jeffrey.l.hugo@gmail.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/tty/serial/msm_serial.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
+index 3657a24913fc..00964b6e4ac1 100644
+--- a/drivers/tty/serial/msm_serial.c
++++ b/drivers/tty/serial/msm_serial.c
+@@ -980,6 +980,7 @@ static unsigned int msm_get_mctrl(struct uart_port *port)
+ static void msm_reset(struct uart_port *port)
+ {
+ struct msm_port *msm_port = UART_TO_MSM(port);
++ unsigned int mr;
+
+ /* reset everything */
+ msm_write(port, UART_CR_CMD_RESET_RX, UART_CR);
+@@ -987,7 +988,10 @@ static void msm_reset(struct uart_port *port)
+ msm_write(port, UART_CR_CMD_RESET_ERR, UART_CR);
+ msm_write(port, UART_CR_CMD_RESET_BREAK_INT, UART_CR);
+ msm_write(port, UART_CR_CMD_RESET_CTS, UART_CR);
+- msm_write(port, UART_CR_CMD_SET_RFR, UART_CR);
++ msm_write(port, UART_CR_CMD_RESET_RFR, UART_CR);
++ mr = msm_read(port, UART_MR1);
++ mr &= ~UART_MR1_RX_RDY_CTL;
++ msm_write(port, mr, UART_MR1);
+
+ /* Disable DM modes */
+ if (msm_port->is_uartdm)
+--
+2.16.4
+
diff --git a/patches.suse/tty-serial-pch_uart-correct-usage-of-dma_unmap_sg.patch b/patches.suse/tty-serial-pch_uart-correct-usage-of-dma_unmap_sg.patch
new file mode 100644
index 0000000000..0e392268a3
--- /dev/null
+++ b/patches.suse/tty-serial-pch_uart-correct-usage-of-dma_unmap_sg.patch
@@ -0,0 +1,70 @@
+From 74887542fdcc92ad06a48c0cca17cdf09fc8aa00 Mon Sep 17 00:00:00 2001
+From: Peng Fan <peng.fan@nxp.com>
+Date: Wed, 13 Nov 2019 05:37:42 +0000
+Subject: [PATCH] tty: serial: pch_uart: correct usage of dma_unmap_sg
+Git-commit: 74887542fdcc92ad06a48c0cca17cdf09fc8aa00
+Patch-mainline: v5.5-rc1
+References: bsc#1051510
+
+Per Documentation/DMA-API-HOWTO.txt,
+To unmap a scatterlist, just call:
+ dma_unmap_sg(dev, sglist, nents, direction);
+
+.. note::
+
+ The 'nents' argument to the dma_unmap_sg call must be
+ the _same_ one you passed into the dma_map_sg call,
+ it should _NOT_ be the 'count' value _returned_ from the
+ dma_map_sg call.
+
+However in the driver, priv->nent is directly assigned with value
+returned from dma_map_sg, and dma_unmap_sg use priv->nent for unmap,
+this breaks the API usage.
+
+So introduce a new entry orig_nent to remember 'nents'.
+
+Fixes: da3564ee027e ("pch_uart: add multi-scatter processing")
+Signed-off-by: Peng Fan <peng.fan@nxp.com>
+Link: https://lore.kernel.org/r/1573623259-6339-1-git-send-email-peng.fan@nxp.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/tty/serial/pch_uart.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
+index 6157213a8359..c16234bca78f 100644
+--- a/drivers/tty/serial/pch_uart.c
++++ b/drivers/tty/serial/pch_uart.c
+@@ -233,6 +233,7 @@ struct eg20t_port {
+ struct dma_chan *chan_rx;
+ struct scatterlist *sg_tx_p;
+ int nent;
++ int orig_nent;
+ struct scatterlist sg_rx;
+ int tx_dma_use;
+ void *rx_buf_virt;
+@@ -787,9 +788,10 @@ static void pch_dma_tx_complete(void *arg)
+ }
+ xmit->tail &= UART_XMIT_SIZE - 1;
+ async_tx_ack(priv->desc_tx);
+- dma_unmap_sg(port->dev, sg, priv->nent, DMA_TO_DEVICE);
++ dma_unmap_sg(port->dev, sg, priv->orig_nent, DMA_TO_DEVICE);
+ priv->tx_dma_use = 0;
+ priv->nent = 0;
++ priv->orig_nent = 0;
+ kfree(priv->sg_tx_p);
+ pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_TX_INT);
+ }
+@@ -1010,6 +1012,7 @@ static unsigned int dma_handle_tx(struct eg20t_port *priv)
+ dev_err(priv->port.dev, "%s:dma_map_sg Failed\n", __func__);
+ return 0;
+ }
++ priv->orig_nent = num;
+ priv->nent = nent;
+
+ for (i = 0; i < nent; i++, sg++) {
+--
+2.16.4
+
diff --git a/patches.suse/usb-yurex-Fix-use-after-free-in-yurex_delete.patch b/patches.suse/usb-yurex-Fix-use-after-free-in-yurex_delete.patch
index f41b87a83e..97b2609e1c 100644
--- a/patches.suse/usb-yurex-Fix-use-after-free-in-yurex_delete.patch
+++ b/patches.suse/usb-yurex-Fix-use-after-free-in-yurex_delete.patch
@@ -4,7 +4,7 @@ Date: Mon, 5 Aug 2019 12:15:28 +0100
Subject: [PATCH] usb: yurex: Fix use-after-free in yurex_delete
Git-commit: fc05481b2fcabaaeccf63e32ac1baab54e5b6963
Patch-mainline: v5.3-rc4
-References: bsc#1051510
+References: CVE-2019-19531 bsc#1158445 bsc#1051510
syzbot reported the following crash [0]:
diff --git a/patches.suse/vsock-virtio-fix-sock-refcnt-holding-during-the-shut.patch b/patches.suse/vsock-virtio-fix-sock-refcnt-holding-during-the-shut.patch
new file mode 100644
index 0000000000..2d4f0b4dc1
--- /dev/null
+++ b/patches.suse/vsock-virtio-fix-sock-refcnt-holding-during-the-shut.patch
@@ -0,0 +1,46 @@
+From: Stefano Garzarella <sgarzare@redhat.com>
+Date: Fri, 8 Nov 2019 17:08:50 +0100
+Subject: vsock/virtio: fix sock refcnt holding during the shutdown
+Git-commit: ad8a7220355d39cddce8eac1cea9677333e8b821
+Patch-mainline: 5.4-rc7
+References: git-fixes
+
+The "42f5cda5eaf4" commit rightly set SOCK_DONE on peer shutdown,
+but there is an issue if we receive the SHUTDOWN(RDWR) while the
+virtio_transport_close_timeout() is scheduled.
+In this case, when the timeout fires, the SOCK_DONE is already
+set and the virtio_transport_close_timeout() will not call
+virtio_transport_reset() and virtio_transport_do_close().
+This causes that both sockets remain open and will never be released,
+preventing the unloading of [virtio|vhost]_transport modules.
+
+This patch fixes this issue, calling virtio_transport_reset() and
+virtio_transport_do_close() when we receive the SHUTDOWN(RDWR)
+and there is nothing left to read.
+
+Fixes: 42f5cda5eaf4 ("vsock/virtio: set SOCK_DONE on peer shutdown")
+Cc: Stephen Barber <smbarber@chromium.org>
+Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+---
+ net/vmw_vsock/virtio_transport_common.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/net/vmw_vsock/virtio_transport_common.c
++++ b/net/vmw_vsock/virtio_transport_common.c
+@@ -872,9 +872,11 @@ virtio_transport_recv_connected(struct s
+ if (le32_to_cpu(pkt->hdr.flags) & VIRTIO_VSOCK_SHUTDOWN_SEND)
+ vsk->peer_shutdown |= SEND_SHUTDOWN;
+ if (vsk->peer_shutdown == SHUTDOWN_MASK &&
+- vsock_stream_has_data(vsk) <= 0) {
+- sock_set_flag(sk, SOCK_DONE);
+- sk->sk_state = SS_DISCONNECTING;
++ vsock_stream_has_data(vsk) <= 0 &&
++ !sock_flag(sk, SOCK_DONE)) {
++ (void)virtio_transport_reset(vsk, NULL);
++
++ virtio_transport_do_close(vsk, true);
+ }
+ if (le32_to_cpu(pkt->hdr.flags))
+ sk->sk_state_change(sk);
diff --git a/series.conf b/series.conf
index 31604e2c2c..617b632e1c 100644
--- a/series.conf
+++ b/series.conf
@@ -18867,6 +18867,7 @@
patches.suse/net-sched-fix-possible-null-pointer-deref-in-tcf_blo.patch
patches.suse/RDS-Check-cmsg_len-before-dereferencing-CMSG_DATA.patch
patches.suse/tipc-error-path-leak-fixes-in-tipc_enable_bearer.patch
+ patches.suse/tipc-fix-tipc_mon_delete-oops-in-tipc_enable_bearer-.patch
patches.suse/net-fec-unmap-the-xmit-buffer-that-are-not-transferr.patch
patches.suse/xfrm-Fix-xfrm_input-to-verify-state-is-valid-when-en.patch
patches.suse/0005-xfrm-Fix-stack-out-of-bounds-read-on-socket-policy-l.patch
@@ -21952,6 +21953,7 @@
patches.suse/ibmvnic-Wait-for-device-response-when-changing-MAC.patch
patches.suse/qmi_wwan-Add-support-for-Quectel-EP06.patch
patches.suse/r8169-fix-RTL8168EP-take-too-long-to-complete-driver.patch
+ patches.suse/tcp_nv-fix-potential-integer-overflow-in-tcpnv_acked.patch
patches.suse/net-sched-kconfig-Remove-blank-help-texts.patch
patches.suse/ip6mr-fix-stale-iterator.patch
patches.suse/tls-Add-support-for-encryption-using-async-offload-a.patch
@@ -41841,6 +41843,7 @@
patches.suse/signal-Always-deliver-the-kernel-s-SIGKILL-and-SIGST.patch
patches.suse/selinux-Add-__GFP_NOWARN-to-allocation-at-str_read.patch
patches.suse/0001-keys-Fix-the-use-of-the-C-keyword-private-in-uapi-li.patch
+ patches.suse/synclink_gt-fix-compat_ioctl.patch
patches.suse/0009-Btrfs-do-not-unnecessarily-pass-write_lock_level-whe.patch
patches.suse/0001-btrfs-qgroup-Dirty-all-qgroups-before-rescan.patch
patches.suse/btrfs-fix-error-handling-in-free_log_tree.patch
@@ -42517,6 +42520,7 @@
patches.suse/0001-usb-typec-Fix-copy-paste-on-typec_set_vconn_role-ker.patch
patches.suse/usb-host-ohci-at91-fix-request-of-irq-for-optional-g.patch
patches.suse/USB-serial-cypress_m8-fix-interrupt-out-transfer-len.patch
+ patches.suse/USB-misc-appledisplay-fix-backlight-update_status-re.patch
patches.suse/usbip-tools-fix-atoi-on-non-null-terminated-string.patch
patches.suse/usbip-vudc-BUG-kmalloc-2048-Not-tainted-Poison-overw.patch
patches.suse/kernfs-update-comment-about-kernfs_path-return-value.patch
@@ -46116,6 +46120,7 @@
patches.suse/net-smc-unlock-lgr-pending-lock-earlier-for-smc-d
patches.suse/net-smc-use-client-and-server-lgr-pending-locks-for-smc-r
patches.suse/net-smc-move-code-to-clear-the-conn-lgr-field
+ patches.suse/net-smc-original-socket-family-in-inet_sock_diag
patches.suse/qed-Add-API-for-SmartAN-query.patch
patches.suse/qede-Add-ethtool-interface-for-SmartAN-query.patch
patches.suse/bnx2x-Use-struct_size-in-kzalloc.patch
@@ -46973,6 +46978,7 @@
patches.suse/ALSA-hda-realtek-Add-support-headset-mode-for-New-DE.patch
patches.suse/0001-fbdev-chipsfb-remove-set-but-not-used-variable-size.patch
patches.suse/fbdev-fbmem-fix-memory-access-if-logo-is-bigger-than.patch
+ patches.suse/printk-export-console_printk.patch
patches.suse/ARM-8839-1-kprobe-make-patch_lock-a-raw_spinlock_t.patch
patches.suse/ARM-8840-1-use-a-raw_spinlock_t-in-unwind.patch
patches.suse/ARM-avoid-Cortex-A9-livelock-on-tight-dmb-loops.patch
@@ -47126,6 +47132,7 @@
patches.suse/net-sched-don-t-dereference-a-goto_chain-to-read-the.patch
patches.suse/rhashtable-Still-do-rehash-when-we-get-EEXIST.patch
patches.suse/net-hns3-fix-for-not-calculating-tx-bd-num-correctly.patch
+ patches.suse/tipc-tipc-clang-warning.patch
patches.suse/bpf-do-not-restore-dst_reg-when-cur_state-is-freed.patch
patches.suse/bpf-verifier-propagate-liveness-on-all-frames.patch
patches.suse/net-phy-don-t-clear-BMCR-in-genphy_soft_reset.patch
@@ -47264,6 +47271,9 @@
patches.suse/net-mlx5e-Update-xon-formula.patch
patches.suse/bpf-fix-use-after-free-in-bpf_evict_inode.patch
patches.suse/xdp-fix-cpumap-redirect-SKB-creation-bug.patch
+ patches.suse/tipc-check-bearer-name-with-right-length-in-tipc_nl_.patch
+ patches.suse/tipc-check-link-name-with-right-length-in-tipc_nl_co.patch
+ patches.suse/tipc-handle-the-err-returned-from-cmd-header-functio.patch
patches.suse/vrf-check-accept_source_route-on-the-original-netdev.patch
patches.suse/net-sched-fix-get-helper-of-the-matchall-cls.patch
patches.suse/net-sched-introduce-and-use-qstats-read-helpers.patch
@@ -48683,6 +48693,7 @@
patches.suse/crypto-vmx-CTR-always-increment-IV-as-quadword.patch
patches.suse/crypto-vmx-ghash-do-nosimd-fallback-manually.patch
patches.suse/net-mlx4_en-ethtool-Remove-unsupported-SFP-EEPROM-hi.patch
+ patches.suse/tipc-Avoid-copying-bytes-beyond-the-supplied-data.patch
patches.suse/usbnet-ipheth-fix-racing-condition.patch
patches.suse/ipv6-Consider-sk_bound_dev_if-when-binding-a-raw-soc.patch
patches.suse/usbnet-fix-kernel-crash-after-disconnect.patch
@@ -48993,6 +49004,7 @@
patches.suse/IB-hfi1-Create-inline-to-get-extended-headers.patch
patches.suse/net-remove-duplicate-fetch-in-sock_getsockopt.patch
patches.suse/tun-wake-up-waitqueues-after-IFF_UP-is-set.patch
+ patches.suse/tipc-pass-tunnel-dev-as-NULL-to-udp_tunnel-6-_xmit_s.patch
patches.suse/net-udp_gso-Allow-TX-timestamp-with-UDP-GSO.patch
patches.suse/net-af_iucv-remove-gfp_dma-restriction-for-hipertransport
patches.suse/net-af_iucv-build-proper-skbs-for-hipertransport
@@ -49010,9 +49022,11 @@
patches.suse/net-sched-cbs-Fix-error-path-of-cbs_module_init.patch
patches.suse/net-tls-fix-page-double-free-on-TX-cleanup.patch
patches.suse/net-packet-fix-memory-leak-in-packet_set_ring.patch
+ patches.suse/tipc-check-msg-req-data-len-in-tipc_nl_compat_bearer.patch
patches.suse/qmi_wwan-Fix-out-of-bounds-read.patch
patches.suse/ipv4-Use-return-value-of-inet_iif-for-__raw_v4_looku.patch
patches.suse/bonding-Always-enable-vlan-tx-offload.patch
+ patches.suse/net-smc-fix-error-path-in-smc_init
patches.suse/team-Always-enable-vlan-tx-offload.patch
patches.suse/sctp-change-to-hold-sk-after-auth-shkey-is-created-s.patch
patches.suse/af_packet-Block-execution-of-tasks-waiting-for-trans.patch
@@ -49658,6 +49672,7 @@
patches.suse/arm64-PCI-Preserve-firmware-configuration-when-desir.patch
patches.suse/msft-hv-1895-PCI-hv-Fix-a-use-after-free-bug-in-hv_eject_device_w.patch
patches.suse/0001-PCI-qcom-Ensure-that-PERST-is-asserted-for-at-least-.patch
+ patches.suse/PCI-tegra-Enable-Relaxed-Ordering-only-for-Tegra20-T.patch
patches.suse/0001-PCI-xilinx-nwl-Fix-Multi-MSI-data-programming.patch
patches.suse/nvme-fc-fix-module-unloads-while-lports-still-pendin.patch
patches.suse/btrfs-ensure-btrfs_init_dev_replace_tgtdev-sees-up-to-date-values.patch
@@ -49929,10 +49944,13 @@
patches.suse/mac80211_hwsim-Fix-possible-null-pointer-dereference.patch
patches.suse/isdn-hfcsusb-Fix-mISDN-driver-crash-caused-by-transf.patch
patches.suse/net-bridge-mcast-don-t-delete-permanent-entries-when.patch
+ patches.suse/tipc-compat-allow-tipc-commands-without-arguments.patch
patches.suse/net-usb-pegasus-fix-improper-read-if-get_registers-f.patch
patches.suse/atm-iphase-Fix-Spectre-v1-vulnerability.patch
patches.suse/net-mlx5e-always-initialize-frag-last_in_page.patch
patches.suse/net-fix-bpf_xdp_adjust_head-regression-for-generic-X.patch
+ patches.suse/net-smc-do-not-schedule-tx_work-in-smc_closed-state
+ patches.suse/net-smc-avoid-fallback-in-case-of-non-blocking-connect
patches.suse/can-sja1000-force-the-string-buffer-NULL-terminated.patch
patches.suse/can-peak_usb-force-the-string-buffer-NULL-terminated.patch
patches.suse/0005-can-peak_usb-pcan_usb_fd-Fix-info-leaks-to-USB-devic.patch
@@ -50799,6 +50817,7 @@
patches.suse/mac80211-accept-deauth-frames-in-IBSS-mode.patch
patches.suse/phylink-fix-kernel-doc-warnings.patch
patches.suse/act_mirred-Fix-mirred_init_module-error-handling.patch
+ patches.suse/net-smc-fix-smcd-link-group-creation-with-vlan-id
patches.suse/iwlwifi-pcie-fix-rb_allocator-workqueue-allocation.patch
patches.suse/iwlwifi-dbg_ini-fix-memory-leak-in-alloc_sgtable.patch
patches.suse/iwlwifi-pcie-fix-memory-leaks-in-iwl_pcie_ctxt_info_.patch
@@ -50859,6 +50878,8 @@
patches.suse/KVM-vmx-svm-always-run-with-EFER.NXE-1-when-shadow-p.patch
patches.suse/r8152-add-device-id-for-Lenovo-ThinkPad-USB-C-Dock-G.patch
patches.suse/net-openvswitch-free-vport-unless-register_netdevice.patch
+ patches.suse/net-smc-fix-closing-of-fallback-smc-sockets
+ patches.suse/net-smc-keep-vlan_id-for-smc-r-in-smc_listen_work
patches.suse/netns-fix-GFP-flags-in-rtnl_net_notifyid.patch
patches.suse/cxgb4-request-the-TX-CIDX-updates-to-status-page.patch
patches.suse/net-Zeroing-the-structure-ethtool_wolinfo-in-ethtool.patch
@@ -50874,6 +50895,7 @@
patches.suse/fjes-Handle-workqueue-allocation-failure.patch
patches.suse/net-mlx4_core-Dynamically-set-guaranteed-amount-of-c.patch
patches.suse/net-hisilicon-Fix-ping-latency-when-deal-with-high-t.patch
+ patches.suse/net-smc-fix-refcounting-for-non-blocking-connect
patches.suse/net-mlx5e-Fix-handling-of-compressed-CQEs-in-case-of.patch
patches.suse/net-mlx5e-Fix-ethtool-self-test-link-speed.patch
patches.suse/net-annotate-accesses-to-sk-sk_incoming_cpu.patch
@@ -50925,9 +50947,11 @@
patches.suse/can-rx-offload-can_rx_offload_queue_tail-fix-error-h.patch
patches.suse/can-rx-offload-can_rx_offload_offload_one-do-not-inc.patch
patches.suse/powerpc-bpf-Fix-tail-call-implementation.patch
+ patches.suse/net-smc-fix-ethernet-interface-refcounting
patches.suse/net-mlx5e-Fix-eswitch-debug-print-of-max-fdb-flow.patch
patches.suse/nfc-netlink-fix-double-device-reference-drop.patch
patches.suse/net-hns-Fix-the-stray-netpoll-locks-causing-deadlock.patch
+ patches.suse/vsock-virtio-fix-sock-refcnt-holding-during-the-shut.patch
patches.suse/ice-fix-potential-infinite-loop-because-loop-counter.patch
patches.suse/watchdog-meson-Fix-the-wrong-value-of-left-time.patch
patches.suse/pinctrl-cherryview-Allocate-IRQ-chip-dynamic.patch
@@ -50985,9 +51009,11 @@
patches.suse/Input-synaptics-rmi4-destroy-F54-poller-workqueue-wh.patch
patches.suse/mm-debug.c-PageAnon-is-true-for-PageKsm-pages.patch
patches.suse/NFC-nxp-nci-Fix-NULL-pointer-dereference-after-I2C-c.patch
+ patches.suse/net-smc-fix-refcount-non-blocking-connect-part-2
patches.suse/slip-Fix-memory-leak-in-slip_open-error-path.patch
patches.suse/slcan-Fix-memory-leak-in-error-path.patch
patches.suse/ax88172a-fix-information-leak-on-short-answers.patch
+ patches.suse/net-smc-fix-fastopen-for-non-blocking-connect
patches.suse/x86-resctrl-fix-potential-lockdep-warning.patch
patches.suse/iommu-vt-d-fix-qi_dev_iotlb_pfsid-and-qi_dev_eiotlb_pfsid-macros
patches.suse/gpiolib-acpi-Add-Terra-Pad-1061-to-the-run_edge_even.patch
@@ -51001,8 +51027,15 @@
patches.suse/tpm-add-check-after-commands-attribs-tab-allocation.patch
patches.suse/mtd-spear_smi-Fix-Write-Burst-mode.patch
patches.suse/mtd-spi-nor-fix-silent-truncation-in-spi_nor_read.patch
+ patches.suse/s390-mm-properly-clear-page_noexec-bit-when-it-is-not-supported
+ patches.suse/kvm-svm-serialize-access-to-the-sev-asid-bitmap.patch
+ 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/livepatch-keep-replaced-patches-until-post_patch-callback-is-called.patch
+ patches.suse/livepatch-basic-api-to-track-system-state-changes.patch
+ patches.suse/livepatch-allow-to-distinguish-different-version-of-system-state-changes.patch
+ patches.suse/livepatch-selftests-of-the-api-for-tracking-system-state-changes.patch
patches.suse/hwrng-omap3-rom-Call-clk_disable_unprepare-on-exit-o.patch
patches.suse/crypto-af_alg-cast-ki_complete-ternary-op-to-int.patch
patches.suse/crypto-user-fix-memory-leak-in-crypto_report.patch
@@ -51122,21 +51155,31 @@
patches.suse/Documentation-debugfs-Document-debugfs-helper-for-un.patch
patches.suse/powerpc-book3s64-Fix-link-stack-flush-on-context-swi.patch
patches.suse/KVM-PPC-Book3S-HV-Flush-link-stack-on-guest-exit-to-.patch
+ patches.suse/ftrace-introduce-permanent-ftrace_ops-flag.patch
patches.suse/openvswitch-fix-flow-command-message-size.patch
patches.suse/video-hdmi-Fix-AVI-bar-unpack.patch
patches.suse/drm-msm-fix-memleak-on-release.patch
patches.suse/drm-radeon-fix-bad-DMA-from-INTERRUPT_CNTL2.patch
patches.suse/drm-amdgpu-fix-bad-DMA-from-INTERRUPT_CNTL2.patch
+ patches.suse/CIFS-Fix-SMB2-oplock-break-processing.patch
+ patches.suse/cifs-move-cifsFileInfo_put-logic-into-a-work-queue.patch
+ patches.suse/powerpc-papr_scm-Fix-an-off-by-one-check-in-papr_scm.patch
+ patches.suse/powerpc-pseries-Don-t-opencode-HPTE_V_BOLTED.patch
+ patches.suse/powerpc-pseries-Don-t-fail-hash-page-table-insert-fo.patch
+ patches.suse/powerpc-book3s64-hash-Use-secondary-hash-for-bolted-.patch
+ patches.suse/powerpc-pseries-address-checkpatch-warnings-in-dlpar.patch
+ patches.suse/powerpc-pseries-safely-roll-back-failed-DLPAR-cpu-ad.patch
+ patches.suse/powerpc-security-book3s64-Report-L1TF-status-in-sysf.patch
+ patches.suse/powerpc-security-Fix-wrong-message-when-RFI-Flush-is.patch
+ patches.suse/powerpc-xive-Prevent-page-fault-issues-in-the-machin.patch
+ patches.suse/powerpc-fadump-when-fadump-is-supported-register-the.patch
+ patches.suse/compat_ioctl-handle-SIOCOUTQNSD.patch
patches.suse/clk-samsung-exynos5420-Preserve-CPU-clocks-configura.patch
patches.suse/clk-pxa-fix-one-of-the-pxa-RTC-clocks.patch
patches.suse/mfd-intel-lpss-Add-default-I2C-device-properties-for.patch
patches.suse/gpio-mpc8xxx-Don-t-overwrite-default-irq_set_type-ca.patch
patches.suse/libnvdimm-export-the-target_node-attribute-for-regions-and-namespaces.patch
- patches.suse/PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
- patches.suse/ACPI-hotplug-PCI-Allocate-resources-directly-under-t.patch
- patches.suse/PCI-PM-Clear-PCIe-PME-Status-even-for-legacy-power-m.patch
-
- # jejb/scsi for-next
+ patches.suse/tipc-fix-wrong-timeout-input-for-tipc_wait_for_cond.patch
patches.suse/scsi-lpfc-Fix-pt2pt-discovery-on-SLI3-HBAs.patch
patches.suse/scsi-lpfc-Fix-premature-re-enabling-of-interrupts-in.patch
patches.suse/scsi-lpfc-Fix-miss-of-register-read-failure-check.patch
@@ -51213,23 +51256,32 @@
patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_get.patch
patches.suse/scsi-lpfc-Fix-a-kernel-warning-triggered-by-lpfc_sli.patch
patches.suse/scsi-lpfc-Fix-lpfc_cpumask_of_node_init.patch
+ patches.suse/scsi-lpfc-fix-Coverity-lpfc_get_scsi_buf_s3-Null-poi.patch
+ patches.suse/scsi-lpfc-fix-Coverity-lpfc_cmpl_els_rsp-Null-pointe.patch
+ patches.suse/scsi-lpfc-fix-inlining-of-lpfc_sli4_cleanup_poll_lis.patch
+ patches.suse/scsi-lpfc-Initialize-cpu_map-for-not-present-cpus.patch
+ patches.suse/scsi-lpfc-revise-nvme-max-queues-to-be-hdwq-count.patch
+ patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.2.patch
patches.suse/scsi-lpfc-use-hdwq-assigned-cpu-for-allocation.patch
+ patches.suse/PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch
+ patches.suse/ACPI-hotplug-PCI-Allocate-resources-directly-under-t.patch
+ patches.suse/PCI-PTM-Remove-spurious-d-from-granularity-message.patch
+ patches.suse/PCI-MSI-Fix-incorrect-MSI-X-masking-on-resume.patch
+ patches.suse/PCI-PM-Clear-PCIe-PME-Status-even-for-legacy-power-m.patch
+ patches.suse/PCI-Fix-Intel-ACS-quirk-UPDCR-register-address.patch
+ patches.suse/PCI-Apply-Cavium-ACS-quirk-to-ThunderX2-and-ThunderX.patch
+ patches.suse/PCI-dwc-Fix-find_next_bit-usage.patch
+ patches.suse/PCI-rcar-Fix-missing-MACCTLR-register-setting-in-ini.patch
+ patches.suse/tty-serial-msm_serial-Fix-flow-control.patch
+ patches.suse/tty-serial-fsl_lpuart-use-the-sg-count-from-dma_map_.patch
+ patches.suse/tty-serial-imx-use-the-sg-count-from-dma_map_sg.patch
+ patches.suse/tty-serial-pch_uart-correct-usage-of-dma_unmap_sg.patch
+
+ # jejb/scsi for-next
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
- # powerpc/linux next
- patches.suse/powerpc-papr_scm-Fix-an-off-by-one-check-in-papr_scm.patch
- patches.suse/powerpc-pseries-Don-t-opencode-HPTE_V_BOLTED.patch
- patches.suse/powerpc-pseries-Don-t-fail-hash-page-table-insert-fo.patch
- patches.suse/powerpc-book3s64-hash-Use-secondary-hash-for-bolted-.patch
- patches.suse/powerpc-pseries-address-checkpatch-warnings-in-dlpar.patch
- patches.suse/powerpc-pseries-safely-roll-back-failed-DLPAR-cpu-ad.patch
- patches.suse/powerpc-security-book3s64-Report-L1TF-status-in-sysf.patch
- patches.suse/powerpc-security-Fix-wrong-message-when-RFI-Flush-is.patch
- patches.suse/powerpc-xive-Prevent-page-fault-issues-in-the-machin.patch
- patches.suse/powerpc-fadump-when-fadump-is-supported-register-the.patch
-
# dhowells/linux-fs keys-uefi
patches.suse/0001-KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch
patches.suse/0002-efi-Add-EFI-signature-data-types.patch
@@ -51238,21 +51290,11 @@
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-lpfc-fix-Coverity-lpfc_get_scsi_buf_s3-Null-poi.patch
- patches.suse/scsi-lpfc-fix-Coverity-lpfc_cmpl_els_rsp-Null-pointe.patch
- patches.suse/scsi-lpfc-fix-inlining-of-lpfc_sli4_cleanup_poll_lis.patch
- patches.suse/scsi-lpfc-Initialize-cpu_map-for-not-present-cpus.patch
- patches.suse/scsi-lpfc-revise-nvme-max-queues-to-be-hdwq-count.patch
- patches.suse/scsi-lpfc-Update-lpfc-version-to-12.6.0.2.patch
-
# out-of-tree patches
patches.suse/firmware-arm_sdei-fix-wrong-of_node_put-in-init-function.patch
patches.suse/net-mvpp2-fix-condition-for-setting-up-link-interrup.patch
patches.suse/cifs-handle-netapp-error-codes.patch
patches.suse/lpfc-size-cpu-map-by-last-cpu-id-set.patch
- patches.suse/CIFS-Fix-SMB2-oplock-break-processing.patch
- patches.suse/cifs-move-cifsFileInfo_put-logic-into-a-work-queue.patch
patches.suse/powerpc-add-link-stack-flush-mitigation-in-debugfs.patch
########################################################
@@ -51547,6 +51589,9 @@
patches.suse/arm64-Fake-the-IminLine-size-on-systems-affected-by-.patch
patches.suse/arm64-compat-Workaround-Neoverse-N1-1542419-for-comp.patch
+ # bsc#1142095
+ patches.suse/mlx5-add-parameter-to-disable-enhanced-IPoIB.patch
+
########################################################
# Filesystem
########################################################
@@ -51715,6 +51760,7 @@
# Wireless Networking
########################################################
patches.suse/mwifiex-fix-possible-heap-overflow-in-mwifiex_proces.patch
+ patches.suse/mwifiex-Fix-heap-overflow-in-mmwifiex_process_tdls_a.patch
patches.suse/b43-missing-firmware-info.patch
patches.kabi/ath10k-last_wmi_vdev_start_status-kabi-workaround.patch
patches.kabi/mwifiex-ieee-types-kabi-fix.patch
diff --git a/supported.conf b/supported.conf
index 50a3c84b22..aac186d578 100644
--- a/supported.conf
+++ b/supported.conf
@@ -21,6 +21,9 @@
+kselftests-kmp lib/livepatch/test_klp_callbacks_mod.ko
+kselftests-kmp lib/livepatch/test_klp_livepatch.ko
+kselftests-kmp lib/livepatch/test_klp_shadow_vars.ko
++kselftests-kmp lib/livepatch/test_klp_state.ko
++kselftests-kmp lib/livepatch/test_klp_state2.ko
++kselftests-kmp lib/livepatch/test_klp_state3.ko
+kselftests-kmp lib/test_firmware # FATE#323821
+kselftests-kmp lib/test_module # FATE#323821 - ensures kmp is never empty
+kselftests-kmp lib/test_sysctl # FATE#323821