commit:     c489f53b3c356043758921cd6bc5f51726c38838
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 15 18:46:40 2024 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Mon Jan 15 18:46:40 2024 +0000
URL:        https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=c489f53b

Linux patch 6.6.12

Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>

 0000_README             |   4 ++
 1011_linux-6.6.12.patch | 115 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 119 insertions(+)

diff --git a/0000_README b/0000_README
index 9b293de9..deb29f71 100644
--- a/0000_README
+++ b/0000_README
@@ -87,6 +87,10 @@ Patch:  1010_linux-6.6.11.patch
 From:   https://www.kernel.org
 Desc:   Linux 6.6.11
 
+Patch:  1011_linux-6.6.12.patch
+From:   https://www.kernel.org
+Desc:   Linux 6.6.12
+
 Patch:  1510_fs-enable-link-security-restrictions-by-default.patch
 From:   
http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/
 Desc:   Enable link security restrictions by default.

diff --git a/1011_linux-6.6.12.patch b/1011_linux-6.6.12.patch
new file mode 100644
index 00000000..896e081e
--- /dev/null
+++ b/1011_linux-6.6.12.patch
@@ -0,0 +1,115 @@
+diff --git a/Makefile b/Makefile
+index 43edafa7f262d..a05c69afc0458 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0
+ VERSION = 6
+ PATCHLEVEL = 6
+-SUBLEVEL = 11
++SUBLEVEL = 12
+ EXTRAVERSION =
+ NAME = Hurr durr I'ma ninja sloth
+ 
+diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
+index 98854dd3c1502..a13e81e450718 100644
+--- a/fs/nfsd/nfsctl.c
++++ b/fs/nfsd/nfsctl.c
+@@ -692,6 +692,7 @@ static ssize_t __write_ports_addfd(char *buf, struct net 
*net, const struct cred
+       char *mesg = buf;
+       int fd, err;
+       struct nfsd_net *nn = net_generic(net, nfsd_net_id);
++      struct svc_serv *serv;
+ 
+       err = get_int(&mesg, &fd);
+       if (err != 0 || fd < 0)
+@@ -702,15 +703,15 @@ static ssize_t __write_ports_addfd(char *buf, struct net 
*net, const struct cred
+       if (err != 0)
+               return err;
+ 
+-      err = svc_addsock(nn->nfsd_serv, net, fd, buf, 
SIMPLE_TRANSACTION_LIMIT, cred);
++      serv = nn->nfsd_serv;
++      err = svc_addsock(serv, net, fd, buf, SIMPLE_TRANSACTION_LIMIT, cred);
+ 
+-      if (err < 0 && !nn->nfsd_serv->sv_nrthreads && !nn->keep_active)
++      if (err < 0 && !serv->sv_nrthreads && !nn->keep_active)
+               nfsd_last_thread(net);
+-      else if (err >= 0 &&
+-               !nn->nfsd_serv->sv_nrthreads && !xchg(&nn->keep_active, 1))
+-              svc_get(nn->nfsd_serv);
++      else if (err >= 0 && !serv->sv_nrthreads && !xchg(&nn->keep_active, 1))
++              svc_get(serv);
+ 
+-      nfsd_put(net);
++      svc_put(serv);
+       return err;
+ }
+ 
+@@ -724,6 +725,7 @@ static ssize_t __write_ports_addxprt(char *buf, struct net 
*net, const struct cr
+       struct svc_xprt *xprt;
+       int port, err;
+       struct nfsd_net *nn = net_generic(net, nfsd_net_id);
++      struct svc_serv *serv;
+ 
+       if (sscanf(buf, "%15s %5u", transport, &port) != 2)
+               return -EINVAL;
+@@ -736,32 +738,33 @@ static ssize_t __write_ports_addxprt(char *buf, struct 
net *net, const struct cr
+       if (err != 0)
+               return err;
+ 
+-      err = svc_xprt_create(nn->nfsd_serv, transport, net,
++      serv = nn->nfsd_serv;
++      err = svc_xprt_create(serv, transport, net,
+                             PF_INET, port, SVC_SOCK_ANONYMOUS, cred);
+       if (err < 0)
+               goto out_err;
+ 
+-      err = svc_xprt_create(nn->nfsd_serv, transport, net,
++      err = svc_xprt_create(serv, transport, net,
+                             PF_INET6, port, SVC_SOCK_ANONYMOUS, cred);
+       if (err < 0 && err != -EAFNOSUPPORT)
+               goto out_close;
+ 
+-      if (!nn->nfsd_serv->sv_nrthreads && !xchg(&nn->keep_active, 1))
+-              svc_get(nn->nfsd_serv);
++      if (!serv->sv_nrthreads && !xchg(&nn->keep_active, 1))
++              svc_get(serv);
+ 
+-      nfsd_put(net);
++      svc_put(serv);
+       return 0;
+ out_close:
+-      xprt = svc_find_xprt(nn->nfsd_serv, transport, net, PF_INET, port);
++      xprt = svc_find_xprt(serv, transport, net, PF_INET, port);
+       if (xprt != NULL) {
+               svc_xprt_close(xprt);
+               svc_xprt_put(xprt);
+       }
+ out_err:
+-      if (!nn->nfsd_serv->sv_nrthreads && !nn->keep_active)
++      if (!serv->sv_nrthreads && !nn->keep_active)
+               nfsd_last_thread(net);
+ 
+-      nfsd_put(net);
++      svc_put(serv);
+       return err;
+ }
+ 
+diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h
+index 63deed27a9059..fe846a360ae18 100644
+--- a/fs/nfsd/nfsd.h
++++ b/fs/nfsd/nfsd.h
+@@ -96,13 +96,6 @@ int         nfsd_pool_stats_open(struct inode *, struct 
file *);
+ int           nfsd_pool_stats_release(struct inode *, struct file *);
+ void          nfsd_shutdown_threads(struct net *net);
+ 
+-static inline void nfsd_put(struct net *net)
+-{
+-      struct nfsd_net *nn = net_generic(net, nfsd_net_id);
+-
+-      svc_put(nn->nfsd_serv);
+-}
+-
+ bool          i_am_nfsd(void);
+ 
+ struct nfsdfs_client {

Reply via email to