]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
2 more patches for 2.6.22
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 21 Sep 2007 21:59:03 +0000 (14:59 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 21 Sep 2007 21:59:03 +0000 (14:59 -0700)
queue-2.6.22/disable-sys_timerfd.patch [new file with mode: 0644]
queue-2.6.22/rpc-fix-garbage-in-printk-in-svc_tcp_accept.patch [new file with mode: 0644]
queue-2.6.22/series

diff --git a/queue-2.6.22/disable-sys_timerfd.patch b/queue-2.6.22/disable-sys_timerfd.patch
new file mode 100644 (file)
index 0000000..bc4e790
--- /dev/null
@@ -0,0 +1,37 @@
+From e42601973b1bce1d2987f82159c1ebeaccc6b310 Mon Sep 17 00:00:00 2001
+From: Andrew Morton <akpm@linux-foundation.org>
+Date: Tue, 18 Sep 2007 22:46:41 -0700
+Subject: disable sys_timerfd()
+
+From: Andrew Morton <akpm@linux-foundation.org>
+
+commit e42601973b1bce1d2987f82159c1ebeaccc6b310 in mainline.
+
+There is still some confusion and disagreement over what this interface should
+actually do.  So it is best that we disable it in 2.6.23 until we get that
+fully sorted out.
+
+(sys_timerfd() was present in 2.6.22 but it was apparently broken, so here we
+assume that nobody is using it yet).
+
+Cc: Michael Kerrisk <mtk-manpages@gmx.net>
+Cc: Davide Libenzi <davidel@xmailserver.org>
+Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ init/Kconfig |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -505,6 +505,7 @@ config SIGNALFD
+ config TIMERFD
+       bool "Enable timerfd() system call" if EMBEDDED
+       depends on ANON_INODES
++      depends on BROKEN
+       default y
+       help
+         Enable the timerfd() system call that allows to receive timer
diff --git a/queue-2.6.22/rpc-fix-garbage-in-printk-in-svc_tcp_accept.patch b/queue-2.6.22/rpc-fix-garbage-in-printk-in-svc_tcp_accept.patch
new file mode 100644 (file)
index 0000000..143a4e3
--- /dev/null
@@ -0,0 +1,49 @@
+From stable-bounces@linux.kernel.org Thu Sep 20 12:52:31 2007
+From: Wolfgang Walter <wolfgang.walter@studentenwerk.mhn.de>
+Date: Thu, 20 Sep 2007 15:51:46 -0400
+Subject: rpc: fix garbage in printk in svc_tcp_accept()
+To: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Trond Myklebust <trond@netapp.com>, Neil Brown <neilb@suse.de>, linux-kernel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>, stable@kernel.org, Wolfgang Walter <wolfgang.walter@studentenwerk.mhn.de>
+Message-ID: <20070920195146.GC23287@fieldses.org>
+Content-Disposition: inline
+
+From: Wolfgang Walter <wolfgang.walter@studentenwerk.mhn.de>
+
+commit 9db619e66503494e41159de3c76fafabe80d016b in mainline.
+
+we upgraded the kernel of a nfs-server from 2.6.17.11 to 2.6.22.6. Since
+then we get the message
+
+lockd: too many open TCP sockets, consider increasing the number of nfsd threads
+lockd: last TCP connect from ^\\236^\É^D
+
+These random characters in the second line are caused by a bug in
+svc_tcp_accept.
+
+(Note: there are two previous __svc_print_addr(sin, buf, sizeof(buf))
+calls in this function, either of which would initialize buf correctly;
+but both are inside "if"'s and are not necessarily executed.  This is
+less obvious in the second case, which is inside a dprintk(), which is a
+macro which expands to an if statement.)
+
+Signed-off-by: Wolfgang Walter <wolfgang.walter@studentenwerk.mhn.de>
+Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/sunrpc/svcsock.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/net/sunrpc/svcsock.c
++++ b/net/sunrpc/svcsock.c
+@@ -1090,7 +1090,8 @@ svc_tcp_accept(struct svc_sock *svsk)
+                                                  serv->sv_name);
+                               printk(KERN_NOTICE
+                                      "%s: last TCP connect from %s\n",
+-                                     serv->sv_name, buf);
++                                     serv->sv_name, __svc_print_addr(sin,
++                                                      buf, sizeof(buf)));
+                       }
+                       /*
+                        * Always select the oldest socket. It's not fair,
index 6ea9c5671743ee7f974cac8bc5d0939a03c3ac30..c7fcafbb5f323e2352dd781fc8bd34aa9b001200 100644 (file)
@@ -16,3 +16,5 @@ v4l-cx88-avoid-a-null-pointer-dereference-during-mpeg_open.patch
 hwmon-end-of-i-o-region-off-by-one.patch
 fix-debug-regression-in-video-pwc.patch
 splice-fix-direct-splice-error-handling.patch
+rpc-fix-garbage-in-printk-in-svc_tcp_accept.patch
+disable-sys_timerfd.patch