[kernel] r15476 - in dists/sid/linux-2.6/debian: . patches/features/all/openvz

Maximilian Attems maks at alioth.debian.org
Sat Apr 3 19:11:00 UTC 2010


Author: maks
Date: Sat Apr  3 19:10:53 2010
New Revision: 15476

Log:
update openvz patch

Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Sat Apr  3 18:38:24 2010	(r15475)
+++ dists/sid/linux-2.6/debian/changelog	Sat Apr  3 19:10:53 2010	(r15476)
@@ -26,7 +26,7 @@
   [ maximilian attems]
   * [alpha, hppa] Disable oprofile as tracing code is unsupported here.
     (closes: #574368)
-  * Update openvz patch to 796e80e5b2ed. (closes: #574598, #575189)
+  * Update openvz patch to 14a9729fab67. (closes: #574598, #575189)
   * [x86]: Disable FB_INTEL. (closes: #447575, #503766, #574401)
   * ssb: do not read SPROM if it does not exist.
   * ssb: Avoid null pointer dereference by aboves.

Modified: dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch	Sat Apr  3 18:38:24 2010	(r15475)
+++ dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch	Sat Apr  3 19:10:53 2010	(r15476)
@@ -1,3 +1,51 @@
+commit 14a9729fab679c9c9f15e2ff44070806247b62c5
+Author: Pavel Emelyanov <xemul at openvz.org>
+Date:   Fri Apr 2 23:00:10 2010 +0400
+
+    inotify: Return lost mntputs for inotify mnts
+    
+    Otherwise we leak the mountpoint and sometimes much more.
+    
+    Signed-off-by: Pavel Emelyanov <xemul at openvz.org>
+
+commit 0b1c1e340b9008360e0a0d4083702ec8546ec1bd
+Author: Pavel Emelyanov <xemul at openvz.org>
+Date:   Fri Apr 2 22:59:12 2010 +0400
+
+    cpt: Fix 32bit version of cpt kernel thread creation
+    
+    http://bugzilla.openvz.org/show_bug.cgi?id=1482
+    
+    Signed-off-by: Pavel Emelyanov <xemul at openvz.org>
+
+commit 760a36fb468201cb4964c7a542172bda941fe755
+Author: Pavel Emelyanov <xemul at openvz.org>
+Date:   Fri Apr 2 16:21:41 2010 +0400
+
+    devcg: Check for device permissions for DEV_ALL rules
+    
+    Thanks to cd500819 commit :\
+    
+    http://bugzilla.openvz.org/show_bug.cgi?id=1478
+    
+    Signed-off-by: Pavel Emelyanov <xemul at openvz.org>
+
+commit e6ad27ee6e87614512d44074d841df822453dda7
+Author: Cyrill Gorcunov <gorcunov at openvz.org>
+Date:   Thu Mar 25 19:47:32 2010 +0300
+
+    iptables: Restore NAT functionality for node
+    
+    During migration to new iptables management code
+    VE0 lost NAT table access. Restore it. Moreover
+    VE0 gets highest priviledge -- ie all iptables
+    functionality is not filtering.
+    
+    http://bugzilla.openvz.org/show_bug.cgi?id=1473
+    
+    Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
+    Signed-off-by: Pavel Emelyanov <xemul at openvz.org>
+
 commit 796e80e5b2edff524f40a608be511143b4c8c828
 Author: Pavel Emelyanov <xemul at openvz.org>
 Date:   Fri Mar 19 11:17:45 2010 +0300
@@ -11512,7 +11560,7 @@
  
  extern void inotify_ignored_and_remove_idr(struct fsnotify_mark_entry *entry,
 diff --git a/fs/notify/inotify/inotify_fsnotify.c b/fs/notify/inotify/inotify_fsnotify.c
-index 1afb0a1..cc59c5c 100644
+index 1afb0a1..9b31a34 100644
 --- a/fs/notify/inotify/inotify_fsnotify.c
 +++ b/fs/notify/inotify/inotify_fsnotify.c
 @@ -28,6 +28,8 @@
@@ -11532,7 +11580,7 @@
  }
  
  void inotify_free_event_priv(struct fsnotify_event_private_data *fsn_event_priv)
-@@ -159,10 +162,24 @@ void inotify_free_event_priv(struct fsnotify_event_private_data *fsn_event_priv)
+@@ -159,10 +162,25 @@ void inotify_free_event_priv(struct fsnotify_event_private_data *fsn_event_priv)
  	kmem_cache_free(event_priv_cachep, event_priv);
  }
  
@@ -11545,6 +11593,7 @@
 +		dput(e->path.dentry);
 +		e->path.dentry = NULL;
 +		mnt_unpin(e->path.mnt);
++		mntput(e->path.mnt);
 +		e->path.dentry = NULL;
 +	}
 +}
@@ -11558,7 +11607,7 @@
 +	.detach_mnt = inotify_detach_mnt,
  };
 diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
-index ca44337..7dd3eb4 100644
+index ca44337..745983d 100644
 --- a/fs/notify/inotify/inotify_user.c
 +++ b/fs/notify/inotify/inotify_user.c
 @@ -40,6 +40,7 @@
@@ -11586,19 +11635,20 @@
  
  
  /*
-@@ -461,6 +463,11 @@ static void inotify_free_mark(struct fsnotify_mark_entry *entry)
+@@ -461,6 +463,12 @@ static void inotify_free_mark(struct fsnotify_mark_entry *entry)
  {
  	struct inotify_inode_mark_entry *ientry = (struct inotify_inode_mark_entry *)entry;
  
 +	if (ientry->path.dentry) {
 +		dput(ientry->path.dentry);
 +		mnt_unpin(ientry->path.mnt);
++		mntput(ientry->path.mnt);
 +	}
 +
  	kmem_cache_free(inotify_inode_mark_cachep, ientry);
  }
  
-@@ -527,16 +534,13 @@ static int inotify_update_existing_watch(struct fsnotify_group *group,
+@@ -527,16 +535,13 @@ static int inotify_update_existing_watch(struct fsnotify_group *group,
  	return ret;
  }
  
@@ -11618,7 +11668,7 @@
  	if (unlikely(!mask))
  		return -EINVAL;
  
-@@ -547,6 +551,8 @@ static int inotify_new_watch(struct fsnotify_group *group,
+@@ -547,6 +552,8 @@ static int inotify_new_watch(struct fsnotify_group *group,
  	fsnotify_init_mark(&tmp_ientry->fsn_entry, inotify_free_mark);
  	tmp_ientry->fsn_entry.mask = mask;
  	tmp_ientry->wd = -1;
@@ -11627,7 +11677,7 @@
  
  	ret = -ENOSPC;
  	if (atomic_read(&group->inotify_data.user->inotify_watches) >= inotify_max_user_watches)
-@@ -556,10 +562,14 @@ retry:
+@@ -556,10 +563,14 @@ retry:
  	if (unlikely(!idr_pre_get(&group->inotify_data.idr, GFP_KERNEL)))
  		goto out_err;
  
@@ -11644,7 +11694,7 @@
  	spin_unlock(&group->inotify_data.idr_lock);
  	if (ret) {
  		/* idr was out of memory allocate and try again */
-@@ -568,11 +578,17 @@ retry:
+@@ -568,11 +579,17 @@ retry:
  		goto out_err;
  	}
  
@@ -11663,7 +11713,7 @@
  	if (ret) {
  		/* we failed to get on the inode, get off the idr */
  		inotify_remove_from_idr(group, tmp_ientry);
-@@ -585,6 +601,12 @@ retry:
+@@ -585,6 +602,12 @@ retry:
  	/* increment the number of watches the user has */
  	atomic_inc(&group->inotify_data.user->inotify_watches);
  
@@ -11676,7 +11726,7 @@
  	/* return the watch descriptor for this new entry */
  	ret = tmp_ientry->wd;
  
-@@ -601,17 +623,24 @@ out_err:
+@@ -601,17 +624,24 @@ out_err:
  
  	return ret;
  }
@@ -11704,7 +11754,7 @@
  	/*
  	 * inotify_new_watch could race with another thread which did an
  	 * inotify_new_watch between the update_existing and the add watch
-@@ -711,12 +740,12 @@ SYSCALL_DEFINE0(inotify_init)
+@@ -711,12 +741,12 @@ SYSCALL_DEFINE0(inotify_init)
  {
  	return sys_inotify_init1(0);
  }
@@ -11718,7 +11768,7 @@
  	struct path path;
  	struct file *filp;
  	int ret, fput_needed;
-@@ -741,12 +770,10 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
+@@ -741,12 +771,10 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
  	if (ret)
  		goto fput_and_out;
  
@@ -42370,10 +42420,10 @@
 +}
 diff --git a/kernel/cpt/cpt_kernel.c b/kernel/cpt/cpt_kernel.c
 new file mode 100644
-index 0000000..5eb7f1c
+index 0000000..3272d81
 --- /dev/null
 +++ b/kernel/cpt/cpt_kernel.c
-@@ -0,0 +1,177 @@
+@@ -0,0 +1,178 @@
 +/*
 + *
 + *  kernel/cpt/cpt_kernel.c
@@ -42420,6 +42470,7 @@
 +	regs.ds = __USER_DS;
 +	regs.es = __USER_DS;
 +	regs.fs = __KERNEL_PERCPU;
++	regs.gs = __KERNEL_STACK_CANARY;
 +	regs.orig_ax = -1;
 +	regs.ip = (unsigned long) kernel_thread_helper;
 +	regs.cs = __KERNEL_CS | get_kernel_rpl();
@@ -63674,10 +63725,10 @@
 +
 diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c
 new file mode 100644
-index 0000000..7da3e04
+index 0000000..8b59ff7
 --- /dev/null
 +++ b/kernel/ve/ve.c
-@@ -0,0 +1,118 @@
+@@ -0,0 +1,119 @@
 +/*
 + *  linux/kernel/ve/ve.c
 + *
@@ -63757,6 +63808,7 @@
 +	.op_sem			= __RWSEM_INITIALIZER(ve0.op_sem),
 +#ifdef CONFIG_VE_IPTABLES
 +	.ipt_mask 		= VE_IP_ALL,
++	._iptables_modules	= VE_IP_ALL,
 +#endif
 +	.features		= VE_FEATURE_SIT | VE_FEATURE_IPIP |
 +				VE_FEATURE_PPP,
@@ -79048,7 +79100,7 @@
  	return 0;
  }
 diff --git a/security/device_cgroup.c b/security/device_cgroup.c
-index 6cf8fd2..2d34b00 100644
+index 6cf8fd2..02aeae6 100644
 --- a/security/device_cgroup.c
 +++ b/security/device_cgroup.c
 @@ -12,11 +12,23 @@
@@ -79148,7 +79200,7 @@
  	}
  	rcu_read_unlock();
  
-@@ -474,37 +527,35 @@ struct cgroup_subsys devices_subsys = {
+@@ -474,38 +527,35 @@ struct cgroup_subsys devices_subsys = {
  	.subsys_id = devices_subsys_id,
  };
  
@@ -79183,17 +79235,19 @@
 -		if (wh->minor != ~0 && wh->minor != iminor(inode))
 +		if (wh->minor != ~0 && wh->minor != MINOR(device))
  			continue;
- 
+-
++found:
  		if ((mask & MAY_WRITE) && !(wh->access & ACC_WRITE))
  			continue;
  		if ((mask & MAY_READ) && !(wh->access & ACC_READ))
  			continue;
+-found:
 +		if ((mask & MAY_QUOTACTL) && !(wh->access & ACC_QUOTA))
 +			continue;
- found:
  		rcu_read_unlock();
  		return 0;
-@@ -515,6 +566,15 @@ found:
+ 	}
+@@ -515,6 +565,15 @@ found:
  }
  EXPORT_SYMBOL_GPL(devcgroup_inode_permission);
  
@@ -79209,7 +79263,19 @@
  int devcgroup_inode_mknod(int mode, dev_t dev)
  {
  	struct dev_cgroup *dev_cgroup;
-@@ -550,3 +610,75 @@ found:
+@@ -538,10 +597,9 @@ int devcgroup_inode_mknod(int mode, dev_t dev)
+ 			continue;
+ 		if (wh->minor != ~0 && wh->minor != MINOR(dev))
+ 			continue;
+-
++found:
+ 		if (!(wh->access & ACC_MKNOD))
+ 			continue;
+-found:
+ 		rcu_read_unlock();
+ 		return 0;
+ 	}
+@@ -550,3 +608,75 @@ found:
  
  	return -EPERM;
  }



More information about the Kernel-svn-changes mailing list