summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pagano <mpagano@gentoo.org>2022-06-27 07:11:33 -0400
committerMike Pagano <mpagano@gentoo.org>2022-06-27 07:11:33 -0400
commitefb8f6113b4a4df22556ed572fa800d945fc4300 (patch)
tree5280a108304cc5c88b3a8e18b9f2747d5f2157bf
parentLinux patch 5.10.125 (diff)
downloadlinux-patches-efb8f6113b4a4df22556ed572fa800d945fc4300.tar.gz
linux-patches-efb8f6113b4a4df22556ed572fa800d945fc4300.tar.bz2
linux-patches-efb8f6113b4a4df22556ed572fa800d945fc4300.zip
Linux patych 5.10.1265.10-135
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
-rw-r--r--0000_README4
-rw-r--r--1125_linux-5.10.126.patch103
2 files changed, 107 insertions, 0 deletions
diff --git a/0000_README b/0000_README
index fb42ce16..5378e1d4 100644
--- a/0000_README
+++ b/0000_README
@@ -543,6 +543,10 @@ Patch: 1124_linux-5.10.125.patch
From: http://www.kernel.org
Desc: Linux 5.10.125
+Patch: 1125_linux-5.10.126.patch
+From: http://www.kernel.org
+Desc: Linux 5.10.126
+
Patch: 1500_XATTR_USER_PREFIX.patch
From: https://bugs.gentoo.org/show_bug.cgi?id=470644
Desc: Support for namespace user.pax.* on tmpfs.
diff --git a/1125_linux-5.10.126.patch b/1125_linux-5.10.126.patch
new file mode 100644
index 00000000..3948f970
--- /dev/null
+++ b/1125_linux-5.10.126.patch
@@ -0,0 +1,103 @@
+diff --git a/Makefile b/Makefile
+index da5b28931e5cb..57434487c2b4d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0
+ VERSION = 5
+ PATCHLEVEL = 10
+-SUBLEVEL = 125
++SUBLEVEL = 126
+ EXTRAVERSION =
+ NAME = Dare mighty things
+
+diff --git a/fs/io_uring.c b/fs/io_uring.c
+index 40ac37beca47d..2e12dcbc7b0fd 100644
+--- a/fs/io_uring.c
++++ b/fs/io_uring.c
+@@ -696,6 +696,8 @@ struct io_kiocb {
+ */
+ struct list_head inflight_entry;
+
++ struct list_head iopoll_entry;
++
+ struct percpu_ref *fixed_file_refs;
+ struct callback_head task_work;
+ /* for polled requests, i.e. IORING_OP_POLL_ADD and async armed poll */
+@@ -2350,8 +2352,8 @@ static void io_iopoll_queue(struct list_head *again)
+ struct io_kiocb *req;
+
+ do {
+- req = list_first_entry(again, struct io_kiocb, inflight_entry);
+- list_del(&req->inflight_entry);
++ req = list_first_entry(again, struct io_kiocb, iopoll_entry);
++ list_del(&req->iopoll_entry);
+ __io_complete_rw(req, -EAGAIN, 0, NULL);
+ } while (!list_empty(again));
+ }
+@@ -2373,14 +2375,14 @@ static void io_iopoll_complete(struct io_ring_ctx *ctx, unsigned int *nr_events,
+ while (!list_empty(done)) {
+ int cflags = 0;
+
+- req = list_first_entry(done, struct io_kiocb, inflight_entry);
++ req = list_first_entry(done, struct io_kiocb, iopoll_entry);
+ if (READ_ONCE(req->result) == -EAGAIN) {
+ req->result = 0;
+ req->iopoll_completed = 0;
+- list_move_tail(&req->inflight_entry, &again);
++ list_move_tail(&req->iopoll_entry, &again);
+ continue;
+ }
+- list_del(&req->inflight_entry);
++ list_del(&req->iopoll_entry);
+
+ if (req->flags & REQ_F_BUFFER_SELECTED)
+ cflags = io_put_rw_kbuf(req);
+@@ -2416,7 +2418,7 @@ static int io_do_iopoll(struct io_ring_ctx *ctx, unsigned int *nr_events,
+ spin = !ctx->poll_multi_file && *nr_events < min;
+
+ ret = 0;
+- list_for_each_entry_safe(req, tmp, &ctx->iopoll_list, inflight_entry) {
++ list_for_each_entry_safe(req, tmp, &ctx->iopoll_list, iopoll_entry) {
+ struct kiocb *kiocb = &req->rw.kiocb;
+
+ /*
+@@ -2425,7 +2427,7 @@ static int io_do_iopoll(struct io_ring_ctx *ctx, unsigned int *nr_events,
+ * and complete those lists first, if we have entries there.
+ */
+ if (READ_ONCE(req->iopoll_completed)) {
+- list_move_tail(&req->inflight_entry, &done);
++ list_move_tail(&req->iopoll_entry, &done);
+ continue;
+ }
+ if (!list_empty(&done))
+@@ -2437,7 +2439,7 @@ static int io_do_iopoll(struct io_ring_ctx *ctx, unsigned int *nr_events,
+
+ /* iopoll may have completed current req */
+ if (READ_ONCE(req->iopoll_completed))
+- list_move_tail(&req->inflight_entry, &done);
++ list_move_tail(&req->iopoll_entry, &done);
+
+ if (ret && spin)
+ spin = false;
+@@ -2670,7 +2672,7 @@ static void io_iopoll_req_issued(struct io_kiocb *req)
+ struct io_kiocb *list_req;
+
+ list_req = list_first_entry(&ctx->iopoll_list, struct io_kiocb,
+- inflight_entry);
++ iopoll_entry);
+ if (list_req->file != req->file)
+ ctx->poll_multi_file = true;
+ }
+@@ -2680,9 +2682,9 @@ static void io_iopoll_req_issued(struct io_kiocb *req)
+ * it to the front so we find it first.
+ */
+ if (READ_ONCE(req->iopoll_completed))
+- list_add(&req->inflight_entry, &ctx->iopoll_list);
++ list_add(&req->iopoll_entry, &ctx->iopoll_list);
+ else
+- list_add_tail(&req->inflight_entry, &ctx->iopoll_list);
++ list_add_tail(&req->iopoll_entry, &ctx->iopoll_list);
+
+ if ((ctx->flags & IORING_SETUP_SQPOLL) &&
+ wq_has_sleeper(&ctx->sq_data->wait))