import Ubuntu-5.13.0-36.41 and update patches
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
190eaba617
commit
cddb60ba98
@ -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 @@
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
|
@ -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
|
Loading…
Reference in New Issue
Block a user