import Ubuntu-5.13.0-36.41 and update patches

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2022-03-10 16:24:04 +01:00
parent 190eaba617
commit cddb60ba98
8 changed files with 25 additions and 110 deletions

View File

@ -55,7 +55,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 files changed, 111 insertions(+) 2 files changed, 111 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 9e8737ef004e..e4705f335673 100644 index 550f341daf99..478530b48cf1 100644
--- a/Documentation/admin-guide/kernel-parameters.txt --- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -3814,6 +3814,15 @@ @@ -3814,6 +3814,15 @@

View File

@ -15,8 +15,8 @@ Link: https://lore.kernel.org/r/20210709231529.GA3270116@roeck-us.net
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
--- ---
drivers/pci/probe.c | 50 ++++----------------------------------------- drivers/pci/probe.c | 52 +++++----------------------------------------
1 file changed, 4 insertions(+), 46 deletions(-) 1 file changed, 5 insertions(+), 47 deletions(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 59ef93f1d953..b38a345c5df6 100644 index 59ef93f1d953..b38a345c5df6 100644
@ -92,13 +92,14 @@ index 59ef93f1d953..b38a345c5df6 100644
- -
/* Add initial resources to the bus */ /* Add initial resources to the bus */
resource_list_for_each_entry_safe(window, n, &resources) { resource_list_for_each_entry_safe(window, n, &resources) {
+ list_move_tail(&window->node, &bridge->windows); - offset = window->offset;
offset = window->offset; - res = window->res;
res = window->res;
- if (!res->end) - if (!res->end)
- continue; - continue;
- -
- list_move_tail(&window->node, &bridge->windows); list_move_tail(&window->node, &bridge->windows);
+ offset = window->offset;
+ res = window->res;
if (res->flags & IORESOURCE_BUS) if (res->flags & IORESOURCE_BUS)
pci_bus_insert_busn_res(bus, bus->number, res->end); pci_bus_insert_busn_res(bus, bus->number, res->end);

View File

@ -52,8 +52,8 @@ Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
--- ---
drivers/pci/probe.c | 31 +++++++++++++++++++++++++++---- drivers/pci/probe.c | 33 ++++++++++++++++++++++++++++-----
1 file changed, 27 insertions(+), 4 deletions(-) 1 file changed, 28 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index b38a345c5df6..485167ca62a1 100644 index b38a345c5df6..485167ca62a1 100644
@ -100,13 +100,14 @@ index b38a345c5df6..485167ca62a1 100644
+ +
/* Add initial resources to the bus */ /* Add initial resources to the bus */
resource_list_for_each_entry_safe(window, n, &resources) { resource_list_for_each_entry_safe(window, n, &resources) {
- list_move_tail(&window->node, &bridge->windows); + offset = window->offset;
offset = window->offset; + res = window->res;
res = window->res;
+ if (!res->end) + if (!res->end)
+ continue; + continue;
+ +
+ list_move_tail(&window->node, &bridge->windows); list_move_tail(&window->node, &bridge->windows);
- offset = window->offset;
- res = window->res;
if (res->flags & IORESOURCE_BUS) if (res->flags & IORESOURCE_BUS)
pci_bus_insert_busn_res(bus, bus->number, res->end); pci_bus_insert_busn_res(bus, bus->number, res->end);

View File

@ -19,8 +19,8 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com> Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
--- ---
fs/io-wq.c | 158 +++++++++++++++++++++++------------------------------ fs/io-wq.c | 160 +++++++++++++++++++++++------------------------------
1 file changed, 69 insertions(+), 89 deletions(-) 1 file changed, 70 insertions(+), 90 deletions(-)
diff --git a/fs/io-wq.c b/fs/io-wq.c diff --git a/fs/io-wq.c b/fs/io-wq.c
index ba7aaf2b95d0..6710da3d4445 100644 index ba7aaf2b95d0..6710da3d4445 100644
@ -35,7 +35,7 @@ index ba7aaf2b95d0..6710da3d4445 100644
}; };
/* /*
@@ -73,25 +73,24 @@ struct io_wqe_acct { @@ -73,26 +73,25 @@ struct io_wqe_acct {
unsigned max_workers; unsigned max_workers;
int index; int index;
atomic_t nr_running; atomic_t nr_running;
@ -58,14 +58,16 @@ index ba7aaf2b95d0..6710da3d4445 100644
- struct io_wq_work_list work_list; - struct io_wq_work_list work_list;
- unsigned flags; - unsigned flags;
- } ____cacheline_aligned_in_smp; - } ____cacheline_aligned_in_smp;
-
- int node;
+ raw_spinlock_t lock; + raw_spinlock_t lock;
+ struct io_wqe_acct acct[2]; struct io_wqe_acct acct[2];
int node;
- struct io_wqe_acct acct[2];
+ int node;
+
struct hlist_nulls_head free_list; struct hlist_nulls_head free_list;
struct list_head all_list; struct list_head all_list;
@@ -196,11 +195,10 @@ static void io_worker_exit(struct io_worker *worker) @@ -196,11 +195,10 @@ static void io_worker_exit(struct io_worker *worker)
do_exit(0); do_exit(0);
} }

View File

@ -1,44 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max.kellermann@ionos.com>
Date: Mon, 21 Feb 2022 11:03:13 +0100
Subject: [PATCH] lib/iov_iter: initialize "flags" in new pipe_buffer
commit 9d2231c5d74e13b2a0546fee6737ee4446017903 upstream.
The functions copy_page_to_iter_pipe() and push_pipe() can both
allocate a new pipe_buffer, but the "flags" member initializer is
missing.
Fixes: 241699cd72a8 ("new iov_iter flavour: pipe-backed")
To: Alexander Viro <viro@zeniv.linux.org.uk>
To: linux-fsdevel@vger.kernel.org
To: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
lib/iov_iter.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 9ffa7dc197be..fa5827e2e9a3 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -449,6 +449,7 @@ static size_t copy_page_to_iter_pipe(struct page *page, size_t offset, size_t by
return 0;
buf->ops = &page_cache_pipe_buf_ops;
+ buf->flags = 0;
get_page(page);
buf->page = page;
buf->offset = offset;
@@ -564,6 +565,7 @@ static size_t push_pipe(struct iov_iter *i, size_t size,
break;
buf->ops = &default_pipe_buf_ops;
+ buf->flags = 0;
buf->page = page;
buf->offset = 0;
buf->len = min_t(ssize_t, left, PAGE_SIZE);

View File

@ -1,45 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Mon, 7 Mar 2022 16:51:37 +0100
Subject: [PATCH] Revert "PCI/MSI: Mask MSI-X vectors only on success"
see https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1961968
This reverts commit a7265641d09de8a5eb3ae0ce25a7d14cc6a44da1.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
drivers/pci/msi.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 155bd207b2e6..6166415faf2f 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -821,6 +821,9 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
goto out_disable;
}
+ /* Ensure that all table entries are masked. */
+ msix_mask_all(base, tsize);
+
ret = msix_setup_entries(dev, base, entries, nvec, affd);
if (ret)
goto out_disable;
@@ -843,16 +846,6 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
/* Set MSI-X enabled bits and unmask the function */
pci_intx_for_msi(dev, 0);
dev->msix_enabled = 1;
-
- /*
- * Ensure that all table entries are masked to prevent
- * stale entries from firing in a crash kernel.
- *
- * Done late to deal with a broken Marvell NVME device
- * which takes the MSI-X mask bits into account even
- * when MSI-X is disabled, which prevents MSI delivery.
- */
- msix_mask_all(base, tsize);
pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL, 0);
pcibios_free_irq(dev);

@ -1 +1 @@
Subproject commit 7a8342bdd7f0073b5f334c8579239f496b1fbf0a Subproject commit 168d1231d9f29e3331fa0bbed876ffdd148143b8