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>>
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to