[packages/kernel] - up to 3.7.7; add delta-addrlock-fix04.diff vserver fix

arekm arekm at pld-linux.org
Mon Feb 11 22:39:20 CET 2013


commit 07ccf8a133609b6bb414ea14db232c451a5ce139
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Feb 11 22:39:13 2013 +0100

    - up to 3.7.7; add delta-addrlock-fix04.diff vserver fix

 kernel-vserver-2.3.patch | 29 +++++++++++++++++++++++++++++
 kernel.spec              |  4 ++--
 2 files changed, 31 insertions(+), 2 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index f14e1c2..31ffc81 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -68,7 +68,7 @@
 
 %define		rel		1
 %define		basever		3.7
-%define		postver		.6
+%define		postver		.7
 
 # __alt_kernel is list of features, empty string if none set
 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
@@ -111,7 +111,7 @@ Source0:	http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
 # Source0-md5:	21223369d682bcf44bcdfe1521095983
 %if "%{postver}" != ".0"
 Patch0:		http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
-# Patch0-md5:	bd6cf727f3b80cba856a1e7f04466d21
+# Patch0-md5:	bbbe7ac821c60451f780e8df3f2ced41
 %endif
 
 Source3:	kernel-autoconf.h
diff --git a/kernel-vserver-2.3.patch b/kernel-vserver-2.3.patch
index 92ad059..fe644a6 100644
--- a/kernel-vserver-2.3.patch
+++ b/kernel-vserver-2.3.patch
@@ -26159,3 +26159,32 @@ diff -NurpP --minimal linux-3.7.1/security/selinux/hooks.c linux-3.7.1-vs2.3.5.5
  #include <linux/parser.h>
  #include <linux/nfs_mount.h>
  #include <net/ipv6.h>
+--- ../linux-3.7.2-vs2.3.5.5//kernel/vserver/inet.c	2013-01-11 13:43:00.000000000 +0000
++++ ./kernel/vserver/inet.c	2013-02-05 01:41:48.000000000 +0000
+@@ -167,7 +167,6 @@ struct rtable *ip_v4_find_src(struct net
+ 
+ 	if (fl4->saddr == INADDR_ANY) {
+ 		struct nx_addr_v4 *ptr;
+-		unsigned long irqflags;
+ 		__be32 found = 0;
+ 
+ 		rt = __ip_route_output_key(net, fl4);
+@@ -181,7 +180,8 @@ struct rtable *ip_v4_find_src(struct net
+ 				goto found;
+ 		}
+ 
+-		spin_lock_irqsave(&nxi->addr_lock, irqflags);
++		WARN_ON_ONCE(in_irq());
++		spin_lock(&nxi->addr_lock);
+ 		for (ptr = &nxi->v4; ptr; ptr = ptr->next) {
+ 			__be32 primary = ptr->ip[0].s_addr;
+ 			__be32 mask = ptr->mask.s_addr;
+@@ -210,7 +210,7 @@ struct rtable *ip_v4_find_src(struct net
+ 		found = ipv4_is_loopback(fl4->daddr)
+ 			? IPI_LOOPBACK : nxi->v4.ip[0].s_addr;
+ 	found_unlock:
+-		spin_unlock_irqrestore(&nxi->addr_lock, irqflags);
++		spin_unlock(&nxi->addr_lock);
+ 	found:
+ 		/* assign src ip to flow */
+ 		fl4->saddr = found;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/07ccf8a133609b6bb414ea14db232c451a5ce139



More information about the pld-cvs-commit mailing list