[kernel] r7143 - in dists/sid/linux-2.6/debian: patches patches/series

Bastian Blank waldi at costa.debian.org
Sat Aug 12 14:41:23 UTC 2006


Author: waldi
Date: Sat Aug 12 14:41:22 2006
New Revision: 7143

Added:
   dists/sid/linux-2.6/debian/patches/series/7-extra
   dists/sid/linux-2.6/debian/patches/vserver-vs2.0.2-rc28-update.patch   (contents, props changed)
Modified:
   dists/sid/linux-2.6/debian/changelog

Log:
Update vserver patch to 2.0.2-rc29.

* debian/changelog: Update.
* debian/patches/series/7-extra: Add vserver-vs2.0.2-rc28-update.patch.
* debian/patches/vserver-vs2.0.2-rc28-update.patch: Add.


Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Sat Aug 12 14:41:22 2006
@@ -8,7 +8,10 @@
   [ Kyle McMartin ]
   * Apply patch to fix pa8800 (mostly...)
 
- -- Martin Michlmayr <tbm at cyrius.com>  Fri, 11 Aug 2006 22:49:46 +0200
+  [ Bastian Blank ]
+  * Update vserver patch to 2.0.2-rc29.
+
+ -- Bastian Blank <waldi at debian.org>  Sat, 12 Aug 2006 05:53:22 +0200
 
 linux-2.6 (2.6.17-6) unstable; urgency=low
 

Added: dists/sid/linux-2.6/debian/patches/series/7-extra
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/series/7-extra	Sat Aug 12 14:41:22 2006
@@ -0,0 +1 @@
++ vserver-vs2.0.2-rc28-update.patch *_vserver *_xen-vserver

Added: dists/sid/linux-2.6/debian/patches/vserver-vs2.0.2-rc28-update.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/vserver-vs2.0.2-rc28-update.patch	Sat Aug 12 14:41:22 2006
@@ -0,0 +1,255 @@
+diff -u linux-2.6.17-vs2.0.2-rc24/arch/v850/kernel/ptrace.c linux-2.6.17.7-vs2.0.2-rc28/arch/v850/kernel/ptrace.c
+--- linux-2.6.17-vs2.0.2-rc24/arch/v850/kernel/ptrace.c	2006-06-18 05:02:55 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/arch/v850/kernel/ptrace.c	2006-07-27 19:01:39 +0200
+@@ -117,6 +117,9 @@
+ {
+ 	int rval;
+ 
++	if (!vx_check(vx_task_xid(child), VX_WATCH|VX_IDENT))
++		goto out;
++
+ 	switch (request) {
+ 		unsigned long val, copied;
+ 
+@@ -137,8 +140,6 @@
+ 			break;
+ 		rval = -EIO;
+ 		goto out;
+-	if (!vx_check(vx_task_xid(child), VX_WATCH|VX_IDENT))
+-		goto out_tsk;
+ 
+ 	/* Read/write the word at location ADDR in the registers.  */
+ 	case PTRACE_PEEKUSR:
+reverted:
+--- linux-2.6.17-vs2.0.2-rc24/fs/dquot.c	2006-06-18 17:37:41 +0200
++++ linux-2.6.17/fs/dquot.c	2006-06-18 04:54:33 +0200
+@@ -458,7 +458,6 @@
+ 	spin_unlock(&dq_list_lock);
+ }
+ 
+-
+ int vfs_quota_sync(struct super_block *sb, int type)
+ {
+ 	struct list_head *dirty;
+@@ -668,6 +667,7 @@
+ #ifdef __DQUOT_PARANOIA
+ 	BUG_ON(!dquot->dq_sb);	/* Has somebody invalidated entry under us? */
+ #endif
++
+ 	return dquot;
+ }
+ 
+diff -u linux-2.6.17-vs2.0.2-rc24/fs/namespace.c linux-2.6.17.7-vs2.0.2-rc28/fs/namespace.c
+--- linux-2.6.17-vs2.0.2-rc24/fs/namespace.c	2006-06-18 05:28:30 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/fs/namespace.c	2006-08-05 04:03:48 +0200
+@@ -449,17 +449,27 @@
+ 	struct vfsmount *mnt = v;
+ 	int err = 0;
+ 
+-	/* device */
+-	if (mnt->mnt_devname) {
+-		seq_puts(m, "device ");
+-		mangle(m, mnt->mnt_devname);
+-	} else
+-		seq_puts(m, "no device");
+-
+-	/* mount point */
+-	seq_puts(m, " mounted on ");
+-	seq_path(m, mnt, mnt->mnt_root, " \t\n\\");
+-	seq_putc(m, ' ');
++	if (vx_flags(VXF_HIDE_MOUNT, 0))
++		return 0;
++	if (!mnt_is_reachable(mnt) && !vx_check(0, VX_WATCH))
++		return 0;
++
++	if (!vx_check(0, VX_ADMIN|VX_WATCH) &&
++		mnt == current->fs->rootmnt) {
++		seq_puts(m, "device /dev/root mounted on / ");
++	} else {
++		/* device */
++		if (mnt->mnt_devname) {
++			seq_puts(m, "device ");
++			mangle(m, mnt->mnt_devname);
++		} else
++			seq_puts(m, "no device");
++
++		/* mount point */
++		seq_puts(m, " mounted on ");
++		seq_path(m, mnt, mnt->mnt_root, " \t\n\\");
++		seq_putc(m, ' ');
++	}
+ 
+ 	/* file system type */
+ 	seq_puts(m, "with fstype ");
+@@ -558,11 +568,15 @@
+ 	}
+ }
+ 
+-static inline void __umount_list(struct vfsmount *mnt,
+-	int propagate, struct list_head *kill)
++void umount_tree(struct vfsmount *mnt, int propagate, struct list_head *kill)
+ {
+ 	struct vfsmount *p;
+ 
++	for (p = mnt; p; p = next_mnt(p, mnt)) {
++		list_del(&p->mnt_hash);
++		list_add(&p->mnt_hash, kill);
++	}
++
+ 	if (propagate)
+ 		propagate_umount(kill);
+ 
+@@ -578,33 +592,6 @@
+ 	}
+ }
+ 
+-void umount_tree(struct vfsmount *mnt, int propagate, struct list_head *kill)
+-{
+-	struct vfsmount *p;
+-
+-	for (p = mnt; p; p = next_mnt(p, mnt)) {
+-		list_del(&p->mnt_hash);
+-		list_add(&p->mnt_hash, kill);
+-		// p->mnt_namespace = NULL;
+-	}
+-	__umount_list(mnt, propagate, kill);
+-}
+-
+-void umount_unused(struct vfsmount *mnt, struct fs_struct *fs)
+-{
+-	struct vfsmount *p;
+-	LIST_HEAD(kill);
+-
+-	for (p = mnt; p; p = next_mnt(p, mnt)) {
+-		if (p == fs->rootmnt || p == fs->pwdmnt)
+-			continue;
+-		list_del(&p->mnt_list);
+-		list_add(&p->mnt_list, &kill);
+-		p->mnt_namespace = NULL;
+-	}
+-	__umount_list(mnt, 0, &kill);
+-}
+-
+ static int do_umount(struct vfsmount *mnt, int flags)
+ {
+ 	struct super_block *sb = mnt->mnt_sb;
+diff -u linux-2.6.17-vs2.0.2-rc24/include/asm-i386/elf.h linux-2.6.17.7-vs2.0.2-rc28/include/asm-i386/elf.h
+--- linux-2.6.17-vs2.0.2-rc24/include/asm-i386/elf.h	2006-06-18 05:03:04 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/include/asm-i386/elf.h	2006-07-27 19:01:39 +0200
+@@ -71,7 +71,7 @@
+    the loader.  We need to make sure that it is out of the way of the program
+    that it will "exec", and that there is sufficient room for the brk.  */
+ 
+-#define ELF_ET_DYN_BASE		((TASK_UNMAPPED_BASE) * 2)
++#define ELF_ET_DYN_BASE	(TASK_SIZE / 3 * 2)
+ 
+ /* regs is struct pt_regs, pr_reg is elf_gregset_t (which is
+    now struct_user_regs, they are different) */
+reverted:
+--- linux-2.6.17-vs2.0.2-rc24/include/linux/namespace.h	2006-06-18 05:03:04 +0200
++++ linux-2.6.17/include/linux/namespace.h	2006-02-18 14:40:34 +0100
+@@ -16,7 +16,6 @@
+ extern int copy_namespace(int, struct task_struct *);
+ extern void __put_namespace(struct namespace *namespace);
+ extern struct namespace *dup_namespace(struct task_struct *, struct fs_struct *);
+-extern void umount_unused(struct vfsmount *, struct fs_struct *);
+ 
+ static inline void put_namespace(struct namespace *namespace)
+ {
+diff -u linux-2.6.17-vs2.0.2-rc24/include/linux/vserver/namespace_cmd.h linux-2.6.17.7-vs2.0.2-rc28/include/linux/vserver/namespace_cmd.h
+--- linux-2.6.17-vs2.0.2-rc24/include/linux/vserver/namespace_cmd.h	2006-06-18 05:03:05 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/include/linux/vserver/namespace_cmd.h	2006-07-27 19:01:39 +0200
+@@ -3,7 +3,6 @@
+ 
+ 
+ #define VCMD_enter_namespace	VC_CMD(PROCALT, 1, 0)
+-#define VCMD_cleanup_namespace	VC_CMD(PROCALT, 2, 0)
+ 
+ #define VCMD_set_namespace_v0	VC_CMD(PROCALT, 3, 0)
+ #define VCMD_set_namespace	VC_CMD(PROCALT, 3, 1)
+@@ -12,7 +11,6 @@
+ #ifdef	__KERNEL__
+ 
+ extern int vc_enter_namespace(uint32_t, void __user *);
+-extern int vc_cleanup_namespace(uint32_t, void __user *);
+ extern int vc_set_namespace(uint32_t, void __user *);
+ 
+ #endif	/* __KERNEL__ */
+diff -u linux-2.6.17-vs2.0.2-rc24/kernel/exit.c linux-2.6.17.7-vs2.0.2-rc28/kernel/exit.c
+--- linux-2.6.17-vs2.0.2-rc24/kernel/exit.c	2006-06-18 05:28:31 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/kernel/exit.c	2006-07-26 21:36:28 +0200
+@@ -729,7 +729,6 @@
+ 	list_for_each_safe(_p, _n, &father->ptrace_children) {
+ 		p = list_entry(_p,struct task_struct,ptrace_list);
+ 		/* check for reaper context */
+-		BUG_ON(p->xid != reaper->xid);
+ 		choose_new_parent(p, reaper);
+ 		reparent_thread(p, father, 1);
+ 	}
+diff -u linux-2.6.17-vs2.0.2-rc24/kernel/sys.c linux-2.6.17.7-vs2.0.2-rc28/kernel/sys.c
+--- linux-2.6.17-vs2.0.2-rc24/kernel/sys.c	2006-06-18 05:28:31 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/kernel/sys.c	2006-07-26 21:36:28 +0200
+@@ -1698,7 +1698,7 @@
+ 	int errno;
+ 	char tmp[__NEW_UTS_LEN];
+ 
+-	if (!capable(CAP_SYS_ADMIN))
++	if (!vx_capable(CAP_SYS_ADMIN, VXC_SET_UTSNAME))
+ 		return -EPERM;
+ 	if (len < 0 || len > __NEW_UTS_LEN)
+ 		return -EINVAL;
+diff -u linux-2.6.17-vs2.0.2-rc24/kernel/vserver/cvirt.c linux-2.6.17.7-vs2.0.2-rc28/kernel/vserver/cvirt.c
+--- linux-2.6.17-vs2.0.2-rc24/kernel/vserver/cvirt.c	2006-06-18 05:28:31 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/kernel/vserver/cvirt.c	2006-07-27 19:45:30 +0200
+@@ -68,8 +68,9 @@
+ 	uint32_t now, last, delta;
+ 	unsigned int nr_running, nr_uninterruptible;
+ 	unsigned int total;
++	unsigned long flags;
+ 
+-	spin_lock(&vxi->cvirt.load_lock);
++	spin_lock_irqsave(&vxi->cvirt.load_lock, flags);
+ 
+ 	now = jiffies;
+ 	last = vxi->cvirt.load_last;
+@@ -92,7 +93,7 @@
+ 	vxi->cvirt.load_last = now;
+ out:
+ 	atomic_inc(&vxi->cvirt.load_updates);
+-	spin_unlock(&vxi->cvirt.load_lock);
++	spin_unlock_irqrestore(&vxi->cvirt.load_lock, flags);
+ }
+ 
+ 
+diff -u linux-2.6.17-vs2.0.2-rc24/kernel/vserver/namespace.c linux-2.6.17.7-vs2.0.2-rc28/kernel/vserver/namespace.c
+--- linux-2.6.17-vs2.0.2-rc24/kernel/vserver/namespace.c	2006-06-18 05:28:31 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/kernel/vserver/namespace.c	2006-07-27 19:01:39 +0200
+@@ -85,16 +85,6 @@
+ 	return ret;
+ }
+ 
+-int vc_cleanup_namespace(uint32_t id, void __user *data)
+-{
+-	// down_write(&current->namespace->sem);
+-	spin_lock(&vfsmount_lock);
+-	umount_unused(current->namespace->root, current->fs);
+-	spin_unlock(&vfsmount_lock);
+-	// up_write(&current->namespace->sem);
+-	return 0;
+-}
+-
+ int vc_set_namespace(uint32_t id, void __user *data)
+ {
+ 	struct fs_struct *fs;
+diff -u linux-2.6.17-vs2.0.2-rc24/kernel/vserver/switch.c linux-2.6.17.7-vs2.0.2-rc28/kernel/vserver/switch.c
+--- linux-2.6.17-vs2.0.2-rc24/kernel/vserver/switch.c	2006-06-18 05:28:31 +0200
++++ linux-2.6.17.7-vs2.0.2-rc28/kernel/vserver/switch.c	2006-07-27 19:01:39 +0200
+@@ -111,8 +111,6 @@
+ 		return vc_set_namespace(-1, data);
+ 	case VCMD_set_namespace:
+ 		return vc_set_namespace(id, data);
+-	case VCMD_cleanup_namespace:
+-		return vc_cleanup_namespace(id, data);
+ 	}
+ 
+ 	/* those are allowed while in setup too */



More information about the Kernel-svn-changes mailing list