]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some unneeded 6.9 patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jun 2024 11:17:54 +0000 (13:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jun 2024 11:17:54 +0000 (13:17 +0200)
queue-6.9/af_unix-allocate-struct-unix_vertex-for-each-infligh.patch [deleted file]
queue-6.9/af_unix-annotate-data-race-of-sk-sk_state-in-unix_ac.patch
queue-6.9/af_unix-read-with-msg_peek-loops-if-the-first-unread.patch
queue-6.9/af_unix-save-listener-for-embryo-socket.patch [deleted file]
queue-6.9/ext4-avoid-overflow-when-setting-values-via-sysfs.patch [deleted file]
queue-6.9/ext4-refactor-out-ext4_generic_attr_show.patch [deleted file]
queue-6.9/net-change-proto-and-proto_ops-accept-type.patch [deleted file]
queue-6.9/series

diff --git a/queue-6.9/af_unix-allocate-struct-unix_vertex-for-each-infligh.patch b/queue-6.9/af_unix-allocate-struct-unix_vertex-for-each-infligh.patch
deleted file mode 100644 (file)
index 9112511..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-From 2c81612444e1e204161559f10885b1e9de76e20c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 25 Mar 2024 13:24:11 -0700
-Subject: af_unix: Allocate struct unix_vertex for each inflight AF_UNIX fd.
-
-From: Kuniyuki Iwashima <kuniyu@amazon.com>
-
-[ Upstream commit 1fbfdfaa590248c1d86407f578e40e5c65136330 ]
-
-We will replace the garbage collection algorithm for AF_UNIX, where
-we will consider each inflight AF_UNIX socket as a vertex and its file
-descriptor as an edge in a directed graph.
-
-This patch introduces a new struct unix_vertex representing a vertex
-in the graph and adds its pointer to struct unix_sock.
-
-When we send a fd using the SCM_RIGHTS message, we allocate struct
-scm_fp_list to struct scm_cookie in scm_fp_copy().  Then, we bump
-each refcount of the inflight fds' struct file and save them in
-scm_fp_list.fp.
-
-After that, unix_attach_fds() inexplicably clones scm_fp_list of
-scm_cookie and sets it to skb.  (We will remove this part after
-replacing GC.)
-
-Here, we add a new function call in unix_attach_fds() to preallocate
-struct unix_vertex per inflight AF_UNIX fd and link each vertex to
-skb's scm_fp_list.vertices.
-
-When sendmsg() succeeds later, if the socket of the inflight fd is
-still not inflight yet, we will set the preallocated vertex to struct
-unix_sock.vertex and link it to a global list unix_unvisited_vertices
-under spin_lock(&unix_gc_lock).
-
-If the socket is already inflight, we free the preallocated vertex.
-This is to avoid taking the lock unnecessarily when sendmsg() could
-fail later.
-
-In the following patch, we will similarly allocate another struct
-per edge, which will finally be linked to the inflight socket's
-unix_vertex.edges.
-
-And then, we will count the number of edges as unix_vertex.out_degree.
-
-Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
-Acked-by: Paolo Abeni <pabeni@redhat.com>
-Link: https://lore.kernel.org/r/20240325202425.60930-2-kuniyu@amazon.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Stable-dep-of: 1b536948e805 ("af_unix: Annotate data-race of sk->sk_state in unix_accept().")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/net/af_unix.h |  9 +++++++++
- include/net/scm.h     |  3 +++
- net/core/scm.c        |  7 +++++++
- net/unix/af_unix.c    |  6 ++++++
- net/unix/garbage.c    | 38 ++++++++++++++++++++++++++++++++++++++
- 5 files changed, 63 insertions(+)
-
-diff --git a/include/net/af_unix.h b/include/net/af_unix.h
-index 3dee0b2721aa4..07f0f698c9490 100644
---- a/include/net/af_unix.h
-+++ b/include/net/af_unix.h
-@@ -22,9 +22,17 @@ extern unsigned int unix_tot_inflight;
- void unix_inflight(struct user_struct *user, struct file *fp);
- void unix_notinflight(struct user_struct *user, struct file *fp);
-+int unix_prepare_fpl(struct scm_fp_list *fpl);
-+void unix_destroy_fpl(struct scm_fp_list *fpl);
- void unix_gc(void);
- void wait_for_unix_gc(struct scm_fp_list *fpl);
-+struct unix_vertex {
-+      struct list_head edges;
-+      struct list_head entry;
-+      unsigned long out_degree;
-+};
-+
- struct sock *unix_peer_get(struct sock *sk);
- #define UNIX_HASH_MOD (256 - 1)
-@@ -62,6 +70,7 @@ struct unix_sock {
-       struct path             path;
-       struct mutex            iolock, bindlock;
-       struct sock             *peer;
-+      struct unix_vertex      *vertex;
-       struct list_head        link;
-       unsigned long           inflight;
-       spinlock_t              lock;
-diff --git a/include/net/scm.h b/include/net/scm.h
-index 92276a2c55436..e34321b6e204b 100644
---- a/include/net/scm.h
-+++ b/include/net/scm.h
-@@ -27,6 +27,9 @@ struct scm_fp_list {
-       short                   count;
-       short                   count_unix;
-       short                   max;
-+#ifdef CONFIG_UNIX
-+      struct list_head        vertices;
-+#endif
-       struct user_struct      *user;
-       struct file             *fp[SCM_MAX_FD];
- };
-diff --git a/net/core/scm.c b/net/core/scm.c
-index 9cd4b0a01cd60..87dfec1c33787 100644
---- a/net/core/scm.c
-+++ b/net/core/scm.c
-@@ -89,6 +89,9 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp)
-               fpl->count_unix = 0;
-               fpl->max = SCM_MAX_FD;
-               fpl->user = NULL;
-+#if IS_ENABLED(CONFIG_UNIX)
-+              INIT_LIST_HEAD(&fpl->vertices);
-+#endif
-       }
-       fpp = &fpl->fp[fpl->count];
-@@ -376,8 +379,12 @@ struct scm_fp_list *scm_fp_dup(struct scm_fp_list *fpl)
-       if (new_fpl) {
-               for (i = 0; i < fpl->count; i++)
-                       get_file(fpl->fp[i]);
-+
-               new_fpl->max = new_fpl->count;
-               new_fpl->user = get_uid(fpl->user);
-+#if IS_ENABLED(CONFIG_UNIX)
-+              INIT_LIST_HEAD(&new_fpl->vertices);
-+#endif
-       }
-       return new_fpl;
- }
-diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index cbc011ceb89b4..4100541c8c00f 100644
---- a/net/unix/af_unix.c
-+++ b/net/unix/af_unix.c
-@@ -974,6 +974,7 @@ static struct sock *unix_create1(struct net *net, struct socket *sock, int kern,
-       sk->sk_destruct         = unix_sock_destructor;
-       u = unix_sk(sk);
-       u->inflight = 0;
-+      u->vertex = NULL;
-       u->path.dentry = NULL;
-       u->path.mnt = NULL;
-       spin_lock_init(&u->lock);
-@@ -1808,6 +1809,9 @@ static int unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)
-       for (i = scm->fp->count - 1; i >= 0; i--)
-               unix_inflight(scm->fp->user, scm->fp->fp[i]);
-+      if (unix_prepare_fpl(UNIXCB(skb).fp))
-+              return -ENOMEM;
-+
-       return 0;
- }
-@@ -1818,6 +1822,8 @@ static void unix_detach_fds(struct scm_cookie *scm, struct sk_buff *skb)
-       scm->fp = UNIXCB(skb).fp;
-       UNIXCB(skb).fp = NULL;
-+      unix_destroy_fpl(scm->fp);
-+
-       for (i = scm->fp->count - 1; i >= 0; i--)
-               unix_notinflight(scm->fp->user, scm->fp->fp[i]);
- }
-diff --git a/net/unix/garbage.c b/net/unix/garbage.c
-index 0104be9d47045..8ea7640e032e8 100644
---- a/net/unix/garbage.c
-+++ b/net/unix/garbage.c
-@@ -101,6 +101,44 @@ struct unix_sock *unix_get_socket(struct file *filp)
-       return NULL;
- }
-+static void unix_free_vertices(struct scm_fp_list *fpl)
-+{
-+      struct unix_vertex *vertex, *next_vertex;
-+
-+      list_for_each_entry_safe(vertex, next_vertex, &fpl->vertices, entry) {
-+              list_del(&vertex->entry);
-+              kfree(vertex);
-+      }
-+}
-+
-+int unix_prepare_fpl(struct scm_fp_list *fpl)
-+{
-+      struct unix_vertex *vertex;
-+      int i;
-+
-+      if (!fpl->count_unix)
-+              return 0;
-+
-+      for (i = 0; i < fpl->count_unix; i++) {
-+              vertex = kmalloc(sizeof(*vertex), GFP_KERNEL);
-+              if (!vertex)
-+                      goto err;
-+
-+              list_add(&vertex->entry, &fpl->vertices);
-+      }
-+
-+      return 0;
-+
-+err:
-+      unix_free_vertices(fpl);
-+      return -ENOMEM;
-+}
-+
-+void unix_destroy_fpl(struct scm_fp_list *fpl)
-+{
-+      unix_free_vertices(fpl);
-+}
-+
- DEFINE_SPINLOCK(unix_gc_lock);
- unsigned int unix_tot_inflight;
- static LIST_HEAD(gc_candidates);
--- 
-2.43.0
-
index 7a54491112475085d4da9c8393fd9487b036bb9f..52733342ee10f30dcc884a3971726a97ead45367 100644 (file)
@@ -19,22 +19,17 @@ Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
 Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- net/unix/af_unix.c | 2 +-
+ net/unix/af_unix.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index 417cf4adb4e04..23f9efa8c008b 100644
 --- a/net/unix/af_unix.c
 +++ b/net/unix/af_unix.c
-@@ -1706,7 +1706,7 @@ static int unix_accept(struct socket *sock, struct socket *newsock,
+@@ -1704,7 +1704,7 @@ static int unix_accept(struct socket *so
                goto out;
  
-       arg->err = -EINVAL;
+       err = -EINVAL;
 -      if (sk->sk_state != TCP_LISTEN)
 +      if (READ_ONCE(sk->sk_state) != TCP_LISTEN)
                goto out;
  
        /* If socket state is TCP_LISTEN it cannot change (for now...),
--- 
-2.43.0
-
index a7be8d7c5ddca4743a24fea1f56da2bed157d964..599093b90c7a6a9c419f8e7c458e2d2e1910bbf5 100644 (file)
@@ -45,14 +45,12 @@ Link: https://lore.kernel.org/r/20240611084639.2248934-1-Rao.Shoaib@oracle.com
 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- net/unix/af_unix.c | 18 +++++++++---------
+ net/unix/af_unix.c |   18 +++++++++---------
  1 file changed, 9 insertions(+), 9 deletions(-)
 
-diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index 23f9efa8c008b..bbafe293ef6a1 100644
 --- a/net/unix/af_unix.c
 +++ b/net/unix/af_unix.c
-@@ -2680,18 +2680,18 @@ static struct sk_buff *manage_oob(struct sk_buff *skb, struct sock *sk,
+@@ -2672,18 +2672,18 @@ static struct sk_buff *manage_oob(struct
                if (skb == u->oob_skb) {
                        if (copied) {
                                skb = NULL;
@@ -80,6 +78,3 @@ index 23f9efa8c008b..bbafe293ef6a1 100644
                        }
                }
  
--- 
-2.43.0
-
diff --git a/queue-6.9/af_unix-save-listener-for-embryo-socket.patch b/queue-6.9/af_unix-save-listener-for-embryo-socket.patch
deleted file mode 100644 (file)
index 2fb3d1c..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From ba5c6a7c20e9109378e787b954a8f3efeb0dade3 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 25 Mar 2024 13:24:17 -0700
-Subject: af_unix: Save listener for embryo socket.
-
-From: Kuniyuki Iwashima <kuniyu@amazon.com>
-
-[ Upstream commit aed6ecef55d70de3762ce41c561b7f547dbaf107 ]
-
-This is a prep patch for the following change, where we need to
-fetch the listening socket from the successor embryo socket
-during GC.
-
-We add a new field to struct unix_sock to save a pointer to a
-listening socket.
-
-We set it when connect() creates a new socket, and clear it when
-accept() is called.
-
-Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
-Acked-by: Paolo Abeni <pabeni@redhat.com>
-Link: https://lore.kernel.org/r/20240325202425.60930-8-kuniyu@amazon.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Stable-dep-of: 1b536948e805 ("af_unix: Annotate data-race of sk->sk_state in unix_accept().")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/net/af_unix.h | 1 +
- net/unix/af_unix.c    | 5 ++++-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/include/net/af_unix.h b/include/net/af_unix.h
-index 07f0f698c9490..ba863dfc95e1f 100644
---- a/include/net/af_unix.h
-+++ b/include/net/af_unix.h
-@@ -70,6 +70,7 @@ struct unix_sock {
-       struct path             path;
-       struct mutex            iolock, bindlock;
-       struct sock             *peer;
-+      struct sock             *listener;
-       struct unix_vertex      *vertex;
-       struct list_head        link;
-       unsigned long           inflight;
-diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index 4100541c8c00f..a1938ba24a696 100644
---- a/net/unix/af_unix.c
-+++ b/net/unix/af_unix.c
-@@ -973,6 +973,7 @@ static struct sock *unix_create1(struct net *net, struct socket *sock, int kern,
-       sk->sk_max_ack_backlog  = READ_ONCE(net->unx.sysctl_max_dgram_qlen);
-       sk->sk_destruct         = unix_sock_destructor;
-       u = unix_sk(sk);
-+      u->listener = NULL;
-       u->inflight = 0;
-       u->vertex = NULL;
-       u->path.dentry = NULL;
-@@ -1601,6 +1602,7 @@ static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr,
-       newsk->sk_type          = sk->sk_type;
-       init_peercred(newsk);
-       newu = unix_sk(newsk);
-+      newu->listener = other;
-       RCU_INIT_POINTER(newsk->sk_wq, &newu->peer_wq);
-       otheru = unix_sk(other);
-@@ -1696,8 +1698,8 @@ static int unix_accept(struct socket *sock, struct socket *newsock, int flags,
-                      bool kern)
- {
-       struct sock *sk = sock->sk;
--      struct sock *tsk;
-       struct sk_buff *skb;
-+      struct sock *tsk;
-       int err;
-       err = -EOPNOTSUPP;
-@@ -1722,6 +1724,7 @@ static int unix_accept(struct socket *sock, struct socket *newsock, int flags,
-       }
-       tsk = skb->sk;
-+      unix_sk(tsk)->listener = NULL;
-       skb_free_datagram(sk, skb);
-       wake_up_interruptible(&unix_sk(sk)->peer_wait);
--- 
-2.43.0
-
diff --git a/queue-6.9/ext4-avoid-overflow-when-setting-values-via-sysfs.patch b/queue-6.9/ext4-avoid-overflow-when-setting-values-via-sysfs.patch
deleted file mode 100644 (file)
index 1b9a218..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-From b00bc71eed63b7e71284b41100d766fcd1285162 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 19 Mar 2024 19:33:17 +0800
-Subject: ext4: avoid overflow when setting values via sysfs
-
-From: Baokun Li <libaokun1@huawei.com>
-
-[ Upstream commit 9e8e819f8f272c4e5dcd0bd6c7450e36481ed139 ]
-
-When setting values of type unsigned int through sysfs, we use kstrtoul()
-to parse it and then truncate part of it as the final set value, when the
-set value is greater than UINT_MAX, the set value will not match what we
-see because of the truncation. As follows:
-
-  $ echo 4294967296 > /sys/fs/ext4/sda/mb_max_linear_groups
-  $ cat /sys/fs/ext4/sda/mb_max_linear_groups
-    0
-
-So we use kstrtouint() to parse the attr_pointer_ui type to avoid the
-inconsistency described above. In addition, a judgment is added to avoid
-setting s_resv_clusters less than 0.
-
-Signed-off-by: Baokun Li <libaokun1@huawei.com>
-Reviewed-by: Jan Kara <jack@suse.cz>
-Link: https://lore.kernel.org/r/20240319113325.3110393-2-libaokun1@huawei.com
-Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-Stable-dep-of: 13df4d44a3aa ("ext4: fix slab-out-of-bounds in ext4_mb_find_good_group_avg_frag_lists()")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/ext4/sysfs.c | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/fs/ext4/sysfs.c b/fs/ext4/sysfs.c
-index 6d332dff79ddc..ca820620b9742 100644
---- a/fs/ext4/sysfs.c
-+++ b/fs/ext4/sysfs.c
-@@ -104,7 +104,7 @@ static ssize_t reserved_clusters_store(struct ext4_sb_info *sbi,
-       int ret;
-       ret = kstrtoull(skip_spaces(buf), 0, &val);
--      if (ret || val >= clusters)
-+      if (ret || val >= clusters || (s64)val < 0)
-               return -EINVAL;
-       atomic64_set(&sbi->s_resv_clusters, val);
-@@ -451,7 +451,8 @@ static ssize_t ext4_attr_store(struct kobject *kobj,
-                                               s_kobj);
-       struct ext4_attr *a = container_of(attr, struct ext4_attr, attr);
-       void *ptr = calc_ptr(a, sbi);
--      unsigned long t;
-+      unsigned int t;
-+      unsigned long lt;
-       int ret;
-       switch (a->attr_id) {
-@@ -460,7 +461,7 @@ static ssize_t ext4_attr_store(struct kobject *kobj,
-       case attr_pointer_ui:
-               if (!ptr)
-                       return 0;
--              ret = kstrtoul(skip_spaces(buf), 0, &t);
-+              ret = kstrtouint(skip_spaces(buf), 0, &t);
-               if (ret)
-                       return ret;
-               if (a->attr_ptr == ptr_ext4_super_block_offset)
-@@ -471,10 +472,10 @@ static ssize_t ext4_attr_store(struct kobject *kobj,
-       case attr_pointer_ul:
-               if (!ptr)
-                       return 0;
--              ret = kstrtoul(skip_spaces(buf), 0, &t);
-+              ret = kstrtoul(skip_spaces(buf), 0, &lt);
-               if (ret)
-                       return ret;
--              *((unsigned long *) ptr) = t;
-+              *((unsigned long *) ptr) = lt;
-               return len;
-       case attr_inode_readahead:
-               return inode_readahead_blks_store(sbi, buf, len);
--- 
-2.43.0
-
diff --git a/queue-6.9/ext4-refactor-out-ext4_generic_attr_show.patch b/queue-6.9/ext4-refactor-out-ext4_generic_attr_show.patch
deleted file mode 100644 (file)
index 1b940cb..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-From e8509b358a91de4cab5b87f20011cd3fa492cf01 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 19 Mar 2024 19:33:19 +0800
-Subject: ext4: refactor out ext4_generic_attr_show()
-
-From: Baokun Li <libaokun1@huawei.com>
-
-[ Upstream commit 57341fe3179c7694c92dcf99e7f836cee4c800dd ]
-
-Refactor out the function ext4_generic_attr_show() to handle the reading
-of values of various common types, with no functional changes.
-
-Signed-off-by: Baokun Li <libaokun1@huawei.com>
-Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
-Reviewed-by: Jan Kara <jack@suse.cz>
-Link: https://lore.kernel.org/r/20240319113325.3110393-4-libaokun1@huawei.com
-Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-Stable-dep-of: 13df4d44a3aa ("ext4: fix slab-out-of-bounds in ext4_mb_find_good_group_avg_frag_lists()")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/ext4/sysfs.c | 74 +++++++++++++++++++++----------------------------
- 1 file changed, 32 insertions(+), 42 deletions(-)
-
-diff --git a/fs/ext4/sysfs.c b/fs/ext4/sysfs.c
-index ca820620b9742..295ea9a32de91 100644
---- a/fs/ext4/sysfs.c
-+++ b/fs/ext4/sysfs.c
-@@ -366,13 +366,42 @@ static ssize_t __print_tstamp(char *buf, __le32 lo, __u8 hi)
- #define print_tstamp(buf, es, tstamp) \
-       __print_tstamp(buf, (es)->tstamp, (es)->tstamp ## _hi)
-+static ssize_t ext4_generic_attr_show(struct ext4_attr *a,
-+                                    struct ext4_sb_info *sbi, char *buf)
-+{
-+      void *ptr = calc_ptr(a, sbi);
-+
-+      if (!ptr)
-+              return 0;
-+
-+      switch (a->attr_id) {
-+      case attr_inode_readahead:
-+      case attr_pointer_ui:
-+              if (a->attr_ptr == ptr_ext4_super_block_offset)
-+                      return sysfs_emit(buf, "%u\n", le32_to_cpup(ptr));
-+              return sysfs_emit(buf, "%u\n", *((unsigned int *) ptr));
-+      case attr_pointer_ul:
-+              return sysfs_emit(buf, "%lu\n", *((unsigned long *) ptr));
-+      case attr_pointer_u8:
-+              return sysfs_emit(buf, "%u\n", *((unsigned char *) ptr));
-+      case attr_pointer_u64:
-+              if (a->attr_ptr == ptr_ext4_super_block_offset)
-+                      return sysfs_emit(buf, "%llu\n", le64_to_cpup(ptr));
-+              return sysfs_emit(buf, "%llu\n", *((unsigned long long *) ptr));
-+      case attr_pointer_string:
-+              return sysfs_emit(buf, "%.*s\n", a->attr_size, (char *) ptr);
-+      case attr_pointer_atomic:
-+              return sysfs_emit(buf, "%d\n", atomic_read((atomic_t *) ptr));
-+      }
-+      return 0;
-+}
-+
- static ssize_t ext4_attr_show(struct kobject *kobj,
-                             struct attribute *attr, char *buf)
- {
-       struct ext4_sb_info *sbi = container_of(kobj, struct ext4_sb_info,
-                                               s_kobj);
-       struct ext4_attr *a = container_of(attr, struct ext4_attr, attr);
--      void *ptr = calc_ptr(a, sbi);
-       switch (a->attr_id) {
-       case attr_delayed_allocation_blocks:
-@@ -391,45 +420,6 @@ static ssize_t ext4_attr_show(struct kobject *kobj,
-               return sysfs_emit(buf, "%llu\n",
-                               (unsigned long long)
-                       percpu_counter_sum(&sbi->s_sra_exceeded_retry_limit));
--      case attr_inode_readahead:
--      case attr_pointer_ui:
--              if (!ptr)
--                      return 0;
--              if (a->attr_ptr == ptr_ext4_super_block_offset)
--                      return sysfs_emit(buf, "%u\n",
--                                      le32_to_cpup(ptr));
--              else
--                      return sysfs_emit(buf, "%u\n",
--                                      *((unsigned int *) ptr));
--      case attr_pointer_ul:
--              if (!ptr)
--                      return 0;
--              return sysfs_emit(buf, "%lu\n",
--                              *((unsigned long *) ptr));
--      case attr_pointer_u8:
--              if (!ptr)
--                      return 0;
--              return sysfs_emit(buf, "%u\n",
--                              *((unsigned char *) ptr));
--      case attr_pointer_u64:
--              if (!ptr)
--                      return 0;
--              if (a->attr_ptr == ptr_ext4_super_block_offset)
--                      return sysfs_emit(buf, "%llu\n",
--                                      le64_to_cpup(ptr));
--              else
--                      return sysfs_emit(buf, "%llu\n",
--                                      *((unsigned long long *) ptr));
--      case attr_pointer_string:
--              if (!ptr)
--                      return 0;
--              return sysfs_emit(buf, "%.*s\n", a->attr_size,
--                              (char *) ptr);
--      case attr_pointer_atomic:
--              if (!ptr)
--                      return 0;
--              return sysfs_emit(buf, "%d\n",
--                              atomic_read((atomic_t *) ptr));
-       case attr_feature:
-               return sysfs_emit(buf, "supported\n");
-       case attr_first_error_time:
-@@ -438,9 +428,9 @@ static ssize_t ext4_attr_show(struct kobject *kobj,
-               return print_tstamp(buf, sbi->s_es, s_last_error_time);
-       case attr_journal_task:
-               return journal_task_show(sbi, buf);
-+      default:
-+              return ext4_generic_attr_show(a, sbi, buf);
-       }
--
--      return 0;
- }
- static ssize_t ext4_attr_store(struct kobject *kobj,
--- 
-2.43.0
-
diff --git a/queue-6.9/net-change-proto-and-proto_ops-accept-type.patch b/queue-6.9/net-change-proto-and-proto_ops-accept-type.patch
deleted file mode 100644 (file)
index 95a768c..0000000
+++ /dev/null
@@ -1,1026 +0,0 @@
-From 1c9995693f2f9207e4371e04c265705f29c0d575 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 9 May 2024 09:20:08 -0600
-Subject: net: change proto and proto_ops accept type
-
-From: Jens Axboe <axboe@kernel.dk>
-
-[ Upstream commit 92ef0fd55ac80dfc2e4654edfe5d1ddfa6e070fe ]
-
-Rather than pass in flags, error pointer, and whether this is a kernel
-invocation or not, add a struct proto_accept_arg struct as the argument.
-This then holds all of these arguments, and prepares accept for being
-able to pass back more information.
-
-No functional changes in this patch.
-
-Acked-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
-Stable-dep-of: 1b536948e805 ("af_unix: Annotate data-race of sk->sk_state in unix_accept().")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- crypto/af_alg.c                    | 11 ++++++-----
- crypto/algif_hash.c                | 10 +++++-----
- drivers/xen/pvcalls-back.c         |  6 +++++-
- fs/ocfs2/cluster/tcp.c             |  5 ++++-
- include/crypto/if_alg.h            |  3 ++-
- include/linux/net.h                |  4 +++-
- include/net/inet_common.h          |  4 ++--
- include/net/inet_connection_sock.h |  2 +-
- include/net/sock.h                 | 12 +++++++++---
- net/atm/svc.c                      |  8 ++++----
- net/ax25/af_ax25.c                 |  6 +++---
- net/bluetooth/iso.c                |  4 ++--
- net/bluetooth/l2cap_sock.c         |  4 ++--
- net/bluetooth/rfcomm/sock.c        |  6 +++---
- net/bluetooth/sco.c                |  4 ++--
- net/core/sock.c                    |  4 ++--
- net/ipv4/af_inet.c                 | 10 +++++-----
- net/ipv4/inet_connection_sock.c    |  6 +++---
- net/iucv/af_iucv.c                 |  4 ++--
- net/llc/af_llc.c                   |  7 +++----
- net/mptcp/protocol.c               | 11 +++++------
- net/netrom/af_netrom.c             |  6 +++---
- net/nfc/llcp_sock.c                |  4 ++--
- net/phonet/pep.c                   | 12 ++++++------
- net/phonet/socket.c                |  7 +++----
- net/rds/tcp_listen.c               |  6 +++++-
- net/rose/af_rose.c                 |  6 +++---
- net/sctp/socket.c                  |  8 ++++----
- net/smc/af_smc.c                   |  6 +++---
- net/socket.c                       | 13 ++++++++++---
- net/tipc/socket.c                  | 13 +++++--------
- net/unix/af_unix.c                 | 21 ++++++++++-----------
- net/vmw_vsock/af_vsock.c           |  6 +++---
- net/x25/af_x25.c                   |  4 ++--
- 34 files changed, 132 insertions(+), 111 deletions(-)
-
-diff --git a/crypto/af_alg.c b/crypto/af_alg.c
-index 68cc9290cabe9..598bf46691706 100644
---- a/crypto/af_alg.c
-+++ b/crypto/af_alg.c
-@@ -407,7 +407,8 @@ static int alg_setsockopt(struct socket *sock, int level, int optname,
-       return err;
- }
--int af_alg_accept(struct sock *sk, struct socket *newsock, bool kern)
-+int af_alg_accept(struct sock *sk, struct socket *newsock,
-+                struct proto_accept_arg *arg)
- {
-       struct alg_sock *ask = alg_sk(sk);
-       const struct af_alg_type *type;
-@@ -422,7 +423,7 @@ int af_alg_accept(struct sock *sk, struct socket *newsock, bool kern)
-       if (!type)
-               goto unlock;
--      sk2 = sk_alloc(sock_net(sk), PF_ALG, GFP_KERNEL, &alg_proto, kern);
-+      sk2 = sk_alloc(sock_net(sk), PF_ALG, GFP_KERNEL, &alg_proto, arg->kern);
-       err = -ENOMEM;
-       if (!sk2)
-               goto unlock;
-@@ -468,10 +469,10 @@ int af_alg_accept(struct sock *sk, struct socket *newsock, bool kern)
- }
- EXPORT_SYMBOL_GPL(af_alg_accept);
--static int alg_accept(struct socket *sock, struct socket *newsock, int flags,
--                    bool kern)
-+static int alg_accept(struct socket *sock, struct socket *newsock,
-+                    struct proto_accept_arg *arg)
- {
--      return af_alg_accept(sock->sk, newsock, kern);
-+      return af_alg_accept(sock->sk, newsock, arg);
- }
- static const struct proto_ops alg_proto_ops = {
-diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c
-index e24c829d7a015..7c7394d46a235 100644
---- a/crypto/algif_hash.c
-+++ b/crypto/algif_hash.c
-@@ -223,8 +223,8 @@ static int hash_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
-       return err ?: len;
- }
--static int hash_accept(struct socket *sock, struct socket *newsock, int flags,
--                     bool kern)
-+static int hash_accept(struct socket *sock, struct socket *newsock,
-+                     struct proto_accept_arg *arg)
- {
-       struct sock *sk = sock->sk;
-       struct alg_sock *ask = alg_sk(sk);
-@@ -252,7 +252,7 @@ static int hash_accept(struct socket *sock, struct socket *newsock, int flags,
-       if (err)
-               goto out_free_state;
--      err = af_alg_accept(ask->parent, newsock, kern);
-+      err = af_alg_accept(ask->parent, newsock, arg);
-       if (err)
-               goto out_free_state;
-@@ -355,7 +355,7 @@ static int hash_recvmsg_nokey(struct socket *sock, struct msghdr *msg,
- }
- static int hash_accept_nokey(struct socket *sock, struct socket *newsock,
--                           int flags, bool kern)
-+                           struct proto_accept_arg *arg)
- {
-       int err;
-@@ -363,7 +363,7 @@ static int hash_accept_nokey(struct socket *sock, struct socket *newsock,
-       if (err)
-               return err;
--      return hash_accept(sock, newsock, flags, kern);
-+      return hash_accept(sock, newsock, arg);
- }
- static struct proto_ops algif_hash_ops_nokey = {
-diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
-index d52593466a792..fd7ed65e0197d 100644
---- a/drivers/xen/pvcalls-back.c
-+++ b/drivers/xen/pvcalls-back.c
-@@ -517,6 +517,10 @@ static void __pvcalls_back_accept(struct work_struct *work)
- {
-       struct sockpass_mapping *mappass = container_of(
-               work, struct sockpass_mapping, register_work);
-+      struct proto_accept_arg arg = {
-+              .flags = O_NONBLOCK,
-+              .kern = true,
-+      };
-       struct sock_mapping *map;
-       struct pvcalls_ioworker *iow;
-       struct pvcalls_fedata *fedata;
-@@ -548,7 +552,7 @@ static void __pvcalls_back_accept(struct work_struct *work)
-       sock->type = mappass->sock->type;
-       sock->ops = mappass->sock->ops;
--      ret = inet_accept(mappass->sock, sock, O_NONBLOCK, true);
-+      ret = inet_accept(mappass->sock, sock, &arg);
-       if (ret == -EAGAIN) {
-               sock_release(sock);
-               return;
-diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c
-index 960080753d3bd..2b8fa3e782fb6 100644
---- a/fs/ocfs2/cluster/tcp.c
-+++ b/fs/ocfs2/cluster/tcp.c
-@@ -1784,6 +1784,9 @@ static int o2net_accept_one(struct socket *sock, int *more)
-       struct o2nm_node *node = NULL;
-       struct o2nm_node *local_node = NULL;
-       struct o2net_sock_container *sc = NULL;
-+      struct proto_accept_arg arg = {
-+              .flags = O_NONBLOCK,
-+      };
-       struct o2net_node *nn;
-       unsigned int nofs_flag;
-@@ -1802,7 +1805,7 @@ static int o2net_accept_one(struct socket *sock, int *more)
-       new_sock->type = sock->type;
-       new_sock->ops = sock->ops;
--      ret = sock->ops->accept(sock, new_sock, O_NONBLOCK, false);
-+      ret = sock->ops->accept(sock, new_sock, &arg);
-       if (ret < 0)
-               goto out;
-diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h
-index 78ecaf5db04c6..f7b3b93f3a49a 100644
---- a/include/crypto/if_alg.h
-+++ b/include/crypto/if_alg.h
-@@ -166,7 +166,8 @@ int af_alg_unregister_type(const struct af_alg_type *type);
- int af_alg_release(struct socket *sock);
- void af_alg_release_parent(struct sock *sk);
--int af_alg_accept(struct sock *sk, struct socket *newsock, bool kern);
-+int af_alg_accept(struct sock *sk, struct socket *newsock,
-+                struct proto_accept_arg *arg);
- void af_alg_free_sg(struct af_alg_sgl *sgl);
-diff --git a/include/linux/net.h b/include/linux/net.h
-index 15df6d5f27a7b..688320b79fcc6 100644
---- a/include/linux/net.h
-+++ b/include/linux/net.h
-@@ -153,6 +153,7 @@ struct sockaddr;
- struct msghdr;
- struct module;
- struct sk_buff;
-+struct proto_accept_arg;
- typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *,
-                              unsigned int, size_t);
- typedef int (*skb_read_actor_t)(struct sock *, struct sk_buff *);
-@@ -171,7 +172,8 @@ struct proto_ops {
-       int             (*socketpair)(struct socket *sock1,
-                                     struct socket *sock2);
-       int             (*accept)    (struct socket *sock,
--                                    struct socket *newsock, int flags, bool kern);
-+                                    struct socket *newsock,
-+                                    struct proto_accept_arg *arg);
-       int             (*getname)   (struct socket *sock,
-                                     struct sockaddr *addr,
-                                     int peer);
-diff --git a/include/net/inet_common.h b/include/net/inet_common.h
-index f50a644d87a98..c17a6585d0b0b 100644
---- a/include/net/inet_common.h
-+++ b/include/net/inet_common.h
-@@ -29,8 +29,8 @@ int __inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
-                         int addr_len, int flags, int is_sendmsg);
- int inet_dgram_connect(struct socket *sock, struct sockaddr *uaddr,
-                      int addr_len, int flags);
--int inet_accept(struct socket *sock, struct socket *newsock, int flags,
--              bool kern);
-+int inet_accept(struct socket *sock, struct socket *newsock,
-+              struct proto_accept_arg *arg);
- void __inet_accept(struct socket *sock, struct socket *newsock,
-                  struct sock *newsk);
- int inet_send_prepare(struct sock *sk);
-diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
-index ccf171f7eb60d..aa435d90f12f9 100644
---- a/include/net/inet_connection_sock.h
-+++ b/include/net/inet_connection_sock.h
-@@ -253,7 +253,7 @@ inet_csk_rto_backoff(const struct inet_connection_sock *icsk,
-         return (unsigned long)min_t(u64, when, max_when);
- }
--struct sock *inet_csk_accept(struct sock *sk, int flags, int *err, bool kern);
-+struct sock *inet_csk_accept(struct sock *sk, struct proto_accept_arg *arg);
- int inet_csk_get_port(struct sock *sk, unsigned short snum);
-diff --git a/include/net/sock.h b/include/net/sock.h
-index 944f71a8ab223..774ee477e6572 100644
---- a/include/net/sock.h
-+++ b/include/net/sock.h
-@@ -1194,6 +1194,12 @@ static inline void sk_prot_clear_nulls(struct sock *sk, int size)
-              size - offsetof(struct sock, sk_node.pprev));
- }
-+struct proto_accept_arg {
-+      int flags;
-+      int err;
-+      bool kern;
-+};
-+
- /* Networking protocol blocks we attach to sockets.
-  * socket layer -> transport layer interface
-  */
-@@ -1208,8 +1214,8 @@ struct proto {
-                                       int addr_len);
-       int                     (*disconnect)(struct sock *sk, int flags);
--      struct sock *           (*accept)(struct sock *sk, int flags, int *err,
--                                        bool kern);
-+      struct sock *           (*accept)(struct sock *sk,
-+                                        struct proto_accept_arg *arg);
-       int                     (*ioctl)(struct sock *sk, int cmd,
-                                        int *karg);
-@@ -1882,7 +1888,7 @@ int sock_cmsg_send(struct sock *sk, struct msghdr *msg,
- int sock_no_bind(struct socket *, struct sockaddr *, int);
- int sock_no_connect(struct socket *, struct sockaddr *, int, int);
- int sock_no_socketpair(struct socket *, struct socket *);
--int sock_no_accept(struct socket *, struct socket *, int, bool);
-+int sock_no_accept(struct socket *, struct socket *, struct proto_accept_arg *);
- int sock_no_getname(struct socket *, struct sockaddr *, int);
- int sock_no_ioctl(struct socket *, unsigned int, unsigned long);
- int sock_no_listen(struct socket *, int);
-diff --git a/net/atm/svc.c b/net/atm/svc.c
-index 36a814f1fbd16..f8137ae693b08 100644
---- a/net/atm/svc.c
-+++ b/net/atm/svc.c
-@@ -324,8 +324,8 @@ static int svc_listen(struct socket *sock, int backlog)
-       return error;
- }
--static int svc_accept(struct socket *sock, struct socket *newsock, int flags,
--                    bool kern)
-+static int svc_accept(struct socket *sock, struct socket *newsock,
-+                    struct proto_accept_arg *arg)
- {
-       struct sock *sk = sock->sk;
-       struct sk_buff *skb;
-@@ -336,7 +336,7 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags,
-       lock_sock(sk);
--      error = svc_create(sock_net(sk), newsock, 0, kern);
-+      error = svc_create(sock_net(sk), newsock, 0, arg->kern);
-       if (error)
-               goto out;
-@@ -355,7 +355,7 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags,
-                               error = -sk->sk_err;
-                               break;
-                       }
--                      if (flags & O_NONBLOCK) {
-+                      if (arg->flags & O_NONBLOCK) {
-                               error = -EAGAIN;
-                               break;
-                       }
-diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
-index 5fff5930e4deb..d6f9fae06a9d8 100644
---- a/net/ax25/af_ax25.c
-+++ b/net/ax25/af_ax25.c
-@@ -1373,8 +1373,8 @@ static int __must_check ax25_connect(struct socket *sock,
-       return err;
- }
--static int ax25_accept(struct socket *sock, struct socket *newsock, int flags,
--                     bool kern)
-+static int ax25_accept(struct socket *sock, struct socket *newsock,
-+                     struct proto_accept_arg *arg)
- {
-       struct sk_buff *skb;
-       struct sock *newsk;
-@@ -1411,7 +1411,7 @@ static int ax25_accept(struct socket *sock, struct socket *newsock, int flags,
-               if (skb)
-                       break;
--              if (flags & O_NONBLOCK) {
-+              if (arg->flags & O_NONBLOCK) {
-                       err = -EWOULDBLOCK;
-                       break;
-               }
-diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c
-index 00c0d8413c638..cc055b952ce69 100644
---- a/net/bluetooth/iso.c
-+++ b/net/bluetooth/iso.c
-@@ -1159,7 +1159,7 @@ static int iso_sock_listen(struct socket *sock, int backlog)
- }
- static int iso_sock_accept(struct socket *sock, struct socket *newsock,
--                         int flags, bool kern)
-+                         struct proto_accept_arg *arg)
- {
-       DEFINE_WAIT_FUNC(wait, woken_wake_function);
-       struct sock *sk = sock->sk, *ch;
-@@ -1168,7 +1168,7 @@ static int iso_sock_accept(struct socket *sock, struct socket *newsock,
-       lock_sock(sk);
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       BT_DBG("sk %p timeo %ld", sk, timeo);
-diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
-index 8645461d45e81..6db60946c627c 100644
---- a/net/bluetooth/l2cap_sock.c
-+++ b/net/bluetooth/l2cap_sock.c
-@@ -327,7 +327,7 @@ static int l2cap_sock_listen(struct socket *sock, int backlog)
- }
- static int l2cap_sock_accept(struct socket *sock, struct socket *newsock,
--                           int flags, bool kern)
-+                           struct proto_accept_arg *arg)
- {
-       DEFINE_WAIT_FUNC(wait, woken_wake_function);
-       struct sock *sk = sock->sk, *nsk;
-@@ -336,7 +336,7 @@ static int l2cap_sock_accept(struct socket *sock, struct socket *newsock,
-       lock_sock_nested(sk, L2CAP_NESTING_PARENT);
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       BT_DBG("sk %p timeo %ld", sk, timeo);
-diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
-index 29aa07e9db9d7..37d63d768afb8 100644
---- a/net/bluetooth/rfcomm/sock.c
-+++ b/net/bluetooth/rfcomm/sock.c
-@@ -468,8 +468,8 @@ static int rfcomm_sock_listen(struct socket *sock, int backlog)
-       return err;
- }
--static int rfcomm_sock_accept(struct socket *sock, struct socket *newsock, int flags,
--                            bool kern)
-+static int rfcomm_sock_accept(struct socket *sock, struct socket *newsock,
-+                            struct proto_accept_arg *arg)
- {
-       DEFINE_WAIT_FUNC(wait, woken_wake_function);
-       struct sock *sk = sock->sk, *nsk;
-@@ -483,7 +483,7 @@ static int rfcomm_sock_accept(struct socket *sock, struct socket *newsock, int f
-               goto done;
-       }
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       BT_DBG("sk %p timeo %ld", sk, timeo);
-diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
-index 71d36582d4efa..a5ac160c592eb 100644
---- a/net/bluetooth/sco.c
-+++ b/net/bluetooth/sco.c
-@@ -647,7 +647,7 @@ static int sco_sock_listen(struct socket *sock, int backlog)
- }
- static int sco_sock_accept(struct socket *sock, struct socket *newsock,
--                         int flags, bool kern)
-+                         struct proto_accept_arg *arg)
- {
-       DEFINE_WAIT_FUNC(wait, woken_wake_function);
-       struct sock *sk = sock->sk, *ch;
-@@ -656,7 +656,7 @@ static int sco_sock_accept(struct socket *sock, struct socket *newsock,
-       lock_sock(sk);
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       BT_DBG("sk %p timeo %ld", sk, timeo);
-diff --git a/net/core/sock.c b/net/core/sock.c
-index 0963689a59506..5a06715871f4a 100644
---- a/net/core/sock.c
-+++ b/net/core/sock.c
-@@ -3242,8 +3242,8 @@ int sock_no_socketpair(struct socket *sock1, struct socket *sock2)
- }
- EXPORT_SYMBOL(sock_no_socketpair);
--int sock_no_accept(struct socket *sock, struct socket *newsock, int flags,
--                 bool kern)
-+int sock_no_accept(struct socket *sock, struct socket *newsock,
-+                 struct proto_accept_arg *arg)
- {
-       return -EOPNOTSUPP;
- }
-diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
-index 5622ddd3bf55b..c39ccd92172d3 100644
---- a/net/ipv4/af_inet.c
-+++ b/net/ipv4/af_inet.c
-@@ -773,16 +773,16 @@ void __inet_accept(struct socket *sock, struct socket *newsock, struct sock *new
-  *    Accept a pending connection. The TCP layer now gives BSD semantics.
-  */
--int inet_accept(struct socket *sock, struct socket *newsock, int flags,
--              bool kern)
-+int inet_accept(struct socket *sock, struct socket *newsock,
-+              struct proto_accept_arg *arg)
- {
-       struct sock *sk1 = sock->sk, *sk2;
--      int err = -EINVAL;
-       /* IPV6_ADDRFORM can change sk->sk_prot under us. */
--      sk2 = READ_ONCE(sk1->sk_prot)->accept(sk1, flags, &err, kern);
-+      arg->err = -EINVAL;
-+      sk2 = READ_ONCE(sk1->sk_prot)->accept(sk1, arg);
-       if (!sk2)
--              return err;
-+              return arg->err;
-       lock_sock(sk2);
-       __inet_accept(sock, newsock, sk2);
-diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
-index 3b38610958ee4..7734d189c66b8 100644
---- a/net/ipv4/inet_connection_sock.c
-+++ b/net/ipv4/inet_connection_sock.c
-@@ -661,7 +661,7 @@ static int inet_csk_wait_for_connect(struct sock *sk, long timeo)
- /*
-  * This will accept the next outstanding connection.
-  */
--struct sock *inet_csk_accept(struct sock *sk, int flags, int *err, bool kern)
-+struct sock *inet_csk_accept(struct sock *sk, struct proto_accept_arg *arg)
- {
-       struct inet_connection_sock *icsk = inet_csk(sk);
-       struct request_sock_queue *queue = &icsk->icsk_accept_queue;
-@@ -680,7 +680,7 @@ struct sock *inet_csk_accept(struct sock *sk, int flags, int *err, bool kern)
-       /* Find already established connection */
-       if (reqsk_queue_empty(queue)) {
--              long timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+              long timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-               /* If this is a non blocking socket don't sleep */
-               error = -EAGAIN;
-@@ -745,7 +745,7 @@ struct sock *inet_csk_accept(struct sock *sk, int flags, int *err, bool kern)
- out_err:
-       newsk = NULL;
-       req = NULL;
--      *err = error;
-+      arg->err = error;
-       goto out;
- }
- EXPORT_SYMBOL(inet_csk_accept);
-diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
-index 7c8c3adcac6e9..089acf6bd36d7 100644
---- a/net/iucv/af_iucv.c
-+++ b/net/iucv/af_iucv.c
-@@ -795,7 +795,7 @@ static int iucv_sock_listen(struct socket *sock, int backlog)
- /* Accept a pending connection */
- static int iucv_sock_accept(struct socket *sock, struct socket *newsock,
--                          int flags, bool kern)
-+                          struct proto_accept_arg *arg)
- {
-       DECLARE_WAITQUEUE(wait, current);
-       struct sock *sk = sock->sk, *nsk;
-@@ -809,7 +809,7 @@ static int iucv_sock_accept(struct socket *sock, struct socket *newsock,
-               goto done;
-       }
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       /* Wait for an incoming connection */
-       add_wait_queue_exclusive(sk_sleep(sk), &wait);
-diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
-index fde1140d899ef..4eb52add7103b 100644
---- a/net/llc/af_llc.c
-+++ b/net/llc/af_llc.c
-@@ -688,14 +688,13 @@ static void llc_cmsg_rcv(struct msghdr *msg, struct sk_buff *skb)
-  *    llc_ui_accept - accept a new incoming connection.
-  *    @sock: Socket which connections arrive on.
-  *    @newsock: Socket to move incoming connection to.
-- *    @flags: User specified operational flags.
-- *    @kern: If the socket is kernel internal
-+ *    @arg: User specified arguments
-  *
-  *    Accept a new incoming connection.
-  *    Returns 0 upon success, negative otherwise.
-  */
--static int llc_ui_accept(struct socket *sock, struct socket *newsock, int flags,
--                       bool kern)
-+static int llc_ui_accept(struct socket *sock, struct socket *newsock,
-+                       struct proto_accept_arg *arg)
- {
-       struct sock *sk = sock->sk, *newsk;
-       struct llc_sock *llc, *newllc;
-diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
-index 327dcf06edd47..e4644d50c909e 100644
---- a/net/mptcp/protocol.c
-+++ b/net/mptcp/protocol.c
-@@ -3878,11 +3878,10 @@ static int mptcp_listen(struct socket *sock, int backlog)
- }
- static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
--                             int flags, bool kern)
-+                             struct proto_accept_arg *arg)
- {
-       struct mptcp_sock *msk = mptcp_sk(sock->sk);
-       struct sock *ssk, *newsk;
--      int err;
-       pr_debug("msk=%p", msk);
-@@ -3894,9 +3893,9 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
-               return -EINVAL;
-       pr_debug("ssk=%p, listener=%p", ssk, mptcp_subflow_ctx(ssk));
--      newsk = inet_csk_accept(ssk, flags, &err, kern);
-+      newsk = inet_csk_accept(ssk, arg);
-       if (!newsk)
--              return err;
-+              return arg->err;
-       pr_debug("newsk=%p, subflow is mptcp=%d", newsk, sk_is_mptcp(newsk));
-       if (sk_is_mptcp(newsk)) {
-@@ -3917,7 +3916,7 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
-               newsk = new_mptcp_sock;
-               MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_MPCAPABLEPASSIVEACK);
--              newsk->sk_kern_sock = kern;
-+              newsk->sk_kern_sock = arg->kern;
-               lock_sock(newsk);
-               __inet_accept(sock, newsock, newsk);
-@@ -3946,7 +3945,7 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
-               }
-       } else {
- tcpfallback:
--              newsk->sk_kern_sock = kern;
-+              newsk->sk_kern_sock = arg->kern;
-               lock_sock(newsk);
-               __inet_accept(sock, newsock, newsk);
-               /* we are being invoked after accepting a non-mp-capable
-diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
-index 104a80b75477f..6ee148f0e6d04 100644
---- a/net/netrom/af_netrom.c
-+++ b/net/netrom/af_netrom.c
-@@ -772,8 +772,8 @@ static int nr_connect(struct socket *sock, struct sockaddr *uaddr,
-       return err;
- }
--static int nr_accept(struct socket *sock, struct socket *newsock, int flags,
--                   bool kern)
-+static int nr_accept(struct socket *sock, struct socket *newsock,
-+                   struct proto_accept_arg *arg)
- {
-       struct sk_buff *skb;
-       struct sock *newsk;
-@@ -805,7 +805,7 @@ static int nr_accept(struct socket *sock, struct socket *newsock, int flags,
-               if (skb)
-                       break;
--              if (flags & O_NONBLOCK) {
-+              if (arg->flags & O_NONBLOCK) {
-                       err = -EWOULDBLOCK;
-                       break;
-               }
-diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c
-index d5344563e525c..57a2f97004e17 100644
---- a/net/nfc/llcp_sock.c
-+++ b/net/nfc/llcp_sock.c
-@@ -447,7 +447,7 @@ struct sock *nfc_llcp_accept_dequeue(struct sock *parent,
- }
- static int llcp_sock_accept(struct socket *sock, struct socket *newsock,
--                          int flags, bool kern)
-+                          struct proto_accept_arg *arg)
- {
-       DECLARE_WAITQUEUE(wait, current);
-       struct sock *sk = sock->sk, *new_sk;
-@@ -463,7 +463,7 @@ static int llcp_sock_accept(struct socket *sock, struct socket *newsock,
-               goto error;
-       }
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       /* Wait for an incoming connection. */
-       add_wait_queue_exclusive(sk_sleep(sk), &wait);
-diff --git a/net/phonet/pep.c b/net/phonet/pep.c
-index 3dd5f52bc1b58..53a858478e22f 100644
---- a/net/phonet/pep.c
-+++ b/net/phonet/pep.c
-@@ -759,8 +759,8 @@ static void pep_sock_close(struct sock *sk, long timeout)
-       sock_put(sk);
- }
--static struct sock *pep_sock_accept(struct sock *sk, int flags, int *errp,
--                                  bool kern)
-+static struct sock *pep_sock_accept(struct sock *sk,
-+                                  struct proto_accept_arg *arg)
- {
-       struct pep_sock *pn = pep_sk(sk), *newpn;
-       struct sock *newsk = NULL;
-@@ -772,8 +772,8 @@ static struct sock *pep_sock_accept(struct sock *sk, int flags, int *errp,
-       u8 pipe_handle, enabled, n_sb;
-       u8 aligned = 0;
--      skb = skb_recv_datagram(sk, (flags & O_NONBLOCK) ? MSG_DONTWAIT : 0,
--                              errp);
-+      skb = skb_recv_datagram(sk, (arg->flags & O_NONBLOCK) ? MSG_DONTWAIT : 0,
-+                              &arg->err);
-       if (!skb)
-               return NULL;
-@@ -836,7 +836,7 @@ static struct sock *pep_sock_accept(struct sock *sk, int flags, int *errp,
-       /* Create a new to-be-accepted sock */
-       newsk = sk_alloc(sock_net(sk), PF_PHONET, GFP_KERNEL, sk->sk_prot,
--                       kern);
-+                       arg->kern);
-       if (!newsk) {
-               pep_reject_conn(sk, skb, PN_PIPE_ERR_OVERLOAD, GFP_KERNEL);
-               err = -ENOBUFS;
-@@ -878,7 +878,7 @@ static struct sock *pep_sock_accept(struct sock *sk, int flags, int *errp,
- drop:
-       release_sock(sk);
-       kfree_skb(skb);
--      *errp = err;
-+      arg->err = err;
-       return newsk;
- }
-diff --git a/net/phonet/socket.c b/net/phonet/socket.c
-index 1018340d89a7d..5ce0b3ee5def8 100644
---- a/net/phonet/socket.c
-+++ b/net/phonet/socket.c
-@@ -292,18 +292,17 @@ static int pn_socket_connect(struct socket *sock, struct sockaddr *addr,
- }
- static int pn_socket_accept(struct socket *sock, struct socket *newsock,
--                          int flags, bool kern)
-+                          struct proto_accept_arg *arg)
- {
-       struct sock *sk = sock->sk;
-       struct sock *newsk;
--      int err;
-       if (unlikely(sk->sk_state != TCP_LISTEN))
-               return -EINVAL;
--      newsk = sk->sk_prot->accept(sk, flags, &err, kern);
-+      newsk = sk->sk_prot->accept(sk, arg);
-       if (!newsk)
--              return err;
-+              return arg->err;
-       lock_sock(newsk);
-       sock_graft(newsk, newsock);
-diff --git a/net/rds/tcp_listen.c b/net/rds/tcp_listen.c
-index 05008ce5c4219..d89bd8d0c3545 100644
---- a/net/rds/tcp_listen.c
-+++ b/net/rds/tcp_listen.c
-@@ -105,6 +105,10 @@ int rds_tcp_accept_one(struct socket *sock)
-       int conn_state;
-       struct rds_conn_path *cp;
-       struct in6_addr *my_addr, *peer_addr;
-+      struct proto_accept_arg arg = {
-+              .flags = O_NONBLOCK,
-+              .kern = true,
-+      };
- #if !IS_ENABLED(CONFIG_IPV6)
-       struct in6_addr saddr, daddr;
- #endif
-@@ -119,7 +123,7 @@ int rds_tcp_accept_one(struct socket *sock)
-       if (ret)
-               goto out;
--      ret = sock->ops->accept(sock, new_sock, O_NONBLOCK, true);
-+      ret = sock->ops->accept(sock, new_sock, &arg);
-       if (ret < 0)
-               goto out;
-diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
-index ef81d019b20f4..59050caab65c8 100644
---- a/net/rose/af_rose.c
-+++ b/net/rose/af_rose.c
-@@ -919,8 +919,8 @@ static int rose_connect(struct socket *sock, struct sockaddr *uaddr, int addr_le
-       return err;
- }
--static int rose_accept(struct socket *sock, struct socket *newsock, int flags,
--                     bool kern)
-+static int rose_accept(struct socket *sock, struct socket *newsock,
-+                     struct proto_accept_arg *arg)
- {
-       struct sk_buff *skb;
-       struct sock *newsk;
-@@ -953,7 +953,7 @@ static int rose_accept(struct socket *sock, struct socket *newsock, int flags,
-               if (skb)
-                       break;
--              if (flags & O_NONBLOCK) {
-+              if (arg->flags & O_NONBLOCK) {
-                       err = -EWOULDBLOCK;
-                       break;
-               }
-diff --git a/net/sctp/socket.c b/net/sctp/socket.c
-index c67679a41044f..732c67a9ce475 100644
---- a/net/sctp/socket.c
-+++ b/net/sctp/socket.c
-@@ -4847,7 +4847,7 @@ static int sctp_disconnect(struct sock *sk, int flags)
-  * descriptor will be returned from accept() to represent the newly
-  * formed association.
-  */
--static struct sock *sctp_accept(struct sock *sk, int flags, int *err, bool kern)
-+static struct sock *sctp_accept(struct sock *sk, struct proto_accept_arg *arg)
- {
-       struct sctp_sock *sp;
-       struct sctp_endpoint *ep;
-@@ -4871,7 +4871,7 @@ static struct sock *sctp_accept(struct sock *sk, int flags, int *err, bool kern)
-               goto out;
-       }
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       error = sctp_wait_for_accept(sk, timeo);
-       if (error)
-@@ -4882,7 +4882,7 @@ static struct sock *sctp_accept(struct sock *sk, int flags, int *err, bool kern)
-        */
-       asoc = list_entry(ep->asocs.next, struct sctp_association, asocs);
--      newsk = sp->pf->create_accept_sk(sk, asoc, kern);
-+      newsk = sp->pf->create_accept_sk(sk, asoc, arg->kern);
-       if (!newsk) {
-               error = -ENOMEM;
-               goto out;
-@@ -4899,7 +4899,7 @@ static struct sock *sctp_accept(struct sock *sk, int flags, int *err, bool kern)
- out:
-       release_sock(sk);
--      *err = error;
-+      arg->err = error;
-       return newsk;
- }
-diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
-index 5f9f3d4c1df5f..ee6d8887c5730 100644
---- a/net/smc/af_smc.c
-+++ b/net/smc/af_smc.c
-@@ -2656,7 +2656,7 @@ static int smc_listen(struct socket *sock, int backlog)
- }
- static int smc_accept(struct socket *sock, struct socket *new_sock,
--                    int flags, bool kern)
-+                    struct proto_accept_arg *arg)
- {
-       struct sock *sk = sock->sk, *nsk;
-       DECLARE_WAITQUEUE(wait, current);
-@@ -2675,7 +2675,7 @@ static int smc_accept(struct socket *sock, struct socket *new_sock,
-       }
-       /* Wait for an incoming connection */
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       add_wait_queue_exclusive(sk_sleep(sk), &wait);
-       while (!(nsk = smc_accept_dequeue(sk, new_sock))) {
-               set_current_state(TASK_INTERRUPTIBLE);
-@@ -2702,7 +2702,7 @@ static int smc_accept(struct socket *sock, struct socket *new_sock,
-       if (rc)
-               goto out;
--      if (lsmc->sockopt_defer_accept && !(flags & O_NONBLOCK)) {
-+      if (lsmc->sockopt_defer_accept && !(arg->flags & O_NONBLOCK)) {
-               /* wait till data arrives on the socket */
-               timeo = msecs_to_jiffies(lsmc->sockopt_defer_accept *
-                                                               MSEC_PER_SEC);
-diff --git a/net/socket.c b/net/socket.c
-index e5f3af49a8b62..2a78cff7159fe 100644
---- a/net/socket.c
-+++ b/net/socket.c
-@@ -1898,6 +1898,9 @@ struct file *do_accept(struct file *file, unsigned file_flags,
-       struct file *newfile;
-       int err, len;
-       struct sockaddr_storage address;
-+      struct proto_accept_arg arg = {
-+              .flags = file_flags,
-+      };
-       const struct proto_ops *ops;
-       sock = sock_from_file(file);
-@@ -1926,8 +1929,8 @@ struct file *do_accept(struct file *file, unsigned file_flags,
-       if (err)
-               goto out_fd;
--      err = ops->accept(sock, newsock, sock->file->f_flags | file_flags,
--                                      false);
-+      arg.flags |= sock->file->f_flags;
-+      err = ops->accept(sock, newsock, &arg);
-       if (err < 0)
-               goto out_fd;
-@@ -3580,6 +3583,10 @@ int kernel_accept(struct socket *sock, struct socket **newsock, int flags)
- {
-       struct sock *sk = sock->sk;
-       const struct proto_ops *ops = READ_ONCE(sock->ops);
-+      struct proto_accept_arg arg = {
-+              .flags = flags,
-+              .kern = true,
-+      };
-       int err;
-       err = sock_create_lite(sk->sk_family, sk->sk_type, sk->sk_protocol,
-@@ -3587,7 +3594,7 @@ int kernel_accept(struct socket *sock, struct socket **newsock, int flags)
-       if (err < 0)
-               goto done;
--      err = ops->accept(sock, *newsock, flags, true);
-+      err = ops->accept(sock, *newsock, &arg);
-       if (err < 0) {
-               sock_release(*newsock);
-               *newsock = NULL;
-diff --git a/net/tipc/socket.c b/net/tipc/socket.c
-index 7e4135db58163..ed656c0ffe3d0 100644
---- a/net/tipc/socket.c
-+++ b/net/tipc/socket.c
-@@ -146,8 +146,6 @@ static void tipc_data_ready(struct sock *sk);
- static void tipc_write_space(struct sock *sk);
- static void tipc_sock_destruct(struct sock *sk);
- static int tipc_release(struct socket *sock);
--static int tipc_accept(struct socket *sock, struct socket *new_sock, int flags,
--                     bool kern);
- static void tipc_sk_timeout(struct timer_list *t);
- static int tipc_sk_publish(struct tipc_sock *tsk, struct tipc_uaddr *ua);
- static int tipc_sk_withdraw(struct tipc_sock *tsk, struct tipc_uaddr *ua);
-@@ -2711,13 +2709,12 @@ static int tipc_wait_for_accept(struct socket *sock, long timeo)
-  * tipc_accept - wait for connection request
-  * @sock: listening socket
-  * @new_sock: new socket that is to be connected
-- * @flags: file-related flags associated with socket
-- * @kern: caused by kernel or by userspace?
-+ * @arg: arguments for accept
-  *
-  * Return: 0 on success, errno otherwise
-  */
--static int tipc_accept(struct socket *sock, struct socket *new_sock, int flags,
--                     bool kern)
-+static int tipc_accept(struct socket *sock, struct socket *new_sock,
-+                     struct proto_accept_arg *arg)
- {
-       struct sock *new_sk, *sk = sock->sk;
-       struct tipc_sock *new_tsock;
-@@ -2733,14 +2730,14 @@ static int tipc_accept(struct socket *sock, struct socket *new_sock, int flags,
-               res = -EINVAL;
-               goto exit;
-       }
--      timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+      timeo = sock_rcvtimeo(sk, arg->flags & O_NONBLOCK);
-       res = tipc_wait_for_accept(sock, timeo);
-       if (res)
-               goto exit;
-       buf = skb_peek(&sk->sk_receive_queue);
--      res = tipc_sk_create(sock_net(sock->sk), new_sock, 0, kern);
-+      res = tipc_sk_create(sock_net(sock->sk), new_sock, 0, arg->kern);
-       if (res)
-               goto exit;
-       security_sk_clone(sock->sk, new_sock->sk);
-diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index a1938ba24a696..417cf4adb4e04 100644
---- a/net/unix/af_unix.c
-+++ b/net/unix/af_unix.c
-@@ -749,7 +749,7 @@ static int unix_bind(struct socket *, struct sockaddr *, int);
- static int unix_stream_connect(struct socket *, struct sockaddr *,
-                              int addr_len, int flags);
- static int unix_socketpair(struct socket *, struct socket *);
--static int unix_accept(struct socket *, struct socket *, int, bool);
-+static int unix_accept(struct socket *, struct socket *, struct proto_accept_arg *arg);
- static int unix_getname(struct socket *, struct sockaddr *, int);
- static __poll_t unix_poll(struct file *, struct socket *, poll_table *);
- static __poll_t unix_dgram_poll(struct file *, struct socket *,
-@@ -1694,19 +1694,18 @@ static void unix_sock_inherit_flags(const struct socket *old,
-               set_bit(SOCK_PASSSEC, &new->flags);
- }
--static int unix_accept(struct socket *sock, struct socket *newsock, int flags,
--                     bool kern)
-+static int unix_accept(struct socket *sock, struct socket *newsock,
-+                     struct proto_accept_arg *arg)
- {
-       struct sock *sk = sock->sk;
-       struct sk_buff *skb;
-       struct sock *tsk;
--      int err;
--      err = -EOPNOTSUPP;
-+      arg->err = -EOPNOTSUPP;
-       if (sock->type != SOCK_STREAM && sock->type != SOCK_SEQPACKET)
-               goto out;
--      err = -EINVAL;
-+      arg->err = -EINVAL;
-       if (sk->sk_state != TCP_LISTEN)
-               goto out;
-@@ -1714,12 +1713,12 @@ static int unix_accept(struct socket *sock, struct socket *newsock, int flags,
-        * so that no locks are necessary.
-        */
--      skb = skb_recv_datagram(sk, (flags & O_NONBLOCK) ? MSG_DONTWAIT : 0,
--                              &err);
-+      skb = skb_recv_datagram(sk, (arg->flags & O_NONBLOCK) ? MSG_DONTWAIT : 0,
-+                              &arg->err);
-       if (!skb) {
-               /* This means receive shutdown. */
--              if (err == 0)
--                      err = -EINVAL;
-+              if (arg->err == 0)
-+                      arg->err = -EINVAL;
-               goto out;
-       }
-@@ -1737,7 +1736,7 @@ static int unix_accept(struct socket *sock, struct socket *newsock, int flags,
-       return 0;
- out:
--      return err;
-+      return arg->err;
- }
-diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
-index 54ba7316f8085..4b040285aa78c 100644
---- a/net/vmw_vsock/af_vsock.c
-+++ b/net/vmw_vsock/af_vsock.c
-@@ -1500,8 +1500,8 @@ static int vsock_connect(struct socket *sock, struct sockaddr *addr,
-       return err;
- }
--static int vsock_accept(struct socket *sock, struct socket *newsock, int flags,
--                      bool kern)
-+static int vsock_accept(struct socket *sock, struct socket *newsock,
-+                      struct proto_accept_arg *arg)
- {
-       struct sock *listener;
-       int err;
-@@ -1528,7 +1528,7 @@ static int vsock_accept(struct socket *sock, struct socket *newsock, int flags,
-       /* Wait for children sockets to appear; these are the new sockets
-        * created upon connection establishment.
-        */
--      timeout = sock_rcvtimeo(listener, flags & O_NONBLOCK);
-+      timeout = sock_rcvtimeo(listener, arg->flags & O_NONBLOCK);
-       prepare_to_wait(sk_sleep(listener), &wait, TASK_INTERRUPTIBLE);
-       while ((connected = vsock_dequeue_accept(listener)) == NULL &&
-diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
-index d18d51412cc00..8dda4178497c9 100644
---- a/net/x25/af_x25.c
-+++ b/net/x25/af_x25.c
-@@ -871,8 +871,8 @@ static int x25_wait_for_data(struct sock *sk, long timeout)
-       return rc;
- }
--static int x25_accept(struct socket *sock, struct socket *newsock, int flags,
--                    bool kern)
-+static int x25_accept(struct socket *sock, struct socket *newsock,
-+                    struct proto_accept_arg *arg)
- {
-       struct sock *sk = sock->sk;
-       struct sock *newsk;
--- 
-2.43.0
-
index 13a199c9aea15cabc8df901cd5d17fa72a523bb2..683ce0d408d5bab7f9407976f7335ed1c92be4e2 100644 (file)
@@ -75,8 +75,6 @@ x86-cpu-get-rid-of-an-unnecessary-local-variable-in-.patch
 x86-cpu-provide-default-cache-line-size-if-not-enume.patch
 selftests-mm-ksft_exit-functions-do-not-return.patch
 selftests-mm-compaction_test-fix-bogus-test-success-.patch
-ext4-avoid-overflow-when-setting-values-via-sysfs.patch
-ext4-refactor-out-ext4_generic_attr_show.patch
 eventfs-update-all-the-eventfs_inodes-from-the-event.patch
 .editorconfig-remove-trim_trailing_whitespace-option.patch
 io_uring-rsrc-don-t-lock-while-task_running.patch
@@ -143,9 +141,6 @@ drm-vmwgfx-filter-modes-which-exceed-graphics-memory.patch
 drm-vmwgfx-3d-disabled-should-not-effect-stdu-memory.patch
 drm-vmwgfx-remove-stdu-logic-from-generic-mode_valid.patch
 drm-vmwgfx-don-t-memcmp-equivalent-pointers.patch
-af_unix-allocate-struct-unix_vertex-for-each-infligh.patch
-af_unix-save-listener-for-embryo-socket.patch
-net-change-proto-and-proto_ops-accept-type.patch
 af_unix-annotate-data-race-of-sk-sk_state-in-unix_ac.patch
 modpost-do-not-warn-about-missing-module_description.patch
 net-sfp-always-call-sfp_sm_mod_remove-on-remove.patch