SOURCES (LINUX_2_6): linux-2.6-vs2.3.patch - raw http://vserver.13...

zbyniu zbyniu at pld-linux.org
Sun Mar 30 21:24:24 CEST 2008


Author: zbyniu                       Date: Sun Mar 30 19:24:24 2008 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- raw http://vserver.13thfloor.at/Experimental/patch-2.6.24.4-vs2.3.0.34.diff

---- Files affected:
SOURCES:
   linux-2.6-vs2.3.patch (1.2.4.11.2.17 -> 1.2.4.11.2.18) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-vs2.3.patch
diff -u SOURCES/linux-2.6-vs2.3.patch:1.2.4.11.2.17 SOURCES/linux-2.6-vs2.3.patch:1.2.4.11.2.18
--- SOURCES/linux-2.6-vs2.3.patch:1.2.4.11.2.17	Fri Feb  8 10:00:18 2008
+++ SOURCES/linux-2.6-vs2.3.patch	Sun Mar 30 21:24:17 2008
@@ -1 +1,29652 @@
-No 2.3 for 2.6.24 yet. Build kernel --with vs22 option.
+diff -NurpP --minimal linux-2.6.24.4/Documentation/vserver/debug.txt linux-2.6.24.4-vs2.3.0.34/Documentation/vserver/debug.txt
+--- linux-2.6.24.4/Documentation/vserver/debug.txt	1970-01-01 01:00:00 +0100
++++ linux-2.6.24.4-vs2.3.0.34/Documentation/vserver/debug.txt	2007-12-13 13:25:42 +0100
+@@ -0,0 +1,154 @@
++
++debug_cvirt:
++
++ 2   4	"vx_map_tgid: %p/%llx: %d -> %d"
++	"vx_rmap_tgid: %p/%llx: %d -> %d"
++
++debug_dlim:
++
++ 0   1	"ALLOC (%p,#%d)%c inode (%d)"
++	"FREE  (%p,#%d)%c inode"
++ 1   2	"ALLOC (%p,#%d)%c %lld bytes (%d)"
++	"FREE  (%p,#%d)%c %lld bytes"
++ 2   4	"ADJUST: %lld,%lld on %ld,%ld [mult=%d]"
++ 3   8	"ext3_has_free_blocks(%p): %lu<%lu+1, %c, %u!=%u r=%d"
++	"ext3_has_free_blocks(%p): free=%lu, root=%lu"
++	"rcu_free_dl_info(%p)"
++ 4  10	"alloc_dl_info(%p,%d) = %p"
++	"dealloc_dl_info(%p)"
++	"get_dl_info(%p[#%d.%d])"
++	"put_dl_info(%p[#%d.%d])"
++ 5  20	"alloc_dl_info(%p,%d)*"
++ 6  40	"__hash_dl_info: %p[#%d]"
++	"__unhash_dl_info: %p[#%d]"
++ 7  80	"locate_dl_info(%p,#%d) = %p"
++
++debug_misc:
++
++ 0   1	"destroy_dqhash: %p [#0x%08x] c=%d"
++	"new_dqhash: %p [#0x%08x]"
++	"vroot[%d]_clr_dev: dev=%p[%lu,%d:%d]"
++	"vroot[%d]_get_real_bdev: dev=%p[%lu,%d:%d]"
++	"vroot[%d]_set_dev: dev=%p[%lu,%d:%d]"
++	"vroot_get_real_bdev not set"
++ 1   2	"cow_break_link(»%s«)"
++	"temp copy »%s«"
++ 2   4	"dentry_open(new): %p"
++	"dentry_open(old): %p"
++	"lookup_create(new): %p"
++	"old path »%s«"
++	"path_lookup(old): %d"
++	"vfs_create(new): %d"
++	"vfs_rename: %d"
++	"vfs_sendfile: %d"
++ 3   8	"fput(new_file=%p[#%d])"
++	"fput(old_file=%p[#%d])"
++ 4  10	"vx_info_kill(%p[#%d],%d,%d) = %d"
++	"vx_info_kill(%p[#%d],%d,%d)*"
++ 5  20	"vs_reboot(%p[#%d],%d)"
++ 6  40	"dropping task %p[#%u,%u] for %p[#%u,%u]"
++
++debug_net:
++
++ 2   4	"nx_addr_conflict(%p,%p) %d.%d,%d.%d"
++ 3   8	"inet_bind(%p) %d.%d.%d.%d, %d.%d.%d.%d, %d.%d.%d.%d"
++	"inet_bind(%p)* %p,%p;%lx %d.%d.%d.%d"
++ 4  10	"ip_route_connect(%p) %p,%p;%lx"
++ 5  20	"__addr_in_socket(%p,%d.%d.%d.%d) %p:%d.%d.%d.%d %p;%lx"
++ 6  40	"sk,egf: %p [#%d] (from %d)"
++	"sk,egn: %p [#%d] (from %d)"
++	"sk,req: %p [#%d] (from %d)"
++	"sk: %p [#%d] (from %d)"
++	"tw: %p [#%d] (from %d)"
++ 7  80	"__sock_recvmsg: %p[%p,%p,%p;%d]:%d/%d"
++	"__sock_sendmsg: %p[%p,%p,%p;%d]:%d/%d"
++
++debug_nid:
++
++ 0   1	"__lookup_nx_info(#%u): %p[#%u]"
++	"alloc_nx_info(%d) = %p"
++	"create_nx_info(%d) (dynamic rejected)"
++	"create_nx_info(%d) = %p (already there)"
++	"create_nx_info(%d) = %p (new)"
++	"dealloc_nx_info(%p)"
++ 1   2	"alloc_nx_info(%d)*"
++	"create_nx_info(%d)*"
++ 2   4	"get_nx_info(%p[#%d.%d])"
++	"put_nx_info(%p[#%d.%d])"
++ 3   8	"claim_nx_info(%p[#%d.%d.%d]) %p"
++	"clr_nx_info(%p[#%d.%d])"
++	"init_nx_info(%p[#%d.%d])"
++	"release_nx_info(%p[#%d.%d.%d]) %p"
++	"set_nx_info(%p[#%d.%d])"
++ 4  10	"__hash_nx_info: %p[#%d]"
++	"__nx_dynamic_id: [#%d]"
++	"__unhash_nx_info: %p[#%d.%d.%d]"
++ 5  20	"moved task %p into nxi:%p[#%d]"
++	"nx_migrate_task(%p,%p[#%d.%d.%d])"
++	"task_get_nx_info(%p)"
++ 6  40	"nx_clear_persistent(%p[#%d])"
++
++debug_quota:
++
++ 0   1	"quota_sync_dqh(%p,%d) discard inode %p"
++ 1   2	"quota_sync_dqh(%p,%d)"
++	"sync_dquots(%p,%d)"
++	"sync_dquots_dqh(%p,%d)"
++ 3   8	"do_quotactl(%p,%d,cmd=%d,id=%d,%p)"
++
++debug_switch:
++
++ 0   1	"vc: VCMD_%02d_%d[%d], %d,%p [%d,%d,%x,%x]"
++ 1   2	"vc: VCMD_%02d_%d[%d] = %08lx(%ld) [%d,%d]"
++ 4  10	"%s: (%s %s) returned %s with %d"
++
++debug_tag:
++
++ 7  80	"dx_parse_tag(»%s«): %d:#%d"
++	"dx_propagate_tag(%p[#%lu.%d]): %d,%d"
++
++debug_xid:
++
++ 0   1	"__lookup_vx_info(#%u): %p[#%u]"
++	"alloc_vx_info(%d) = %p"
++	"alloc_vx_info(%d)*"
++	"create_vx_info(%d) (dynamic rejected)"
++	"create_vx_info(%d) = %p (already there)"
++	"create_vx_info(%d) = %p (new)"
++	"dealloc_vx_info(%p)"
++	"loc_vx_info(%d) = %p (found)"
++	"loc_vx_info(%d) = %p (new)"
++	"loc_vx_info(%d) = %p (not available)"
++ 1   2	"create_vx_info(%d)*"
++	"loc_vx_info(%d)*"
++ 2   4	"get_vx_info(%p[#%d.%d])"
++	"put_vx_info(%p[#%d.%d])"
++ 3   8	"claim_vx_info(%p[#%d.%d.%d]) %p"
++	"clr_vx_info(%p[#%d.%d])"
++	"init_vx_info(%p[#%d.%d])"
++	"release_vx_info(%p[#%d.%d.%d]) %p"
++	"set_vx_info(%p[#%d.%d])"
++ 4  10	"__hash_vx_info: %p[#%d]"
++	"__unhash_vx_info: %p[#%d.%d.%d]"
++	"__vx_dynamic_id: [#%d]"
++ 5  20	"enter_vx_info(%p[#%d],%p) %p[#%d,%p]"
++	"leave_vx_info(%p[#%d,%p]) %p[#%d,%p]"
++	"moved task %p into vxi:%p[#%d]"
++	"task_get_vx_info(%p)"
++	"vx_migrate_task(%p,%p[#%d.%d])"
++ 6  40	"vx_clear_persistent(%p[#%d])"
++	"vx_exit_init(%p[#%d],%p[#%d,%d,%d])"
++	"vx_set_init(%p[#%d],%p[#%d,%d,%d])"
++	"vx_set_persistent(%p[#%d])"
++	"vx_set_reaper(%p[#%d],%p[#%d,%d])"
++ 7  80	"vx_child_reaper(%p[#%u,%u]) = %p[#%u,%u]"
++
++
++debug_limit:
++
++ n 2^n	"vx_acc_cres[%5d,%s,%2d]: %5d%s"
++	"vx_cres_avail[%5d,%s,%2d]: %5ld > %5d + %5d"
++
++ m 2^m	"vx_acc_page[%5d,%s,%2d]: %5d%s"
++	"vx_acc_pages[%5d,%s,%2d]: %5d += %5d"
++	"vx_pages_avail[%5d,%s,%2d]: %5ld > %5d + %5d"
+diff -NurpP --minimal linux-2.6.24.4/Makefile linux-2.6.24.4-vs2.3.0.34/Makefile
+--- linux-2.6.24.4/Makefile	2008-03-27 17:51:27 +0100
++++ linux-2.6.24.4-vs2.3.0.34/Makefile	2008-03-28 17:40:15 +0100
+@@ -1,7 +1,7 @@
+ VERSION = 2
+ PATCHLEVEL = 6
+ SUBLEVEL = 24
+-EXTRAVERSION = .4
++EXTRAVERSION = .4-vs2.3.0.34
+ NAME = Err Metey! A Heury Beelge-a Ret!
+ 
+ # *DOCUMENTATION*
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/Kconfig linux-2.6.24.4-vs2.3.0.34/arch/alpha/Kconfig
+--- linux-2.6.24.4/arch/alpha/Kconfig	2008-03-27 17:44:40 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/Kconfig	2007-12-13 13:25:26 +0100
+@@ -665,6 +665,8 @@ config DUMMY_CONSOLE
+ 	depends on VGA_HOSE
+ 	default y
+ 
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+ 
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/kernel/asm-offsets.c linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/asm-offsets.c
+--- linux-2.6.24.4/arch/alpha/kernel/asm-offsets.c	2006-02-15 13:54:10 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/asm-offsets.c	2007-12-13 13:25:44 +0100
+@@ -36,6 +36,7 @@ void foo(void)
+ 	DEFINE(PT_PTRACED, PT_PTRACED);
+ 	DEFINE(CLONE_VM, CLONE_VM);
+ 	DEFINE(CLONE_UNTRACED, CLONE_UNTRACED);
++	DEFINE(CLONE_KTHREAD, CLONE_KTHREAD);
+ 	DEFINE(SIGCHLD, SIGCHLD);
+ 	BLANK();
+ 
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/kernel/entry.S linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/entry.S
+--- linux-2.6.24.4/arch/alpha/kernel/entry.S	2008-03-27 17:44:40 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/entry.S	2007-12-13 13:25:48 +0100
+@@ -643,7 +643,7 @@ kernel_thread:
+ 	stq	$2, 152($sp)		/* HAE */
+ 
+ 	/* Shuffle FLAGS to the front; add CLONE_VM.  */
+-	ldi	$1, CLONE_VM|CLONE_UNTRACED
++	ldi	$1, CLONE_VM | CLONE_UNTRACED | CLONE_KTHREAD;
+ 	or	$18, $1, $16
+ 	bsr	$26, sys_clone
+ 
+@@ -872,24 +872,15 @@ sys_getxgid:
+ 	.globl	sys_getxpid
+ 	.ent	sys_getxpid
+ sys_getxpid:
++	lda	$sp, -16($sp)
++	stq	$26, 0($sp)
+ 	.prologue 0
+-	ldq	$2, TI_TASK($8)
+ 
+-	/* See linux/kernel/timer.c sys_getppid for discussion
+-	   about this loop.  */
+-	ldq	$3, TASK_GROUP_LEADER($2)
+-	ldq	$4, TASK_REAL_PARENT($3)
+-	ldl	$0, TASK_TGID($2)
+-1:	ldl	$1, TASK_TGID($4)
+-#ifdef CONFIG_SMP
+-	mov	$4, $5
+-	mb
+-	ldq	$3, TASK_GROUP_LEADER($2)
+-	ldq	$4, TASK_REAL_PARENT($3)
+-	cmpeq	$4, $5, $5
+-	beq	$5, 1b
+-#endif
+-	stq	$1, 80($sp)
++	lda	$16, 96($sp)
++	jsr	$26, do_getxpid
++	ldq	$26, 0($sp)
++
++	lda	$sp, 16($sp)
+ 	ret
+ .end sys_getxpid
+ 
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/kernel/osf_sys.c linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/osf_sys.c
+--- linux-2.6.24.4/arch/alpha/kernel/osf_sys.c	2008-03-27 17:44:40 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/osf_sys.c	2007-12-13 13:25:31 +0100
+@@ -883,7 +883,7 @@ osf_gettimeofday(struct timeval32 __user
+ {
+ 	if (tv) {
+ 		struct timeval ktv;
+-		do_gettimeofday(&ktv);
++		vx_gettimeofday(&ktv);
+ 		if (put_tv32(tv, &ktv))
+ 			return -EFAULT;
+ 	}
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/kernel/ptrace.c linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/ptrace.c
+--- linux-2.6.24.4/arch/alpha/kernel/ptrace.c	2008-03-27 17:44:40 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/ptrace.c	2007-12-13 13:25:11 +0100
+@@ -15,6 +15,7 @@
+ #include <linux/slab.h>
+ #include <linux/security.h>
+ #include <linux/signal.h>
++#include <linux/vs_base.h>
+ 
+ #include <asm/uaccess.h>
+ #include <asm/pgtable.h>
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/kernel/semaphore.c linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/semaphore.c
+--- linux-2.6.24.4/arch/alpha/kernel/semaphore.c	2008-03-27 17:44:40 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/semaphore.c	2007-12-13 13:25:29 +0100
+@@ -68,8 +68,8 @@ __down_failed(struct semaphore *sem)
+ 	DECLARE_WAITQUEUE(wait, tsk);
+ 
+ #ifdef CONFIG_DEBUG_SEMAPHORE
+-	printk("%s(%d): down failed(%p)\n",
+-	       tsk->comm, task_pid_nr(tsk), sem);
++	printk("%s(%d:#%u): down failed(%p)\n",
++	       tsk->comm, task_pid_nr(tsk), tsk->xid, sem);
+ #endif
+ 
+ 	tsk->state = TASK_UNINTERRUPTIBLE;
+@@ -97,8 +97,8 @@ __down_failed(struct semaphore *sem)
+ 	wake_up(&sem->wait);
+ 
+ #ifdef CONFIG_DEBUG_SEMAPHORE
+-	printk("%s(%d): down acquired(%p)\n",
+-	       tsk->comm, task_pid_nr(tsk), sem);
++	printk("%s(%d:#%u): down acquired(%p)\n",
++	       tsk->comm, task_pid_nr(tsk), tsk->xid, sem);
+ #endif
+ }
+ 
+@@ -110,8 +110,8 @@ __down_failed_interruptible(struct semap
+ 	long ret = 0;
+ 
+ #ifdef CONFIG_DEBUG_SEMAPHORE
+-	printk("%s(%d): down failed(%p)\n",
+-	       tsk->comm, task_pid_nr(tsk), sem);
++	printk("%s(%d:#%u): down failed(%p)\n",
++	       tsk->comm, task_pid_nr(tsk), tsk->xid, sem);
+ #endif
+ 
+ 	tsk->state = TASK_INTERRUPTIBLE;
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/kernel/systbls.S linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/systbls.S
+--- linux-2.6.24.4/arch/alpha/kernel/systbls.S	2007-07-09 13:17:31 +0200
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/systbls.S	2007-12-13 13:25:27 +0100
+@@ -446,7 +446,7 @@ sys_call_table:
+ 	.quad sys_stat64			/* 425 */
+ 	.quad sys_lstat64
+ 	.quad sys_fstat64
+-	.quad sys_ni_syscall			/* sys_vserver */
++	.quad sys_vserver			/* sys_vserver */
+ 	.quad sys_ni_syscall			/* sys_mbind */
+ 	.quad sys_ni_syscall			/* sys_get_mempolicy */
+ 	.quad sys_ni_syscall			/* sys_set_mempolicy */
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/kernel/traps.c linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/traps.c
+--- linux-2.6.24.4/arch/alpha/kernel/traps.c	2008-03-27 17:44:40 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/kernel/traps.c	2007-12-13 13:25:29 +0100
+@@ -182,7 +182,8 @@ die_if_kernel(char * str, struct pt_regs
+ #ifdef CONFIG_SMP
+ 	printk("CPU %d ", hard_smp_processor_id());
+ #endif
+-	printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err);
++	printk("%s(%d[#%u]): %s %ld\n", current->comm,
++		task_pid_nr(current), current->xid, str, err);
+ 	dik_show_regs(regs, r9_15);
+ 	add_taint(TAINT_DIE);
+ 	dik_show_trace((unsigned long *)(regs+1));
+diff -NurpP --minimal linux-2.6.24.4/arch/alpha/mm/fault.c linux-2.6.24.4-vs2.3.0.34/arch/alpha/mm/fault.c
+--- linux-2.6.24.4/arch/alpha/mm/fault.c	2008-03-27 17:44:40 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/alpha/mm/fault.c	2007-12-13 13:25:29 +0100
+@@ -193,8 +193,8 @@ do_page_fault(unsigned long address, uns
+ 		down_read(&mm->mmap_sem);
+ 		goto survive;
+ 	}
+-	printk(KERN_ALERT "VM: killing process %s(%d)\n",
+-	       current->comm, task_pid_nr(current));
++	printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n",
++	       current->comm, task_pid_nr(current), current->xid);
+ 	if (!user_mode(regs))
+ 		goto no_context;
+ 	do_group_exit(SIGKILL);
+diff -NurpP --minimal linux-2.6.24.4/arch/arm/Kconfig linux-2.6.24.4-vs2.3.0.34/arch/arm/Kconfig
+--- linux-2.6.24.4/arch/arm/Kconfig	2008-03-27 17:44:42 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/arm/Kconfig	2008-01-28 20:35:50 +0100
+@@ -1082,6 +1082,8 @@ source "arch/arm/Kconfig.instrumentation
+ 
+ source "arch/arm/Kconfig.debug"
+ 
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+ 
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.24.4/arch/arm/kernel/calls.S linux-2.6.24.4-vs2.3.0.34/arch/arm/kernel/calls.S
+--- linux-2.6.24.4/arch/arm/kernel/calls.S	2008-03-27 17:44:42 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/arm/kernel/calls.S	2007-12-13 13:25:28 +0100
+@@ -322,7 +322,7 @@
+ /* 310 */	CALL(sys_request_key)
+ 		CALL(sys_keyctl)
+ 		CALL(ABI(sys_semtimedop, sys_oabi_semtimedop))
+-/* vserver */	CALL(sys_ni_syscall)
++		CALL(sys_vserver)
+ 		CALL(sys_ioprio_set)
+ /* 315 */	CALL(sys_ioprio_get)
+ 		CALL(sys_inotify_init)
+diff -NurpP --minimal linux-2.6.24.4/arch/arm/kernel/process.c linux-2.6.24.4-vs2.3.0.34/arch/arm/kernel/process.c
+--- linux-2.6.24.4/arch/arm/kernel/process.c	2008-03-27 17:44:42 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/arm/kernel/process.c	2007-12-13 13:25:44 +0100
+@@ -265,7 +265,8 @@ void __show_regs(struct pt_regs *regs)
+ void show_regs(struct pt_regs * regs)
+ {
+ 	printk("\n");
+-	printk("Pid: %d, comm: %20s\n", task_pid_nr(current), current->comm);
++	printk("Pid: %d[#%u], comm: %20s\n",
++		task_pid_nr(current), current->xid, current->comm);
+ 	__show_regs(regs);
+ 	__backtrace();
+ }
+@@ -427,7 +428,8 @@ pid_t kernel_thread(int (*fn)(void *), v
+ 	regs.ARM_pc = (unsigned long)kernel_thread_helper;
+ 	regs.ARM_cpsr = SVC_MODE;
+ 
+-	return do_fork(flags|CLONE_VM|CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
++	return do_fork(flags | CLONE_VM | CLONE_UNTRACED | CLONE_KTHREAD,
++		0, &regs, 0, NULL, NULL);
+ }
+ EXPORT_SYMBOL(kernel_thread);
+ 
+diff -NurpP --minimal linux-2.6.24.4/arch/arm/kernel/traps.c linux-2.6.24.4-vs2.3.0.34/arch/arm/kernel/traps.c
+--- linux-2.6.24.4/arch/arm/kernel/traps.c	2008-03-27 17:44:42 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/arm/kernel/traps.c	2007-12-31 12:34:02 +0100
+@@ -222,8 +222,8 @@ static void __die(const char *str, int e
+ 	       str, err, ++die_counter);
+ 	print_modules();
+ 	__show_regs(regs);
+-	printk("Process %s (pid: %d, stack limit = 0x%p)\n",
+-		tsk->comm, task_pid_nr(tsk), thread + 1);
++	printk("Process %s (pid: %d:#%u, stack limit = 0x%p)\n",
++		tsk->comm, task_pid_nr(tsk), tsk->xid, thread + 1);
+ 
+ 	if (!user_mode(regs) || in_interrupt()) {
+ 		dump_mem("Stack: ", regs->ARM_sp,
+diff -NurpP --minimal linux-2.6.24.4/arch/arm/mm/fault.c linux-2.6.24.4-vs2.3.0.34/arch/arm/mm/fault.c
+--- linux-2.6.24.4/arch/arm/mm/fault.c	2008-03-27 17:44:44 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/arm/mm/fault.c	2007-12-13 13:25:29 +0100
+@@ -265,7 +265,8 @@ do_page_fault(unsigned long addr, unsign
+ 		 * happened to us that made us unable to handle
+ 		 * the page fault gracefully.
+ 		 */
+-		printk("VM: killing process %s\n", tsk->comm);
++		printk("VM: killing process %s(%d:#%u)\n",
++			tsk->comm, task_pid_nr(tsk), tsk->xid);
+ 		do_group_exit(SIGKILL);
+ 		return 0;
+ 	}
+diff -NurpP --minimal linux-2.6.24.4/arch/cris/Kconfig linux-2.6.24.4-vs2.3.0.34/arch/cris/Kconfig
+--- linux-2.6.24.4/arch/cris/Kconfig	2008-03-27 17:44:47 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/cris/Kconfig	2007-12-13 13:25:26 +0100
+@@ -217,6 +217,8 @@ source "kernel/Kconfig.instrumentation"
+ 
+ source "arch/cris/Kconfig.debug"
+ 
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+ 
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.24.4/arch/cris/arch-v10/kernel/process.c linux-2.6.24.4-vs2.3.0.34/arch/cris/arch-v10/kernel/process.c
+--- linux-2.6.24.4/arch/cris/arch-v10/kernel/process.c	2008-03-27 17:44:48 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/cris/arch-v10/kernel/process.c	2007-12-13 13:25:44 +0100
+@@ -103,7 +103,8 @@ int kernel_thread(int (*fn)(void *), voi
+ 	regs.dccr = 1 << I_DCCR_BITNR;
+ 
+ 	/* Ok, create the new process.. */
+-        return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
++	return do_fork(flags | CLONE_VM | CLONE_UNTRACED | CLONE_KTHREAD,
++		0, &regs, 0, NULL, NULL);
+ }
+ 
+ /* setup the child's kernel stack with a pt_regs and switch_stack on it.
+diff -NurpP --minimal linux-2.6.24.4/arch/cris/arch-v32/kernel/process.c linux-2.6.24.4-vs2.3.0.34/arch/cris/arch-v32/kernel/process.c
+--- linux-2.6.24.4/arch/cris/arch-v32/kernel/process.c	2008-03-27 17:44:48 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/cris/arch-v32/kernel/process.c	2007-12-13 13:25:44 +0100
+@@ -120,7 +120,8 @@ kernel_thread(int (*fn)(void *), void * 
+ 	regs.ccs = 1 << (I_CCS_BITNR + CCS_SHIFT);
+ 
+ 	/* Create the new process. */
+-        return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
++	return do_fork(flags | CLONE_VM | CLONE_UNTRACED | CLONE_KTHREAD,
++		0, &regs, 0, NULL, NULL);
+ }
+ 
+ /*
+diff -NurpP --minimal linux-2.6.24.4/arch/frv/kernel/kernel_thread.S linux-2.6.24.4-vs2.3.0.34/arch/frv/kernel/kernel_thread.S
+--- linux-2.6.24.4/arch/frv/kernel/kernel_thread.S	2005-03-02 12:38:20 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/frv/kernel/kernel_thread.S	2007-12-13 13:25:44 +0100
+@@ -13,6 +13,8 @@
+ #include <asm/unistd.h>
+ 
+ #define CLONE_VM	0x00000100	/* set if VM shared between processes */
++#define CLONE_KTHREAD	0x10000000	/* kernel thread */
++#define CLONE_KT	(CLONE_VM | CLONE_KTHREAD)	/* kernel thread flags */
+ #define	KERN_ERR	"<3>"
+ 
+ 	.section .rodata
+@@ -37,7 +39,7 @@ kernel_thread:
+ 
+ 	# start by forking the current process, but with shared VM
+ 	setlos.p	#__NR_clone,gr7		; syscall number
+-	ori		gr10,#CLONE_VM,gr8	; first syscall arg	[clone_flags]
++	ori		gr10,#CLONE_KT,gr8	; first syscall arg	[clone_flags]
+ 	sethi.p		#0xe4e4,gr9		; second syscall arg	[newsp]
+ 	setlo		#0xe4e4,gr9
+ 	setlos.p	#0,gr10			; third syscall arg	[parent_tidptr]
+diff -NurpP --minimal linux-2.6.24.4/arch/h8300/Kconfig linux-2.6.24.4-vs2.3.0.34/arch/h8300/Kconfig
+--- linux-2.6.24.4/arch/h8300/Kconfig	2008-03-27 17:44:49 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/h8300/Kconfig	2007-12-13 13:25:26 +0100
+@@ -227,6 +227,8 @@ source "kernel/Kconfig.instrumentation"
+ 
+ source "arch/h8300/Kconfig.debug"
+ 
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+ 
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.24.4/arch/h8300/kernel/process.c linux-2.6.24.4-vs2.3.0.34/arch/h8300/kernel/process.c
+--- linux-2.6.24.4/arch/h8300/kernel/process.c	2007-11-29 01:00:10 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/h8300/kernel/process.c	2007-12-13 13:25:44 +0100
+@@ -135,7 +135,7 @@ int kernel_thread(int (*fn)(void *), voi
+ 
+ 	fs = get_fs();
+ 	set_fs (KERNEL_DS);
+-	clone_arg = flags | CLONE_VM;
++	clone_arg = flags | CLONE_VM | CLONE_KTHREAD;
+ 	__asm__("mov.l sp,er3\n\t"
+ 		"sub.l er2,er2\n\t"
+ 		"mov.l %2,er1\n\t"
+diff -NurpP --minimal linux-2.6.24.4/arch/ia64/Kconfig linux-2.6.24.4-vs2.3.0.34/arch/ia64/Kconfig
+--- linux-2.6.24.4/arch/ia64/Kconfig	2008-03-27 17:44:54 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/ia64/Kconfig	2007-12-13 13:25:26 +0100
+@@ -596,6 +596,8 @@ source "kernel/Kconfig.instrumentation"
+ 
+ source "arch/ia64/Kconfig.debug"
+ 
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+ 
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.24.4/arch/ia64/ia32/ia32_entry.S linux-2.6.24.4-vs2.3.0.34/arch/ia64/ia32/ia32_entry.S
+--- linux-2.6.24.4/arch/ia64/ia32/ia32_entry.S	2007-11-29 01:00:17 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/ia64/ia32/ia32_entry.S	2007-12-13 13:25:28 +0100
+@@ -446,7 +446,7 @@ ia32_syscall_table:
+  	data8 sys_tgkill	/* 270 */
+  	data8 compat_sys_utimes
+  	data8 sys32_fadvise64_64
+- 	data8 sys_ni_syscall
++	data8 sys32_vserver
+   	data8 sys_ni_syscall
+  	data8 sys_ni_syscall	/* 275 */
+   	data8 sys_ni_syscall
+diff -NurpP --minimal linux-2.6.24.4/arch/ia64/ia32/sys_ia32.c linux-2.6.24.4-vs2.3.0.34/arch/ia64/ia32/sys_ia32.c
+--- linux-2.6.24.4/arch/ia64/ia32/sys_ia32.c	2008-03-27 17:44:54 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/ia64/ia32/sys_ia32.c	2007-12-13 13:25:31 +0100
+@@ -1182,7 +1182,7 @@ sys32_gettimeofday (struct compat_timeva
+ {
+ 	if (tv) {
+ 		struct timeval ktv;
+-		do_gettimeofday(&ktv);
++		vx_gettimeofday(&ktv);
+ 		if (put_tv32(tv, &ktv))
+ 			return -EFAULT;
+ 	}
+diff -NurpP --minimal linux-2.6.24.4/arch/ia64/kernel/asm-offsets.c linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/asm-offsets.c
+--- linux-2.6.24.4/arch/ia64/kernel/asm-offsets.c	2007-11-29 01:00:17 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/asm-offsets.c	2007-12-13 13:25:44 +0100
+@@ -194,6 +194,7 @@ void foo(void)
+     /* for assembly files which can't include sched.h: */
+ 	DEFINE(IA64_CLONE_VFORK, CLONE_VFORK);
+ 	DEFINE(IA64_CLONE_VM, CLONE_VM);
++	DEFINE(IA64_CLONE_KTHREAD, CLONE_KTHREAD);
+ 
+ 	BLANK();
+ 	DEFINE(IA64_CPUINFO_NSEC_PER_CYC_OFFSET,
+diff -NurpP --minimal linux-2.6.24.4/arch/ia64/kernel/entry.S linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/entry.S
+--- linux-2.6.24.4/arch/ia64/kernel/entry.S	2007-11-29 01:00:17 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/entry.S	2007-12-13 13:25:28 +0100
+@@ -1547,7 +1547,7 @@ sys_call_table:
+ 	data8 sys_mq_notify
+ 	data8 sys_mq_getsetattr
+ 	data8 sys_kexec_load
+-	data8 sys_ni_syscall			// reserved for vserver
++	data8 sys_vserver
+ 	data8 sys_waitid			// 1270
+ 	data8 sys_add_key
+ 	data8 sys_request_key
+diff -NurpP --minimal linux-2.6.24.4/arch/ia64/kernel/perfmon.c linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/perfmon.c
+--- linux-2.6.24.4/arch/ia64/kernel/perfmon.c	2008-03-27 17:44:55 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/perfmon.c	2007-12-13 13:25:41 +0100
+@@ -40,6 +40,7 @@
+ #include <linux/capability.h>
+ #include <linux/rcupdate.h>
+ #include <linux/completion.h>
++#include <linux/vs_memory.h>
+ 
+ #include <asm/errno.h>
+ #include <asm/intrinsics.h>
+@@ -2389,7 +2390,7 @@ pfm_smpl_buffer_alloc(struct task_struct
+ 	 */
+ 	insert_vm_struct(mm, vma);
+ 
+-	mm->total_vm  += size >> PAGE_SHIFT;
++	vx_vmpages_add(mm, size >> PAGE_SHIFT);
+ 	vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file,
+ 							vma_pages(vma));
+ 	up_write(&task->mm->mmap_sem);
+diff -NurpP --minimal linux-2.6.24.4/arch/ia64/kernel/process.c linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/process.c
+--- linux-2.6.24.4/arch/ia64/kernel/process.c	2008-03-27 17:44:55 +0100
++++ linux-2.6.24.4-vs2.3.0.34/arch/ia64/kernel/process.c	2007-12-31 12:36:36 +0100
+@@ -106,8 +106,8 @@ show_regs (struct pt_regs *regs)
+ 	unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
+ 
+ 	print_modules();
+-	printk("\nPid: %d, CPU %d, comm: %20s\n", task_pid_nr(current),
+-			smp_processor_id(), current->comm);
++	printk("\nPid: %d[#%u], CPU %d, comm: %20s\n", task_pid_nr(current),
++			current->xid, smp_processor_id(), current->comm);
+ 	printk("psr : %016lx ifs : %016lx ip  : [<%016lx>]    %s (%s)\n",
+ 	       regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(),
+ 	       init_utsname()->release);
+@@ -705,7 +705,8 @@ kernel_thread (int (*fn)(void *), void *
+ 	regs.sw.ar_fpsr = regs.pt.ar_fpsr = ia64_getreg(_IA64_REG_AR_FPSR);
+ 	regs.sw.ar_bspstore = (unsigned long) current + IA64_RBS_OFFSET;
+ 	regs.sw.pr = (1 << PRED_KERNEL_STACK);
+-	return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs.pt, 0, NULL, NULL);
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/linux-2.6-vs2.3.patch?r1=1.2.4.11.2.17&r2=1.2.4.11.2.18&f=u



More information about the pld-cvs-commit mailing list