Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKernel Build Daemon <kbuild@suse.de>2019-05-04 07:01:12 +0200
committerKernel Build Daemon <kbuild@suse.de>2019-05-04 07:01:12 +0200
commitfa91eaa27bce5c525ce8bcd40b81cd35cbdbc4bc (patch)
treebb4548ddcb904036f90ce1c9834e14e10684a7f8
parent449b4d258b4156ba941fef04118d8b201f29dc5f (diff)
parent513d103e7c34ac533a73e0c89183dfe7fbbd84f3 (diff)
Merge branch 'SLE15' into SLE12-SP4
-rw-r--r--blacklist.conf2
-rw-r--r--patches.arch/powerpc-64s-Fix-page-table-fragment-refcount-race-vs.patch105
-rw-r--r--patches.arch/powerpc-mm-Fix-page-table-dump-to-work-on-Radix.patch60
-rw-r--r--patches.arch/powerpc-mm-radix-Display-if-mappings-are-exec-or-not.patch95
-rw-r--r--patches.arch/powerpc-mm-radix-Prettify-mapped-memory-range-print-.patch61
-rw-r--r--patches.arch/powerpc-mm-radix-Split-linear-mapping-on-hot-unplug.patch22
-rw-r--r--patches.drivers/0001-i2c-Make-i2c_unregister_device-NULL-aware.patch43
-rw-r--r--patches.drivers/0002-ipmi_ssif-Remove-duplicate-NULL-check.patch37
-rw-r--r--patches.drivers/0003-ipmi-Fix-I2C-client-removal-in-the-SSIF-driver.patch126
-rw-r--r--patches.drivers/scsi-qla2xxx-Add-new-FC-NVMe-enable-BIT-to-enable-FC.patch54
-rw-r--r--patches.fixes/NFS-Add-missing-encode-decode-sequence_maxsz-to-v4.2.patch75
-rw-r--r--patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch33
-rw-r--r--patches.kabi/Fix-struct-page-kABI-after-adding-atomic-for-ppc.patch30
-rw-r--r--series.conf11
14 files changed, 743 insertions, 11 deletions
diff --git a/blacklist.conf b/blacklist.conf
index 481ec32b5b..726107fbf7 100644
--- a/blacklist.conf
+++ b/blacklist.conf
@@ -1095,3 +1095,5 @@ a9903f04e0a4ea522d959c2f287cdf0ab029e324 # minor debug changes, not needed
ca66e797120fb09b8138623fb4b563e952586ef5 # breaks kABI
c8b1917c8987a6fa3695d479b4d60fbbbc3e537b # acpica: causes a regression (bsc#1132943)
2c2a2fb1e2a9256714338875bede6b7cbd4b9542 # acpica: reverting the above
+45bb8d802742842fa974b0d7d474d115df1d07db # not a bug
+379d98ddf41344273d9718556f761420f4dc80b3 # we don't use clang
diff --git a/patches.arch/powerpc-64s-Fix-page-table-fragment-refcount-race-vs.patch b/patches.arch/powerpc-64s-Fix-page-table-fragment-refcount-race-vs.patch
new file mode 100644
index 0000000000..766501537f
--- /dev/null
+++ b/patches.arch/powerpc-64s-Fix-page-table-fragment-refcount-race-vs.patch
@@ -0,0 +1,105 @@
+From 2f6d444f6b57b11a777897f35004007e3bd4fc6d Mon Sep 17 00:00:00 2001
+From: Nicholas Piggin <npiggin@gmail.com>
+Date: Fri, 27 Jul 2018 21:48:17 +1000
+Subject: [PATCH] powerpc/64s: Fix page table fragment refcount race vs
+ speculative references
+
+References: bsc#1131326, bsc#1108937
+Patch-mainline: v4.19-rc1
+Git-commit: 4231aba000f5a4583dd9f67057aadb68c3eca99d
+
+The page table fragment allocator uses the main page refcount racily
+with respect to speculative references. A customer observed a BUG due
+to page table page refcount underflow in the fragment allocator. This
+can be caused by the fragment allocator set_page_count stomping on a
+speculative reference, and then the speculative failure handler
+decrements the new reference, and the underflow eventually pops when
+the page tables are freed.
+
+Fix this by using a dedicated field in the struct page for the page
+table fragment allocator.
+
+Fixes: 5c1f6ee9a31c ("powerpc: Reduce PTE table memory wastage")
+Cc: stable@vger.kernel.org # v3.10+
+Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
+Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Backported-by: Gustavo Walbon <gwalbon@linux.ibm.com>
+[
+struct page uses another offset in the scruct to store the flag count
+]
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ arch/powerpc/mm/mmu_context_book3s64.c | 4 ++--
+ arch/powerpc/mm/pgtable_64.c | 10 +++++++---
+ include/linux/mm_types.h | 1 +
+ 3 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/arch/powerpc/mm/mmu_context_book3s64.c b/arch/powerpc/mm/mmu_context_book3s64.c
+index 3f980baade4c..0aff84f8e08d 100644
+--- a/arch/powerpc/mm/mmu_context_book3s64.c
++++ b/arch/powerpc/mm/mmu_context_book3s64.c
+@@ -201,9 +201,9 @@ static void destroy_pagetable_page(struct mm_struct *mm)
+ /* drop all the pending references */
+ count = ((unsigned long)pte_frag & ~PAGE_MASK) >> PTE_FRAG_SIZE_SHIFT;
+ /* We allow PTE_FRAG_NR fragments from a PTE page */
+- if (page_ref_sub_and_test(page, PTE_FRAG_NR - count)) {
++ if (atomic_sub_and_test(PTE_FRAG_NR - count, &page->pt_frag_refcount)) {
+ pgtable_page_dtor(page);
+- free_unref_page(page);
++ __free_page(page);
+ }
+ }
+
+diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c
+index 8faaa44bea34..ac990323ecfb 100644
+--- a/arch/powerpc/mm/pgtable_64.c
++++ b/arch/powerpc/mm/pgtable_64.c
+@@ -364,6 +364,8 @@ static pte_t *__alloc_for_cache(struct mm_struct *mm, int kernel)
+ return NULL;
+ }
+
++ atomic_set(&page->pt_frag_refcount, 1);
++
+ ret = page_address(page);
+ spin_lock(&mm->page_table_lock);
+ /*
+@@ -372,7 +374,7 @@ static pte_t *__alloc_for_cache(struct mm_struct *mm, int kernel)
+ * count.
+ */
+ if (likely(!mm->context.pte_frag)) {
+- set_page_count(page, PTE_FRAG_NR);
++ atomic_set(&page->pt_frag_refcount, PTE_FRAG_NR);
+ mm->context.pte_frag = ret + PTE_FRAG_SIZE;
+ }
+ spin_unlock(&mm->page_table_lock);
+@@ -395,10 +397,12 @@ pte_t *pte_fragment_alloc(struct mm_struct *mm, unsigned long vmaddr, int kernel
+ void pte_fragment_free(unsigned long *table, int kernel)
+ {
+ struct page *page = virt_to_page(table);
+- if (put_page_testzero(page)) {
++
++ BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0);
++ if (atomic_dec_and_test(&page->pt_frag_refcount)) {
+ if (!kernel)
+ pgtable_page_dtor(page);
+- free_unref_page(page);
++ __free_page(page);
+ }
+ }
+
+diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
+index 0aacdfa6dc2e..2b9589f02601 100644
+--- a/include/linux/mm_types.h
++++ b/include/linux/mm_types.h
+@@ -57,6 +57,7 @@ struct page {
+
+ /* Second double word */
+ union {
++ atomic_t pt_frag_refcount; /* powerpc */
+ pgoff_t index; /* Our offset within mapping. */
+ void *freelist; /* sl[aou]b first free object */
+ /* page_deferred_list().prev -- second tail page */
+--
+2.20.1
+
diff --git a/patches.arch/powerpc-mm-Fix-page-table-dump-to-work-on-Radix.patch b/patches.arch/powerpc-mm-Fix-page-table-dump-to-work-on-Radix.patch
new file mode 100644
index 0000000000..f683210903
--- /dev/null
+++ b/patches.arch/powerpc-mm-Fix-page-table-dump-to-work-on-Radix.patch
@@ -0,0 +1,60 @@
+From 0d923962ab69c27cca664a2d535e90ef655110ca Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <mpe@ellerman.id.au>
+Date: Wed, 15 Aug 2018 21:29:45 +1000
+Subject: [PATCH] powerpc/mm: Fix page table dump to work on Radix
+
+References: bsc#1055186, fate#323286, git-fixes
+Patch-mainline: v4.20-rc1
+Git-commit: 0d923962ab69c27cca664a2d535e90ef655110ca
+
+When we're running on Book3S with the Radix MMU enabled the page table
+dump currently prints the wrong addresses because it uses the wrong
+start address.
+
+Fix it to use PAGE_OFFSET rather than KERN_VIRT_START.
+
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ arch/powerpc/mm/dump_linuxpagetables.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/arch/powerpc/mm/dump_linuxpagetables.c b/arch/powerpc/mm/dump_linuxpagetables.c
+index e60aa6d7456d..2b74f8adf4d0 100644
+--- a/arch/powerpc/mm/dump_linuxpagetables.c
++++ b/arch/powerpc/mm/dump_linuxpagetables.c
+@@ -267,12 +267,13 @@ static void walk_pagetables(struct pg_state *st)
+ unsigned int i;
+ unsigned long addr;
+
++ addr = st->start_address;
++
+ /*
+ * Traverse the linux pagetable structure and dump pages that are in
+ * the hash pagetable.
+ */
+- for (i = 0; i < PTRS_PER_PGD; i++, pgd++) {
+- addr = KERN_VIRT_START + i * PGDIR_SIZE;
++ for (i = 0; i < PTRS_PER_PGD; i++, pgd++, addr += PGDIR_SIZE) {
+ if (!pgd_none(*pgd) && !pgd_huge(*pgd))
+ /* pgd exists */
+ walk_pud(st, pgd, addr);
+@@ -321,9 +322,14 @@ static int ptdump_show(struct seq_file *m, void *v)
+ {
+ struct pg_state st = {
+ .seq = m,
+- .start_address = KERN_VIRT_START,
+ .marker = address_markers,
+ };
++
++ if (radix_enabled())
++ st.start_address = PAGE_OFFSET;
++ else
++ st.start_address = KERN_VIRT_START;
++
+ /* Traverse kernel page tables */
+ walk_pagetables(&st);
+ note_page(&st, 0, 0, 0);
+--
+2.20.1
+
diff --git a/patches.arch/powerpc-mm-radix-Display-if-mappings-are-exec-or-not.patch b/patches.arch/powerpc-mm-radix-Display-if-mappings-are-exec-or-not.patch
new file mode 100644
index 0000000000..c22d4bc88c
--- /dev/null
+++ b/patches.arch/powerpc-mm-radix-Display-if-mappings-are-exec-or-not.patch
@@ -0,0 +1,95 @@
+From afb6d0647fd250a068efd985987b5ff2c0d1b853 Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <mpe@ellerman.id.au>
+Date: Wed, 17 Oct 2018 23:53:38 +1100
+Subject: [PATCH] powerpc/mm/radix: Display if mappings are exec or not
+
+References: bsc#1055186, fate#323286, git-fixes
+Patch-mainline: v4.20-rc1
+Git-commit: afb6d0647fd250a068efd985987b5ff2c0d1b853
+
+At boot we print the ranges we've mapped for the linear mapping and
+what page size we've used. Also track whether the range is mapped
+executable or not and display that as well.
+
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ arch/powerpc/mm/pgtable-radix.c | 29 +++++++++++++++++------------
+ 1 file changed, 17 insertions(+), 12 deletions(-)
+
+--- a/arch/powerpc/mm/pgtable-radix.c
++++ b/arch/powerpc/mm/pgtable-radix.c
+@@ -180,9 +180,8 @@ void radix__mark_rodata_ro(void)
+ }
+ #endif /* CONFIG_STRICT_KERNEL_RWX */
+
+-static inline void __meminit print_mapping(unsigned long start,
+- unsigned long end,
+- unsigned long size)
++static inline void __meminit
++print_mapping(unsigned long start, unsigned long end, unsigned long size, bool exec)
+ {
+ char buf[10];
+
+@@ -191,13 +190,15 @@ static inline void __meminit print_mappi
+
+ string_get_size(size, 1, STRING_UNITS_2, buf, sizeof(buf));
+
+- pr_info("Mapped 0x%016lx-0x%016lx with %s pages\n", start, end, buf);
++ pr_info("Mapped 0x%016lx-0x%016lx with %s pages%s\n", start, end, buf,
++ exec ? " (exec)" : "");
+ }
+
+ static int __meminit create_physical_mapping(unsigned long start,
+ unsigned long end)
+ {
+ unsigned long vaddr, addr, mapping_size = 0;
++ bool prev_exec, exec = false;
+ pgprot_t prot;
+ unsigned long max_mapping_size;
+ #ifdef CONFIG_STRICT_KERNEL_RWX
+@@ -213,6 +214,7 @@ static int __meminit create_physical_map
+
+ gap = end - addr;
+ previous_size = mapping_size;
++ prev_exec = exec;
+ max_mapping_size = PUD_SIZE;
+
+ retry:
+@@ -238,25 +240,28 @@ retry:
+ (addr + mapping_size) >= __pa_symbol(_stext))
+ mapping_size = PAGE_SIZE;
+
+- if (mapping_size != previous_size) {
+- print_mapping(start, addr, previous_size);
+- start = addr;
+- }
+-
+ vaddr = (unsigned long)__va(addr);
+
+ if (overlaps_kernel_text(vaddr, vaddr + mapping_size) ||
+- overlaps_interrupt_vector_text(vaddr, vaddr + mapping_size))
++ overlaps_interrupt_vector_text(vaddr, vaddr + mapping_size)) {
+ prot = PAGE_KERNEL_X;
+- else
++ exec = true;
++ } else {
+ prot = PAGE_KERNEL;
++ exec = false;
++ }
++
++ if (mapping_size != previous_size || exec != prev_exec) {
++ print_mapping(start, addr, previous_size, prev_exec);
++ start = addr;
++ }
+
+ rc = radix__map_kernel_page(vaddr, addr, prot, mapping_size);
+ if (rc)
+ return rc;
+ }
+
+- print_mapping(start, addr, mapping_size);
++ print_mapping(start, addr, mapping_size, exec);
+ return 0;
+ }
+
diff --git a/patches.arch/powerpc-mm-radix-Prettify-mapped-memory-range-print-.patch b/patches.arch/powerpc-mm-radix-Prettify-mapped-memory-range-print-.patch
new file mode 100644
index 0000000000..38dd184d2b
--- /dev/null
+++ b/patches.arch/powerpc-mm-radix-Prettify-mapped-memory-range-print-.patch
@@ -0,0 +1,61 @@
+From 6deb6b474bda4d2d3fbee066f20561d3dc7f8b30 Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <mpe@ellerman.id.au>
+Date: Wed, 30 Aug 2017 17:41:17 +1000
+Subject: [PATCH] powerpc/mm/radix: Prettify mapped memory range print out
+
+References: bsc#1055186, fate#323286, git-fixes
+Patch-mainline: v4.14-rc1
+Git-commit: 6deb6b474bda4d2d3fbee066f20561d3dc7f8b30
+
+When we map memory at boot we print out the ranges of real addresses
+that we mapped and the page size that was used.
+
+Currently it's a bit ugly:
+
+ Mapped range 0x0 - 0x2000000000 with 0x40000000
+ Mapped range 0x200000000000 - 0x202000000000 with 0x40000000
+
+Pad the addresses so they line up, and print the page size using
+actual units, eg:
+
+ Mapped 0x0000000000000000-0x0000000001200000 with 64.0 KiB pages
+ Mapped 0x0000000001200000-0x0000000040000000 with 2.00 MiB pages
+ Mapped 0x0000000040000000-0x0000000100000000 with 1.00 GiB pages
+
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ arch/powerpc/mm/pgtable-radix.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/mm/pgtable-radix.c b/arch/powerpc/mm/pgtable-radix.c
+index 5156d2627779..39c252b54d16 100644
+--- a/arch/powerpc/mm/pgtable-radix.c
++++ b/arch/powerpc/mm/pgtable-radix.c
+@@ -16,6 +16,7 @@
+ #include <linux/memblock.h>
+ #include <linux/of_fdt.h>
+ #include <linux/mm.h>
++#include <linux/string_helpers.h>
+
+ #include <asm/pgtable.h>
+ #include <asm/pgalloc.h>
+@@ -187,10 +188,14 @@ static inline void __meminit print_mapping(unsigned long start,
+ unsigned long end,
+ unsigned long size)
+ {
++ char buf[10];
++
+ if (end <= start)
+ return;
+
+- pr_info("Mapped range 0x%lx - 0x%lx with 0x%lx\n", start, end, size);
++ string_get_size(size, 1, STRING_UNITS_2, buf, sizeof(buf));
++
++ pr_info("Mapped 0x%016lx-0x%016lx with %s pages\n", start, end, buf);
+ }
+
+ static int __meminit create_physical_mapping(unsigned long start,
+--
+2.20.1
+
diff --git a/patches.arch/powerpc-mm-radix-Split-linear-mapping-on-hot-unplug.patch b/patches.arch/powerpc-mm-radix-Split-linear-mapping-on-hot-unplug.patch
index cc58c45112..c484f937f2 100644
--- a/patches.arch/powerpc-mm-radix-Split-linear-mapping-on-hot-unplug.patch
+++ b/patches.arch/powerpc-mm-radix-Split-linear-mapping-on-hot-unplug.patch
@@ -1,4 +1,4 @@
-From 59b742aed38ea51a742bf5ce0220dba1db969819 Mon Sep 17 00:00:00 2001
+From 4dd5f8a99e791a8c6500e3592f3ce81ae7edcde1 Mon Sep 17 00:00:00 2001
From: Balbir Singh <bsingharora@gmail.com>
Date: Wed, 7 Feb 2018 17:35:51 +1100
Subject: [PATCH] powerpc/mm/radix: Split linear mapping on hot-unplug
@@ -28,22 +28,22 @@ Signed-off-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Acked-by: Michal Suchanek <msuchanek@suse.de>
---
- arch/powerpc/mm/pgtable-radix.c | 95 ++++++++++++++++++++++++++++++++---------
+ arch/powerpc/mm/pgtable-radix.c | 95 +++++++++++++++++++++++++--------
1 file changed, 74 insertions(+), 21 deletions(-)
diff --git a/arch/powerpc/mm/pgtable-radix.c b/arch/powerpc/mm/pgtable-radix.c
-index d51d5dbec290..ff30f341e546 100644
+index 96e07d1f673d..328ff9abc333 100644
--- a/arch/powerpc/mm/pgtable-radix.c
+++ b/arch/powerpc/mm/pgtable-radix.c
-@@ -12,6 +12,7 @@
- #include <linux/memblock.h>
+@@ -17,6 +17,7 @@
#include <linux/of_fdt.h>
#include <linux/mm.h>
+ #include <linux/string_helpers.h>
+#include <linux/stop_machine.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
-@@ -676,6 +677,30 @@ static void free_pmd_table(pmd_t *pmd_start, pud_t *pud)
+@@ -685,6 +686,30 @@ static void free_pmd_table(pmd_t *pmd_start, pud_t *pud)
pud_clear(pud);
}
@@ -74,7 +74,7 @@ index d51d5dbec290..ff30f341e546 100644
static void remove_pte_table(pte_t *pte_start, unsigned long addr,
unsigned long end)
{
-@@ -704,6 +729,52 @@ static void remove_pte_table(pte_t *pte_start, unsigned long addr,
+@@ -713,6 +738,52 @@ static void remove_pte_table(pte_t *pte_start, unsigned long addr,
}
}
@@ -127,7 +127,7 @@ index d51d5dbec290..ff30f341e546 100644
static void remove_pmd_table(pmd_t *pmd_start, unsigned long addr,
unsigned long end)
{
-@@ -719,13 +790,7 @@ static void remove_pmd_table(pmd_t *pmd_start, unsigned long addr,
+@@ -728,13 +799,7 @@ static void remove_pmd_table(pmd_t *pmd_start, unsigned long addr,
continue;
if (pmd_huge(*pmd)) {
@@ -142,7 +142,7 @@ index d51d5dbec290..ff30f341e546 100644
continue;
}
-@@ -750,13 +815,7 @@ static void remove_pud_table(pud_t *pud_start, unsigned long addr,
+@@ -759,13 +824,7 @@ static void remove_pud_table(pud_t *pud_start, unsigned long addr,
continue;
if (pud_huge(*pud)) {
@@ -157,7 +157,7 @@ index d51d5dbec290..ff30f341e546 100644
continue;
}
-@@ -782,13 +841,7 @@ static void remove_pagetable(unsigned long start, unsigned long end)
+@@ -791,13 +850,7 @@ static void remove_pagetable(unsigned long start, unsigned long end)
continue;
if (pgd_huge(*pgd)) {
@@ -173,5 +173,5 @@ index d51d5dbec290..ff30f341e546 100644
}
--
-2.13.6
+2.20.1
diff --git a/patches.drivers/0001-i2c-Make-i2c_unregister_device-NULL-aware.patch b/patches.drivers/0001-i2c-Make-i2c_unregister_device-NULL-aware.patch
new file mode 100644
index 0000000000..0f5a6b74cb
--- /dev/null
+++ b/patches.drivers/0001-i2c-Make-i2c_unregister_device-NULL-aware.patch
@@ -0,0 +1,43 @@
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Date: Tue, 31 Oct 2017 16:21:35 +0200
+Subject: i2c: Make i2c_unregister_device() NULL-aware
+
+Git-commit: 7b43dd19c9b13a3f5478b9d88a49a5495399ad29
+Patch-mainline: v4.15-rc1
+References: bsc#1108193
+
+It's a common pattern to be NULL-aware when freeing resources.
+
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
+---
+ drivers/i2c/i2c-core.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
+index 7b08f3446bfc..706164b4c5be 100644
+--- a/drivers/i2c/i2c-core.c
++++ b/drivers/i2c/i2c-core.c
+@@ -819,6 +819,8 @@ EXPORT_SYMBOL_GPL(i2c_new_device);
+ */
+ void i2c_unregister_device(struct i2c_client *client)
+ {
++ if (!client)
++ return;
+ if (client->dev.of_node)
+ of_node_clear_flag(client->dev.of_node, OF_POPULATED);
+ if (ACPI_COMPANION(&client->dev))
+@@ -1436,8 +1438,7 @@ static int __unregister_client(struct device *dev, void *dummy)
+ static int __unregister_dummy(struct device *dev, void *dummy)
+ {
+ struct i2c_client *client = i2c_verify_client(dev);
+- if (client)
+- i2c_unregister_device(client);
++ i2c_unregister_device(client);
+ return 0;
+ }
+
+--
+2.11.0
+
diff --git a/patches.drivers/0002-ipmi_ssif-Remove-duplicate-NULL-check.patch b/patches.drivers/0002-ipmi_ssif-Remove-duplicate-NULL-check.patch
new file mode 100644
index 0000000000..65bd6b49f3
--- /dev/null
+++ b/patches.drivers/0002-ipmi_ssif-Remove-duplicate-NULL-check.patch
@@ -0,0 +1,37 @@
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Date: Tue, 31 Oct 2017 16:21:38 +0200
+Subject: ipmi_ssif: Remove duplicate NULL check
+
+Git-commit: e45af3d372f1d4339663dcbef28665f5b15d448c
+Patch-mainline: v4.16-rc1
+References: bsc#1108193
+
+Since i2c_unregister_device() became NULL-aware we may remove duplicate
+NULL check.
+
+Cc: Corey Minyard <minyard@acm.org>
+Cc: openipmi-developer@lists.sourceforge.net
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Corey Minyard <cminyard@mvista.com>
+Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
+---
+ drivers/char/ipmi/ipmi_ssif.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
+index 3cfaec728604..f929e72bdac8 100644
+--- a/drivers/char/ipmi/ipmi_ssif.c
++++ b/drivers/char/ipmi/ipmi_ssif.c
+@@ -2071,8 +2071,7 @@ static int ssif_platform_remove(struct platform_device *dev)
+ return 0;
+
+ mutex_lock(&ssif_infos_mutex);
+- if (addr_info->client)
+- i2c_unregister_device(addr_info->client);
++ i2c_unregister_device(addr_info->client);
+
+ list_del(&addr_info->link);
+ kfree(addr_info);
+--
+2.11.0
+
diff --git a/patches.drivers/0003-ipmi-Fix-I2C-client-removal-in-the-SSIF-driver.patch b/patches.drivers/0003-ipmi-Fix-I2C-client-removal-in-the-SSIF-driver.patch
new file mode 100644
index 0000000000..faf8ce60f9
--- /dev/null
+++ b/patches.drivers/0003-ipmi-Fix-I2C-client-removal-in-the-SSIF-driver.patch
@@ -0,0 +1,126 @@
+From: Corey Minyard <cminyard@mvista.com>
+Date: Thu, 30 Aug 2018 13:06:21 -0500
+Subject: ipmi: Fix I2C client removal in the SSIF driver
+
+Git-commit: 0745dde62835be7e2afe62fcdb482fcad79cb743
+Patch-mainline: v4.19-rc4
+References: bsc#1108193
+
+The SSIF driver was removing any client that came in through the
+platform interface, but it should only remove clients that it
+added. On a failure in the probe function, this could result
+in the following oops when the driver is removed and the
+client gets unregistered twice:
+
+ CPU: 107 PID: 30266 Comm: rmmod Not tainted 4.18.0+ #80
+ Hardware name: Cavium Inc. Saber/Saber, BIOS Cavium reference firmware version 7.0 08/04/2018
+ pstate: 60400009 (nZCv daif +PAN -UAO)
+ pc : kernfs_find_ns+0x28/0x120
+ lr : kernfs_find_and_get_ns+0x40/0x60
+ sp : ffff00002310fb50
+ x29: ffff00002310fb50 x28: ffff800a8240f800
+ x27: 0000000000000000 x26: 0000000000000000
+ x25: 0000000056000000 x24: ffff000009073000
+ x23: ffff000008998b38 x22: 0000000000000000
+ x21: ffff800ed86de820 x20: 0000000000000000
+ x19: ffff00000913a1d8 x18: 0000000000000000
+ x17: 0000000000000000 x16: 0000000000000000
+ x15: 0000000000000000 x14: 5300737265766972
+ x13: 643d4d4554535953 x12: 0000000000000030
+ x11: 0000000000000030 x10: 0101010101010101
+ x9 : ffff800ea06cc3f9 x8 : 0000000000000000
+ x7 : 0000000000000141 x6 : ffff000009073000
+ x5 : ffff800adb706b00 x4 : 0000000000000000
+ x3 : 00000000ffffffff x2 : 0000000000000000
+ x1 : ffff000008998b38 x0 : ffff000008356760
+ Process rmmod (pid: 30266, stack limit = 0x00000000e218418d)
+ Call trace:
+ kernfs_find_ns+0x28/0x120
+ kernfs_find_and_get_ns+0x40/0x60
+ sysfs_unmerge_group+0x2c/0x6c
+ dpm_sysfs_remove+0x34/0x70
+ device_del+0x58/0x30c
+ device_unregister+0x30/0x7c
+ i2c_unregister_device+0x84/0x90 [i2c_core]
+ ssif_platform_remove+0x38/0x98 [ipmi_ssif]
+ platform_drv_remove+0x2c/0x6c
+ device_release_driver_internal+0x168/0x1f8
+ driver_detach+0x50/0xbc
+ bus_remove_driver+0x74/0xe8
+ driver_unregister+0x34/0x5c
+ platform_driver_unregister+0x20/0x2c
+ cleanup_ipmi_ssif+0x50/0xd82c [ipmi_ssif]
+ __arm64_sys_delete_module+0x1b4/0x220
+ el0_svc_handler+0x104/0x160
+ el0_svc+0x8/0xc
+ Code: aa1e03e0 aa0203f6 aa0103f7 d503201f (7940e280)
+ ---[ end trace 09f0e34cce8e2d8c ]---
+ Kernel panic - not syncing: Fatal exception
+ SMP: stopping secondary CPUs
+ Kernel Offset: disabled
+ CPU features: 0x23800c38
+
+So track the clients that the SSIF driver adds and only remove
+those.
+
+Reported-by: George Cherian <george.cherian@cavium.com>
+Signed-off-by: Corey Minyard <cminyard@mvista.com>
+Tested-by: George Cherian <george.cherian@cavium.com>
+Cc: <stable@vger.kernel.org> # 4.14.x
+Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
+---
+ drivers/char/ipmi/ipmi_ssif.c | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
+index c12edc8e91df..265d6a6583bc 100644
+--- a/drivers/char/ipmi/ipmi_ssif.c
++++ b/drivers/char/ipmi/ipmi_ssif.c
+@@ -181,6 +181,8 @@ struct ssif_addr_info {
+ struct device *dev;
+ struct i2c_client *client;
+
++ struct i2c_client *added_client;
++
+ struct mutex clients_mutex;
+ struct list_head clients;
+
+@@ -1641,15 +1643,7 @@ static int ssif_probe(struct i2c_client *client, const struct i2c_device_id *id)
+
+ out:
+ if (rv) {
+- /*
+- * Note that if addr_info->client is assigned, we
+- * leave it. The i2c client hangs around even if we
+- * return a failure here, and the failure here is not
+- * propagated back to the i2c code. This seems to be
+- * design intent, strange as it may be. But if we
+- * don't leave it, ssif_platform_remove will not remove
+- * the client like it should.
+- */
++ addr_info->client = NULL;
+ dev_err(&client->dev, "Unable to start IPMI SSIF: %d\n", rv);
+ kfree(ssif_info);
+ }
+@@ -1669,7 +1663,8 @@ static int ssif_adapter_handler(struct device *adev, void *opaque)
+ if (adev->type != &i2c_adapter_type)
+ return 0;
+
+- i2c_new_device(to_i2c_adapter(adev), &addr_info->binfo);
++ addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
++ &addr_info->binfo);
+
+ if (!addr_info->adapter_name)
+ return 1; /* Only try the first I2C adapter by default. */
+@@ -1842,7 +1837,7 @@ static int ssif_platform_remove(struct platform_device *dev)
+ return 0;
+
+ mutex_lock(&ssif_infos_mutex);
+- i2c_unregister_device(addr_info->client);
++ i2c_unregister_device(addr_info->added_client);
+
+ list_del(&addr_info->link);
+ kfree(addr_info);
+--
+2.11.0
+
diff --git a/patches.drivers/scsi-qla2xxx-Add-new-FC-NVMe-enable-BIT-to-enable-FC.patch b/patches.drivers/scsi-qla2xxx-Add-new-FC-NVMe-enable-BIT-to-enable-FC.patch
new file mode 100644
index 0000000000..c68b653d5e
--- /dev/null
+++ b/patches.drivers/scsi-qla2xxx-Add-new-FC-NVMe-enable-BIT-to-enable-FC.patch
@@ -0,0 +1,54 @@
+From: Giridhar Malavali <gmalavali@marvell.com>
+Date: Wed, 30 Jan 2019 09:50:44 -0800
+Subject: [PATCH] scsi: qla2xxx: Add new FC-NVMe enable BIT to enable FC-NVMe
+ feature
+Git-commit: 171e4909eac7912c8d9ffaec9a2872b3271dd6e9
+Patch-Mainline: v5.1-rc1
+References: bsc#1130579
+
+This patch adds new BIT detection to enable FC-NVMe feature in the driver.
+
+[mkp: fixed Giridhar's SoB]
+
+Signed-off-by: Giridhar Malavali <gmalavali@marvell.com>
+Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
+Reviewed-by: Ewan D. Milne <emilne@redhat.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Acked-by: Hannes Reinecke <hare@suse.com>
+---
+ drivers/scsi/qla2xxx/qla_def.h | 3 +++
+ drivers/scsi/qla2xxx/qla_mbx.c | 4 +++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
+index 97f66b142ff2..8858bb1ea1b2 100644
+--- a/drivers/scsi/qla2xxx/qla_def.h
++++ b/drivers/scsi/qla2xxx/qla_def.h
+@@ -3966,6 +3966,9 @@ struct qla_hw_data {
+ uint16_t fw_subminor_version;
+ uint16_t fw_attributes;
+ uint16_t fw_attributes_h;
++#define FW_ATTR_H_NVME BIT_10
++#define FW_ATTR_H_NVME_UPDATED BIT_14
++
+ uint16_t fw_attributes_ext[2];
+ uint32_t fw_memory_size;
+ uint32_t fw_transfer_size;
+diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
+index 191b6b7c8747..f753aa495753 100644
+--- a/drivers/scsi/qla2xxx/qla_mbx.c
++++ b/drivers/scsi/qla2xxx/qla_mbx.c
+@@ -1109,7 +1109,9 @@ qla2x00_get_fw_version(scsi_qla_host_t *vha)
+ * FW supports nvme and driver load parameter requested nvme.
+ * BIT 26 of fw_attributes indicates NVMe support.
+ */
+- if ((ha->fw_attributes_h & 0x400) && ql2xnvmeenable) {
++ if ((ha->fw_attributes_h &
++ (FW_ATTR_H_NVME | FW_ATTR_H_NVME_UPDATED)) &&
++ ql2xnvmeenable) {
+ vha->flags.nvme_enabled = 1;
+ ql_log(ql_log_info, vha, 0xd302,
+ "%s: FC-NVMe is Enabled (0x%x)\n",
+--
+2.16.4
+
diff --git a/patches.fixes/NFS-Add-missing-encode-decode-sequence_maxsz-to-v4.2.patch b/patches.fixes/NFS-Add-missing-encode-decode-sequence_maxsz-to-v4.2.patch
new file mode 100644
index 0000000000..a450858e73
--- /dev/null
+++ b/patches.fixes/NFS-Add-missing-encode-decode-sequence_maxsz-to-v4.2.patch
@@ -0,0 +1,75 @@
+From: Anna Schumaker <Anna.Schumaker@Netapp.com>
+Date: Fri, 1 Mar 2019 16:09:56 -0500
+Subject: [PATCH] NFS: Add missing encode / decode sequence_maxsz to v4.2
+ operations
+Git-commit: 1a3466aed3a17eed41cd9411f89eb637f58349b0
+Patch-mainline: v5.1
+References: git-fixes
+
+These really should have been there from the beginning, but we never
+noticed because there was enough slack in the RPC request for the extra
+bytes. Chuck's recent patch to use au_cslack and au_rslack to compute
+buffer size shrunk the buffer enough that this was now a problem for
+SEEK operations on my test client.
+
+Fixes: f4ac1674f5da4 ("nfs: Add ALLOCATE support")
+Fixes: 2e72448b07dc3 ("NFS: Add COPY nfs operation")
+Fixes: cb95deea0b4aa ("NFS OFFLOAD_CANCEL xdr")
+Fixes: 624bd5b7b683c ("nfs: Add DEALLOCATE support")
+Fixes: 1c6dcbe5ceff8 ("NFS: Implement SEEK")
+Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
+Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
+Acked-by: NeilBrown <neilb@suse.com>
+
+---
+ fs/nfs/nfs42xdr.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/fs/nfs/nfs42xdr.c
++++ b/fs/nfs/nfs42xdr.c
+@@ -55,37 +55,45 @@
+ #define decode_clone_maxsz (op_decode_hdr_maxsz)
+
+ #define NFS4_enc_allocate_sz (compound_encode_hdr_maxsz + \
++ encode_sequence_maxsz + \
+ encode_putfh_maxsz + \
+ encode_allocate_maxsz + \
+ encode_getattr_maxsz)
+ #define NFS4_dec_allocate_sz (compound_decode_hdr_maxsz + \
++ decode_sequence_maxsz + \
+ decode_putfh_maxsz + \
+ decode_allocate_maxsz + \
+ decode_getattr_maxsz)
+ #define NFS4_enc_copy_sz (compound_encode_hdr_maxsz + \
++ encode_sequence_maxsz + \
+ encode_putfh_maxsz + \
+ encode_savefh_maxsz + \
+ encode_putfh_maxsz + \
+ encode_copy_maxsz + \
+ encode_commit_maxsz)
+ #define NFS4_dec_copy_sz (compound_decode_hdr_maxsz + \
++ decode_sequence_maxsz + \
+ decode_putfh_maxsz + \
+ decode_savefh_maxsz + \
+ decode_putfh_maxsz + \
+ decode_copy_maxsz + \
+ decode_commit_maxsz)
+ #define NFS4_enc_deallocate_sz (compound_encode_hdr_maxsz + \
++ encode_sequence_maxsz + \
+ encode_putfh_maxsz + \
+ encode_deallocate_maxsz + \
+ encode_getattr_maxsz)
+ #define NFS4_dec_deallocate_sz (compound_decode_hdr_maxsz + \
++ decode_sequence_maxsz + \
+ decode_putfh_maxsz + \
+ decode_deallocate_maxsz + \
+ decode_getattr_maxsz)
+ #define NFS4_enc_seek_sz (compound_encode_hdr_maxsz + \
++ encode_sequence_maxsz + \
+ encode_putfh_maxsz + \
+ encode_seek_maxsz)
+ #define NFS4_dec_seek_sz (compound_decode_hdr_maxsz + \
++ decode_sequence_maxsz + \
+ decode_putfh_maxsz + \
+ decode_seek_maxsz)
+ #define NFS4_enc_layoutstats_sz (compound_encode_hdr_maxsz + \
diff --git a/patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch b/patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch
new file mode 100644
index 0000000000..9fe8cb20d6
--- /dev/null
+++ b/patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch
@@ -0,0 +1,33 @@
+From: Hannes Reinecke <hare@suse.de>
+Date: Fri, 29 Mar 2019 10:57:54 +0100
+Subject: [PATCH] nvme-multipath: avoid crash on invalid subsystem cntlid
+ enumeration
+Patch-Mainline: submitted linux-nvme 2019/04/04
+References: bsc#1129273
+
+A process holding an open reference to a removed disk prevents it
+from completing deletion, so its name continues to exist. A subsequent
+gendisk creation may have the same cntlid which risks collision when
+using that for the name. Use the unique ctrl->instance instead.
+
+Signed-off-by: Hannes Reinecke <hare@suse.com>
+---
+ drivers/nvme/host/multipath.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
+index f0716f6ce41f..2551264ef2b5 100644
+--- a/drivers/nvme/host/multipath.c
++++ b/drivers/nvme/host/multipath.c
+@@ -31,7 +31,7 @@ void nvme_set_disk_name(char *disk_name, struct nvme_ns *ns,
+ sprintf(disk_name, "nvme%dn%d", ctrl->instance, ns->head->instance);
+ } else if (ns->head->disk) {
+ sprintf(disk_name, "nvme%dc%dn%d", ctrl->subsys->instance,
+- ctrl->cntlid, ns->head->instance);
++ ctrl->instance, ns->head->instance);
+ *flags = GENHD_FL_HIDDEN;
+ } else {
+ sprintf(disk_name, "nvme%dn%d", ctrl->subsys->instance,
+--
+2.16.4
+
diff --git a/patches.kabi/Fix-struct-page-kABI-after-adding-atomic-for-ppc.patch b/patches.kabi/Fix-struct-page-kABI-after-adding-atomic-for-ppc.patch
new file mode 100644
index 0000000000..f44391f360
--- /dev/null
+++ b/patches.kabi/Fix-struct-page-kABI-after-adding-atomic-for-ppc.patch
@@ -0,0 +1,30 @@
+From e6a2e77e022f47a68fa81fe271d8054de30f0f74 Mon Sep 17 00:00:00 2001
+From: Michal Suchanek <msuchanek@suse.de>
+Date: Wed, 3 Apr 2019 14:45:00 +0200
+Subject: [PATCH] Fix struct page kABI after adding atomic for ppc
+
+References: bsc#1131326, bsc#1108937
+Patch-mainline: no, kabi
+
+Signed-off-by: Michal Suchanek <msuchanek@suse.de>
+---
+ include/linux/mm_types.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
+index 2b9589f02601..772fcb7e176f 100644
+--- a/include/linux/mm_types.h
++++ b/include/linux/mm_types.h
+@@ -57,7 +57,9 @@ struct page {
+
+ /* Second double word */
+ union {
++#ifndef __GENKSYMS__
+ atomic_t pt_frag_refcount; /* powerpc */
++#endif
+ pgoff_t index; /* Our offset within mapping. */
+ void *freelist; /* sl[aou]b first free object */
+ /* page_deferred_list().prev -- second tail page */
+--
+2.20.1
+
diff --git a/series.conf b/series.conf
index 60225cad28..691455617c 100644
--- a/series.conf
+++ b/series.conf
@@ -6204,6 +6204,7 @@
patches.arch/powerpc-Machine-check-interrupt-is-a-non-maskable-in.patch
patches.arch/powerpc-xmon-Fix-display-of-SPRs.patch
patches.arch/powerpc-kernel-Change-retrieval-of-pci_dn.patch
+ patches.arch/powerpc-mm-radix-Prettify-mapped-memory-range-print-.patch
patches.arch/powerpc-xmon-Add-ISA-v3.0-SPRs-to-SPR-dump.patch
patches.arch/powerpc-conditionally-compile-platform-specific-serial-drivers.patch
patches.arch/cxl-Fix-driver-use-count.patch
@@ -8704,6 +8705,7 @@
patches.drivers/0001-ACPI-APD-Add-clock-frequency-for-ThunderX2-I2C-contr.patch
patches.drivers/0003-i2c-xlp9xx-Get-clock-frequency-with-clk-API.patch
patches.drivers/0004-i2c-xlp9xx-Handle-I2C_M_RECV_LEN-in-msg-flags.patch
+ patches.drivers/0001-i2c-Make-i2c_unregister_device-NULL-aware.patch
patches.drivers/ALSA-line6-add-support-for-POD-HD-DESKTOP
patches.drivers/ALSA-usb-audio-Apply-vendor-ID-matching-for-sample-r
patches.drivers/usb-core-Add-a-helper-function-to-check-the-validity
@@ -12209,6 +12211,7 @@
patches.drivers/power-supply-axp288_charger-Properly-stop-work-on-pr
patches.drivers/ipmi-use-dynamic-memory-for-DMI-driver-override.patch
patches.suse/ipmi-powernv-Fix-error-return-code-in-ipmi_powernv_p.patch
+ patches.drivers/0002-ipmi_ssif-Remove-duplicate-NULL-check.patch
patches.fixes/0001-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch
patches.drivers/HID-add-quirk-for-another-PIXART-OEM-mouse-used-by-H.patch
patches.fixes/0001-HID-quirks-Fix-keyboard-touchpad-on-Toshiba-Click-Mi.patch
@@ -18657,6 +18660,7 @@
patches.arch/powerpc-64s-Add-support-for-software-count-cache-flu.patch
patches.arch/powerpc-pseries-Query-hypervisor-for-count-cache-flu.patch
patches.arch/powerpc-powernv-Query-firmware-for-count-cache-flush.patch
+ patches.arch/powerpc-64s-Fix-page-table-fragment-refcount-race-vs.patch
patches.arch/powerpc-perf-Remove-sched_task-function-defined-for-.patch
patches.fixes/4.4.156-022-powerpc-Fix-size-calculation-using-resource_s.patch
patches.arch/powerpc-fadump-handle-crash-memory-ranges-array-inde.patch
@@ -19106,6 +19110,7 @@
patches.drm/drm-nouveau-TBDdevinit-don-t-fail-when-PMU-PRE_OS-is.patch
patches.drm/drm-nouveau-disp-fix-DP-disable-race.patch
patches.drivers/ipmi-Move-BT-capabilities-detection-to-the-detect-ca.patch
+ patches.drivers/0003-ipmi-Fix-I2C-client-removal-in-the-SSIF-driver.patch
patches.drivers/Revert-PCI-Add-ACS-quirk-for-Intel-300-series
patches.drivers/switchtec-Fix-Spectre-v1-vulnerability.patch
patches.arch/s390-sles15-15-04-crypto-paes-fix.patch
@@ -19845,6 +19850,8 @@
patches.arch/powerpc-cacheinfo-Report-the-correct-shared_cpu_map-.patch
patches.arch/powerpc-rtas-Fix-a-potential-race-between-CPU-Offlin.patch
patches.arch/powerpc-mm-Add-missing-tracepoint-for-tlbie.patch
+ patches.arch/powerpc-mm-radix-Display-if-mappings-are-exec-or-not.patch
+ patches.arch/powerpc-mm-Fix-page-table-dump-to-work-on-Radix.patch
patches.arch/powerpc-traps-restore-recoverability-of-machine_chec.patch
patches.suse/net-udp-fix-handling-of-CHECKSUM_COMPLETE-packets.patch
patches.suse/ipv6-ndisc-Preserve-IPv6-control-buffer-if-protocol-.patch
@@ -21482,6 +21489,7 @@
patches.drivers/IB-core-Unregister-notifier-before-freeing-MAD-secur.patch
patches.drivers/IB-core-Fix-potential-memory-leak-while-creating-MAD.patch
patches.drivers/IB-hfi1-Close-race-condition-on-user-context-disable.patch
+ patches.drivers/scsi-qla2xxx-Add-new-FC-NVMe-enable-BIT-to-enable-FC.patch
patches.drivers/iommu-vt-d-check-identity-map-for-hot-added-devices
patches.drivers/iommu-vt-d-fix-null-pointer-reference-in-intel_svm_bind_mm
patches.suse/msft-hv-1847-x86-Hyper-V-Set-x2apic-destination-mode-to-physical-.patch
@@ -21535,6 +21543,7 @@
patches.fixes/NFS-Fix-a-soft-lockup-in-the-delegation-recovery-cod.patch
patches.fixes/NFS-pnfs-Bulk-destroy-of-layouts-needs-to-be-safe-w..patch
patches.fixes/NFSv4.1-Reinitialise-sequence-results-before-retrans.patch
+ patches.fixes/NFS-Add-missing-encode-decode-sequence_maxsz-to-v4.2.patch
patches.fixes/NFSv4-flexfiles-Fix-invalid-deref-in-FF_LAYOUT_DEVID.patch
patches.suse/Btrfs-fix-corruption-reading-shared-and-compressed-e.patch
patches.suse/btrfs-fix-deadlock-between-clone-dedupe-and-rename.patch
@@ -21823,6 +21832,7 @@
patches.fixes/ch-add-missing-mutex_lock-mutex_unlock-in-ch_release.patch
patches.fixes/ch-fixup-refcounting-imbalance-for-SCSI-devices.patch
patches.suse/scsi-libsas-allocate-sense-buffer-for-bsg-queue.patch
+ patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch
########################################################
# end of sorted patches
@@ -22442,6 +22452,7 @@
patches.kabi/KABI-powerpc-export-__find_linux_pte-as-__find_linux.patch
patches.kabi/KABI-hide-new-member-in-struct-iommu_table-from-genk.patch
patches.kabi/KABI-powerpc-Revert-npu-callback-signature-change.patch
+ patches.kabi/Fix-struct-page-kABI-after-adding-atomic-for-ppc.patch
patches.kabi/kabi-fix-for-check_disk_size_change.patch