SOURCES (LINUX_2_6): patch-2.6.16-vs2.0.2-rc14.diff (NEW) - Vserve...
cieciwa
cieciwa at pld-linux.org
Thu Mar 30 10:13:55 CEST 2006
Author: cieciwa Date: Thu Mar 30 08:13:54 2006 GMT
Module: SOURCES Tag: LINUX_2_6
---- Log message:
- Vserver patch for kernel 2.6.16 and 2.6.16.1
---- Files affected:
SOURCES:
patch-2.6.16-vs2.0.2-rc14.diff (NONE -> 1.1.2.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/patch-2.6.16-vs2.0.2-rc14.diff
diff -u /dev/null SOURCES/patch-2.6.16-vs2.0.2-rc14.diff:1.1.2.1
--- /dev/null Thu Mar 30 10:13:54 2006
+++ SOURCES/patch-2.6.16-vs2.0.2-rc14.diff Thu Mar 30 10:13:49 2006
@@ -0,0 +1,21330 @@
+diff -NurpP --minimal linux-2.6.16/Makefile linux-2.6.16-vs2.0.2-rc14/Makefile
+--- linux-2.6.16/Makefile 2006-03-20 17:32:17 +0100
++++ linux-2.6.16-vs2.0.2-rc14/Makefile 2006-03-23 23:03:13 +0100
+@@ -1,7 +1,7 @@
+ VERSION = 2
+ PATCHLEVEL = 6
+ SUBLEVEL = 16
+-EXTRAVERSION =
++EXTRAVERSION = -vs2.0.2-rc14
+ NAME=Sliding Snow Leopard
+
+ # *DOCUMENTATION*
+diff -NurpP --minimal linux-2.6.16/arch/alpha/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/alpha/Kconfig
+--- linux-2.6.16/arch/alpha/Kconfig 2006-03-20 17:32:17 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/alpha/Kconfig 2006-03-20 17:34:49 +0100
+@@ -619,6 +619,8 @@ source "arch/alpha/oprofile/Kconfig"
+
+ source "arch/alpha/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/alpha/kernel/entry.S linux-2.6.16-vs2.0.2-rc14/arch/alpha/kernel/entry.S
+--- linux-2.6.16/arch/alpha/kernel/entry.S 2006-03-20 17:32:17 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/alpha/kernel/entry.S 2006-03-20 17:34:49 +0100
+@@ -874,24 +874,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.16/arch/alpha/kernel/ptrace.c linux-2.6.16-vs2.0.2-rc14/arch/alpha/kernel/ptrace.c
+--- linux-2.6.16/arch/alpha/kernel/ptrace.c 2006-03-20 17:32:17 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/alpha/kernel/ptrace.c 2006-03-20 17:34:49 +0100
+@@ -15,6 +15,7 @@
+ #include <linux/slab.h>
+ #include <linux/security.h>
+ #include <linux/signal.h>
++#include <linux/vs_cvirt.h>
+
+ #include <asm/uaccess.h>
+ #include <asm/pgtable.h>
+@@ -283,6 +284,11 @@ do_sys_ptrace(long request, long pid, lo
+ goto out_notsk;
+ }
+
++ if (!vx_check(vx_task_xid(child), VX_WATCH|VX_IDENT)) {
++ ret = -EPERM;
++ goto out;
++ }
++
+ if (request == PTRACE_ATTACH) {
+ ret = ptrace_attach(child);
+ goto out;
+diff -NurpP --minimal linux-2.6.16/arch/alpha/kernel/systbls.S linux-2.6.16-vs2.0.2-rc14/arch/alpha/kernel/systbls.S
+--- linux-2.6.16/arch/alpha/kernel/systbls.S 2005-08-29 22:24:49 +0200
++++ linux-2.6.16-vs2.0.2-rc14/arch/alpha/kernel/systbls.S 2006-03-20 17:34:49 +0100
+@@ -447,7 +447,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.16/arch/alpha/mm/init.c linux-2.6.16-vs2.0.2-rc14/arch/alpha/mm/init.c
+--- linux-2.6.16/arch/alpha/mm/init.c 2006-03-20 17:32:18 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/alpha/mm/init.c 2006-03-20 17:34:49 +0100
+@@ -21,6 +21,7 @@
+ #include <linux/init.h>
+ #include <linux/bootmem.h> /* max_low_pfn */
+ #include <linux/vmalloc.h>
++#include <linux/pagemap.h>
+
+ #include <asm/system.h>
+ #include <asm/uaccess.h>
+diff -NurpP --minimal linux-2.6.16/arch/arm/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/arm/Kconfig
+--- linux-2.6.16/arch/arm/Kconfig 2006-03-20 17:32:18 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/arm/Kconfig 2006-03-20 17:34:49 +0100
+@@ -827,6 +827,8 @@ source "arch/arm/oprofile/Kconfig"
+
+ source "arch/arm/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/arm/kernel/calls.S linux-2.6.16-vs2.0.2-rc14/arch/arm/kernel/calls.S
+--- linux-2.6.16/arch/arm/kernel/calls.S 2006-03-20 17:32:18 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/arm/kernel/calls.S 2006-03-20 17:34:49 +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.16/arch/arm26/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/arm26/Kconfig
+--- linux-2.6.16/arch/arm26/Kconfig 2006-03-20 17:32:19 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/arm26/Kconfig 2006-03-20 17:34:49 +0100
+@@ -230,6 +230,8 @@ source "drivers/usb/Kconfig"
+
+ source "arch/arm26/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/arm26/kernel/calls.S linux-2.6.16-vs2.0.2-rc14/arch/arm26/kernel/calls.S
+--- linux-2.6.16/arch/arm26/kernel/calls.S 2005-03-02 12:38:19 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/arm26/kernel/calls.S 2006-03-20 17:34:49 +0100
+@@ -257,6 +257,11 @@ __syscall_start:
+ .long sys_lremovexattr
+ .long sys_fremovexattr
+ .long sys_tkill
++
++ .rept 313 - (. - __syscall_start) / 4
++ .long sys_ni_syscall
++ .endr
++ .long sys_vserver /* 313 */
+ __syscall_end:
+
+ .rept NR_syscalls - (__syscall_end - __syscall_start) / 4
+diff -NurpP --minimal linux-2.6.16/arch/arm26/kernel/traps.c linux-2.6.16-vs2.0.2-rc14/arch/arm26/kernel/traps.c
+--- linux-2.6.16/arch/arm26/kernel/traps.c 2006-03-20 17:32:19 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/arm26/kernel/traps.c 2006-03-20 17:34:49 +0100
+@@ -186,8 +186,9 @@ NORET_TYPE void die(const char *str, str
+ printk("Internal error: %s: %x\n", str, err);
+ printk("CPU: %d\n", smp_processor_id());
+ show_regs(regs);
+- printk("Process %s (pid: %d, stack limit = 0x%p)\n",
+- current->comm, current->pid, end_of_stack(tsk));
++ printk("Process %s (pid: %d[#%u], stack limit = 0x%p)\n",
++ current->comm, current->pid,
++ current->xid, end_of_stack(tsk));
+
+ if (!user_mode(regs) || in_interrupt()) {
+ __dump_stack(tsk, (unsigned long)(regs + 1));
+diff -NurpP --minimal linux-2.6.16/arch/cris/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/cris/Kconfig
+--- linux-2.6.16/arch/cris/Kconfig 2006-03-20 17:32:19 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/cris/Kconfig 2006-03-20 17:34:49 +0100
+@@ -173,6 +173,8 @@ source "drivers/usb/Kconfig"
+
+ source "arch/cris/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/frv/mm/mmu-context.c linux-2.6.16-vs2.0.2-rc14/arch/frv/mm/mmu-context.c
+--- linux-2.6.16/arch/frv/mm/mmu-context.c 2005-03-02 12:38:20 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/frv/mm/mmu-context.c 2006-03-20 17:34:49 +0100
+@@ -11,6 +11,7 @@
+
+ #include <linux/sched.h>
+ #include <linux/mm.h>
++#include <linux/vs_cvirt.h>
+ #include <asm/tlbflush.h>
+
+ #define NR_CXN 4096
+diff -NurpP --minimal linux-2.6.16/arch/h8300/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/h8300/Kconfig
+--- linux-2.6.16/arch/h8300/Kconfig 2006-03-20 17:32:20 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/h8300/Kconfig 2006-03-20 17:34:49 +0100
+@@ -191,6 +191,8 @@ source "fs/Kconfig"
+
+ source "arch/h8300/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/i386/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/i386/Kconfig
+--- linux-2.6.16/arch/i386/Kconfig 2006-03-20 17:32:20 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/i386/Kconfig 2006-03-20 17:34:49 +0100
+@@ -466,23 +466,43 @@ choice
+ will also likely make your kernel incompatible with binary-only
+ kernel modules.
+
+- If you are not absolutely sure what you are doing, leave this
+- option alone!
+-
+ config VMSPLIT_3G
+- bool "3G/1G user/kernel split"
+- config VMSPLIT_3G_OPT
+- bool "3G/1G user/kernel split (for full 1G low memory)"
++ bool "3G/1G user/kernel split (Default)"
++ help
++ This is the default split of 3GB userspace to 1GB kernel
++ space, which will result in about 860MB of lowmem.
++
++ config VMSPLIT_25G
++ bool "2.5G/1.5G user/kernel split"
++ help
++ This split provides 2.5GB userspace and 1.5GB kernel
++ space, which will result in about 1370MB of lowmem.
++
+ config VMSPLIT_2G
+ bool "2G/2G user/kernel split"
++ help
++ This split provides 2GB userspace and 2GB kernel
++ space, which will result in about 1880MB of lowmem.
++
++ config VMSPLIT_15G
++ bool "1.5G/2.5G user/kernel split"
++ help
++ This split provides 1.5GB userspace and 2.5GB kernel
++ space, which will result in about 2390MB of lowmem.
++
+ config VMSPLIT_1G
+ bool "1G/3G user/kernel split"
++ help
++ This split provides 1GB userspace and 3GB kernel
++ space, which will result in about 2900MB of lowmem.
++
+ endchoice
+
+ config PAGE_OFFSET
+ hex
+- default 0xB0000000 if VMSPLIT_3G_OPT
+- default 0x78000000 if VMSPLIT_2G
++ default 0xA0000000 if VMSPLIT_25G
++ default 0x80000000 if VMSPLIT_2G
++ default 0x60000000 if VMSPLIT_15G
+ default 0x40000000 if VMSPLIT_1G
+ default 0xC0000000
+
+@@ -1071,6 +1091,8 @@ endmenu
+
+ source "arch/i386/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/i386/boot/compressed/misc.c linux-2.6.16-vs2.0.2-rc14/arch/i386/boot/compressed/misc.c
+--- linux-2.6.16/arch/i386/boot/compressed/misc.c 2006-03-20 17:32:20 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/i386/boot/compressed/misc.c 2006-03-20 17:34:49 +0100
+@@ -309,7 +309,7 @@ static void setup_normal_output_buffer(v
+ #else
+ if ((RM_ALT_MEM_K > RM_EXT_MEM_K ? RM_ALT_MEM_K : RM_EXT_MEM_K) < 1024) error("Less than 2MB of memory");
+ #endif
+- output_data = (char *)__PHYSICAL_START; /* Normally Points to 1M */
++ output_data = (char *)PHYSICAL_START; /* Normally Points to 1M */
+ free_mem_end_ptr = (long)real_mode;
+ }
+
+@@ -334,8 +334,8 @@ static void setup_output_buffer_if_we_ru
+ low_buffer_size = low_buffer_end - LOW_BUFFER_START;
+ high_loaded = 1;
+ free_mem_end_ptr = (long)high_buffer_start;
+- if ( (__PHYSICAL_START + low_buffer_size) > ((ulg)high_buffer_start)) {
+- high_buffer_start = (uch *)(__PHYSICAL_START + low_buffer_size);
++ if ((PHYSICAL_START + low_buffer_size) > ((ulg)high_buffer_start)) {
++ high_buffer_start = (uch *)(PHYSICAL_START + low_buffer_size);
+ mv->hcount = 0; /* say: we need not to move high_buffer */
+ }
+ else mv->hcount = -1;
+diff -NurpP --minimal linux-2.6.16/arch/i386/kernel/setup.c linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/setup.c
+--- linux-2.6.16/arch/i386/kernel/setup.c 2006-03-20 17:32:20 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/setup.c 2006-03-20 17:34:49 +0100
+@@ -1192,8 +1192,8 @@ void __init setup_bootmem_allocator(void
+ * the (very unlikely) case of us accidentally initializing the
+ * bootmem allocator with an invalid RAM area.
+ */
+- reserve_bootmem(__PHYSICAL_START, (PFN_PHYS(min_low_pfn) +
+- bootmap_size + PAGE_SIZE-1) - (__PHYSICAL_START));
++ reserve_bootmem(PHYSICAL_START, (PFN_PHYS(min_low_pfn) +
++ bootmap_size + PAGE_SIZE-1) - (PHYSICAL_START));
+
+ /*
+ * reserve physical page 0 - it's a special BIOS page on many boxes,
+diff -NurpP --minimal linux-2.6.16/arch/i386/kernel/sys_i386.c linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/sys_i386.c
+--- linux-2.6.16/arch/i386/kernel/sys_i386.c 2004-08-14 12:56:23 +0200
++++ linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/sys_i386.c 2006-03-20 17:34:49 +0100
+@@ -19,6 +19,7 @@
+ #include <linux/mman.h>
+ #include <linux/file.h>
+ #include <linux/utsname.h>
++#include <linux/vs_cvirt.h>
+
+ #include <asm/uaccess.h>
+ #include <asm/ipc.h>
+@@ -217,7 +218,7 @@ asmlinkage int sys_uname(struct old_utsn
+ if (!name)
+ return -EFAULT;
+ down_read(&uts_sem);
+- err=copy_to_user(name, &system_utsname, sizeof (*name));
++ err=copy_to_user(name, vx_new_utsname(), sizeof (*name));
+ up_read(&uts_sem);
+ return err?-EFAULT:0;
+ }
+@@ -225,6 +226,7 @@ asmlinkage int sys_uname(struct old_utsn
+ asmlinkage int sys_olduname(struct oldold_utsname __user * name)
+ {
+ int error;
++ struct new_utsname *ptr;
+
+ if (!name)
+ return -EFAULT;
+@@ -233,15 +235,16 @@ asmlinkage int sys_olduname(struct oldol
+
+ down_read(&uts_sem);
+
+- error = __copy_to_user(&name->sysname,&system_utsname.sysname,__OLD_UTS_LEN);
++ ptr = vx_new_utsname();
++ error = __copy_to_user(&name->sysname,ptr->sysname,__OLD_UTS_LEN);
+ error |= __put_user(0,name->sysname+__OLD_UTS_LEN);
+- error |= __copy_to_user(&name->nodename,&system_utsname.nodename,__OLD_UTS_LEN);
++ error |= __copy_to_user(&name->nodename,ptr->nodename,__OLD_UTS_LEN);
+ error |= __put_user(0,name->nodename+__OLD_UTS_LEN);
+- error |= __copy_to_user(&name->release,&system_utsname.release,__OLD_UTS_LEN);
++ error |= __copy_to_user(&name->release,ptr->release,__OLD_UTS_LEN);
+ error |= __put_user(0,name->release+__OLD_UTS_LEN);
+- error |= __copy_to_user(&name->version,&system_utsname.version,__OLD_UTS_LEN);
++ error |= __copy_to_user(&name->version,ptr->version,__OLD_UTS_LEN);
+ error |= __put_user(0,name->version+__OLD_UTS_LEN);
+- error |= __copy_to_user(&name->machine,&system_utsname.machine,__OLD_UTS_LEN);
++ error |= __copy_to_user(&name->machine,ptr->machine,__OLD_UTS_LEN);
+ error |= __put_user(0,name->machine+__OLD_UTS_LEN);
+
+ up_read(&uts_sem);
+diff -NurpP --minimal linux-2.6.16/arch/i386/kernel/syscall_table.S linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/syscall_table.S
+--- linux-2.6.16/arch/i386/kernel/syscall_table.S 2006-03-20 17:32:20 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/syscall_table.S 2006-03-20 17:34:49 +0100
+@@ -272,7 +272,7 @@ ENTRY(sys_call_table)
+ .long sys_tgkill /* 270 */
+ .long sys_utimes
+ .long sys_fadvise64_64
+- .long sys_ni_syscall /* sys_vserver */
++ .long sys_vserver
+ .long sys_mbind
+ .long sys_get_mempolicy
+ .long sys_set_mempolicy
+diff -NurpP --minimal linux-2.6.16/arch/i386/kernel/traps.c linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/traps.c
+--- linux-2.6.16/arch/i386/kernel/traps.c 2006-03-20 17:32:20 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/i386/kernel/traps.c 2006-03-20 17:34:49 +0100
+@@ -53,6 +53,7 @@
+ #include <asm/kdebug.h>
+
+ #include <linux/module.h>
++#include <linux/vserver/debug.h>
+
+ #include "mach_traps.h"
+
+@@ -252,8 +253,9 @@ void show_registers(struct pt_regs *regs
+ regs->esi, regs->edi, regs->ebp, esp);
+ printk(KERN_EMERG "ds: %04x es: %04x ss: %04x\n",
+ regs->xds & 0xffff, regs->xes & 0xffff, ss);
+- printk(KERN_EMERG "Process %s (pid: %d, threadinfo=%p task=%p)",
+- current->comm, current->pid, current_thread_info(), current);
++ printk(KERN_EMERG "Process %s (pid: %d[#%u], threadinfo=%p task=%p)",
++ current->comm, current->pid, current->xid,
++ current_thread_info(), current);
+ /*
+ * When in-kernel, we also print out the stack and code at the
+ * time of the fault..
+@@ -333,6 +335,8 @@ void die(const char * str, struct pt_reg
+ static int die_counter;
+ unsigned long flags;
+
++ vxh_throw_oops();
++
+ if (die.lock_owner != raw_smp_processor_id()) {
+ console_verbose();
+ spin_lock_irqsave(&die.lock, flags);
+@@ -365,8 +369,9 @@ void die(const char * str, struct pt_reg
+ #endif
+ if (nl)
+ printk("\n");
+- notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV);
++ notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV);
+ show_registers(regs);
++ vxh_dump_history();
+ } else
+ printk(KERN_EMERG "Recursive die() failure, output suppressed\n");
+
+diff -NurpP --minimal linux-2.6.16/arch/ia64/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/ia64/Kconfig
+--- linux-2.6.16/arch/ia64/Kconfig 2006-03-20 17:32:21 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/Kconfig 2006-03-20 17:34:49 +0100
+@@ -464,6 +464,8 @@ endmenu
+
+ source "arch/ia64/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/ia64/ia32/binfmt_elf32.c linux-2.6.16-vs2.0.2-rc14/arch/ia64/ia32/binfmt_elf32.c
+--- linux-2.6.16/arch/ia64/ia32/binfmt_elf32.c 2006-01-03 17:29:09 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/ia32/binfmt_elf32.c 2006-03-20 17:34:49 +0100
+@@ -236,7 +236,8 @@ ia32_setup_arg_pages (struct linux_binpr
+ kmem_cache_free(vm_area_cachep, mpnt);
+ return ret;
+ }
+- current->mm->stack_vm = current->mm->total_vm = vma_pages(mpnt);
++ vx_vmpages_sub(current->mm, current->mm->total_vm - vma_pages(mpnt));
++ current->mm->stack_vm = current->mm->total_vm;
+ }
+
+ for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
+diff -NurpP --minimal linux-2.6.16/arch/ia64/ia32/ia32_entry.S linux-2.6.16-vs2.0.2-rc14/arch/ia64/ia32/ia32_entry.S
+--- linux-2.6.16/arch/ia64/ia32/ia32_entry.S 2006-03-20 17:32:21 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/ia32/ia32_entry.S 2006-03-20 17:34:49 +0100
+@@ -483,7 +483,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.16/arch/ia64/kernel/entry.S linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/entry.S
+--- linux-2.6.16/arch/ia64/kernel/entry.S 2006-03-20 17:32:21 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/entry.S 2006-03-20 17:34:49 +0100
+@@ -1591,7 +1591,7 @@ sys_call_table:
+ data8 sys_mq_notify
+ data8 sys_mq_getsetattr
+ data8 sys_ni_syscall // reserved for 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.16/arch/ia64/kernel/perfmon.c linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/perfmon.c
+--- linux-2.6.16/arch/ia64/kernel/perfmon.c 2006-03-20 17:32:21 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/perfmon.c 2006-03-20 17:34:49 +0100
+@@ -41,6 +41,8 @@
+ #include <linux/capability.h>
+ #include <linux/rcupdate.h>
+ #include <linux/completion.h>
++#include <linux/vs_memory.h>
++#include <linux/vs_cvirt.h>
+
+ #include <asm/errno.h>
+ #include <asm/intrinsics.h>
+@@ -2355,7 +2357,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.16/arch/ia64/kernel/ptrace.c linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/ptrace.c
+--- linux-2.6.16/arch/ia64/kernel/ptrace.c 2006-03-20 17:32:21 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/ptrace.c 2006-03-20 17:34:49 +0100
+@@ -18,6 +18,7 @@
+ #include <linux/security.h>
+ #include <linux/audit.h>
+ #include <linux/signal.h>
++#include <linux/vs_cvirt.h>
+
+ #include <asm/pgtable.h>
+ #include <asm/processor.h>
+@@ -1443,6 +1444,9 @@ sys_ptrace (long request, pid_t pid, uns
+ read_unlock(&tasklist_lock);
+ if (!child)
+ goto out;
++ if (!vx_check(vx_task_xid(child), VX_WATCH|VX_IDENT))
++ goto out_tsk;
++
+ ret = -EPERM;
+ if (pid == 1) /* no messing around with init! */
+ goto out_tsk;
+diff -NurpP --minimal linux-2.6.16/arch/ia64/kernel/signal.c linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/signal.c
+--- linux-2.6.16/arch/ia64/kernel/signal.c 2006-03-20 17:32:21 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/kernel/signal.c 2006-03-20 17:34:49 +0100
+@@ -21,6 +21,7 @@
+ #include <linux/binfmts.h>
+ #include <linux/unistd.h>
+ #include <linux/wait.h>
++#include <linux/vs_cvirt.h>
+
+ #include <asm/ia32.h>
+ #include <asm/intrinsics.h>
+diff -NurpP --minimal linux-2.6.16/arch/ia64/mm/fault.c linux-2.6.16-vs2.0.2-rc14/arch/ia64/mm/fault.c
+--- linux-2.6.16/arch/ia64/mm/fault.c 2006-01-03 17:29:09 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/mm/fault.c 2006-03-20 17:34:49 +0100
+@@ -10,6 +10,7 @@
+ #include <linux/smp_lock.h>
+ #include <linux/interrupt.h>
+ #include <linux/kprobes.h>
++#include <linux/vs_memory.h>
+
+ #include <asm/pgtable.h>
+ #include <asm/processor.h>
+diff -NurpP --minimal linux-2.6.16/arch/ia64/sn/kernel/xpc_main.c linux-2.6.16-vs2.0.2-rc14/arch/ia64/sn/kernel/xpc_main.c
+--- linux-2.6.16/arch/ia64/sn/kernel/xpc_main.c 2006-03-20 17:32:22 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/ia64/sn/kernel/xpc_main.c 2006-03-20 17:34:49 +0100
+@@ -109,6 +109,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] =
+ 0644,
+ NULL,
+ &proc_dointvec_minmax,
++ NULL,
+ &sysctl_intvec,
+ NULL,
+ &xpc_hb_min_interval,
+@@ -122,6 +123,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] =
+ 0644,
+ NULL,
+ &proc_dointvec_minmax,
++ NULL,
+ &sysctl_intvec,
+ NULL,
+ &xpc_hb_check_min_interval,
+@@ -146,6 +148,7 @@ static ctl_table xpc_sys_xpc_dir[] = {
+ 0644,
+ NULL,
+ &proc_dointvec_minmax,
++ NULL,
+ &sysctl_intvec,
+ NULL,
+ &xpc_disengage_request_min_timelimit,
+diff -NurpP --minimal linux-2.6.16/arch/m32r/kernel/ptrace.c linux-2.6.16-vs2.0.2-rc14/arch/m32r/kernel/ptrace.c
+--- linux-2.6.16/arch/m32r/kernel/ptrace.c 2006-03-20 17:32:22 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/m32r/kernel/ptrace.c 2006-03-20 17:34:49 +0100
+@@ -25,6 +25,7 @@
+ #include <linux/user.h>
+ #include <linux/string.h>
+ #include <linux/signal.h>
++#include <linux/vs_cvirt.h>
+
+ #include <asm/cacheflush.h>
+ #include <asm/io.h>
+diff -NurpP --minimal linux-2.6.16/arch/m68k/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/m68k/Kconfig
+--- linux-2.6.16/arch/m68k/Kconfig 2006-03-20 17:32:22 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/m68k/Kconfig 2006-03-20 17:34:49 +0100
+@@ -650,6 +650,8 @@ source "fs/Kconfig"
+
+ source "arch/m68k/Kconfig.debug"
+
++source "kernel/vserver/Kconfig"
++
+ source "security/Kconfig"
+
+ source "crypto/Kconfig"
+diff -NurpP --minimal linux-2.6.16/arch/m68k/kernel/ptrace.c linux-2.6.16-vs2.0.2-rc14/arch/m68k/kernel/ptrace.c
+--- linux-2.6.16/arch/m68k/kernel/ptrace.c 2006-01-03 17:29:10 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/m68k/kernel/ptrace.c 2006-03-20 17:34:49 +0100
+@@ -280,6 +280,8 @@ long arch_ptrace(struct task_struct *chi
+ ret = ptrace_request(child, request, addr, data);
+ break;
+ }
++ if (!vx_check(vx_task_xid(child), VX_WATCH|VX_IDENT))
++ goto out_tsk;
+
+ return ret;
+ out_eio:
+diff -NurpP --minimal linux-2.6.16/arch/m68knommu/Kconfig linux-2.6.16-vs2.0.2-rc14/arch/m68knommu/Kconfig
+--- linux-2.6.16/arch/m68knommu/Kconfig 2006-03-20 17:32:22 +0100
++++ linux-2.6.16-vs2.0.2-rc14/arch/m68knommu/Kconfig 2006-03-20 17:34:49 +0100
+@@ -646,6 +646,8 @@ source "fs/Kconfig"
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list