[kernel] r8434 - in dists/trunk/linux-2.6/debian/patches:
features/all/vserver series
Bastian Blank
waldi at alioth.debian.org
Mon Apr 9 14:59:28 UTC 2007
Author: waldi
Date: Mon Apr 9 14:59:27 2007
New Revision: 8434
Added:
dists/trunk/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.patch
- copied, changed from r8347, dists/trunk/linux-2.6/debian/patches/features/all/vserver/vs2.2.0-rc15.patch
Removed:
dists/trunk/linux-2.6/debian/patches/features/all/vserver/vs2.2.0-rc15.patch
Modified:
dists/trunk/linux-2.6/debian/patches/series/1~experimental.1-extra
Log:
Update vserver patch to 2.2.0.
* debian/patches/features/all/vserver/vs2.2.0.patch: Add.
* debian/patches/features/all/vserver/vs2.2.0-rc15.patch: Remove.
* debian/patches/series/1~experimental.1-extra: Update.
Copied: dists/trunk/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.patch (from r8347, dists/trunk/linux-2.6/debian/patches/features/all/vserver/vs2.2.0-rc15.patch)
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/vserver/vs2.2.0-rc15.patch (original)
+++ dists/trunk/linux-2.6/debian/patches/features/all/vserver/vs2.2.0.patch Mon Apr 9 14:59:27 2007
@@ -1,5 +1,5 @@
---- linux-2.6.20.1/Documentation/vserver/debug.txt 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/Documentation/vserver/debug.txt 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/Documentation/vserver/debug.txt 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/Documentation/vserver/debug.txt 2007-04-01 17:29:48 +0200
@@ -0,0 +1,154 @@
+
+debug_cvirt:
@@ -155,8 +155,8 @@
+ 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"
---- linux-2.6.20.1/arch/alpha/Kconfig 2007-02-06 02:59:58 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/Kconfig 2007-02-06 02:59:58 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/Kconfig 2007-04-01 17:29:38 +0200
@@ -640,6 +640,8 @@ source "arch/alpha/oprofile/Kconfig"
source "arch/alpha/Kconfig.debug"
@@ -166,8 +166,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/alpha/kernel/asm-offsets.c 2006-02-15 13:54:10 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/kernel/asm-offsets.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/kernel/asm-offsets.c 2006-02-15 13:54:10 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/kernel/asm-offsets.c 2007-04-01 17:29:50 +0200
@@ -36,6 +36,7 @@ void foo(void)
DEFINE(PT_PTRACED, PT_PTRACED);
DEFINE(CLONE_VM, CLONE_VM);
@@ -176,8 +176,8 @@
DEFINE(SIGCHLD, SIGCHLD);
BLANK();
---- linux-2.6.20.1/arch/alpha/kernel/entry.S 2006-11-30 21:18:23 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/kernel/entry.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/kernel/entry.S 2006-11-30 21:18:23 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/kernel/entry.S 2007-04-01 17:30:01 +0200
@@ -644,7 +644,7 @@ kernel_thread:
stq $2, 152($sp) /* HAE */
@@ -219,8 +219,8 @@
ret
.end sys_getxpid
---- linux-2.6.20.1/arch/alpha/kernel/osf_sys.c 2007-02-06 02:59:58 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/kernel/osf_sys.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/kernel/osf_sys.c 2007-02-06 02:59:58 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/kernel/osf_sys.c 2007-04-01 17:29:43 +0200
@@ -885,7 +885,7 @@ osf_gettimeofday(struct timeval32 __user
{
if (tv) {
@@ -230,8 +230,8 @@
if (put_tv32(tv, &ktv))
return -EFAULT;
}
---- linux-2.6.20.1/arch/alpha/kernel/ptrace.c 2006-04-09 13:49:39 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/kernel/ptrace.c 2006-04-09 13:49:39 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/security.h>
@@ -252,8 +252,8 @@
if (request == PTRACE_ATTACH) {
ret = ptrace_attach(child);
goto out;
---- linux-2.6.20.1/arch/alpha/kernel/semaphore.c 2004-08-14 12:55:32 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/kernel/semaphore.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/kernel/semaphore.c 2004-08-14 12:55:32 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/kernel/semaphore.c 2007-04-01 17:29:40 +0200
@@ -68,8 +68,8 @@ __down_failed(struct semaphore *sem)
DECLARE_WAITQUEUE(wait, tsk);
@@ -287,8 +287,8 @@
#endif
tsk->state = TASK_INTERRUPTIBLE;
---- linux-2.6.20.1/arch/alpha/kernel/systbls.S 2006-11-30 21:18:23 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/kernel/systbls.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/kernel/systbls.S 2006-11-30 21:18:23 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/kernel/systbls.S 2007-04-01 17:29:39 +0200
@@ -446,7 +446,7 @@ sys_call_table:
.quad sys_stat64 /* 425 */
.quad sys_lstat64
@@ -298,8 +298,8 @@
.quad sys_ni_syscall /* sys_mbind */
.quad sys_ni_syscall /* sys_get_mempolicy */
.quad sys_ni_syscall /* sys_set_mempolicy */
---- linux-2.6.20.1/arch/alpha/kernel/traps.c 2006-09-20 16:57:57 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/kernel/traps.c 2006-09-20 16:57:57 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -182,7 +182,8 @@ die_if_kernel(char * str, struct pt_regs
#ifdef CONFIG_SMP
printk("CPU %d ", hard_smp_processor_id());
@@ -310,18 +310,21 @@
dik_show_regs(regs, r9_15);
dik_show_trace((unsigned long *)(regs+1));
dik_show_code((unsigned int *)regs->pc);
---- linux-2.6.20.1/arch/alpha/mm/init.c 2006-11-30 21:18:23 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/alpha/mm/init.c 2007-02-06 03:05:21 +0100
-@@ -20,6 +20,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>
---- linux-2.6.20.1/arch/arm/Kconfig 2007-02-06 02:59:58 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/alpha/mm/fault.c 2007-02-06 02:59:58 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/alpha/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -198,8 +198,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, current->pid);
++ printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n",
++ current->comm, current->pid, current->xid);
+ if (!user_mode(regs))
+ goto no_context;
+ do_exit(SIGKILL);
+--- linux-2.6.20.4/arch/arm/Kconfig 2007-02-06 02:59:58 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/arm/Kconfig 2007-04-01 17:29:38 +0200
@@ -970,6 +970,8 @@ source "arch/arm/oprofile/Kconfig"
source "arch/arm/Kconfig.debug"
@@ -331,8 +334,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/arm/kernel/calls.S 2007-02-06 02:59:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm/kernel/calls.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/arm/kernel/calls.S 2007-02-06 02:59:59 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/arm/kernel/calls.S 2007-04-01 17:29:39 +0200
@@ -322,7 +322,7 @@
/* 310 */ CALL(sys_request_key)
CALL(sys_keyctl)
@@ -342,8 +345,8 @@
CALL(sys_ioprio_set)
/* 315 */ CALL(sys_ioprio_get)
CALL(sys_inotify_init)
---- linux-2.6.20.1/arch/arm/kernel/process.c 2007-02-06 02:59:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/arm/kernel/process.c 2007-02-06 02:59:59 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/arm/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -246,7 +246,8 @@ void __show_regs(struct pt_regs *regs)
void show_regs(struct pt_regs * regs)
{
@@ -364,8 +367,8 @@
}
EXPORT_SYMBOL(kernel_thread);
---- linux-2.6.20.1/arch/arm/kernel/traps.c 2007-02-06 02:59:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/arm/kernel/traps.c 2007-02-06 02:59:59 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/arm/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -206,8 +206,8 @@ static void __die(const char *str, int e
printk("Internal error: %s: %x [#%d]\n", str, err, ++die_counter);
print_modules();
@@ -377,8 +380,20 @@
if (!user_mode(regs) || in_interrupt()) {
dump_mem("Stack: ", regs->ARM_sp,
---- linux-2.6.20.1/arch/arm26/Kconfig 2007-02-06 03:00:02 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm26/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/arm/mm/fault.c 2007-02-06 03:00:01 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/arm/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -267,7 +267,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, tsk->pid, tsk->xid);
+ do_exit(SIGKILL);
+ return 0;
+
+--- linux-2.6.20.4/arch/arm26/Kconfig 2007-02-06 03:00:02 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/arm26/Kconfig 2007-04-01 17:29:38 +0200
@@ -242,6 +242,8 @@ source "drivers/usb/Kconfig"
source "arch/arm26/Kconfig.debug"
@@ -388,8 +403,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/arm26/kernel/calls.S 2005-03-02 12:38:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm26/kernel/calls.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/arm26/kernel/calls.S 2005-03-02 12:38:19 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/arm26/kernel/calls.S 2007-04-01 17:29:39 +0200
@@ -257,6 +257,11 @@ __syscall_start:
.long sys_lremovexattr
.long sys_fremovexattr
@@ -402,8 +417,8 @@
__syscall_end:
.rept NR_syscalls - (__syscall_end - __syscall_start) / 4
---- linux-2.6.20.1/arch/arm26/kernel/process.c 2006-09-20 16:57:57 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm26/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/arm26/kernel/process.c 2006-09-20 16:57:57 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/arm26/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -365,7 +365,8 @@ pid_t kernel_thread(int (*fn)(void *), v
regs.ARM_r3 = (unsigned long)do_exit;
regs.ARM_pc = (unsigned long)kernel_thread_helper | MODE_SVC26;
@@ -414,8 +429,8 @@
}
EXPORT_SYMBOL(kernel_thread);
---- linux-2.6.20.1/arch/arm26/kernel/traps.c 2006-09-20 16:57:57 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/arm26/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/arm26/kernel/traps.c 2006-09-20 16:57:57 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/arm26/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -185,8 +185,9 @@ NORET_TYPE void die(const char *str, str
printk("Internal error: %s: %x\n", str, err);
printk("CPU: %d\n", smp_processor_id());
@@ -428,8 +443,8 @@
if (!user_mode(regs) || in_interrupt()) {
__dump_stack(tsk, (unsigned long)(regs + 1));
---- linux-2.6.20.1/arch/cris/Kconfig 2007-02-06 03:00:02 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/cris/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/cris/Kconfig 2007-02-06 03:00:02 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/cris/Kconfig 2007-04-01 17:29:38 +0200
@@ -193,6 +193,8 @@ source "drivers/usb/Kconfig"
source "arch/cris/Kconfig.debug"
@@ -439,8 +454,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/cris/arch-v10/kernel/process.c 2006-09-20 16:57:57 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/cris/arch-v10/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/cris/arch-v10/kernel/process.c 2006-09-20 16:57:57 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/cris/arch-v10/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -103,7 +103,8 @@ int kernel_thread(int (*fn)(void *), voi
regs.dccr = 1 << I_DCCR_BITNR;
@@ -451,8 +466,8 @@
}
/* setup the child's kernel stack with a pt_regs and switch_stack on it.
---- linux-2.6.20.1/arch/cris/arch-v32/kernel/process.c 2006-09-20 16:57:57 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/cris/arch-v32/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/cris/arch-v32/kernel/process.c 2006-09-20 16:57:57 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/cris/arch-v32/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -120,7 +120,8 @@ kernel_thread(int (*fn)(void *), void *
regs.ccs = 1 << (I_CCS_BITNR + CCS_SHIFT);
@@ -463,18 +478,8 @@
}
/*
---- linux-2.6.20.1/arch/cris/kernel/irq.c 2006-09-20 16:57:57 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/cris/kernel/irq.c 2007-02-06 03:05:21 +0100
-@@ -92,6 +92,7 @@ skip:
- asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
- {
- unsigned long sp;
-+
- irq_enter();
- sp = rdsp();
- if (unlikely((sp & (PAGE_SIZE - 1)) < (PAGE_SIZE/8))) {
---- linux-2.6.20.1/arch/frv/kernel/kernel_thread.S 2005-03-02 12:38:20 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/frv/kernel/kernel_thread.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/frv/kernel/kernel_thread.S 2005-03-02 12:38:20 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/frv/kernel/kernel_thread.S 2007-04-01 17:29:50 +0200
@@ -13,6 +13,8 @@
#include <asm/unistd.h>
@@ -493,8 +498,8 @@
sethi.p #0xe4e4,gr9 ; second syscall arg [newsp]
setlo #0xe4e4,gr9
setlos.p #0,gr10 ; third syscall arg [parent_tidptr]
---- linux-2.6.20.1/arch/h8300/Kconfig 2007-02-06 03:00:03 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/h8300/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/h8300/Kconfig 2007-02-06 03:00:03 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/h8300/Kconfig 2007-04-01 17:29:38 +0200
@@ -207,6 +207,8 @@ source "fs/Kconfig"
source "arch/h8300/Kconfig.debug"
@@ -504,8 +509,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/h8300/kernel/process.c 2006-09-20 16:57:58 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/h8300/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/h8300/kernel/process.c 2006-09-20 16:57:58 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/h8300/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -134,7 +134,7 @@ int kernel_thread(int (*fn)(void *), voi
fs = get_fs();
@@ -515,8 +520,8 @@
__asm__("mov.l sp,er3\n\t"
"sub.l er2,er2\n\t"
"mov.l %2,er1\n\t"
---- linux-2.6.20.1/arch/i386/Kconfig 2007-02-06 03:00:03 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/i386/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/i386/Kconfig 2007-02-06 03:00:03 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/i386/Kconfig 2007-04-01 17:29:38 +0200
@@ -1214,6 +1214,8 @@ endmenu
source "arch/i386/Kconfig.debug"
@@ -526,26 +531,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/i386/kernel/irq.c 2006-11-30 21:18:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/i386/kernel/irq.c 2007-02-06 03:05:21 +0100
-@@ -84,7 +84,6 @@ fastcall unsigned int do_IRQ(struct pt_r
- }
- }
- #endif
--
- #ifdef CONFIG_4KSTACKS
-
- curctx = (union irq_ctx *) current_thread_info();
-@@ -124,7 +123,6 @@ fastcall unsigned int do_IRQ(struct pt_r
- } else
- #endif
- desc->handle_irq(irq, desc);
--
- irq_exit();
- set_irq_regs(old_regs);
- return 1;
---- linux-2.6.20.1/arch/i386/kernel/process.c 2007-02-06 03:00:06 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/i386/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/i386/kernel/process.c 2007-02-06 03:00:06 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/i386/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -294,8 +294,10 @@ void show_regs(struct pt_regs * regs)
unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L;
@@ -569,8 +556,8 @@
}
EXPORT_SYMBOL(kernel_thread);
---- linux-2.6.20.1/arch/i386/kernel/syscall_table.S 2006-11-30 21:18:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/i386/kernel/syscall_table.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/i386/kernel/syscall_table.S 2006-11-30 21:18:26 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/i386/kernel/syscall_table.S 2007-04-01 17:29:39 +0200
@@ -272,7 +272,7 @@ ENTRY(sys_call_table)
.long sys_tgkill /* 270 */
.long sys_utimes
@@ -580,8 +567,8 @@
.long sys_mbind
.long sys_get_mempolicy
.long sys_set_mempolicy
---- linux-2.6.20.1/arch/i386/kernel/sysenter.c 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/i386/kernel/sysenter.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/i386/kernel/sysenter.c 2007-03-10 20:33:59 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/i386/kernel/sysenter.c 2007-04-01 17:29:47 +0200
@@ -17,6 +17,7 @@
#include <linux/elf.h>
#include <linux/mm.h>
@@ -599,8 +586,8 @@
up_fail:
up_write(&mm->mmap_sem);
return ret;
---- linux-2.6.20.1/arch/i386/kernel/traps.c 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/i386/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/i386/kernel/traps.c 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/i386/kernel/traps.c 2007-04-01 17:29:48 +0200
@@ -56,6 +56,8 @@
#include <asm/stacktrace.h>
@@ -642,9 +629,21 @@
/* Executive summary in case the oops scrolled away */
esp = (unsigned long) (®s->esp);
savesegment(ss, ss);
---- linux-2.6.20.1/arch/ia64/Kconfig 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/Kconfig 2007-02-06 03:05:21 +0100
-@@ -568,6 +568,8 @@ endmenu
+--- linux-2.6.20.4/arch/i386/mm/fault.c 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/i386/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -594,7 +594,8 @@ out_of_memory:
+ down_read(&mm->mmap_sem);
+ goto survive;
+ }
+- printk("VM: killing process %s\n", tsk->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ tsk->comm, tsk->pid, tsk->xid);
+ if (error_code & 4)
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/arch/ia64/Kconfig 2007-03-10 20:33:59 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/Kconfig 2007-04-01 17:29:38 +0200
+@@ -569,6 +569,8 @@ endmenu
source "arch/ia64/Kconfig.debug"
@@ -653,8 +652,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/ia64/ia32/binfmt_elf32.c 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/ia32/binfmt_elf32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/ia32/binfmt_elf32.c 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/ia32/binfmt_elf32.c 2007-04-01 17:29:47 +0200
@@ -238,7 +238,8 @@ ia32_setup_arg_pages (struct linux_binpr
kmem_cache_free(vm_area_cachep, mpnt);
return ret;
@@ -665,8 +664,8 @@
}
for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
---- linux-2.6.20.1/arch/ia64/ia32/ia32_entry.S 2006-06-18 04:51:55 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/ia32/ia32_entry.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/ia32/ia32_entry.S 2006-06-18 04:51:55 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/ia32/ia32_entry.S 2007-04-01 17:29:39 +0200
@@ -483,7 +483,7 @@ ia32_syscall_table:
data8 sys_tgkill /* 270 */
data8 compat_sys_utimes
@@ -676,8 +675,8 @@
data8 sys_ni_syscall
data8 sys_ni_syscall /* 275 */
data8 sys_ni_syscall
---- linux-2.6.20.1/arch/ia64/ia32/sys_ia32.c 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/ia32/sys_ia32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/ia32/sys_ia32.c 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/ia32/sys_ia32.c 2007-04-01 17:29:43 +0200
@@ -1182,7 +1182,7 @@ sys32_gettimeofday (struct compat_timeva
{
if (tv) {
@@ -687,8 +686,8 @@
if (put_tv32(tv, &ktv))
return -EFAULT;
}
---- linux-2.6.20.1/arch/ia64/kernel/asm-offsets.c 2006-09-20 16:57:58 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/kernel/asm-offsets.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/kernel/asm-offsets.c 2006-09-20 16:57:58 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/kernel/asm-offsets.c 2007-04-01 17:29:50 +0200
@@ -191,6 +191,7 @@ void foo(void)
/* for assembly files which can't include sched.h: */
DEFINE(IA64_CLONE_VFORK, CLONE_VFORK);
@@ -697,8 +696,8 @@
BLANK();
DEFINE(IA64_CPUINFO_NSEC_PER_CYC_OFFSET,
---- linux-2.6.20.1/arch/ia64/kernel/entry.S 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/kernel/entry.S 2007-02-06 03:07:01 +0100
+--- linux-2.6.20.4/arch/ia64/kernel/entry.S 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/kernel/entry.S 2007-04-01 17:29:39 +0200
@@ -1576,7 +1576,7 @@ sys_call_table:
data8 sys_mq_notify
data8 sys_mq_getsetattr
@@ -708,8 +707,8 @@
data8 sys_waitid // 1270
data8 sys_add_key
data8 sys_request_key
---- linux-2.6.20.1/arch/ia64/kernel/perfmon.c 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/kernel/perfmon.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/kernel/perfmon.c 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/kernel/perfmon.c 2007-04-01 17:29:47 +0200
@@ -41,6 +41,7 @@
#include <linux/capability.h>
#include <linux/rcupdate.h>
@@ -727,8 +726,8 @@
vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file,
vma_pages(vma));
up_write(&task->mm->mmap_sem);
---- linux-2.6.20.1/arch/ia64/kernel/process.c 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/kernel/process.c 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -105,7 +105,8 @@ show_regs (struct pt_regs *regs)
unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
@@ -749,8 +748,8 @@
}
EXPORT_SYMBOL(kernel_thread);
---- linux-2.6.20.1/arch/ia64/kernel/ptrace.c 2006-09-20 16:57:58 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/kernel/ptrace.c 2006-09-20 16:57:58 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -17,6 +17,7 @@
#include <linux/security.h>
#include <linux/audit.h>
@@ -769,8 +768,8 @@
ret = -EPERM;
if (pid == 1) /* no messing around with init! */
goto out_tsk;
---- linux-2.6.20.1/arch/ia64/kernel/traps.c 2007-02-06 03:00:07 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/kernel/traps.c 2007-02-06 03:09:13 +0100
+--- linux-2.6.20.4/arch/ia64/kernel/traps.c 2007-02-06 03:00:07 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -106,8 +106,9 @@ die (const char *str, struct pt_regs *re
put_cpu();
@@ -795,8 +794,8 @@
}
}
}
---- linux-2.6.20.1/arch/ia64/mm/fault.c 2006-11-30 21:18:27 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/mm/fault.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/mm/fault.c 2006-11-30 21:18:27 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/mm/fault.c 2007-04-01 17:29:17 +0200
@@ -10,6 +10,7 @@
#include <linux/smp_lock.h>
#include <linux/interrupt.h>
@@ -805,8 +804,8 @@
#include <asm/pgtable.h>
#include <asm/processor.h>
---- linux-2.6.20.1/arch/ia64/sn/kernel/xpc_main.c 2007-02-06 03:00:08 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ia64/sn/kernel/xpc_main.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ia64/sn/kernel/xpc_main.c 2007-02-06 03:00:08 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ia64/sn/kernel/xpc_main.c 2007-04-01 17:30:05 +0200
@@ -108,6 +108,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] =
0644,
NULL,
@@ -831,18 +830,8 @@
&sysctl_intvec,
NULL,
&xpc_disengage_request_min_timelimit,
---- linux-2.6.20.1/arch/m32r/kernel/irq.c 2006-11-30 21:18:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m32r/kernel/irq.c 2007-02-06 03:05:21 +0100
-@@ -78,6 +78,7 @@ skip:
- asmlinkage unsigned int do_IRQ(int irq, struct pt_regs *regs)
- {
- struct pt_regs *old_regs;
-+
- old_regs = set_irq_regs(regs);
- irq_enter();
-
---- linux-2.6.20.1/arch/m32r/kernel/process.c 2006-09-20 16:57:58 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m32r/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m32r/kernel/process.c 2007-03-10 20:33:59 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m32r/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -211,8 +211,8 @@ int kernel_thread(int (*fn)(void *), voi
regs.psw = M32R_PSW_BIE;
@@ -854,8 +843,8 @@
}
/*
---- linux-2.6.20.1/arch/m32r/kernel/traps.c 2006-11-30 21:18:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m32r/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m32r/kernel/traps.c 2006-11-30 21:18:28 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m32r/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -195,8 +195,9 @@ static void show_registers(struct pt_reg
} else {
printk("SPI: %08lx\n", sp);
@@ -868,8 +857,8 @@
/*
* When in-kernel, we also print out the stack and code at the
---- linux-2.6.20.1/arch/m68k/Kconfig 2007-02-06 03:00:08 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m68k/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m68k/Kconfig 2007-02-06 03:00:08 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m68k/Kconfig 2007-04-01 17:29:38 +0200
@@ -662,6 +662,8 @@ source "fs/Kconfig"
source "arch/m68k/Kconfig.debug"
@@ -879,8 +868,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/m68k/kernel/process.c 2006-11-30 21:18:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m68k/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m68k/kernel/process.c 2006-11-30 21:18:28 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m68k/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -159,7 +159,8 @@ int kernel_thread(int (*fn)(void *), voi
{
@@ -891,8 +880,8 @@
retval = __NR_clone;
__asm__ __volatile__
---- linux-2.6.20.1/arch/m68k/kernel/ptrace.c 2006-09-20 16:57:58 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m68k/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m68k/kernel/ptrace.c 2006-09-20 16:57:58 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/m68k/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -19,6 +19,7 @@
#include <linux/ptrace.h>
#include <linux/user.h>
@@ -910,8 +899,8 @@
return ret;
out_eio:
---- linux-2.6.20.1/arch/m68k/kernel/traps.c 2006-11-30 21:18:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m68k/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m68k/kernel/traps.c 2006-11-30 21:18:28 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m68k/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -899,8 +899,8 @@ void show_registers(struct pt_regs *regs
printk("d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
regs->d4, regs->d5, regs->a0, regs->a1);
@@ -923,8 +912,8 @@
addr = (unsigned long)&fp->un;
printk("Frame format=%X ", regs->format);
switch (regs->format) {
---- linux-2.6.20.1/arch/m68knommu/Kconfig 2007-02-06 03:00:08 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m68knommu/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m68knommu/Kconfig 2007-02-06 03:00:08 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m68knommu/Kconfig 2007-04-01 17:29:38 +0200
@@ -671,6 +671,8 @@ source "fs/Kconfig"
source "arch/m68knommu/Kconfig.debug"
@@ -934,8 +923,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/m68knommu/kernel/process.c 2007-02-06 03:00:08 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m68knommu/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m68knommu/kernel/process.c 2007-02-06 03:00:08 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m68knommu/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -122,7 +122,7 @@ void show_regs(struct pt_regs * regs)
int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
{
@@ -945,8 +934,8 @@
mm_segment_t fs;
fs = get_fs();
---- linux-2.6.20.1/arch/m68knommu/kernel/traps.c 2007-02-06 03:00:08 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/m68knommu/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/m68knommu/kernel/traps.c 2007-02-06 03:00:08 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/m68knommu/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -80,8 +80,9 @@ void die_if_kernel(char *str, struct pt_
printk(KERN_EMERG "d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
fp->d4, fp->d5, fp->a0, fp->a1);
@@ -959,8 +948,8 @@
show_stack(NULL, (unsigned long *)fp);
do_exit(SIGSEGV);
}
---- linux-2.6.20.1/arch/mips/Kconfig 2007-02-06 03:00:08 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/Kconfig 2007-02-06 03:00:08 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/Kconfig 2007-04-01 17:29:38 +0200
@@ -2084,6 +2084,8 @@ source "arch/mips/oprofile/Kconfig"
source "arch/mips/Kconfig.debug"
@@ -970,8 +959,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/mips/kernel/linux32.c 2007-02-06 03:00:11 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/linux32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/linux32.c 2007-02-06 03:00:11 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/linux32.c 2007-04-01 17:29:43 +0200
@@ -300,7 +300,7 @@ sys32_gettimeofday(struct compat_timeval
{
if (tv) {
@@ -981,8 +970,8 @@
if (put_tv32(tv, &ktv))
return -EFAULT;
}
---- linux-2.6.20.1/arch/mips/kernel/process.c 2006-11-30 21:18:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/process.c 2006-11-30 21:18:29 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -271,7 +271,8 @@ long kernel_thread(int (*fn)(void *), vo
#endif
@@ -993,8 +982,8 @@
}
/*
---- linux-2.6.20.1/arch/mips/kernel/ptrace.c 2006-11-30 21:18:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/ptrace.c 2006-11-30 21:18:29 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -26,6 +26,7 @@
#include <linux/user.h>
#include <linux/security.h>
@@ -1013,8 +1002,8 @@
switch (request) {
/* when I and D space are separate, these will need to be fixed. */
case PTRACE_PEEKTEXT: /* read word at location addr. */
---- linux-2.6.20.1/arch/mips/kernel/scall32-o32.S 2007-02-06 03:00:11 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/scall32-o32.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/scall32-o32.S 2007-02-06 03:00:11 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/scall32-o32.S 2007-04-01 17:29:39 +0200
@@ -619,7 +619,7 @@ einval: li v0, -EINVAL
sys sys_mq_timedreceive 5
sys sys_mq_notify 2 /* 4275 */
@@ -1024,8 +1013,8 @@
sys sys_waitid 5
sys sys_ni_syscall 0 /* available, was setaltroot */
sys sys_add_key 5 /* 4280 */
---- linux-2.6.20.1/arch/mips/kernel/scall64-64.S 2007-02-06 03:00:11 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/scall64-64.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/scall64-64.S 2007-02-06 03:00:11 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/scall64-64.S 2007-04-01 17:29:39 +0200
@@ -434,7 +434,7 @@ sys_call_table:
PTR sys_mq_timedreceive
PTR sys_mq_notify
@@ -1035,8 +1024,8 @@
PTR sys_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key
---- linux-2.6.20.1/arch/mips/kernel/scall64-n32.S 2007-02-06 03:00:11 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/scall64-n32.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/scall64-n32.S 2007-02-06 03:00:11 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/scall64-n32.S 2007-04-01 17:29:39 +0200
@@ -360,7 +360,7 @@ EXPORT(sysn32_call_table)
PTR compat_sys_mq_timedreceive
PTR compat_sys_mq_notify
@@ -1046,8 +1035,8 @@
PTR sysn32_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key
---- linux-2.6.20.1/arch/mips/kernel/scall64-o32.S 2007-02-06 03:00:11 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/scall64-o32.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/scall64-o32.S 2007-02-06 03:00:11 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/scall64-o32.S 2007-04-01 17:29:39 +0200
@@ -482,7 +482,7 @@ sys_call_table:
PTR compat_sys_mq_timedreceive
PTR compat_sys_mq_notify /* 4275 */
@@ -1057,8 +1046,8 @@
PTR sys32_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key /* 4280 */
---- linux-2.6.20.1/arch/mips/kernel/traps.c 2007-02-06 03:00:11 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/mips/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/kernel/traps.c 2007-02-06 03:00:11 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -299,8 +299,9 @@ void show_registers(struct pt_regs *regs
{
show_regs(regs);
@@ -1071,8 +1060,20 @@
show_stacktrace(current, regs);
show_code((unsigned int *) regs->cp0_epc);
printk("\n");
---- linux-2.6.20.1/arch/parisc/Kconfig 2007-02-06 03:00:12 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/parisc/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/mips/mm/fault.c 2007-02-06 03:00:11 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/mips/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -180,7 +180,8 @@ out_of_memory:
+ down_read(&mm->mmap_sem);
+ goto survive;
+ }
+- printk("VM: killing process %s\n", tsk->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ tsk->comm, tsk->pid, tsk->xid);
+ if (user_mode(regs))
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/arch/parisc/Kconfig 2007-02-06 03:00:12 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/parisc/Kconfig 2007-04-01 17:29:38 +0200
@@ -265,6 +265,8 @@ source "arch/parisc/oprofile/Kconfig"
source "arch/parisc/Kconfig.debug"
@@ -1082,8 +1083,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/parisc/kernel/entry.S 2006-11-30 21:18:30 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/parisc/kernel/entry.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/parisc/kernel/entry.S 2006-11-30 21:18:30 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/parisc/kernel/entry.S 2007-04-01 17:29:50 +0200
@@ -761,6 +761,7 @@ fault_vector_11:
#define CLONE_VM 0x100 /* Must agree with <linux/sched.h> */
@@ -1092,8 +1093,8 @@
.export __kernel_thread, code
.import do_fork
---- linux-2.6.20.1/arch/parisc/kernel/process.c 2006-11-30 21:18:30 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/parisc/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/parisc/kernel/process.c 2006-11-30 21:18:30 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/parisc/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -173,7 +173,7 @@ pid_t kernel_thread(int (*fn)(void *), v
* kernel_thread can become a #define.
*/
@@ -1103,8 +1104,8 @@
}
EXPORT_SYMBOL(kernel_thread);
---- linux-2.6.20.1/arch/parisc/kernel/sys_parisc32.c 2006-11-30 21:18:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/parisc/kernel/sys_parisc32.c 2007-02-15 00:05:56 +0100
+--- linux-2.6.20.4/arch/parisc/kernel/sys_parisc32.c 2006-11-30 21:18:31 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/parisc/kernel/sys_parisc32.c 2007-04-01 17:29:43 +0200
@@ -204,11 +204,11 @@ static inline long get_ts32(struct times
asmlinkage int
sys32_gettimeofday(struct compat_timeval __user *tv, struct timezone __user *tz)
@@ -1127,8 +1128,8 @@
val.uptime = jiffies / HZ;
val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
---- linux-2.6.20.1/arch/parisc/kernel/syscall_table.S 2006-11-30 21:18:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/parisc/kernel/syscall_table.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/parisc/kernel/syscall_table.S 2006-11-30 21:18:31 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/parisc/kernel/syscall_table.S 2007-04-01 17:29:39 +0200
@@ -368,7 +368,7 @@
ENTRY_COMP(mbind) /* 260 */
ENTRY_COMP(get_mempolicy)
@@ -1138,8 +1139,8 @@
ENTRY_SAME(add_key)
ENTRY_SAME(request_key) /* 265 */
ENTRY_SAME(keyctl)
---- linux-2.6.20.1/arch/parisc/kernel/traps.c 2006-11-30 21:18:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/parisc/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/parisc/kernel/traps.c 2006-11-30 21:18:31 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/parisc/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -210,8 +210,9 @@ void die_if_kernel(char *str, struct pt_
if (err == 0)
return; /* STFU */
@@ -1163,8 +1164,8 @@
show_regs(regs);
if (in_interrupt())
---- linux-2.6.20.1/arch/parisc/mm/fault.c 2007-02-06 03:00:12 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/parisc/mm/fault.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/parisc/mm/fault.c 2007-02-06 03:00:12 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/parisc/mm/fault.c 2007-04-01 17:29:41 +0200
@@ -213,8 +213,9 @@ bad_area:
#ifdef PRINT_USER_FAULTS
@@ -1177,8 +1178,18 @@
if (vma) {
printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n",
vma->vm_start, vma->vm_end);
---- linux-2.6.20.1/arch/powerpc/Kconfig 2007-02-06 03:00:12 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/Kconfig 2007-02-06 03:05:21 +0100
+@@ -264,7 +265,8 @@ no_context:
+
+ out_of_memory:
+ up_read(&mm->mmap_sem);
+- printk(KERN_CRIT "VM: killing process %s\n", current->comm);
++ printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n",
++ current->comm, current->pid, current->xid);
+ if (user_mode(regs))
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/arch/powerpc/Kconfig 2007-02-06 03:00:12 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/Kconfig 2007-04-01 17:29:39 +0200
@@ -1193,6 +1193,8 @@ endmenu
source "arch/powerpc/Kconfig.debug"
@@ -1188,8 +1199,8 @@
source "security/Kconfig"
config KEYS_COMPAT
---- linux-2.6.20.1/arch/powerpc/kernel/asm-offsets.c 2007-02-06 03:00:12 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/asm-offsets.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/asm-offsets.c 2007-02-06 03:00:12 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/asm-offsets.c 2007-04-01 17:29:50 +0200
@@ -244,6 +244,7 @@ int main(void)
DEFINE(CLONE_VM, CLONE_VM);
@@ -1198,8 +1209,8 @@
#ifndef CONFIG_PPC64
DEFINE(MM_PGD, offsetof(struct mm_struct, pgd));
---- linux-2.6.20.1/arch/powerpc/kernel/irq.c 2007-02-06 03:00:12 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/irq.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/irq.c 2007-02-06 03:00:12 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/irq.c 2007-04-01 17:29:22 +0200
@@ -53,6 +53,7 @@
#include <linux/mutex.h>
#include <linux/bootmem.h>
@@ -1208,8 +1219,8 @@
#include <asm/uaccess.h>
#include <asm/system.h>
---- linux-2.6.20.1/arch/powerpc/kernel/misc_32.S 2006-11-30 21:18:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/misc_32.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/misc_32.S 2006-11-30 21:18:31 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/misc_32.S 2007-04-01 17:29:50 +0200
@@ -749,7 +749,7 @@ _GLOBAL(kernel_thread)
mr r30,r3 /* function */
mr r31,r4 /* argument */
@@ -1219,8 +1230,8 @@
li r4,0 /* new sp (unused) */
li r0,__NR_clone
sc
---- linux-2.6.20.1/arch/powerpc/kernel/misc_64.S 2006-11-30 21:18:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/misc_64.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/misc_64.S 2006-11-30 21:18:31 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/misc_64.S 2007-04-01 17:29:50 +0200
@@ -394,7 +394,7 @@ _GLOBAL(kernel_thread)
mr r29,r3
mr r30,r4
@@ -1230,8 +1241,8 @@
li r4,0 /* new sp (unused) */
li r0,__NR_clone
sc
---- linux-2.6.20.1/arch/powerpc/kernel/process.c 2006-11-30 21:18:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/process.c 2006-11-30 21:18:31 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/process.c 2007-04-01 17:29:41 +0200
@@ -425,8 +425,9 @@ void show_regs(struct pt_regs * regs)
trap = TRAP(regs);
if (trap == 0x300 || trap == 0x600)
@@ -1244,8 +1255,8 @@
#ifdef CONFIG_SMP
printk(" CPU: %d", smp_processor_id());
---- linux-2.6.20.1/arch/powerpc/kernel/sys_ppc32.c 2007-02-06 03:00:13 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/sys_ppc32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/sys_ppc32.c 2007-02-06 03:00:13 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/sys_ppc32.c 2007-04-01 17:29:43 +0200
@@ -276,7 +276,7 @@ asmlinkage long compat_sys_gettimeofday(
{
if (tv) {
@@ -1255,8 +1266,8 @@
if (put_tv32(tv, &ktv))
return -EFAULT;
}
---- linux-2.6.20.1/arch/powerpc/kernel/traps.c 2007-02-06 03:00:13 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/traps.c 2007-02-06 03:00:13 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -844,8 +844,9 @@ void nonrecoverable_exception(struct pt_
void trace_syscall(struct pt_regs *regs)
@@ -1269,8 +1280,8 @@
regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
}
---- linux-2.6.20.1/arch/powerpc/kernel/vdso.c 2007-02-06 03:00:13 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/powerpc/kernel/vdso.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/kernel/vdso.c 2007-02-06 03:00:13 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/kernel/vdso.c 2007-04-01 17:29:47 +0200
@@ -22,6 +22,7 @@
#include <linux/elf.h>
#include <linux/security.h>
@@ -1288,8 +1299,20 @@
up_write(&mm->mmap_sem);
return 0;
---- linux-2.6.20.1/arch/ppc/Kconfig 2007-02-06 03:00:16 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ppc/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/powerpc/mm/fault.c 2007-02-06 03:00:13 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/powerpc/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -391,7 +391,8 @@ out_of_memory:
+ down_read(&mm->mmap_sem);
+ goto survive;
+ }
+- printk("VM: killing process %s\n", current->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ current->comm, current->pid, current->xid);
+ if (user_mode(regs))
+ do_exit(SIGKILL);
+ return SIGKILL;
+--- linux-2.6.20.4/arch/ppc/Kconfig 2007-02-06 03:00:16 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ppc/Kconfig 2007-04-01 17:29:39 +0200
@@ -1445,6 +1445,8 @@ source "arch/powerpc/oprofile/Kconfig"
source "arch/ppc/Kconfig.debug"
@@ -1299,8 +1322,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/ppc/kernel/asm-offsets.c 2006-09-20 16:58:01 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ppc/kernel/asm-offsets.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ppc/kernel/asm-offsets.c 2006-09-20 16:58:01 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/ppc/kernel/asm-offsets.c 2007-04-01 17:29:50 +0200
@@ -121,6 +121,7 @@ main(void)
DEFINE(TRAP, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, trap));
DEFINE(CLONE_VM, CLONE_VM);
@@ -1309,8 +1332,8 @@
DEFINE(MM_PGD, offsetof(struct mm_struct, pgd));
/* About the CPU features table */
---- linux-2.6.20.1/arch/ppc/kernel/misc.S 2006-11-30 21:18:32 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ppc/kernel/misc.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ppc/kernel/misc.S 2006-11-30 21:18:32 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ppc/kernel/misc.S 2007-04-01 17:29:50 +0200
@@ -848,7 +848,7 @@ _GLOBAL(kernel_thread)
mr r30,r3 /* function */
mr r31,r4 /* argument */
@@ -1320,8 +1343,8 @@
li r4,0 /* new sp (unused) */
li r0,__NR_clone
sc
---- linux-2.6.20.1/arch/ppc/kernel/traps.c 2007-02-06 03:00:16 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/ppc/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ppc/kernel/traps.c 2007-02-06 03:00:16 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ppc/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -696,8 +696,9 @@ void nonrecoverable_exception(struct pt_
void trace_syscall(struct pt_regs *regs)
@@ -1334,8 +1357,20 @@
regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
}
---- linux-2.6.20.1/arch/s390/Kconfig 2007-02-06 03:00:17 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/s390/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/ppc/mm/fault.c 2006-11-30 21:18:32 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/ppc/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -296,7 +296,8 @@ out_of_memory:
+ down_read(&mm->mmap_sem);
+ goto survive;
+ }
+- printk("VM: killing process %s\n", current->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ current->comm, current->pid, current->xid);
+ if (user_mode(regs))
+ do_exit(SIGKILL);
+ return SIGKILL;
+--- linux-2.6.20.4/arch/s390/Kconfig 2007-02-06 03:00:17 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/s390/Kconfig 2007-04-01 17:29:39 +0200
@@ -522,6 +522,8 @@ endmenu
source "arch/s390/Kconfig.debug"
@@ -1345,8 +1380,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/s390/kernel/compat_linux.c 2006-11-30 21:18:32 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/s390/kernel/compat_linux.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/s390/kernel/compat_linux.c 2006-11-30 21:18:32 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/s390/kernel/compat_linux.c 2007-04-01 17:29:43 +0200
@@ -600,7 +600,7 @@ asmlinkage long sys32_gettimeofday(struc
{
if (tv) {
@@ -1356,8 +1391,8 @@
if (put_tv32(tv, &ktv))
return -EFAULT;
}
---- linux-2.6.20.1/arch/s390/kernel/process.c 2006-11-30 21:18:32 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/s390/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/s390/kernel/process.c 2006-11-30 21:18:32 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/s390/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -165,9 +165,9 @@ void show_regs(struct pt_regs *regs)
struct task_struct *tsk = current;
@@ -1380,8 +1415,8 @@
0, ®s, 0, NULL, NULL);
}
---- linux-2.6.20.1/arch/s390/kernel/ptrace.c 2006-06-18 04:52:33 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/s390/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/s390/kernel/ptrace.c 2006-06-18 04:52:33 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/s390/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -33,6 +33,7 @@
#include <linux/security.h>
#include <linux/audit.h>
@@ -1404,8 +1439,8 @@
put_task_struct(child);
out:
unlock_kernel();
---- linux-2.6.20.1/arch/s390/kernel/syscalls.S 2006-11-30 21:18:32 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/s390/kernel/syscalls.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/s390/kernel/syscalls.S 2006-11-30 21:18:32 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/s390/kernel/syscalls.S 2007-04-01 17:29:39 +0200
@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */
SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
@@ -1415,8 +1450,20 @@
SYSCALL(s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
---- linux-2.6.20.1/arch/sh/Kconfig 2007-02-06 03:00:17 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sh/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/s390/mm/fault.c 2007-02-06 03:00:17 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/s390/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -359,7 +359,8 @@ out_of_memory:
+ down_read(&mm->mmap_sem);
+ goto survive;
+ }
+- printk("VM: killing process %s\n", tsk->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ tsk->comm, tsk->pid, tsk->xid);
+ if (regs->psw.mask & PSW_MASK_PSTATE)
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/arch/sh/Kconfig 2007-02-06 03:00:17 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh/Kconfig 2007-04-01 17:29:39 +0200
@@ -709,6 +709,8 @@ source "arch/sh/oprofile/Kconfig"
source "arch/sh/Kconfig.debug"
@@ -1426,8 +1473,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/sh/kernel/irq.c 2007-02-06 03:00:17 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sh/kernel/irq.c 2007-02-06 03:09:33 +0100
+--- linux-2.6.20.4/arch/sh/kernel/irq.c 2007-02-06 03:00:17 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh/kernel/irq.c 2007-04-01 17:29:24 +0200
@@ -13,6 +13,7 @@
#include <linux/seq_file.h>
#include <linux/io.h>
@@ -1436,8 +1483,8 @@
#include <asm/processor.h>
#include <asm/uaccess.h>
#include <asm/thread_info.h>
---- linux-2.6.20.1/arch/sh/kernel/kgdb_stub.c 2006-11-30 21:18:34 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sh/kernel/kgdb_stub.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sh/kernel/kgdb_stub.c 2006-11-30 21:18:34 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh/kernel/kgdb_stub.c 2007-04-01 17:30:01 +0200
@@ -389,7 +389,7 @@ static struct task_struct *get_thread(in
if (pid == PID_MAX) pid = 0;
@@ -1447,8 +1494,8 @@
if (thread)
return thread;
---- linux-2.6.20.1/arch/sh/kernel/process.c 2007-02-06 03:00:17 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sh/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sh/kernel/process.c 2007-02-06 03:00:17 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -104,7 +104,8 @@ void machine_power_off(void)
void show_regs(struct pt_regs * regs)
{
@@ -1469,8 +1516,8 @@
}
/*
---- linux-2.6.20.1/arch/sh/kernel/vsyscall/vsyscall.c 2007-02-06 03:00:17 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sh/kernel/vsyscall/vsyscall.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sh/kernel/vsyscall/vsyscall.c 2007-02-06 03:00:17 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh/kernel/vsyscall/vsyscall.c 2007-04-01 17:29:47 +0200
@@ -17,6 +17,7 @@
#include <linux/gfp.h>
#include <linux/module.h>
@@ -1488,8 +1535,20 @@
up_fail:
up_write(&mm->mmap_sem);
return ret;
---- linux-2.6.20.1/arch/sh64/kernel/process.c 2006-11-30 21:18:35 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sh64/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sh/mm/fault.c 2007-02-06 03:00:17 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -202,7 +202,8 @@ out_of_memory:
+ down_read(&mm->mmap_sem);
+ goto survive;
+ }
+- printk("VM: killing process %s\n", tsk->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ tsk->comm, tsk->pid, tsk->xid);
+ if (user_mode(regs))
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/arch/sh64/kernel/process.c 2006-11-30 21:18:35 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh64/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -400,8 +400,8 @@ int kernel_thread(int (*fn)(void *), voi
regs.pc = (unsigned long)kernel_thread_helper;
regs.sr = (1 << 30);
@@ -1501,8 +1560,8 @@
}
/*
---- linux-2.6.20.1/arch/sh64/mm/fault.c 2007-02-06 03:00:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sh64/mm/fault.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sh64/mm/fault.c 2007-02-06 03:00:18 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sh64/mm/fault.c 2007-04-01 17:29:41 +0200
@@ -82,7 +82,7 @@ static inline void print_vma(struct vm_a
static inline void print_task(struct task_struct *tsk)
@@ -1512,8 +1571,18 @@
}
static pte_t *lookup_pte(struct mm_struct *mm, unsigned long address)
---- linux-2.6.20.1/arch/sparc/Kconfig 2007-02-06 03:00:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc/Kconfig 2007-02-06 03:05:21 +0100
+@@ -331,7 +331,8 @@ out_of_memory:
+ down_read(&mm->mmap_sem);
+ goto survive;
+ }
+- printk("VM: killing process %s\n", tsk->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ tsk->comm, tsk->pid, tsk->xid);
+ if (user_mode(regs))
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/arch/sparc/Kconfig 2007-02-06 03:00:18 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc/Kconfig 2007-04-01 17:29:39 +0200
@@ -306,6 +306,8 @@ endmenu
source "arch/sparc/Kconfig.debug"
@@ -1523,8 +1592,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/sparc/kernel/process.c 2007-02-06 03:00:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc/kernel/process.c 2007-02-06 03:00:18 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -706,7 +706,8 @@ pid_t kernel_thread(int (*fn)(void *), v
/* Notreached by child. */
"1: mov %%o0, %0\n\t" :
@@ -1535,8 +1604,8 @@
"i" (__NR_exit), "r" (fn), "r" (arg) :
"g1", "g2", "g3", "o0", "o1", "memory", "cc");
return retval;
---- linux-2.6.20.1/arch/sparc/kernel/ptrace.c 2007-02-06 03:00:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc/kernel/ptrace.c 2007-02-06 03:00:18 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -19,6 +19,7 @@
#include <linux/smp_lock.h>
#include <linux/security.h>
@@ -1556,8 +1625,8 @@
if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
|| (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
---- linux-2.6.20.1/arch/sparc/kernel/systbls.S 2006-11-30 21:18:35 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc/kernel/systbls.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc/kernel/systbls.S 2006-11-30 21:18:35 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc/kernel/systbls.S 2007-04-01 17:29:39 +0200
@@ -71,7 +71,7 @@ sys_call_table:
/*250*/ .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
/*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
@@ -1567,8 +1636,8 @@
/*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
/*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
/*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
---- linux-2.6.20.1/arch/sparc/kernel/traps.c 2006-09-20 16:58:06 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc/kernel/traps.c 2006-09-20 16:58:06 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/sparc/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -99,7 +99,8 @@ void die_if_kernel(char *str, struct pt_
" /_| \\__/ |_\\\n"
" \\__U_/\n");
@@ -1579,8 +1648,20 @@
show_regs(regs);
__SAVE; __SAVE; __SAVE; __SAVE;
---- linux-2.6.20.1/arch/sparc64/Kconfig 2007-02-06 03:00:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc/mm/fault.c 2006-01-03 17:29:19 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -368,7 +368,8 @@ no_context:
+ */
+ out_of_memory:
+ up_read(&mm->mmap_sem);
+- printk("VM: killing process %s\n", tsk->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ tsk->comm, tsk->pid, tsk->xid);
+ if (from_user)
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/arch/sparc64/Kconfig 2007-02-06 03:00:18 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/Kconfig 2007-04-01 17:29:39 +0200
@@ -447,6 +447,8 @@ endmenu
source "arch/sparc64/Kconfig.debug"
@@ -1590,8 +1671,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/sparc64/kernel/binfmt_aout32.c 2007-02-06 03:00:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/kernel/binfmt_aout32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc64/kernel/binfmt_aout32.c 2007-02-06 03:00:18 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/kernel/binfmt_aout32.c 2007-04-01 17:29:24 +0200
@@ -27,6 +27,7 @@
#include <linux/binfmts.h>
#include <linux/personality.h>
@@ -1600,8 +1681,8 @@
#include <asm/system.h>
#include <asm/uaccess.h>
---- linux-2.6.20.1/arch/sparc64/kernel/process.c 2006-09-20 16:58:06 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc64/kernel/process.c 2006-09-20 16:58:06 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -696,7 +696,8 @@ pid_t kernel_thread(int (*fn)(void *), v
/* Notreached by child. */
"1:" :
@@ -1612,8 +1693,8 @@
"i" (__NR_exit), "r" (fn), "r" (arg) :
"g1", "g2", "g3", "o0", "o1", "memory", "cc");
return retval;
---- linux-2.6.20.1/arch/sparc64/kernel/ptrace.c 2007-02-06 03:00:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc64/kernel/ptrace.c 2007-02-06 03:00:18 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -22,6 +22,7 @@
#include <linux/seccomp.h>
#include <linux/audit.h>
@@ -1633,8 +1714,8 @@
if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
|| (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
---- linux-2.6.20.1/arch/sparc64/kernel/sys_sparc32.c 2006-11-30 21:18:35 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/kernel/sys_sparc32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc64/kernel/sys_sparc32.c 2006-11-30 21:18:35 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/kernel/sys_sparc32.c 2007-04-01 17:29:43 +0200
@@ -793,7 +793,7 @@ asmlinkage long sys32_gettimeofday(struc
{
if (tv) {
@@ -1644,8 +1725,8 @@
if (put_tv32(tv, &ktv))
return -EFAULT;
}
---- linux-2.6.20.1/arch/sparc64/kernel/systbls.S 2006-11-30 21:18:35 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/kernel/systbls.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc64/kernel/systbls.S 2006-11-30 21:18:35 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/kernel/systbls.S 2007-04-01 17:29:39 +0200
@@ -72,7 +72,7 @@ sys_call_table32:
/*250*/ .word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
.word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
@@ -1664,8 +1745,8 @@
/*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
.word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
/*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
---- linux-2.6.20.1/arch/sparc64/kernel/traps.c 2007-02-06 03:00:20 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/kernel/traps.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc64/kernel/traps.c 2007-02-06 03:00:20 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -2233,7 +2233,8 @@ void die_if_kernel(char *str, struct pt_
" /_| \\__/ |_\\\n"
" \\__U_/\n");
@@ -1676,8 +1757,20 @@
notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV);
__asm__ __volatile__("flushw");
__show_regs(regs);
---- linux-2.6.20.1/arch/sparc64/solaris/fs.c 2007-02-06 03:00:21 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/sparc64/solaris/fs.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/sparc64/mm/fault.c 2006-09-20 16:58:06 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/mm/fault.c 2007-04-01 17:29:41 +0200
+@@ -484,7 +484,8 @@ handle_kernel_fault:
+ out_of_memory:
+ insn = get_fault_insn(regs, insn);
+ up_read(&mm->mmap_sem);
+- printk("VM: killing process %s\n", current->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ current->comm, current->pid, current->xid);
+ if (!(regs->tstate & TSTATE_PRIV))
+ do_exit(SIGKILL);
+ goto handle_kernel_fault;
+--- linux-2.6.20.4/arch/sparc64/solaris/fs.c 2007-02-06 03:00:21 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/sparc64/solaris/fs.c 2007-04-01 17:30:01 +0200
@@ -368,7 +368,7 @@ static int report_statvfs(struct vfsmoun
int j = strlen (p);
@@ -1696,8 +1789,8 @@
if (mnt->mnt_flags & MNT_NOSUID) i |= 2;
if (!sysv_valid_dev(inode->i_sb->s_dev))
return -EOVERFLOW;
---- linux-2.6.20.1/arch/um/Kconfig 2007-02-06 03:00:21 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/um/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/um/Kconfig 2007-02-06 03:00:21 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/um/Kconfig 2007-04-01 17:29:39 +0200
@@ -311,6 +311,8 @@ source "drivers/connector/Kconfig"
source "fs/Kconfig"
@@ -1707,36 +1800,20 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/um/kernel/irq.c 2006-11-30 21:18:36 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/um/kernel/irq.c 2007-02-06 03:05:21 +0100
-@@ -357,6 +357,7 @@ void forward_interrupts(int pid)
- unsigned int do_IRQ(int irq, union uml_pt_regs *regs)
- {
- struct pt_regs *old_regs = set_irq_regs((struct pt_regs *)regs);
-+
- irq_enter();
- __do_IRQ(irq);
- irq_exit();
---- linux-2.6.20.1/arch/um/kernel/syscall.c 2006-11-30 21:18:36 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/um/kernel/syscall.c 2007-02-06 03:05:21 +0100
-@@ -15,6 +15,7 @@
- #include "linux/unistd.h"
- #include "linux/slab.h"
- #include "linux/utime.h"
-+
- #include "asm/mman.h"
- #include "asm/uaccess.h"
- #include "kern_util.h"
-@@ -118,6 +119,7 @@ long sys_uname(struct old_utsname __user
- long sys_olduname(struct oldold_utsname __user * name)
- {
- long error;
-+ struct new_utsname *ptr;
-
- if (!name)
- return -EFAULT;
---- linux-2.6.20.1/arch/v850/Kconfig 2007-02-06 03:00:21 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/v850/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/um/kernel/trap.c 2006-11-30 21:18:36 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/um/kernel/trap.c 2007-04-01 17:29:41 +0200
+@@ -193,7 +193,8 @@ unsigned long segv(struct faultinfo fi,
+ current->thread.arch.faultinfo = fi;
+ force_sig_info(SIGBUS, &si, current);
+ } else if (err == -ENOMEM) {
+- printk("VM: killing process %s\n", current->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ current->comm, current->pid, current->xid);
+ do_exit(SIGKILL);
+ } else {
+ BUG_ON(err != -EFAULT);
+--- linux-2.6.20.4/arch/v850/Kconfig 2007-02-06 03:00:21 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/v850/Kconfig 2007-04-01 17:29:39 +0200
@@ -334,6 +334,8 @@ source "drivers/usb/Kconfig"
source "arch/v850/Kconfig.debug"
@@ -1746,8 +1823,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/v850/kernel/process.c 2006-09-20 16:58:06 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/v850/kernel/process.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/v850/kernel/process.c 2006-09-20 16:58:06 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/v850/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -83,7 +83,7 @@ int kernel_thread (int (*fn)(void *), vo
/* Clone this thread. Note that we don't pass the clone syscall's
second argument -- it's ignored for calls from kernel mode (the
@@ -1757,8 +1834,8 @@
syscall = __NR_clone;
asm volatile ("trap " SYSCALL_SHORT_TRAP
: "=r" (ret), "=r" (syscall)
---- linux-2.6.20.1/arch/v850/kernel/ptrace.c 2006-04-09 13:49:44 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/v850/kernel/ptrace.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/v850/kernel/ptrace.c 2006-04-09 13:49:44 +0200
++++ linux-2.6.20.4-vs2.2.0/arch/v850/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -24,6 +24,7 @@
#include <linux/smp_lock.h>
#include <linux/ptrace.h>
@@ -1777,8 +1854,8 @@
switch (request) {
unsigned long val, copied;
---- linux-2.6.20.1/arch/x86_64/Kconfig 2007-02-06 03:00:21 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/Kconfig 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/x86_64/Kconfig 2007-02-06 03:00:21 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/Kconfig 2007-04-01 17:29:39 +0200
@@ -735,6 +735,8 @@ endmenu
source "arch/x86_64/Kconfig.debug"
@@ -1788,8 +1865,8 @@
source "security/Kconfig"
source "crypto/Kconfig"
---- linux-2.6.20.1/arch/x86_64/ia32/ia32_aout.c 2007-02-06 03:00:21 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/ia32/ia32_aout.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/x86_64/ia32/ia32_aout.c 2007-02-06 03:00:21 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/ia32/ia32_aout.c 2007-04-01 17:29:24 +0200
@@ -25,6 +25,7 @@
#include <linux/binfmts.h>
#include <linux/personality.h>
@@ -1798,8 +1875,8 @@
#include <asm/system.h>
#include <asm/uaccess.h>
---- linux-2.6.20.1/arch/x86_64/ia32/ia32_binfmt.c 2007-02-06 03:00:21 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/ia32/ia32_binfmt.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/x86_64/ia32/ia32_binfmt.c 2007-02-06 03:00:21 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/ia32/ia32_binfmt.c 2007-04-01 17:29:47 +0200
@@ -324,7 +324,8 @@ int ia32_setup_arg_pages(struct linux_bi
kmem_cache_free(vm_area_cachep, mpnt);
return ret;
@@ -1810,8 +1887,8 @@
}
for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
---- linux-2.6.20.1/arch/x86_64/ia32/ia32entry.S 2006-11-30 21:18:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/ia32/ia32entry.S 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/x86_64/ia32/ia32entry.S 2006-11-30 21:18:37 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/ia32/ia32entry.S 2007-04-01 17:29:39 +0200
@@ -672,7 +672,7 @@ ia32_sys_call_table:
.quad sys_tgkill /* 270 */
.quad compat_sys_utimes
@@ -1821,8 +1898,8 @@
.quad sys_mbind
.quad compat_sys_get_mempolicy /* 275 */
.quad sys_set_mempolicy
---- linux-2.6.20.1/arch/x86_64/ia32/sys_ia32.c 2006-11-30 21:18:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/ia32/sys_ia32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/x86_64/ia32/sys_ia32.c 2006-11-30 21:18:37 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/ia32/sys_ia32.c 2007-04-01 17:29:43 +0200
@@ -454,7 +454,7 @@ sys32_gettimeofday(struct compat_timeval
{
if (tv) {
@@ -1832,8 +1909,8 @@
if (put_tv32(tv, &ktv))
return -EFAULT;
}
---- linux-2.6.20.1/arch/x86_64/ia32/syscall32.c 2007-02-06 03:00:21 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/ia32/syscall32.c 2007-02-06 03:05:21 +0100
+--- linux-2.6.20.4/arch/x86_64/ia32/syscall32.c 2007-02-06 03:00:21 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/ia32/syscall32.c 2007-04-01 17:29:47 +0200
@@ -10,6 +10,7 @@
#include <linux/init.h>
#include <linux/stringify.h>
@@ -1851,8 +1928,8 @@
up_write(&mm->mmap_sem);
return 0;
}
---- linux-2.6.20.1/arch/x86_64/kernel/process.c 2007-02-06 03:00:22 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/kernel/process.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/arch/x86_64/kernel/process.c 2007-02-06 03:00:22 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/kernel/process.c 2007-04-01 17:29:50 +0200
@@ -54,7 +54,8 @@
asmlinkage extern void ret_from_fork(void);
@@ -1874,8 +1951,8 @@
init_utsname()->release,
(int)strcspn(init_utsname()->version, " "),
init_utsname()->version);
---- linux-2.6.20.1/arch/x86_64/kernel/traps.c 2007-02-06 03:00:22 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/kernel/traps.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/arch/x86_64/kernel/traps.c 2007-02-06 03:00:22 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/kernel/traps.c 2007-04-01 17:29:41 +0200
@@ -430,8 +430,9 @@ void show_registers(struct pt_regs *regs
printk("CPU %d ", cpu);
@@ -1910,8 +1987,8 @@
regs->rip, regs->rsp, error_code);
force_sig(SIGSEGV, tsk);
---- linux-2.6.20.1/arch/x86_64/mm/fault.c 2007-02-06 03:00:22 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/arch/x86_64/mm/fault.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/arch/x86_64/mm/fault.c 2007-02-06 03:00:22 +0100
++++ linux-2.6.20.4-vs2.2.0/arch/x86_64/mm/fault.c 2007-04-01 17:29:41 +0200
@@ -514,10 +514,10 @@ bad_area_nosemaphore:
if (exception_trace && unhandled_signal(tsk, SIGSEGV)) {
@@ -1926,8 +2003,18 @@
}
tsk->thread.cr2 = address;
---- linux-2.6.20.1/block/cfq-iosched.c 2007-02-06 03:00:22 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/block/cfq-iosched.c 2007-02-06 03:11:09 +0100
+@@ -584,7 +584,8 @@ out_of_memory:
+ yield();
+ goto again;
+ }
+- printk("VM: killing process %s\n", tsk->comm);
++ printk("VM: killing process %s(%d:#%u)\n",
++ tsk->comm, tsk->pid, tsk->xid);
+ if (error_code & 4)
+ do_exit(SIGKILL);
+ goto no_context;
+--- linux-2.6.20.4/block/cfq-iosched.c 2007-02-06 03:00:22 +0100
++++ linux-2.6.20.4-vs2.2.0/block/cfq-iosched.c 2007-04-01 17:30:02 +0200
@@ -221,6 +221,8 @@ static int cfq_queue_empty(request_queue
static inline pid_t cfq_queue_pid(struct task_struct *task, int rw, int is_sync)
@@ -1937,8 +2024,8 @@
/*
* Use the per-process queue, for read requests and syncronous writes
*/
---- linux-2.6.20.1/drivers/block/Kconfig 2007-02-06 03:00:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/block/Kconfig 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/drivers/block/Kconfig 2007-02-06 03:00:26 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/block/Kconfig 2007-04-01 17:29:58 +0200
@@ -311,6 +311,13 @@ config BLK_DEV_CRYPTOLOOP
instead, which can be configured to be on-disk compatible with the
cryptoloop device.
@@ -1953,16 +2040,16 @@
config BLK_DEV_NBD
tristate "Network block device support"
depends on NET
---- linux-2.6.20.1/drivers/block/Makefile 2007-02-06 03:00:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/block/Makefile 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/drivers/block/Makefile 2007-02-06 03:00:26 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/block/Makefile 2007-04-01 17:29:58 +0200
@@ -28,4 +28,5 @@ obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryp
obj-$(CONFIG_VIODASD) += viodasd.o
obj-$(CONFIG_BLK_DEV_SX8) += sx8.o
obj-$(CONFIG_BLK_DEV_UB) += ub.o
+obj-$(CONFIG_BLK_DEV_VROOT) += vroot.o
---- linux-2.6.20.1/drivers/block/loop.c 2007-02-06 03:00:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/block/loop.c 2007-02-15 00:06:27 +0100
+--- linux-2.6.20.4/drivers/block/loop.c 2007-02-06 03:00:26 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/block/loop.c 2007-04-01 17:30:01 +0200
@@ -74,6 +74,7 @@
#include <linux/highmem.h>
#include <linux/gfp.h>
@@ -2008,8 +2095,8 @@
mutex_lock(&lo->lo_ctl_mutex);
lo->lo_refcnt++;
mutex_unlock(&lo->lo_ctl_mutex);
---- linux-2.6.20.1/drivers/block/vroot.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/block/vroot.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/drivers/block/vroot.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/block/vroot.c 2007-04-01 17:29:58 +0200
@@ -0,0 +1,281 @@
+/*
+ * linux/drivers/block/vroot.c
@@ -2019,7 +2106,7 @@
+ *
+ * based on the loop.c code by Theodore Ts'o.
+ *
-+ * Copyright (C) 2002-2006 by Herbert Pötzl.
++ * Copyright (C) 2002-2007 by Herbert Pötzl.
+ * Redistribution of this file is permitted under the
+ * GNU General Public License.
+ *
@@ -2292,19 +2379,8 @@
+
+#endif
+
---- linux-2.6.20.1/drivers/char/random.c 2007-02-06 03:00:33 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/char/random.c 2007-02-06 03:05:22 +0100
-@@ -1178,7 +1178,7 @@ static char sysctl_bootid[16];
- static int proc_do_uuid(ctl_table *table, int write, struct file *filp,
- void __user *buffer, size_t *lenp, loff_t *ppos)
- {
-- ctl_table fake_table;
-+ ctl_table fake_table = {0};
- unsigned char buf[64], tmp_uuid[16], *uuid;
-
- uuid = table->data;
---- linux-2.6.20.1/drivers/char/sysrq.c 2007-02-06 03:00:34 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/char/sysrq.c 2007-02-06 03:12:21 +0100
+--- linux-2.6.20.4/drivers/char/sysrq.c 2007-02-06 03:00:34 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/char/sysrq.c 2007-04-01 17:29:48 +0200
@@ -36,6 +36,7 @@
#include <linux/workqueue.h>
#include <linux/kexec.h>
@@ -2357,8 +2433,8 @@
else
retval = -1;
return retval;
---- linux-2.6.20.1/drivers/char/tty_io.c 2007-02-06 03:00:34 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/char/tty_io.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/drivers/char/tty_io.c 2007-03-10 20:33:59 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/char/tty_io.c 2007-04-01 17:30:05 +0200
@@ -103,6 +103,7 @@
#include <linux/selection.h>
@@ -2367,7 +2443,15 @@
#undef TTY_DEBUG_HANGUP
-@@ -2964,13 +2965,16 @@ unlock:
+@@ -185,6 +186,7 @@ static inline void free_tty_struct(struc
+ {
+ kfree(tty->write_buf);
+ tty_buffer_free_all(tty);
++ memset(tty, 0xDEADDEAD, sizeof(struct tty_struct));
+ kfree(tty);
+ }
+
+@@ -2978,13 +2980,16 @@ unlock:
static int tiocgpgrp(struct tty_struct *tty, struct tty_struct *real_tty, pid_t __user *p)
{
@@ -2385,7 +2469,7 @@
}
/**
-@@ -3000,6 +3004,8 @@ static int tiocspgrp(struct tty_struct *
+@@ -3014,6 +3019,8 @@ static int tiocspgrp(struct tty_struct *
return -ENOTTY;
if (get_user(pgrp, p))
return -EFAULT;
@@ -2394,8 +2478,18 @@
if (pgrp < 0)
return -EINVAL;
if (session_of_pgrp(pgrp) != process_session(current))
---- linux-2.6.20.1/drivers/infiniband/core/uverbs_mem.c 2007-02-06 03:00:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/infiniband/core/uverbs_mem.c 2007-02-06 03:05:22 +0100
+@@ -3788,6 +3795,9 @@ EXPORT_SYMBOL(tty_unregister_driver);
+
+ dev_t tty_devnum(struct tty_struct *tty)
+ {
++ WARN_ON(!tty);
++ WARN_ON(!tty->magic);
++ WARN_ON(!tty->driver);
+ return MKDEV(tty->driver->major, tty->driver->minor_start) + tty->index;
+ }
+ EXPORT_SYMBOL(tty_devnum);
+--- linux-2.6.20.4/drivers/infiniband/core/uverbs_mem.c 2007-02-06 03:00:37 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/infiniband/core/uverbs_mem.c 2007-04-01 17:29:47 +0200
@@ -36,6 +36,7 @@
#include <linux/mm.h>
@@ -2433,8 +2527,8 @@
up_write(&work->mm->mmap_sem);
mmput(work->mm);
kfree(work);
---- linux-2.6.20.1/drivers/infiniband/hw/ipath/ipath_user_pages.c 2007-02-06 03:00:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/infiniband/hw/ipath/ipath_user_pages.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/drivers/infiniband/hw/ipath/ipath_user_pages.c 2007-02-06 03:00:37 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/infiniband/hw/ipath/ipath_user_pages.c 2007-04-01 17:29:47 +0200
@@ -33,6 +33,7 @@
#include <linux/mm.h>
@@ -2480,8 +2574,8 @@
up_write(&work->mm->mmap_sem);
mmput(work->mm);
kfree(work);
---- linux-2.6.20.1/drivers/md/dm-ioctl.c 2007-02-06 03:00:41 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/md/dm-ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/drivers/md/dm-ioctl.c 2007-02-06 03:00:41 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/md/dm-ioctl.c 2007-04-01 17:30:01 +0200
@@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/dm-ioctl.h>
@@ -2563,8 +2657,8 @@
return -EACCES;
if (_IOC_TYPE(command) != DM_IOCTL)
---- linux-2.6.20.1/drivers/md/dm.c 2007-02-06 03:00:41 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/md/dm.c 2007-02-15 00:06:27 +0100
+--- linux-2.6.20.4/drivers/md/dm.c 2007-02-06 03:00:41 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/md/dm.c 2007-04-01 17:30:01 +0200
@@ -21,6 +21,7 @@
#include <linux/hdreg.h>
#include <linux/blktrace_api.h>
@@ -2638,8 +2732,8 @@
md->queue = blk_alloc_queue(GFP_KERNEL);
if (!md->queue)
---- linux-2.6.20.1/drivers/md/dm.h 2007-02-06 03:00:41 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/drivers/md/dm.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/drivers/md/dm.h 2007-02-06 03:00:41 +0100
++++ linux-2.6.20.4-vs2.2.0/drivers/md/dm.h 2007-04-01 17:30:01 +0200
@@ -91,6 +91,8 @@ void dm_put_target_type(struct target_ty
int dm_target_iterate(void (*iter_func)(struct target_type *tt,
void *param), void *param);
@@ -2649,8 +2743,8 @@
/*-----------------------------------------------------------------
* Useful inlines.
*---------------------------------------------------------------*/
---- linux-2.6.20.1/fs/attr.c 2006-04-09 13:49:53 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/attr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/attr.c 2006-04-09 13:49:53 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/attr.c 2007-04-01 17:29:47 +0200
@@ -15,6 +15,9 @@
#include <linux/fcntl.h>
#include <linux/quotaops.h>
@@ -2711,8 +2805,8 @@
error = DQUOT_TRANSFER(inode, attr) ? -EDQUOT : 0;
if (!error)
error = inode_setattr(inode, attr);
---- linux-2.6.20.1/fs/binfmt_aout.c 2007-02-06 03:01:16 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/binfmt_aout.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/binfmt_aout.c 2007-02-06 03:01:16 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/binfmt_aout.c 2007-04-01 17:29:24 +0200
@@ -24,6 +24,7 @@
#include <linux/binfmts.h>
#include <linux/personality.h>
@@ -2721,8 +2815,8 @@
#include <asm/system.h>
#include <asm/uaccess.h>
---- linux-2.6.20.1/fs/binfmt_elf.c 2007-02-06 03:01:16 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/binfmt_elf.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/binfmt_elf.c 2007-03-10 20:34:00 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/binfmt_elf.c 2007-04-01 17:29:33 +0200
@@ -39,6 +39,7 @@
#include <linux/syscalls.h>
#include <linux/random.h>
@@ -2731,8 +2825,8 @@
#include <asm/uaccess.h>
#include <asm/param.h>
#include <asm/page.h>
---- linux-2.6.20.1/fs/binfmt_flat.c 2007-02-06 03:01:16 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/binfmt_flat.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/binfmt_flat.c 2007-02-06 03:01:16 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/binfmt_flat.c 2007-04-01 17:29:37 +0200
@@ -36,6 +36,7 @@
#include <linux/init.h>
#include <linux/flat.h>
@@ -2741,8 +2835,8 @@
#include <asm/byteorder.h>
#include <asm/system.h>
---- linux-2.6.20.1/fs/binfmt_som.c 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/binfmt_som.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/binfmt_som.c 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/binfmt_som.c 2007-04-01 17:29:38 +0200
@@ -28,6 +28,7 @@
#include <linux/shm.h>
#include <linux/personality.h>
@@ -2751,8 +2845,8 @@
#include <asm/a.out.h>
#include <asm/uaccess.h>
---- linux-2.6.20.1/fs/dcache.c 2007-02-06 03:01:17 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/dcache.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/dcache.c 2007-02-06 03:01:17 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/dcache.c 2007-04-01 17:29:48 +0200
@@ -32,6 +32,7 @@
#include <linux/seqlock.h>
#include <linux/swap.h>
@@ -2812,8 +2906,8 @@
found = dentry;
}
spin_unlock(&dentry->d_lock);
---- linux-2.6.20.1/fs/devpts/inode.c 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/devpts/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/devpts/inode.c 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/devpts/inode.c 2007-04-01 17:29:42 +0200
@@ -19,8 +19,22 @@
#include <linux/tty.h>
#include <linux/devpts_fs.h>
@@ -2886,8 +2980,8 @@
inode->i_private = tty;
dentry = get_node(number);
---- linux-2.6.20.1/fs/ecryptfs/inode.c 2007-02-06 03:01:17 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ecryptfs/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ecryptfs/inode.c 2007-02-06 03:01:17 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ecryptfs/inode.c 2007-04-01 17:30:01 +0200
@@ -415,7 +415,7 @@ static int ecryptfs_link(struct dentry *
dget(lower_new_dentry);
lower_dir_dentry = lock_parent(lower_new_dentry);
@@ -2942,8 +3036,8 @@
if (rc || !lower_dentry->d_inode)
goto out;
rc = ecryptfs_interpose(lower_dentry, dentry, dir->i_sb, 0);
---- linux-2.6.20.1/fs/exec.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/exec.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/exec.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/exec.c 2007-04-01 17:29:47 +0200
@@ -50,6 +50,7 @@
#include <linux/tsacct_kern.h>
#include <linux/cn_proc.h>
@@ -2971,8 +3065,8 @@
rc = snprintf(out_ptr, out_end - out_ptr,
"%lu", tv.tv_sec);
if (rc > out_end - out_ptr)
---- linux-2.6.20.1/fs/ext2/balloc.c 2006-09-20 16:58:34 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/balloc.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/balloc.c 2006-09-20 16:58:34 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/balloc.c 2007-04-01 17:29:50 +0200
@@ -16,6 +16,8 @@
#include <linux/sched.h>
#include <linux/buffer_head.h>
@@ -3026,8 +3120,8 @@
release_blocks(sb, es_alloc);
out_dquot:
DQUOT_FREE_BLOCK(inode, dq_alloc);
---- linux-2.6.20.1/fs/ext2/ext2.h 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/ext2.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/ext2.h 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/ext2.h 2007-04-01 17:29:46 +0200
@@ -166,6 +166,7 @@ extern const struct file_operations ext2
extern const struct address_space_operations ext2_aops;
extern const struct address_space_operations ext2_aops_xip;
@@ -3036,8 +3130,8 @@
/* namei.c */
extern struct inode_operations ext2_dir_inode_operations;
---- linux-2.6.20.1/fs/ext2/file.c 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/file.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/file.c 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/file.c 2007-04-01 17:30:00 +0200
@@ -54,6 +54,7 @@ const struct file_operations ext2_file_o
.release = ext2_release_file,
.fsync = ext2_sync_file,
@@ -3052,8 +3146,8 @@
.permission = ext2_permission,
+ .sync_flags = ext2_sync_flags,
};
---- linux-2.6.20.1/fs/ext2/ialloc.c 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/ialloc.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/ialloc.c 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/ialloc.c 2007-04-01 17:29:50 +0200
@@ -17,6 +17,8 @@
#include <linux/backing-dev.h>
#include <linux/buffer_head.h>
@@ -3109,8 +3203,8 @@
make_bad_inode(inode);
iput(inode);
return ERR_PTR(err);
---- linux-2.6.20.1/fs/ext2/inode.c 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/inode.c 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/inode.c 2007-04-01 17:29:47 +0200
@@ -31,6 +31,7 @@
#include <linux/writeback.h>
#include <linux/buffer_head.h>
@@ -3242,8 +3336,8 @@
error = DQUOT_TRANSFER(inode, iattr) ? -EDQUOT : 0;
if (error)
return error;
---- linux-2.6.20.1/fs/ext2/ioctl.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/ioctl.c 2007-02-06 03:13:14 +0100
+--- linux-2.6.20.4/fs/ext2/ioctl.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/ioctl.c 2007-04-01 17:30:01 +0200
@@ -13,6 +13,7 @@
#include <linux/sched.h>
#include <linux/compat.h>
@@ -3283,8 +3377,8 @@
return -EROFS;
if (get_user(inode->i_generation, (int __user *) arg))
return -EFAULT;
---- linux-2.6.20.1/fs/ext2/namei.c 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/namei.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/namei.c 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/namei.c 2007-04-01 17:29:47 +0200
@@ -31,6 +31,7 @@
*/
@@ -3315,8 +3409,8 @@
.permission = ext2_permission,
+ .sync_flags = ext2_sync_flags,
};
---- linux-2.6.20.1/fs/ext2/super.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/super.c 2007-03-10 20:34:00 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/super.c 2007-04-01 17:29:45 +0200
@@ -324,7 +324,7 @@ enum {
Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug,
Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr,
@@ -3358,7 +3452,7 @@
case Opt_nocheck:
clear_opt (sbi->s_mount_opt, CHECK);
break;
-@@ -726,6 +744,8 @@ static int ext2_fill_super(struct super_
+@@ -730,6 +748,8 @@ static int ext2_fill_super(struct super_
if (!parse_options ((char *) data, sbi))
goto failed_mount;
@@ -3367,7 +3461,7 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ?
MS_POSIXACL : 0);
-@@ -1034,6 +1054,13 @@ static int ext2_remount (struct super_bl
+@@ -1038,6 +1058,13 @@ static int ext2_remount (struct super_bl
goto restore_opts;
}
@@ -3381,8 +3475,8 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
---- linux-2.6.20.1/fs/ext2/symlink.c 2005-08-29 22:25:30 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/symlink.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/symlink.c 2005-08-29 22:25:30 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/symlink.c 2007-04-01 17:29:46 +0200
@@ -38,6 +38,7 @@ struct inode_operations ext2_symlink_ino
.listxattr = ext2_listxattr,
.removexattr = generic_removexattr,
@@ -3397,8 +3491,8 @@
#endif
+ .sync_flags = ext2_sync_flags,
};
---- linux-2.6.20.1/fs/ext2/xattr.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext2/xattr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext2/xattr.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext2/xattr.c 2007-04-01 17:29:50 +0200
@@ -60,6 +60,7 @@
#include <linux/mbcache.h>
#include <linux/quotaops.h>
@@ -3436,8 +3530,8 @@
DQUOT_FREE_BLOCK(inode, 1);
}
EXT2_I(inode)->i_file_acl = 0;
---- linux-2.6.20.1/fs/ext3/balloc.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/balloc.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/balloc.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/balloc.c 2007-04-01 17:29:50 +0200
@@ -19,6 +19,8 @@
#include <linux/ext3_jbd.h>
#include <linux/quotaops.h>
@@ -3537,8 +3631,8 @@
if (fatal) {
*errp = fatal;
ext3_std_error(sb, fatal);
---- linux-2.6.20.1/fs/ext3/file.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/file.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/file.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/file.c 2007-04-01 17:30:00 +0200
@@ -121,6 +121,7 @@ const struct file_operations ext3_file_o
.release = ext3_release_file,
.fsync = ext3_sync_file,
@@ -3554,8 +3648,8 @@
+ .sync_flags = ext3_sync_flags,
};
---- linux-2.6.20.1/fs/ext3/ialloc.c 2006-11-30 21:19:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/ialloc.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/ialloc.c 2006-11-30 21:19:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/ialloc.c 2007-04-01 17:29:50 +0200
@@ -23,6 +23,8 @@
#include <linux/buffer_head.h>
#include <linux/random.h>
@@ -3613,8 +3707,8 @@
inode->i_flags |= S_NOQUOTA;
inode->i_nlink = 0;
iput(inode);
---- linux-2.6.20.1/fs/ext3/inode.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/inode.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/inode.c 2007-04-01 17:29:47 +0200
@@ -37,6 +37,7 @@
#include <linux/mpage.h>
#include <linux/uio.h>
@@ -3799,8 +3893,8 @@
error = ext3_mark_inode_dirty(handle, inode);
ext3_journal_stop(handle);
}
---- linux-2.6.20.1/fs/ext3/ioctl.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/ioctl.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/ioctl.c 2007-04-01 17:30:05 +0200
@@ -8,6 +8,7 @@
*/
@@ -3917,8 +4011,8 @@
default:
return -ENOTTY;
---- linux-2.6.20.1/fs/ext3/namei.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/namei.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/namei.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/namei.c 2007-04-01 17:29:47 +0200
@@ -37,6 +37,7 @@
#include <linux/buffer_head.h>
#include <linux/bio.h>
@@ -3949,8 +4043,8 @@
.permission = ext3_permission,
+ .sync_flags = ext3_sync_flags,
};
---- linux-2.6.20.1/fs/ext3/super.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/super.c 2007-03-10 20:34:00 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/super.c 2007-04-01 17:29:45 +0200
@@ -677,7 +677,7 @@ enum {
Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
@@ -3992,7 +4086,7 @@
case Opt_nocheck:
clear_opt (sbi->s_mount_opt, CHECK);
break;
-@@ -1486,6 +1504,9 @@ static int ext3_fill_super (struct super
+@@ -1490,6 +1508,9 @@ static int ext3_fill_super (struct super
NULL, 0))
goto failed_mount;
@@ -4002,7 +4096,7 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT3_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
-@@ -2301,6 +2322,12 @@ static int ext3_remount (struct super_bl
+@@ -2305,6 +2326,12 @@ static int ext3_remount (struct super_bl
if (sbi->s_mount_opt & EXT3_MOUNT_ABORT)
ext3_abort(sb, __FUNCTION__, "Abort forced by user");
@@ -4015,8 +4109,8 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT3_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
---- linux-2.6.20.1/fs/ext3/symlink.c 2005-08-29 22:25:30 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/symlink.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/symlink.c 2005-08-29 22:25:30 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/symlink.c 2007-04-01 17:29:46 +0200
@@ -40,6 +40,7 @@ struct inode_operations ext3_symlink_ino
.listxattr = ext3_listxattr,
.removexattr = generic_removexattr,
@@ -4031,8 +4125,8 @@
#endif
+ .sync_flags = ext3_sync_flags,
};
---- linux-2.6.20.1/fs/ext3/xattr.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext3/xattr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext3/xattr.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext3/xattr.c 2007-04-01 17:29:50 +0200
@@ -58,6 +58,7 @@
#include <linux/mbcache.h>
#include <linux/quotaops.h>
@@ -4074,8 +4168,8 @@
goto cleanup;
bad_block:
---- linux-2.6.20.1/fs/ext4/balloc.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/balloc.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/balloc.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/balloc.c 2007-04-01 17:29:50 +0200
@@ -19,6 +19,8 @@
#include <linux/ext4_jbd2.h>
#include <linux/quotaops.h>
@@ -4174,8 +4268,8 @@
if (fatal) {
*errp = fatal;
ext4_std_error(sb, fatal);
---- linux-2.6.20.1/fs/ext4/file.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/file.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/file.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/file.c 2007-04-01 17:30:00 +0200
@@ -121,6 +121,7 @@ const struct file_operations ext4_file_o
.release = ext4_release_file,
.fsync = ext4_sync_file,
@@ -4191,8 +4285,8 @@
+ .sync_flags = ext4_sync_flags,
};
---- linux-2.6.20.1/fs/ext4/ialloc.c 2006-11-30 21:19:20 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/ialloc.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/ialloc.c 2006-11-30 21:19:20 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/ialloc.c 2007-04-01 17:29:50 +0200
@@ -24,6 +24,8 @@
#include <linux/random.h>
#include <linux/bitops.h>
@@ -4250,8 +4344,8 @@
inode->i_flags |= S_NOQUOTA;
inode->i_nlink = 0;
iput(inode);
---- linux-2.6.20.1/fs/ext4/inode.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/inode.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/inode.c 2007-04-01 17:29:47 +0200
@@ -37,6 +37,7 @@
#include <linux/mpage.h>
#include <linux/uio.h>
@@ -4436,8 +4530,8 @@
error = ext4_mark_inode_dirty(handle, inode);
ext4_journal_stop(handle);
}
---- linux-2.6.20.1/fs/ext4/ioctl.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/ioctl.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/ioctl.c 2007-04-01 17:30:05 +0200
@@ -8,6 +8,7 @@
*/
@@ -4555,8 +4649,8 @@
default:
return -ENOTTY;
}
---- linux-2.6.20.1/fs/ext4/namei.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/namei.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/namei.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/namei.c 2007-04-01 17:29:47 +0200
@@ -37,6 +37,7 @@
#include <linux/buffer_head.h>
#include <linux/bio.h>
@@ -4587,8 +4681,8 @@
.permission = ext4_permission,
+ .sync_flags = ext4_sync_flags,
};
---- linux-2.6.20.1/fs/ext4/super.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/super.c 2007-03-10 20:34:00 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/super.c 2007-04-01 17:29:45 +0200
@@ -728,7 +728,7 @@ enum {
Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
@@ -4630,7 +4724,7 @@
case Opt_nocheck:
clear_opt (sbi->s_mount_opt, CHECK);
break;
-@@ -1545,6 +1563,9 @@ static int ext4_fill_super (struct super
+@@ -1549,6 +1567,9 @@ static int ext4_fill_super (struct super
NULL, 0))
goto failed_mount;
@@ -4640,7 +4734,7 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT4_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
-@@ -2376,6 +2397,12 @@ static int ext4_remount (struct super_bl
+@@ -2380,6 +2401,12 @@ static int ext4_remount (struct super_bl
if (sbi->s_mount_opt & EXT4_MOUNT_ABORT)
ext4_abort(sb, __FUNCTION__, "Abort forced by user");
@@ -4653,8 +4747,8 @@
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT4_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
---- linux-2.6.20.1/fs/ext4/symlink.c 2006-11-30 21:19:20 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/symlink.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/symlink.c 2006-11-30 21:19:20 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/symlink.c 2007-04-01 17:29:46 +0200
@@ -40,6 +40,7 @@ struct inode_operations ext4_symlink_ino
.listxattr = ext4_listxattr,
.removexattr = generic_removexattr,
@@ -4669,8 +4763,8 @@
#endif
+ .sync_flags = ext4_sync_flags,
};
---- linux-2.6.20.1/fs/ext4/xattr.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ext4/xattr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ext4/xattr.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ext4/xattr.c 2007-04-01 17:29:50 +0200
@@ -58,6 +58,7 @@
#include <linux/mbcache.h>
#include <linux/quotaops.h>
@@ -4712,8 +4806,8 @@
goto cleanup;
bad_block:
---- linux-2.6.20.1/fs/fcntl.c 2007-02-06 03:01:18 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/fcntl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/fcntl.c 2007-02-06 03:01:18 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/fcntl.c 2007-04-01 17:29:48 +0200
@@ -18,6 +18,7 @@
#include <linux/ptrace.h>
#include <linux/signal.h>
@@ -4749,8 +4843,8 @@
err = newfd;
out:
return err;
---- linux-2.6.20.1/fs/file_table.c 2007-02-06 03:01:19 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/file_table.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/file_table.c 2007-02-06 03:01:19 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/file_table.c 2007-04-01 17:29:48 +0200
@@ -21,6 +21,8 @@
#include <linux/fsnotify.h>
#include <linux/sysctl.h>
@@ -4787,8 +4881,8 @@
file_kill(file);
file_free(file);
}
---- linux-2.6.20.1/fs/hfsplus/ioctl.c 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/hfsplus/ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/hfsplus/ioctl.c 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/hfsplus/ioctl.c 2007-04-01 17:30:01 +0200
@@ -16,6 +16,7 @@
#include <linux/fs.h>
#include <linux/sched.h>
@@ -4807,8 +4901,8 @@
return -EROFS;
if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
---- linux-2.6.20.1/fs/inode.c 2007-02-06 03:01:22 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/inode.c 2007-02-06 03:01:22 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/inode.c 2007-04-01 17:30:05 +0200
@@ -115,6 +115,9 @@ static struct inode *alloc_inode(struct
struct address_space * const mapping = &inode->i_data;
@@ -4828,8 +4922,8 @@
/**
* clear_inode - clear an inode
* @inode: inode to clear
---- linux-2.6.20.1/fs/ioctl.c 2007-02-06 03:01:22 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ioctl.c 2007-02-06 03:01:22 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ioctl.c 2007-04-01 17:30:05 +0200
@@ -12,10 +12,19 @@
#include <linux/fs.h>
#include <linux/security.h>
@@ -4899,8 +4993,8 @@
default:
if (S_ISREG(filp->f_path.dentry->d_inode->i_mode))
error = file_ioctl(filp, cmd, arg);
---- linux-2.6.20.1/fs/ioprio.c 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ioprio.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ioprio.c 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ioprio.c 2007-04-01 17:30:04 +0200
@@ -25,6 +25,7 @@
#include <linux/capability.h>
#include <linux/syscalls.h>
@@ -4909,7 +5003,16 @@
static int set_task_ioprio(struct task_struct *task, int ioprio)
{
-@@ -109,7 +110,7 @@ asmlinkage long sys_ioprio_set(int which
+@@ -100,6 +101,8 @@ asmlinkage long sys_ioprio_set(int which
+ if (!who)
+ who = process_group(current);
+ do_each_task_pid(who, PIDTYPE_PGID, p) {
++ if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++ continue;
+ ret = set_task_ioprio(p, ioprio);
+ if (ret)
+ break;
+@@ -109,7 +112,7 @@ asmlinkage long sys_ioprio_set(int which
if (!who)
user = current->user;
else
@@ -4918,7 +5021,16 @@
if (!user)
break;
-@@ -197,7 +198,7 @@ asmlinkage long sys_ioprio_get(int which
+@@ -184,6 +187,8 @@ asmlinkage long sys_ioprio_get(int which
+ if (!who)
+ who = process_group(current);
+ do_each_task_pid(who, PIDTYPE_PGID, p) {
++ if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++ continue;
+ tmpio = get_task_ioprio(p);
+ if (tmpio < 0)
+ continue;
+@@ -197,7 +202,7 @@ asmlinkage long sys_ioprio_get(int which
if (!who)
user = current->user;
else
@@ -4927,8 +5039,8 @@
if (!user)
break;
---- linux-2.6.20.1/fs/jfs/acl.c 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/acl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/acl.c 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/acl.c 2007-04-01 17:29:47 +0200
@@ -232,7 +232,8 @@ int jfs_setattr(struct dentry *dentry, s
return rc;
@@ -4939,8 +5051,8 @@
if (DQUOT_TRANSFER(inode, iattr))
return -EDQUOT;
}
---- linux-2.6.20.1/fs/jfs/file.c 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/file.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/file.c 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/file.c 2007-04-01 17:30:00 +0200
@@ -98,6 +98,7 @@ struct inode_operations jfs_file_inode_o
.setattr = jfs_setattr,
.permission = jfs_permission,
@@ -4957,8 +5069,8 @@
.splice_read = generic_file_splice_read,
.splice_write = generic_file_splice_write,
.fsync = jfs_fsync,
---- linux-2.6.20.1/fs/jfs/inode.c 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/inode.c 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/inode.c 2007-04-01 17:29:50 +0200
@@ -22,6 +22,7 @@
#include <linux/buffer_head.h>
#include <linux/pagemap.h>
@@ -4975,8 +5087,8 @@
}
clear_inode(inode);
---- linux-2.6.20.1/fs/jfs/ioctl.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/ioctl.c 2007-02-06 03:13:33 +0100
+--- linux-2.6.20.4/fs/jfs/ioctl.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/ioctl.c 2007-04-01 17:30:01 +0200
@@ -10,6 +10,7 @@
#include <linux/capability.h>
#include <linux/time.h>
@@ -5006,8 +5118,8 @@
if (!capable(CAP_LINUX_IMMUTABLE))
return -EPERM;
}
---- linux-2.6.20.1/fs/jfs/jfs_dinode.h 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_dinode.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_dinode.h 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_dinode.h 2007-04-01 17:29:46 +0200
@@ -162,9 +162,12 @@ struct dinode {
#define JFS_APPEND_FL 0x01000000 /* writes to file may only append */
#define JFS_IMMUTABLE_FL 0x02000000 /* Immutable file */
@@ -5023,8 +5135,8 @@
/* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */
#define JFS_IOC_GETFLAGS _IOR('f', 1, long)
---- linux-2.6.20.1/fs/jfs/jfs_dtree.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_dtree.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_dtree.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_dtree.c 2007-04-01 17:29:50 +0200
@@ -102,6 +102,7 @@
#include <linux/fs.h>
@@ -5136,8 +5248,8 @@
/* Free quota allocation */
DQUOT_FREE_BLOCK(ip, xlen);
---- linux-2.6.20.1/fs/jfs/jfs_extent.c 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_extent.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_extent.c 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_extent.c 2007-04-01 17:29:50 +0200
@@ -18,6 +18,7 @@
#include <linux/fs.h>
@@ -5199,8 +5311,8 @@
DQUOT_FREE_BLOCK(ip, nxlen);
goto exit;
}
---- linux-2.6.20.1/fs/jfs/jfs_filsys.h 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_filsys.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_filsys.h 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_filsys.h 2007-04-01 17:29:47 +0200
@@ -264,6 +264,7 @@
#define JFS_NAME_MAX 255
#define JFS_PATH_MAX BPSIZE
@@ -5209,8 +5321,8 @@
/*
* file system state (superblock state)
---- linux-2.6.20.1/fs/jfs/jfs_imap.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_imap.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_imap.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_imap.c 2007-04-01 17:29:46 +0200
@@ -45,6 +45,7 @@
#include <linux/buffer_head.h>
#include <linux/pagemap.h>
@@ -5270,8 +5382,8 @@
/*
* mode2 is only needed for storing the higher order bits.
* Trust i_mode for the lower order ones
---- linux-2.6.20.1/fs/jfs/jfs_inode.c 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_inode.c 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_inode.c 2007-04-01 17:29:50 +0200
@@ -18,6 +18,8 @@
#include <linux/fs.h>
@@ -5351,8 +5463,8 @@
DQUOT_DROP(inode);
inode->i_flags |= S_NOQUOTA;
inode->i_nlink = 0;
---- linux-2.6.20.1/fs/jfs/jfs_inode.h 2006-11-30 21:19:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_inode.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_inode.h 2006-11-30 21:19:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_inode.h 2007-04-01 17:29:46 +0200
@@ -31,6 +31,7 @@ extern void jfs_truncate(struct inode *)
extern void jfs_truncate_nolock(struct inode *, loff_t);
extern void jfs_free_zero_link(struct inode *);
@@ -5361,8 +5473,8 @@
extern void jfs_set_inode_flags(struct inode *);
extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int);
---- linux-2.6.20.1/fs/jfs/jfs_xtree.c 2006-11-30 21:19:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/jfs_xtree.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/jfs_xtree.c 2006-11-30 21:19:26 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/jfs_xtree.c 2007-04-01 17:29:50 +0200
@@ -21,6 +21,7 @@
#include <linux/fs.h>
@@ -5446,8 +5558,8 @@
/* update quota allocation to reflect freed blocks */
DQUOT_FREE_BLOCK(ip, nfreed);
---- linux-2.6.20.1/fs/jfs/namei.c 2006-11-30 21:19:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/namei.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/namei.c 2006-11-30 21:19:26 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/namei.c 2007-04-01 17:29:47 +0200
@@ -20,6 +20,7 @@
#include <linux/fs.h>
#include <linux/ctype.h>
@@ -5472,8 +5584,8 @@
};
const struct file_operations jfs_dir_operations = {
---- linux-2.6.20.1/fs/jfs/super.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/super.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/super.c 2007-04-01 17:29:45 +0200
@@ -194,7 +194,8 @@ static void jfs_put_super(struct super_b
enum {
Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,
@@ -5540,8 +5652,8 @@
if (newLVSize) {
printk(KERN_ERR "resize option for remount only\n");
---- linux-2.6.20.1/fs/jfs/xattr.c 2006-11-30 21:19:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/jfs/xattr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/jfs/xattr.c 2006-11-30 21:19:26 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/jfs/xattr.c 2007-04-01 17:29:50 +0200
@@ -23,6 +23,7 @@
#include <linux/posix_acl_xattr.h>
#include <linux/quotaops.h>
@@ -5619,8 +5731,8 @@
inode->i_ctime = CURRENT_TIME;
---- linux-2.6.20.1/fs/libfs.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/libfs.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/libfs.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/libfs.c 2007-04-01 17:30:04 +0200
@@ -124,7 +124,8 @@ static inline unsigned char dt_type(stru
* both impossible due to the lock on directory.
*/
@@ -5667,8 +5779,8 @@
EXPORT_SYMBOL(generic_read_dir);
EXPORT_SYMBOL(get_sb_pseudo);
EXPORT_SYMBOL(simple_commit_write);
---- linux-2.6.20.1/fs/locks.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/locks.c 2007-02-25 17:48:19 +0100
+--- linux-2.6.20.4/fs/locks.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/locks.c 2007-04-01 17:30:03 +0200
@@ -125,6 +125,8 @@
#include <linux/syscalls.h>
#include <linux/time.h>
@@ -5864,8 +5976,8 @@
lock_get_status(q, fl, ++i, "");
move_lock_status(&q, &pos, offset);
---- linux-2.6.20.1/fs/namei.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/namei.c 2007-02-15 00:05:56 +0100
+--- linux-2.6.20.4/fs/namei.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/namei.c 2007-04-01 17:30:03 +0200
@@ -32,6 +32,11 @@
#include <linux/file.h>
#include <linux/fcntl.h>
@@ -6387,8 +6499,8 @@
/* get the link contents into pagecache */
static char *page_getlink(struct dentry * dentry, struct page **ppage)
{
---- linux-2.6.20.1/fs/namespace.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/namespace.c 2007-02-06 05:58:26 +0100
+--- linux-2.6.20.4/fs/namespace.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/namespace.c 2007-04-01 17:30:02 +0200
@@ -25,6 +25,11 @@
#include <linux/security.h>
#include <linux/mount.h>
@@ -6722,8 +6834,8 @@
+ atomic_dec(&vs_global_mnt_ns);
kfree(ns);
}
---- linux-2.6.20.1/fs/nfs/client.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfs/client.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfs/client.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfs/client.c 2007-04-01 17:30:04 +0200
@@ -520,6 +520,9 @@ static int nfs_init_server_rpcclient(str
if (server->flags & NFS4_MOUNT_INTR)
server->client->cl_intr = 1;
@@ -6745,8 +6857,8 @@
server->maxfilesize = fsinfo->maxfilesize;
/* We're airborne Set socket buffersize */
---- linux-2.6.20.1/fs/nfs/dir.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfs/dir.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfs/dir.c 2007-02-06 03:01:24 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfs/dir.c 2007-04-01 17:30:01 +0200
@@ -33,6 +33,7 @@
#include <linux/pagevec.h>
#include <linux/namei.h>
@@ -6773,8 +6885,8 @@
return 0;
return 1;
}
---- linux-2.6.20.1/fs/nfs/inode.c 2007-02-06 03:01:24 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfs/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfs/inode.c 2007-03-25 00:56:55 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfs/inode.c 2007-04-01 17:30:04 +0200
@@ -37,6 +37,7 @@
#include <linux/vfs.h>
#include <linux/inet.h>
@@ -6805,7 +6917,7 @@
spin_lock(&inode->i_lock);
NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL;
spin_unlock(&inode->i_lock);
-@@ -815,6 +820,9 @@ static int nfs_check_inode_attributes(st
+@@ -816,6 +821,9 @@ static int nfs_check_inode_attributes(st
struct nfs_inode *nfsi = NFS_I(inode);
loff_t cur_size, new_isize;
int data_unstable;
@@ -6815,7 +6927,7 @@
/* Has the inode gone and changed behind our back? */
-@@ -842,10 +850,15 @@ static int nfs_check_inode_attributes(st
+@@ -843,10 +851,15 @@ static int nfs_check_inode_attributes(st
if (cur_size != new_isize && nfsi->npages == 0)
nfsi->cache_validity |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE;
@@ -6833,7 +6945,7 @@
nfsi->cache_validity |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL;
/* Has the link count changed? */
-@@ -935,6 +948,9 @@ static int nfs_update_inode(struct inode
+@@ -936,6 +949,9 @@ static int nfs_update_inode(struct inode
loff_t cur_isize, new_isize;
unsigned int invalid = 0;
int data_stable;
@@ -6843,7 +6955,7 @@
dfprintk(VFS, "NFS: %s(%s/%ld ct=%d info=0x%x)\n",
__FUNCTION__, inode->i_sb->s_id, inode->i_ino,
-@@ -1007,15 +1023,21 @@ static int nfs_update_inode(struct inode
+@@ -1008,15 +1024,21 @@ static int nfs_update_inode(struct inode
}
memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime));
@@ -6869,8 +6981,8 @@
if (fattr->valid & (NFS_ATTR_FATTR_V3 | NFS_ATTR_FATTR_V4)) {
/*
---- linux-2.6.20.1/fs/nfs/nfs3xdr.c 2006-11-30 21:19:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfs/nfs3xdr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfs/nfs3xdr.c 2006-11-30 21:19:26 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfs/nfs3xdr.c 2007-04-01 17:30:04 +0200
@@ -22,6 +22,7 @@
#include <linux/nfs3.h>
#include <linux/nfs_fs.h>
@@ -6960,8 +7072,8 @@
if (args->type == NF3CHR || args->type == NF3BLK) {
*p++ = htonl(MAJOR(args->rdev));
*p++ = htonl(MINOR(args->rdev));
---- linux-2.6.20.1/fs/nfs/nfsroot.c 2007-02-06 03:01:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfs/nfsroot.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfs/nfsroot.c 2007-02-06 03:01:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfs/nfsroot.c 2007-04-01 17:30:04 +0200
@@ -118,12 +118,12 @@ static int mount_port __initdata = 0; /
enum {
/* Options that take integer arguments */
@@ -7009,8 +7121,8 @@
default:
printk(KERN_WARNING "Root-NFS: unknown "
"option: %s\n", p);
---- linux-2.6.20.1/fs/nfs/super.c 2006-11-30 21:19:26 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfs/super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfs/super.c 2006-11-30 21:19:26 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfs/super.c 2007-04-01 17:30:04 +0200
@@ -44,6 +44,7 @@
#include <linux/vfs.h>
#include <linux/inet.h>
@@ -7027,8 +7139,8 @@
{ 0, NULL, NULL }
};
const struct proc_nfs_info *nfs_infop;
---- linux-2.6.20.1/fs/nfsd/auth.c 2006-06-18 04:54:42 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfsd/auth.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfsd/auth.c 2006-06-18 04:54:42 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/nfsd/auth.c 2007-04-01 17:30:04 +0200
@@ -9,6 +9,7 @@
#include <linux/sunrpc/svc.h>
#include <linux/sunrpc/svcauth.h>
@@ -7063,8 +7175,8 @@
cap_t(current->cap_effective) &= ~CAP_NFSD_MASK;
} else {
cap_t(current->cap_effective) |= (CAP_NFSD_MASK &
---- linux-2.6.20.1/fs/nfsd/nfs3xdr.c 2007-02-06 03:01:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfsd/nfs3xdr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfsd/nfs3xdr.c 2007-02-06 03:01:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfsd/nfs3xdr.c 2007-04-01 17:30:04 +0200
@@ -21,6 +21,7 @@
#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsd.h>
@@ -7113,8 +7225,8 @@
if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) {
p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN);
} else {
---- linux-2.6.20.1/fs/nfsd/nfs4recover.c 2007-02-06 03:01:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfsd/nfs4recover.c 2007-02-06 03:14:20 +0100
+--- linux-2.6.20.4/fs/nfsd/nfs4recover.c 2007-02-06 03:01:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfsd/nfs4recover.c 2007-04-01 17:30:01 +0200
@@ -156,7 +156,7 @@ nfsd4_create_clid_dir(struct nfs4_client
dprintk("NFSD: nfsd4_create_clid_dir: DIRECTORY EXISTS\n");
goto out_put;
@@ -7142,8 +7254,8 @@
mutex_unlock(&dir->d_inode->i_mutex);
return status;
}
---- linux-2.6.20.1/fs/nfsd/nfs4xdr.c 2007-02-06 03:01:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfsd/nfs4xdr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfsd/nfs4xdr.c 2007-02-06 03:01:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfsd/nfs4xdr.c 2007-04-01 17:30:04 +0200
@@ -57,6 +57,7 @@
#include <linux/nfsd_idmap.h>
#include <linux/nfs4.h>
@@ -7173,8 +7285,8 @@
if (status == nfserr_resource)
goto out_resource;
if (status)
---- linux-2.6.20.1/fs/nfsd/nfsxdr.c 2007-02-06 03:01:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfsd/nfsxdr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfsd/nfsxdr.c 2007-02-06 03:01:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfsd/nfsxdr.c 2007-04-01 17:30:04 +0200
@@ -15,6 +15,7 @@
#include <linux/nfsd/nfsd.h>
#include <linux/nfsd/xdr.h>
@@ -7223,8 +7335,8 @@
if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) {
*p++ = htonl(NFS_MAXPATHLEN);
---- linux-2.6.20.1/fs/nfsd/vfs.c 2007-02-06 03:01:25 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/nfsd/vfs.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/nfsd/vfs.c 2007-02-06 03:01:25 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/nfsd/vfs.c 2007-04-01 17:30:01 +0200
@@ -1183,13 +1183,13 @@ nfsd_create(struct svc_rqst *rqstp, stru
host_err = vfs_create(dirp, dchild, iap->ia_mode, NULL);
break;
@@ -7288,8 +7400,8 @@
return nfserr_rofs;
if (/* (acc & MAY_WRITE) && */ IS_IMMUTABLE(inode))
return nfserr_perm;
---- linux-2.6.20.1/fs/ocfs2/dlm/dlmfs.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/dlm/dlmfs.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/dlm/dlmfs.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/dlm/dlmfs.c 2007-04-01 17:30:00 +0200
@@ -44,6 +44,7 @@
#include <linux/string.h>
#include <linux/smp_lock.h>
@@ -7314,8 +7426,8 @@
inode->i_blocks = 0;
inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
---- linux-2.6.20.1/fs/ocfs2/dlmglue.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/dlmglue.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/dlmglue.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/dlmglue.c 2007-04-01 17:30:00 +0200
@@ -1339,6 +1339,7 @@ static void __ocfs2_stuff_meta_lvb(struc
lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters);
lvb->lvb_iuid = cpu_to_be32(inode->i_uid);
@@ -7332,8 +7444,8 @@
inode->i_mode = be16_to_cpu(lvb->lvb_imode);
inode->i_nlink = be16_to_cpu(lvb->lvb_inlink);
ocfs2_unpack_timespec(&inode->i_atime,
---- linux-2.6.20.1/fs/ocfs2/dlmglue.h 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/dlmglue.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/dlmglue.h 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/dlmglue.h 2007-04-01 17:30:00 +0200
@@ -34,7 +34,7 @@
struct ocfs2_meta_lvb {
__u8 lvb_version;
@@ -7343,8 +7455,8 @@
__be32 lvb_iclusters;
__be32 lvb_iuid;
__be32 lvb_igid;
---- linux-2.6.20.1/fs/ocfs2/file.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/file.c 2007-02-06 03:20:23 +0100
+--- linux-2.6.20.4/fs/ocfs2/file.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/file.c 2007-04-01 17:30:00 +0200
@@ -858,13 +858,15 @@ int ocfs2_setattr(struct dentry *dentry,
mlog(0, "uid change: %d\n", attr->ia_uid);
if (attr->ia_valid & ATTR_GID)
@@ -7370,8 +7482,8 @@
.permission = ocfs2_permission,
};
---- linux-2.6.20.1/fs/ocfs2/inode.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/inode.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/inode.c 2007-04-01 17:30:00 +0200
@@ -29,6 +29,7 @@
#include <linux/highmem.h>
#include <linux/pagemap.h>
@@ -7492,8 +7604,8 @@
inode->i_mode = le16_to_cpu(fe->i_mode);
if (S_ISLNK(inode->i_mode) && le32_to_cpu(fe->i_clusters) == 0)
inode->i_blocks = 0;
---- linux-2.6.20.1/fs/ocfs2/inode.h 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/inode.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/inode.h 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/inode.h 2007-04-01 17:29:46 +0200
@@ -143,5 +143,6 @@ int ocfs2_aio_read(struct file *file, st
int ocfs2_aio_write(struct file *file, struct kiocb *req, struct iocb *iocb);
@@ -7501,8 +7613,8 @@
+int ocfs2_sync_flags(struct inode *inode);
#endif /* OCFS2_INODE_H */
---- linux-2.6.20.1/fs/ocfs2/ioctl.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/ioctl.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/ioctl.c 2007-04-01 17:30:00 +0200
@@ -38,7 +38,7 @@ static int ocfs2_get_inode_attr(struct i
return status;
}
@@ -7512,8 +7624,8 @@
unsigned mask)
{
struct ocfs2_inode_info *ocfs2_inode = OCFS2_I(inode);
---- linux-2.6.20.1/fs/ocfs2/ioctl.h 2006-11-30 21:19:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/ioctl.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/ioctl.h 2006-11-30 21:19:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/ioctl.h 2007-04-01 17:30:00 +0200
@@ -10,6 +10,9 @@
#ifndef OCFS2_IOCTL_H
#define OCFS2_IOCTL_H
@@ -7524,8 +7636,8 @@
int ocfs2_ioctl(struct inode * inode, struct file * filp,
unsigned int cmd, unsigned long arg);
---- linux-2.6.20.1/fs/ocfs2/namei.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/namei.c 2007-02-06 03:21:17 +0100
+--- linux-2.6.20.4/fs/ocfs2/namei.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/namei.c 2007-04-01 17:30:00 +0200
@@ -40,6 +40,7 @@
#include <linux/types.h>
#include <linux/slab.h>
@@ -7574,8 +7686,8 @@
+ .sync_flags = ocfs2_sync_flags,
.permission = ocfs2_permission,
};
---- linux-2.6.20.1/fs/ocfs2/ocfs2.h 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/ocfs2.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/ocfs2.h 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/ocfs2.h 2007-04-01 17:30:00 +0200
@@ -175,6 +175,7 @@ enum ocfs2_mount_options
OCFS2_MOUNT_NOINTR = 1 << 2, /* Don't catch signals */
OCFS2_MOUNT_ERRORS_PANIC = 1 << 3, /* Panic on errors */
@@ -7584,8 +7696,8 @@
};
#define OCFS2_OSB_SOFT_RO 0x0001
---- linux-2.6.20.1/fs/ocfs2/ocfs2_fs.h 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/ocfs2_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/ocfs2/ocfs2_fs.h 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/ocfs2_fs.h 2007-04-01 17:30:00 +0200
@@ -151,8 +151,12 @@
#define OCFS2_NOATIME_FL (0x00000080) /* do not update atime */
#define OCFS2_DIRSYNC_FL (0x00010000) /* dirsync behaviour (directories only) */
@@ -7599,8 +7711,8 @@
/*
* ioctl commands
---- linux-2.6.20.1/fs/ocfs2/super.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/ocfs2/super.c 2007-02-06 03:23:25 +0100
+--- linux-2.6.20.4/fs/ocfs2/super.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/ocfs2/super.c 2007-04-01 17:30:00 +0200
@@ -140,6 +140,7 @@ enum {
Opt_data_ordered,
Opt_data_writeback,
@@ -7666,8 +7778,8 @@
default:
mlog(ML_ERROR,
"Unrecognized mount option \"%s\" "
---- linux-2.6.20.1/fs/open.c 2007-02-06 03:01:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/open.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/open.c 2007-02-06 03:01:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/open.c 2007-04-01 17:30:01 +0200
@@ -27,22 +27,31 @@
#include <linux/syscalls.h>
#include <linux/rcupdate.h>
@@ -7841,8 +7953,8 @@
}
void fastcall put_unused_fd(unsigned int fd)
---- linux-2.6.20.1/fs/proc/array.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/proc/array.c 2007-02-06 03:15:47 +0100
+--- linux-2.6.20.4/fs/proc/array.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/proc/array.c 2007-04-01 17:30:05 +0200
@@ -75,6 +75,8 @@
#include <linux/cpuset.h>
#include <linux/rcupdate.h>
@@ -8027,8 +8139,8 @@
tcomm,
state,
ppid,
---- linux-2.6.20.1/fs/proc/base.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/proc/base.c 2007-02-26 19:47:43 +0100
+--- linux-2.6.20.4/fs/proc/base.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/proc/base.c 2007-04-01 17:30:01 +0200
@@ -73,6 +73,9 @@
#include <linux/poll.h>
#include <linux/nsproxy.h>
@@ -8048,37 +8160,7 @@
security_task_to_inode(task, inode);
out:
-@@ -1086,7 +1091,13 @@ static int pid_revalidate(struct dentry
- {
- struct inode *inode = dentry->d_inode;
- struct task_struct *task = get_proc_task(inode);
-+ int ret = 0;
-+
- if (task) {
-+ if (!vx_proc_task_visible(task))
-+ goto out_put;
-+
-+ ret = 1;
- if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) ||
- task_dumpable(task)) {
- inode->i_uid = task->euid;
-@@ -1097,11 +1108,12 @@ static int pid_revalidate(struct dentry
- }
- inode->i_mode &= ~(S_ISUID | S_ISGID);
- security_task_to_inode(task, inode);
-+ out_put:
- put_task_struct(task);
-- return 1;
- }
-- d_drop(dentry);
-- return 0;
-+ if (!ret)
-+ d_drop(dentry);
-+ return ret;
- }
-
- static int pid_delete_dentry(struct dentry * dentry)
-@@ -1467,6 +1479,13 @@ static struct dentry *proc_pident_lookup
+@@ -1467,6 +1472,13 @@ static struct dentry *proc_pident_lookup
if (!task)
goto out_no_task;
@@ -8092,7 +8174,7 @@
/*
* Yes, it does not scale. And it should not. Don't add
* new entries into /proc/<tgid>/ without very good reasons.
-@@ -1671,14 +1690,14 @@ static int proc_self_readlink(struct den
+@@ -1671,14 +1683,14 @@ static int proc_self_readlink(struct den
int buflen)
{
char tmp[PROC_NUMBUF];
@@ -8109,7 +8191,7 @@
return ERR_PTR(vfs_follow_link(nd,tmp));
}
-@@ -1772,7 +1791,7 @@ out_iput:
+@@ -1772,7 +1784,7 @@ out_iput:
static struct dentry *proc_base_lookup(struct inode *dir, struct dentry *dentry)
{
struct dentry *error;
@@ -8118,7 +8200,7 @@
struct pid_entry *p, *last;
error = ERR_PTR(-ENOENT);
-@@ -1833,6 +1852,9 @@ static int proc_pid_io_accounting(struct
+@@ -1833,6 +1845,9 @@ static int proc_pid_io_accounting(struct
static struct file_operations proc_task_operations;
static struct inode_operations proc_task_inode_operations;
@@ -8128,7 +8210,7 @@
static struct pid_entry tgid_base_stuff[] = {
DIR("task", S_IRUGO|S_IXUGO, task),
DIR("fd", S_IRUSR|S_IXUSR, fd),
-@@ -1870,6 +1892,8 @@ static struct pid_entry tgid_base_stuff[
+@@ -1870,6 +1885,8 @@ static struct pid_entry tgid_base_stuff[
#ifdef CONFIG_CPUSETS
REG("cpuset", S_IRUGO, cpuset),
#endif
@@ -8137,7 +8219,7 @@
INF("oom_score", S_IRUGO, oom_score),
REG("oom_adj", S_IRUGO|S_IWUSR, oom_adjust),
#ifdef CONFIG_AUDITSYSCALL
-@@ -2018,7 +2042,7 @@ struct dentry *proc_pid_lookup(struct in
+@@ -2018,7 +2035,7 @@ struct dentry *proc_pid_lookup(struct in
goto out;
rcu_read_lock();
@@ -8146,7 +8228,7 @@
if (task)
get_task_struct(task);
rcu_read_unlock();
-@@ -2082,7 +2106,7 @@ static int proc_pid_fill_cache(struct fi
+@@ -2082,7 +2099,7 @@ static int proc_pid_fill_cache(struct fi
int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
{
unsigned int nr = filp->f_pos - FIRST_PROCESS_ENTRY;
@@ -8155,19 +8237,16 @@
struct task_struct *task;
int tgid;
-@@ -2101,7 +2125,10 @@ int proc_pid_readdir(struct file * filp,
+@@ -2101,6 +2118,8 @@ int proc_pid_readdir(struct file * filp,
put_task_struct(task), task = next_tgid(tgid + 1)) {
tgid = task->pid;
filp->f_pos = tgid + TGID_OFFSET;
-- if (proc_pid_fill_cache(filp, dirent, filldir, task, tgid) < 0) {
+ if (!vx_proc_task_visible(task))
+ continue;
-+ if (proc_pid_fill_cache(filp, dirent, filldir, task,
-+ vx_map_tgid(tgid)) < 0) {
+ if (proc_pid_fill_cache(filp, dirent, filldir, task, tgid) < 0) {
put_task_struct(task);
goto out;
- }
-@@ -2225,9 +2252,11 @@ static struct dentry *proc_task_lookup(s
+@@ -2225,9 +2244,11 @@ static struct dentry *proc_task_lookup(s
tid = name_to_int(dentry);
if (tid == ~0U)
goto out;
@@ -8180,20 +8259,17 @@
if (task)
get_task_struct(task);
rcu_read_unlock();
-@@ -2372,7 +2401,10 @@ static int proc_task_readdir(struct file
+@@ -2372,7 +2393,7 @@ static int proc_task_readdir(struct file
for (task = first_tid(leader, tid, pos - 2);
task;
task = next_tid(task), pos++) {
- tid = task->pid;
+ tid = vx_map_pid(task->pid);
-+ /* FIXME: could go away now! */
-+ if (!vx_proc_task_visible(task))
-+ continue;
if (proc_task_fill_cache(filp, dirent, filldir, task, tid) < 0) {
/* returning this tgid failed, save it as the first
* pid for the next readir call */
---- linux-2.6.20.1/fs/proc/generic.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/proc/generic.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/proc/generic.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/proc/generic.c 2007-04-01 17:30:03 +0200
@@ -20,6 +20,7 @@
#include <linux/namei.h>
#include <linux/bitops.h>
@@ -8253,8 +8329,8 @@
} else {
kfree(ent);
ent = NULL;
---- linux-2.6.20.1/fs/proc/inode.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/proc/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/proc/inode.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/proc/inode.c 2007-04-01 17:30:03 +0200
@@ -168,6 +168,8 @@ struct inode *proc_get_inode(struct supe
inode->i_uid = de->uid;
inode->i_gid = de->gid;
@@ -8264,8 +8340,8 @@
if (de->size)
inode->i_size = de->size;
if (de->nlink)
---- linux-2.6.20.1/fs/proc/internal.h 2006-11-30 21:19:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/proc/internal.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/proc/internal.h 2006-11-30 21:19:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/proc/internal.h 2007-04-01 17:29:40 +0200
@@ -10,6 +10,7 @@
*/
@@ -8292,8 +8368,8 @@
static inline int proc_fd(struct inode *inode)
{
return PROC_I(inode)->fd;
---- linux-2.6.20.1/fs/proc/proc_misc.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/proc/proc_misc.c 2007-02-06 03:19:18 +0100
+--- linux-2.6.20.4/fs/proc/proc_misc.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/proc/proc_misc.c 2007-04-01 17:29:44 +0200
@@ -54,6 +54,8 @@
#include <asm/div64.h>
#include "internal.h"
@@ -8360,8 +8436,8 @@
cached = 0;
get_vmalloc_info(&vmi);
---- linux-2.6.20.1/fs/proc/root.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/proc/root.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/proc/root.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/proc/root.c 2007-04-01 17:29:40 +0200
@@ -26,6 +26,9 @@ struct proc_dir_entry *proc_net, *proc_n
#ifdef CONFIG_SYSCTL
struct proc_dir_entry *proc_sys_root;
@@ -8380,8 +8456,8 @@
}
static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat
---- linux-2.6.20.1/fs/quota.c 2006-11-30 21:19:28 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/quota.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/quota.c 2006-11-30 21:19:28 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/quota.c 2007-04-01 17:29:58 +0200
@@ -17,6 +17,7 @@
#include <linux/buffer_head.h>
#include <linux/capability.h>
@@ -8417,8 +8493,8 @@
return -EPERM;
}
-@@ -365,6 +366,46 @@ static inline struct super_block *quotac
- #endif
+@@ -337,6 +338,46 @@ static int do_quotactl(struct super_bloc
+ return 0;
}
+#if defined(CONFIG_BLK_DEV_VROOT) || defined(CONFIG_BLK_DEV_VROOT_MODULE)
@@ -8462,10 +8538,33 @@
+#endif
+
/*
- * This is the system call interface. This communicates with
- * the user-level programs. Currently this only supports diskquota
---- linux-2.6.20.1/fs/read_write.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/read_write.c 2007-02-06 03:38:37 +0100
+ * look up a superblock on which quota ops will be performed
+ * - use the name of a block device to find the superblock thereon
+@@ -354,6 +395,22 @@ static inline struct super_block *quotac
+ putname(tmp);
+ if (IS_ERR(bdev))
+ return ERR_PTR(PTR_ERR(bdev));
++#if defined(CONFIG_BLK_DEV_VROOT) || defined(CONFIG_BLK_DEV_VROOT_MODULE)
++ if (bdev && bdev->bd_inode &&
++ imajor(bdev->bd_inode) == VROOT_MAJOR) {
++ struct block_device *bdnew = (void *)-EINVAL;
++
++ if (vroot_get_real_bdev)
++ bdnew = vroot_get_real_bdev(bdev);
++ else
++ vxdprintk(VXD_CBIT(misc, 0),
++ "vroot_get_real_bdev not set");
++ bdput(bdev);
++ if (IS_ERR(bdnew))
++ return ERR_PTR(PTR_ERR(bdnew));
++ bdev = bdnew;
++ }
++#endif
+ sb = get_super(bdev);
+ bdput(bdev);
+ if (!sb)
+--- linux-2.6.20.4/fs/read_write.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/read_write.c 2007-04-01 17:30:00 +0200
@@ -701,12 +701,77 @@ sys_writev(unsigned long fd, const struc
return ret;
}
@@ -8616,8 +8715,8 @@
fput_out:
fput_light(out_file, fput_needed_out);
fput_in:
---- linux-2.6.20.1/fs/reiserfs/bitmap.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/bitmap.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/bitmap.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/bitmap.c 2007-04-01 17:29:50 +0200
@@ -13,6 +13,7 @@
#include <linux/reiserfs_fs_sb.h>
#include <linux/reiserfs_fs_i.h>
@@ -8710,8 +8809,8 @@
}
return CARRY_ON;
---- linux-2.6.20.1/fs/reiserfs/file.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/file.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/file.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/file.c 2007-04-01 17:30:00 +0200
@@ -1550,6 +1550,7 @@ const struct file_operations reiserfs_fi
.release = reiserfs_file_release,
.fsync = reiserfs_sync_file,
@@ -8726,8 +8825,8 @@
.permission = reiserfs_permission,
+ .sync_flags = reiserfs_sync_flags,
};
---- linux-2.6.20.1/fs/reiserfs/inode.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/inode.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/inode.c 2007-04-01 17:29:50 +0200
@@ -16,6 +16,8 @@
#include <linux/mpage.h>
#include <linux/writeback.h>
@@ -8911,8 +9010,8 @@
mark_inode_dirty(inode);
error =
journal_end(&th, inode->i_sb, jbegin_count);
---- linux-2.6.20.1/fs/reiserfs/ioctl.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/ioctl.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/ioctl.c 2007-04-01 17:30:01 +0200
@@ -4,6 +4,7 @@
#include <linux/capability.h>
@@ -8983,8 +9082,8 @@
return -EROFS;
if (get_user(inode->i_generation, (int __user *)arg))
return -EFAULT;
---- linux-2.6.20.1/fs/reiserfs/namei.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/namei.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/namei.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/namei.c 2007-04-01 17:30:01 +0200
@@ -18,6 +18,7 @@
#include <linux/reiserfs_xattr.h>
#include <linux/smp_lock.h>
@@ -9032,8 +9131,8 @@
+ .sync_flags = reiserfs_sync_flags,
};
---- linux-2.6.20.1/fs/reiserfs/stree.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/stree.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/stree.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/stree.c 2007-04-01 17:29:50 +0200
@@ -56,6 +56,7 @@
#include <linux/smp_lock.h>
#include <linux/buffer_head.h>
@@ -9109,8 +9208,8 @@
+ }
return retval;
}
---- linux-2.6.20.1/fs/reiserfs/super.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/super.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/super.c 2007-04-01 17:29:45 +0200
@@ -885,6 +885,14 @@ static int reiserfs_parse_options(struct
{"user_xattr",.setmask = 1 << REISERFS_UNSUPPORTED_OPT},
{"nouser_xattr",.clrmask = 1 << REISERFS_UNSUPPORTED_OPT},
@@ -9150,8 +9249,8 @@
rs = SB_DISK_SUPER_BLOCK(s);
/* Let's do basic sanity check to verify that underlying device is not
smaller than the filesystem. If the check fails then abort and scream,
---- linux-2.6.20.1/fs/reiserfs/xattr.c 2007-02-06 03:01:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/reiserfs/xattr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/reiserfs/xattr.c 2007-02-06 03:01:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/reiserfs/xattr.c 2007-04-01 17:30:01 +0200
@@ -35,6 +35,7 @@
#include <linux/namei.h>
#include <linux/errno.h>
@@ -9169,8 +9268,8 @@
reiserfs_write_unlock_xattrs(inode->i_sb);
dput(root);
} else {
---- linux-2.6.20.1/fs/stat.c 2007-02-06 03:01:30 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/stat.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/stat.c 2007-02-06 03:01:30 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/stat.c 2007-04-01 17:29:47 +0200
@@ -27,6 +27,7 @@ void generic_fillattr(struct inode *inod
stat->nlink = inode->i_nlink;
stat->uid = inode->i_uid;
@@ -9179,8 +9278,8 @@
stat->rdev = inode->i_rdev;
stat->atime = inode->i_atime;
stat->mtime = inode->i_mtime;
---- linux-2.6.20.1/fs/super.c 2007-02-06 03:01:30 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/super.c 2007-02-06 03:01:30 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/super.c 2007-04-01 17:29:45 +0200
@@ -37,6 +37,9 @@
#include <linux/idr.h>
#include <linux/kobject.h>
@@ -9233,8 +9332,8 @@
put_filesystem(type);
return mnt;
}
---- linux-2.6.20.1/fs/sysfs/mount.c 2007-02-06 03:01:30 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/sysfs/mount.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/sysfs/mount.c 2007-02-06 03:01:30 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/sysfs/mount.c 2007-04-01 17:30:04 +0200
@@ -11,8 +11,6 @@
#include "sysfs.h"
@@ -9253,8 +9352,8 @@
sb->s_op = &sysfs_ops;
sb->s_time_gran = 1;
sysfs_sb = sb;
---- linux-2.6.20.1/fs/utimes.c 2007-02-06 03:01:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/utimes.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/utimes.c 2007-02-06 03:01:31 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/utimes.c 2007-04-01 17:30:00 +0200
@@ -4,6 +4,8 @@
#include <linux/namei.h>
#include <linux/sched.h>
@@ -9264,15 +9363,21 @@
#include <asm/uaccess.h>
#include <asm/unistd.h>
-@@ -33,7 +35,7 @@ asmlinkage long sys_utime(char __user *
- inode = nd.dentry->d_inode;
+@@ -30,11 +32,11 @@ asmlinkage long sys_utime(char __user *
+ error = user_path_walk(filename, &nd);
+ if (error)
+ goto out;
+- inode = nd.dentry->d_inode;
- error = -EROFS;
+- error = -EROFS;
- if (IS_RDONLY(inode))
-+ if (IS_RDONLY(inode) || MNT_IS_RDONLY(nd.mnt))
++ error = cow_check_and_break(&nd);
++ if (error)
goto dput_and_out;
++ inode = nd.dentry->d_inode;
/* Don't worry, the checks are done in inode_change_ok() */
+ newattrs.ia_valid = ATTR_CTIME | ATTR_MTIME | ATTR_ATIME;
@@ -84,14 +86,13 @@ long do_utimes(int dfd, char __user *fil
struct iattr newattrs;
@@ -9291,8 +9396,8 @@
/* Don't worry, the checks are done in inode_change_ok() */
newattrs.ia_valid = ATTR_CTIME | ATTR_MTIME | ATTR_ATIME;
---- linux-2.6.20.1/fs/xattr.c 2007-02-06 03:01:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xattr.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xattr.c 2007-02-06 03:01:31 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xattr.c 2007-04-01 17:30:01 +0200
@@ -18,6 +18,7 @@
#include <linux/module.h>
#include <linux/fsnotify.h>
@@ -9393,8 +9498,8 @@
fput(f);
return error;
}
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_file.c 2007-02-06 03:01:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_file.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/linux-2.6/xfs_file.c 2007-02-06 03:01:31 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/linux-2.6/xfs_file.c 2007-04-01 17:30:00 +0200
@@ -453,6 +453,7 @@ const struct file_operations xfs_file_op
.aio_read = xfs_file_aio_read,
.aio_write = xfs_file_aio_write,
@@ -9411,8 +9516,8 @@
.splice_read = xfs_file_splice_read_invis,
.splice_write = xfs_file_splice_write_invis,
.unlocked_ioctl = xfs_file_ioctl_invis,
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_ioctl.c 2007-02-06 03:01:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_ioctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/linux-2.6/xfs_ioctl.c 2007-02-06 03:01:31 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/linux-2.6/xfs_ioctl.c 2007-04-01 17:29:46 +0200
@@ -1100,6 +1100,8 @@ xfs_ioc_fsgeometry(
#define LINUX_XFLAG_APPEND 0x00000020 /* writes to file may only append */
#define LINUX_XFLAG_NODUMP 0x00000040 /* do not dump file */
@@ -9433,8 +9538,8 @@
if (di_flags & XFS_DIFLAG_APPEND)
flags |= LINUX_XFLAG_APPEND;
if (di_flags & XFS_DIFLAG_SYNC)
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_iops.c 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_iops.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/linux-2.6/xfs_iops.c 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/linux-2.6/xfs_iops.c 2007-04-01 17:29:47 +0200
@@ -53,6 +53,7 @@
#include <linux/xattr.h>
#include <linux/namei.h>
@@ -9538,8 +9643,8 @@
.removexattr = xfs_vn_removexattr,
+ .sync_flags = xfs_vn_sync_flags,
};
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_linux.h 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_linux.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/linux-2.6/xfs_linux.h 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/linux-2.6/xfs_linux.h 2007-04-01 17:30:01 +0200
@@ -139,6 +139,7 @@ BUFFER_FNS(PrivateStart, unwritten);
#define current_pid() (current->pid)
#define current_fsuid(cred) (current->fsuid)
@@ -9548,8 +9653,8 @@
#define current_test_flags(f) (current->flags & (f))
#define current_set_flags_nested(sp, f) \
(*(sp) = current->flags, current->flags |= (f))
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_super.c 2007-02-06 03:01:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_super.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/linux-2.6/xfs_super.c 2007-02-06 03:01:31 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/linux-2.6/xfs_super.c 2007-04-01 17:29:46 +0200
@@ -159,6 +159,7 @@ xfs_revalidate_inode(
inode->i_nlink = ip->i_d.di_nlink;
inode->i_uid = ip->i_d.di_uid;
@@ -9586,105 +9691,8 @@
if (!error)
error = bhv_vfs_mntupdate(vfsp, flags, args);
kmem_free(args, sizeof(*args));
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_sysctl.c 2006-09-20 16:58:39 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_sysctl.c 2007-02-06 03:05:22 +0100
-@@ -57,79 +57,79 @@ xfs_stats_clear_proc_handler(
- STATIC ctl_table xfs_table[] = {
- {XFS_RESTRICT_CHOWN, "restrict_chown", &xfs_params.restrict_chown.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.restrict_chown.min, &xfs_params.restrict_chown.max},
-
- {XFS_SGID_INHERIT, "irix_sgid_inherit", &xfs_params.sgid_inherit.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.sgid_inherit.min, &xfs_params.sgid_inherit.max},
-
- {XFS_SYMLINK_MODE, "irix_symlink_mode", &xfs_params.symlink_mode.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.symlink_mode.min, &xfs_params.symlink_mode.max},
-
- {XFS_PANIC_MASK, "panic_mask", &xfs_params.panic_mask.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.panic_mask.min, &xfs_params.panic_mask.max},
-
- {XFS_ERRLEVEL, "error_level", &xfs_params.error_level.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.error_level.min, &xfs_params.error_level.max},
-
- {XFS_SYNCD_TIMER, "xfssyncd_centisecs", &xfs_params.syncd_timer.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.syncd_timer.min, &xfs_params.syncd_timer.max},
-
- {XFS_INHERIT_SYNC, "inherit_sync", &xfs_params.inherit_sync.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.inherit_sync.min, &xfs_params.inherit_sync.max},
-
- {XFS_INHERIT_NODUMP, "inherit_nodump", &xfs_params.inherit_nodump.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.inherit_nodump.min, &xfs_params.inherit_nodump.max},
-
- {XFS_INHERIT_NOATIME, "inherit_noatime", &xfs_params.inherit_noatim.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.inherit_noatim.min, &xfs_params.inherit_noatim.max},
-
- {XFS_BUF_TIMER, "xfsbufd_centisecs", &xfs_params.xfs_buf_timer.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.xfs_buf_timer.min, &xfs_params.xfs_buf_timer.max},
-
- {XFS_BUF_AGE, "age_buffer_centisecs", &xfs_params.xfs_buf_age.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.xfs_buf_age.min, &xfs_params.xfs_buf_age.max},
-
- {XFS_INHERIT_NOSYM, "inherit_nosymlinks", &xfs_params.inherit_nosym.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.inherit_nosym.min, &xfs_params.inherit_nosym.max},
-
- {XFS_ROTORSTEP, "rotorstep", &xfs_params.rotorstep.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.rotorstep.min, &xfs_params.rotorstep.max},
-
- {XFS_INHERIT_NODFRG, "inherit_nodefrag", &xfs_params.inherit_nodfrg.val,
- sizeof(int), 0644, NULL, &proc_dointvec_minmax,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.inherit_nodfrg.min, &xfs_params.inherit_nodfrg.max},
-
- /* please keep this the last entry */
- #ifdef CONFIG_PROC_FS
- {XFS_STATS_CLEAR, "stats_clear", &xfs_params.stats_clear.val,
- sizeof(int), 0644, NULL, &xfs_stats_clear_proc_handler,
-- &sysctl_intvec, NULL,
-+ NULL, &sysctl_intvec, NULL,
- &xfs_params.stats_clear.min, &xfs_params.stats_clear.max},
- #endif /* CONFIG_PROC_FS */
-
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_vnode.c 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_vnode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/linux-2.6/xfs_vnode.c 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/linux-2.6/xfs_vnode.c 2007-04-01 17:29:46 +0200
@@ -119,6 +119,7 @@ vn_revalidate_core(
inode->i_nlink = vap->va_nlink;
inode->i_uid = vap->va_uid;
@@ -9708,8 +9716,8 @@
if (vap->va_xflags & XFS_XFLAG_APPEND)
inode->i_flags |= S_APPEND;
else
---- linux-2.6.20.1/fs/xfs/linux-2.6/xfs_vnode.h 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/linux-2.6/xfs_vnode.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/linux-2.6/xfs_vnode.h 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/linux-2.6/xfs_vnode.h 2007-04-01 17:29:47 +0200
@@ -350,6 +350,7 @@ typedef struct bhv_vattr {
xfs_nlink_t va_nlink; /* number of references to file */
uid_t va_uid; /* owner user id */
@@ -9735,8 +9743,8 @@
#define XFS_AT_STAT (XFS_AT_TYPE|XFS_AT_MODE|XFS_AT_UID|XFS_AT_GID|\
XFS_AT_FSID|XFS_AT_NODEID|XFS_AT_NLINK|XFS_AT_SIZE|\
---- linux-2.6.20.1/fs/xfs/quota/xfs_qm_syscalls.c 2006-09-20 16:58:40 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/quota/xfs_qm_syscalls.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/quota/xfs_qm_syscalls.c 2006-09-20 16:58:40 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/quota/xfs_qm_syscalls.c 2007-04-01 17:29:49 +0200
@@ -17,6 +17,7 @@
*/
@@ -9781,8 +9789,8 @@
return XFS_ERROR(EPERM);
if ((newlim->d_fieldmask &
---- linux-2.6.20.1/fs/xfs/xfs_clnt.h 2006-06-18 04:54:50 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_clnt.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_clnt.h 2006-06-18 04:54:50 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_clnt.h 2007-04-01 17:29:47 +0200
@@ -99,5 +99,7 @@ struct xfs_mount_args {
*/
#define XFSMNT2_COMPAT_IOSIZE 0x00000001 /* don't report large preferred
@@ -9791,8 +9799,8 @@
+
#endif /* __XFS_CLNT_H__ */
---- linux-2.6.20.1/fs/xfs/xfs_dinode.h 2006-09-20 16:58:40 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_dinode.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_dinode.h 2006-09-20 16:58:40 +0200
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_dinode.h 2007-04-01 17:29:46 +0200
@@ -53,7 +53,8 @@ typedef struct xfs_dinode_core
__uint32_t di_gid; /* owner's group id */
__uint32_t di_nlink; /* number of links to file */
@@ -9830,8 +9838,8 @@
+ XFS_DIFLAG_IUNLINK)
#endif /* __XFS_DINODE_H__ */
---- linux-2.6.20.1/fs/xfs/xfs_fs.h 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_fs.h 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_fs.h 2007-04-01 17:29:46 +0200
@@ -66,6 +66,8 @@ struct fsxattr {
#define XFS_XFLAG_EXTSIZE 0x00000800 /* extent size allocator hint */
#define XFS_XFLAG_EXTSZINHERIT 0x00001000 /* inherit inode extent size */
@@ -9851,8 +9859,8 @@
__u32 bs_dmevmask; /* DMIG event mask */
__u16 bs_dmstate; /* DMIG state info */
__u16 bs_aextents; /* attribute number of extents */
---- linux-2.6.20.1/fs/xfs/xfs_inode.c 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_inode.c 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_inode.c 2007-04-01 17:30:01 +0200
@@ -50,6 +50,7 @@
#include "xfs_mac.h"
#include "xfs_acl.h"
@@ -9918,8 +9926,8 @@
ip->i_d.di_projid = prid;
memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad));
---- linux-2.6.20.1/fs/xfs/xfs_itable.c 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_itable.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_itable.c 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_itable.c 2007-04-01 17:29:46 +0200
@@ -89,6 +89,7 @@ xfs_bulkstat_one_iget(
buf->bs_mode = dic->di_mode;
buf->bs_uid = dic->di_uid;
@@ -9936,8 +9944,8 @@
buf->bs_size = INT_GET(dic->di_size, ARCH_CONVERT);
buf->bs_atime.tv_sec = INT_GET(dic->di_atime.t_sec, ARCH_CONVERT);
buf->bs_atime.tv_nsec = INT_GET(dic->di_atime.t_nsec, ARCH_CONVERT);
---- linux-2.6.20.1/fs/xfs/xfs_mount.h 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_mount.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_mount.h 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_mount.h 2007-04-01 17:29:47 +0200
@@ -460,6 +460,7 @@ typedef struct xfs_mount {
#define XFS_MOUNT_NO_PERCPU_SB (1ULL << 23) /* don't use per-cpu superblock
counters */
@@ -9946,8 +9954,8 @@
/*
* Default minimum read and write sizes.
---- linux-2.6.20.1/fs/xfs/xfs_vfsops.c 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_vfsops.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_vfsops.c 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_vfsops.c 2007-04-01 17:29:47 +0200
@@ -300,6 +300,8 @@ xfs_start_flags(
if (ap->flags2 & XFSMNT2_COMPAT_IOSIZE)
@@ -9996,8 +10004,8 @@
} else if (!strcmp(this_char, "osyncisdsync")) {
/* no-op, this is now the default */
cmn_err(CE_WARN,
---- linux-2.6.20.1/fs/xfs/xfs_vnodeops.c 2006-11-30 21:19:29 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/fs/xfs/xfs_vnodeops.c 2007-02-15 00:05:56 +0100
+--- linux-2.6.20.4/fs/xfs/xfs_vnodeops.c 2006-11-30 21:19:29 +0100
++++ linux-2.6.20.4-vs2.2.0/fs/xfs/xfs_vnodeops.c 2007-04-01 17:29:47 +0200
@@ -160,6 +160,7 @@ xfs_getattr(
vap->va_mode = ip->i_d.di_mode;
vap->va_uid = ip->i_d.di_uid;
@@ -10093,8 +10101,8 @@
if (vap->va_xflags & XFS_XFLAG_APPEND)
di_flags |= XFS_DIFLAG_APPEND;
if (vap->va_xflags & XFS_XFLAG_SYNC)
---- linux-2.6.20.1/include/asm-arm/tlb.h 2006-06-18 04:54:58 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-arm/tlb.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-arm/tlb.h 2006-06-18 04:54:58 +0200
++++ linux-2.6.20.4-vs2.2.0/include/asm-arm/tlb.h 2007-04-01 17:29:38 +0200
@@ -28,6 +28,7 @@
#else /* !CONFIG_MMU */
@@ -10103,8 +10111,8 @@
/*
* TLB handling. This allows us to remove pages from the page
---- linux-2.6.20.1/include/asm-arm26/tlb.h 2006-01-03 17:30:02 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-arm26/tlb.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-arm26/tlb.h 2006-01-03 17:30:02 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-arm26/tlb.h 2007-04-01 17:29:38 +0200
@@ -3,6 +3,7 @@
#include <asm/pgalloc.h>
@@ -10113,8 +10121,8 @@
/*
* TLB handling. This allows us to remove pages from the page
---- linux-2.6.20.1/include/asm-arm26/unistd.h 2007-02-06 03:01:35 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-arm26/unistd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-arm26/unistd.h 2007-02-06 03:01:35 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-arm26/unistd.h 2007-04-01 17:29:39 +0200
@@ -302,6 +302,8 @@
#define __NR_mq_getsetattr (__NR_SYSCALL_BASE+279)
#define __NR_waitid (__NR_SYSCALL_BASE+280)
@@ -10124,8 +10132,8 @@
/*
* The following SWIs are ARM private. FIXME - make appropriate for arm26
*/
---- linux-2.6.20.1/include/asm-generic/tlb.h 2006-11-30 21:19:31 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-generic/tlb.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-generic/tlb.h 2006-11-30 21:19:31 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-generic/tlb.h 2007-04-01 17:29:38 +0200
@@ -14,6 +14,7 @@
#define _ASM_GENERIC__TLB_H
@@ -10134,19 +10142,8 @@
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>
---- linux-2.6.20.1/include/asm-i386/elf.h 2007-02-06 03:01:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-i386/elf.h 2007-02-06 03:05:22 +0100
-@@ -75,7 +75,7 @@ typedef struct user_fxsr_struct elf_fpxr
- 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_SIZE / 3 * 2)
-+#define ELF_ET_DYN_BASE ((TASK_UNMAPPED_BASE) * 2)
-
- /* regs is struct pt_regs, pr_reg is elf_gregset_t (which is
- now struct_user_regs, they are different) */
---- linux-2.6.20.1/include/asm-ia64/tlb.h 2006-09-20 16:58:40 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-ia64/tlb.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-ia64/tlb.h 2006-09-20 16:58:40 +0200
++++ linux-2.6.20.4-vs2.2.0/include/asm-ia64/tlb.h 2007-04-01 17:29:38 +0200
@@ -40,6 +40,7 @@
#include <linux/mm.h>
#include <linux/pagemap.h>
@@ -10155,8 +10152,8 @@
#include <asm/pgalloc.h>
#include <asm/processor.h>
---- linux-2.6.20.1/include/asm-powerpc/systbl.h 2006-11-30 21:19:33 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-powerpc/systbl.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-powerpc/systbl.h 2006-11-30 21:19:33 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-powerpc/systbl.h 2007-04-01 17:29:39 +0200
@@ -260,7 +260,7 @@ COMPAT_SYS_SPU(fstatfs64)
SYSX(sys_ni_syscall, ppc_fadvise64_64, ppc_fadvise64_64)
PPC_SYS_SPU(rtas)
@@ -10166,8 +10163,8 @@
COMPAT_SYS(migrate_pages)
COMPAT_SYS(mbind)
COMPAT_SYS(get_mempolicy)
---- linux-2.6.20.1/include/asm-powerpc/unistd.h 2007-02-06 03:01:44 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-powerpc/unistd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-powerpc/unistd.h 2007-02-06 03:01:44 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-powerpc/unistd.h 2007-04-01 17:29:39 +0200
@@ -275,7 +275,7 @@
#endif
#define __NR_rtas 255
@@ -10177,8 +10174,8 @@
#define __NR_migrate_pages 258
#define __NR_mbind 259
#define __NR_get_mempolicy 260
---- linux-2.6.20.1/include/asm-s390/unistd.h 2007-02-06 03:01:45 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-s390/unistd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-s390/unistd.h 2007-02-06 03:01:45 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-s390/unistd.h 2007-04-01 17:29:39 +0200
@@ -202,7 +202,7 @@
#define __NR_clock_gettime (__NR_timer_create+6)
#define __NR_clock_getres (__NR_timer_create+7)
@@ -10188,8 +10185,8 @@
#define __NR_statfs64 265
#define __NR_fstatfs64 266
#define __NR_remap_file_pages 267
---- linux-2.6.20.1/include/asm-sparc/unistd.h 2007-02-06 03:01:49 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-sparc/unistd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-sparc/unistd.h 2007-02-06 03:01:49 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-sparc/unistd.h 2007-04-01 17:29:39 +0200
@@ -283,7 +283,7 @@
#define __NR_timer_getoverrun 264
#define __NR_timer_delete 265
@@ -10199,8 +10196,8 @@
#define __NR_io_setup 268
#define __NR_io_destroy 269
#define __NR_io_submit 270
---- linux-2.6.20.1/include/asm-sparc64/tlb.h 2006-09-20 16:58:43 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-sparc64/tlb.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-sparc64/tlb.h 2006-09-20 16:58:43 +0200
++++ linux-2.6.20.4-vs2.2.0/include/asm-sparc64/tlb.h 2007-04-01 17:29:38 +0200
@@ -2,6 +2,7 @@
#define _SPARC64_TLB_H
@@ -10209,8 +10206,8 @@
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>
#include <asm/mmu_context.h>
---- linux-2.6.20.1/include/asm-sparc64/unistd.h 2007-02-06 03:01:49 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-sparc64/unistd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-sparc64/unistd.h 2007-02-06 03:01:49 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-sparc64/unistd.h 2007-04-01 17:29:39 +0200
@@ -285,7 +285,7 @@
#define __NR_timer_getoverrun 264
#define __NR_timer_delete 265
@@ -10220,8 +10217,8 @@
#define __NR_io_setup 268
#define __NR_io_destroy 269
#define __NR_io_submit 270
---- linux-2.6.20.1/include/asm-x86_64/unistd.h 2007-02-06 03:01:50 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/asm-x86_64/unistd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/asm-x86_64/unistd.h 2007-02-06 03:01:50 +0100
++++ linux-2.6.20.4-vs2.2.0/include/asm-x86_64/unistd.h 2007-04-01 17:29:39 +0200
@@ -532,7 +532,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
#define __NR_utimes 235
__SYSCALL(__NR_utimes, sys_utimes)
@@ -10231,8 +10228,8 @@
#define __NR_mbind 237
__SYSCALL(__NR_mbind, sys_mbind)
#define __NR_set_mempolicy 238
---- linux-2.6.20.1/include/linux/Kbuild 2007-02-06 03:01:50 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/Kbuild 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/Kbuild 2007-02-06 03:01:50 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/Kbuild 2007-04-01 17:29:39 +0200
@@ -339,3 +339,6 @@ unifdef-y += wireless.h
unifdef-y += xfrm.h
@@ -10240,8 +10237,8 @@
+
+header-y += vserver/
+
---- linux-2.6.20.1/include/linux/capability.h 2006-06-18 04:55:15 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/capability.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/capability.h 2006-06-18 04:55:15 +0200
++++ linux-2.6.20.4-vs2.2.0/include/linux/capability.h 2007-04-01 17:29:39 +0200
@@ -235,6 +235,7 @@ typedef __u32 kernel_cap_t;
arbitrary SCSI commands */
/* Allow setting encryption key on loopback filesystem */
@@ -10262,8 +10259,8 @@
#ifdef __KERNEL__
/*
* Bounding set
---- linux-2.6.20.1/include/linux/devpts_fs.h 2004-08-14 12:55:59 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/devpts_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/devpts_fs.h 2004-08-14 12:55:59 +0200
++++ linux-2.6.20.4-vs2.2.0/include/linux/devpts_fs.h 2007-04-01 17:30:04 +0200
@@ -30,5 +30,7 @@ static inline void devpts_pty_kill(int n
#endif
@@ -10272,8 +10269,8 @@
+
#endif /* _LINUX_DEVPTS_FS_H */
---- linux-2.6.20.1/include/linux/ext2_fs.h 2006-11-30 21:19:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/ext2_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/ext2_fs.h 2006-11-30 21:19:37 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/ext2_fs.h 2007-04-01 17:29:47 +0200
@@ -188,6 +188,8 @@ struct ext2_group_desc
#define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */
#define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */
@@ -10312,8 +10309,8 @@
#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
---- linux-2.6.20.1/include/linux/ext3_fs.h 2006-11-30 21:19:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/ext3_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/ext3_fs.h 2006-11-30 21:19:37 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/ext3_fs.h 2007-04-01 17:29:47 +0200
@@ -177,10 +177,20 @@ struct ext3_group_desc
#define EXT3_NOTAIL_FL 0x00008000 /* file tail should not be merged */
#define EXT3_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
@@ -10368,8 +10365,8 @@
extern void ext3_read_inode (struct inode *);
extern int ext3_write_inode (struct inode *, int);
---- linux-2.6.20.1/include/linux/ext4_fs.h 2006-11-30 21:19:37 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/ext4_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/ext4_fs.h 2006-11-30 21:19:37 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/ext4_fs.h 2007-04-01 17:29:47 +0200
@@ -189,11 +189,21 @@ struct ext4_group_desc
#define EXT4_NOTAIL_FL 0x00008000 /* file tail should not be merged */
#define EXT4_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
@@ -10427,8 +10424,8 @@
extern void ext4_read_inode (struct inode *);
extern int ext4_write_inode (struct inode *, int);
---- linux-2.6.20.1/include/linux/fs.h 2007-02-06 03:01:50 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/fs.h 2007-02-06 03:39:12 +0100
+--- linux-2.6.20.4/include/linux/fs.h 2007-02-06 03:01:50 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/fs.h 2007-04-01 17:30:04 +0200
@@ -121,6 +121,8 @@ extern int dir_notify_enable;
#define MS_SLAVE (1<<19) /* change to slave */
#define MS_SHARED (1<<20) /* change to shared */
@@ -10604,8 +10601,8 @@
extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *);
extern int simple_statfs(struct dentry *, struct kstatfs *);
extern int simple_link(struct dentry *, struct inode *, struct dentry *);
---- linux-2.6.20.1/include/linux/init_task.h 2007-02-06 03:01:51 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/init_task.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/init_task.h 2007-02-06 03:01:51 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/init_task.h 2007-04-01 17:29:39 +0200
@@ -141,6 +141,10 @@ extern struct group_info init_groups;
.pi_lock = SPIN_LOCK_UNLOCKED, \
INIT_TRACE_IRQFLAGS \
@@ -10617,8 +10614,8 @@
}
---- linux-2.6.20.1/include/linux/ipc.h 2006-11-30 21:19:38 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/ipc.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/ipc.h 2006-11-30 21:19:38 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/ipc.h 2007-04-01 17:30:02 +0200
@@ -63,6 +63,7 @@ struct kern_ipc_perm
key_t key;
uid_t uid;
@@ -10627,8 +10624,8 @@
uid_t cuid;
gid_t cgid;
mode_t mode;
---- linux-2.6.20.1/include/linux/loop.h 2006-11-30 21:19:38 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/loop.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/loop.h 2006-11-30 21:19:38 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/loop.h 2007-04-01 17:30:01 +0200
@@ -45,6 +45,7 @@ struct loop_device {
struct loop_func_table *lo_encryption;
__u32 lo_init[2];
@@ -10637,8 +10634,8 @@
int (*ioctl)(struct loop_device *, int cmd,
unsigned long arg);
---- linux-2.6.20.1/include/linux/major.h 2006-06-18 04:55:19 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/major.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/major.h 2006-06-18 04:55:19 +0200
++++ linux-2.6.20.4-vs2.2.0/include/linux/major.h 2007-04-01 17:29:58 +0200
@@ -15,6 +15,7 @@
#define HD_MAJOR IDE0_MAJOR
#define PTY_SLAVE_MAJOR 3
@@ -10647,8 +10644,8 @@
#define TTYAUX_MAJOR 5
#define LP_MAJOR 6
#define VCS_MAJOR 7
---- linux-2.6.20.1/include/linux/mount.h 2007-02-06 03:01:51 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/mount.h 2007-02-06 03:41:22 +0100
+--- linux-2.6.20.4/include/linux/mount.h 2007-02-06 03:01:51 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/mount.h 2007-04-01 17:30:01 +0200
@@ -28,12 +28,16 @@ struct mnt_namespace;
#define MNT_NOATIME 0x08
#define MNT_NODIRATIME 0x10
@@ -10674,8 +10671,8 @@
};
static inline struct vfsmount *mntget(struct vfsmount *mnt)
---- linux-2.6.20.1/include/linux/net.h 2007-02-06 03:01:51 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/net.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/net.h 2007-02-06 03:01:51 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/net.h 2007-04-01 17:29:42 +0200
@@ -63,6 +63,7 @@ typedef enum {
#define SOCK_NOSPACE 2
#define SOCK_PASSCRED 3
@@ -10684,8 +10681,8 @@
#ifndef ARCH_HAS_SOCKET_TYPES
/**
---- linux-2.6.20.1/include/linux/nfs_mount.h 2005-08-29 22:25:42 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/nfs_mount.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/nfs_mount.h 2005-08-29 22:25:42 +0200
++++ linux-2.6.20.4-vs2.2.0/include/linux/nfs_mount.h 2007-04-01 17:30:04 +0200
@@ -61,6 +61,7 @@ struct nfs_mount_data {
#define NFS_MOUNT_NOACL 0x0800 /* 4 */
#define NFS_MOUNT_STRICTLOCK 0x1000 /* reserved for NFSv4 */
@@ -10694,8 +10691,8 @@
#define NFS_MOUNT_FLAGMASK 0xFFFF
#endif
---- linux-2.6.20.1/include/linux/nsproxy.h 2007-02-06 03:01:51 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/nsproxy.h 2007-02-06 05:43:36 +0100
+--- linux-2.6.20.4/include/linux/nsproxy.h 2007-02-06 03:01:51 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/nsproxy.h 2007-04-01 17:30:03 +0200
@@ -36,6 +36,11 @@ int copy_namespaces(int flags, struct ta
void get_task_namespaces(struct task_struct *tsk);
void free_nsproxy(struct nsproxy *ns);
@@ -10708,19 +10705,8 @@
static inline void put_nsproxy(struct nsproxy *ns)
{
if (atomic_dec_and_test(&ns->count)) {
---- linux-2.6.20.1/include/linux/percpu.h 2006-11-30 21:19:39 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/percpu.h 2007-02-06 03:05:22 +0100
-@@ -11,7 +11,7 @@
-
- /* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */
- #ifndef PERCPU_ENOUGH_ROOM
--#define PERCPU_ENOUGH_ROOM 32768
-+#define PERCPU_ENOUGH_ROOM 65536
- #endif
-
- /*
---- linux-2.6.20.1/include/linux/pid.h 2007-02-06 03:01:51 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/pid.h 2007-02-24 21:13:02 +0100
+--- linux-2.6.20.4/include/linux/pid.h 2007-02-06 03:01:51 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/pid.h 2007-04-01 17:30:01 +0200
@@ -8,7 +8,8 @@ enum pid_type
PIDTYPE_PID,
PIDTYPE_PGID,
@@ -10731,24 +10717,7 @@
};
/*
-@@ -106,13 +107,15 @@ static inline pid_t pid_nr(struct pid *p
- }
-
-
-+
- #define do_each_task_pid(who, type, task) \
- do { \
- struct hlist_node *pos___; \
- struct pid *pid___ = find_pid(who); \
- if (pid___ != NULL) \
- hlist_for_each_entry_rcu((task), pos___, \
-- &pid___->tasks[type], pids[type].node) {
-+ &pid___->tasks[type], pids[type].node) \
-+ if (vx_check((task)->xid, VS_ADMIN_P|VS_IDENT)) {
-
- #define while_each_task_pid(who, type, task) \
- } \
-@@ -124,7 +127,8 @@ static inline pid_t pid_nr(struct pid *p
+@@ -124,7 +125,8 @@ static inline pid_t pid_nr(struct pid *p
struct hlist_node *pos___; \
if (pid != NULL) \
hlist_for_each_entry_rcu((task), pos___, \
@@ -10758,8 +10727,8 @@
#define while_each_pid_task(pid, type, task) \
} \
---- linux-2.6.20.1/include/linux/proc_fs.h 2006-11-30 21:19:39 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/proc_fs.h 2007-02-06 05:02:33 +0100
+--- linux-2.6.20.4/include/linux/proc_fs.h 2006-11-30 21:19:39 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/proc_fs.h 2007-04-01 17:30:03 +0200
@@ -54,6 +54,7 @@ struct proc_dir_entry {
nlink_t nlink;
uid_t uid;
@@ -10789,8 +10758,8 @@
int fd;
union proc_op op;
struct proc_dir_entry *pde;
---- linux-2.6.20.1/include/linux/reiserfs_fs.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/reiserfs_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/reiserfs_fs.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/reiserfs_fs.h 2007-04-01 17:29:46 +0200
@@ -821,6 +821,10 @@ struct stat_data_v1 {
#define REISERFS_COMPR_FL FS_COMPR_FL
#define REISERFS_NOTAIL_FL FS_NOTAIL_FL
@@ -10825,8 +10794,8 @@
/* namei.c */
void set_de_name_and_namelen(struct reiserfs_dir_entry *de);
---- linux-2.6.20.1/include/linux/reiserfs_fs_sb.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/reiserfs_fs_sb.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/reiserfs_fs_sb.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/reiserfs_fs_sb.h 2007-04-01 17:29:47 +0200
@@ -457,6 +457,7 @@ enum reiserfs_mount_options {
REISERFS_POSIXACL,
REISERFS_BARRIER_NONE,
@@ -10835,8 +10804,8 @@
/* Actions on error */
REISERFS_ERROR_PANIC,
---- linux-2.6.20.1/include/linux/sched.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/sched.h 2007-02-06 03:42:34 +0100
+--- linux-2.6.20.4/include/linux/sched.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/sched.h 2007-04-01 17:30:04 +0200
@@ -26,6 +26,7 @@
#define CLONE_STOPPED 0x02000000 /* Start in stopped state */
#define CLONE_NEWUTS 0x04000000 /* New utsname group? */
@@ -10845,15 +10814,7 @@
/*
* Scheduling policies
-@@ -54,6 +55,7 @@ struct sched_param {
- #include <linux/cpumask.h>
- #include <linux/errno.h>
- #include <linux/nodemask.h>
-+// #include <linux/vs_base.h>
-
- #include <asm/system.h>
- #include <asm/semaphore.h>
-@@ -93,7 +95,7 @@ struct futex_pi_state;
+@@ -93,7 +94,7 @@ struct futex_pi_state;
* List of flags we want to share for kernel threads,
* if only because they are not used by them anyway.
*/
@@ -10862,7 +10823,7 @@
/*
* These are the constant used to fake the fixed-point load-average
-@@ -145,12 +147,13 @@ extern unsigned long weighted_cpuload(co
+@@ -145,12 +146,13 @@ extern unsigned long weighted_cpuload(co
#define TASK_UNINTERRUPTIBLE 2
#define TASK_STOPPED 4
#define TASK_TRACED 8
@@ -10880,7 +10841,7 @@
#define __set_task_state(tsk, state_value) \
do { (tsk)->state = (state_value); } while (0)
-@@ -274,27 +277,30 @@ extern void arch_unmap_area_topdown(stru
+@@ -274,27 +276,30 @@ extern void arch_unmap_area_topdown(stru
* The mm counters are not protected by its page_table_lock,
* so must be incremented atomically.
*/
@@ -10921,7 +10882,7 @@
#define get_mm_rss(mm) \
(get_mm_counter(mm, file_rss) + get_mm_counter(mm, anon_rss))
#define update_hiwater_rss(mm) do { \
-@@ -352,6 +358,7 @@ struct mm_struct {
+@@ -352,6 +357,7 @@ struct mm_struct {
/* Architecture-specific MM context */
mm_context_t context;
@@ -10929,7 +10890,7 @@
/* Swap token stuff */
/*
-@@ -555,9 +562,10 @@ struct user_struct {
+@@ -555,9 +561,10 @@ struct user_struct {
/* Hash table maintenance information */
struct list_head uidhash_list;
uid_t uid;
@@ -10941,7 +10902,7 @@
extern struct user_struct root_user;
#define INIT_USER (&root_user)
-@@ -949,6 +957,14 @@ struct task_struct {
+@@ -949,6 +956,14 @@ struct task_struct {
void *security;
struct audit_context *audit_context;
@@ -10956,7 +10917,7 @@
seccomp_t seccomp;
/* Thread group tracking */
-@@ -1263,12 +1279,16 @@ extern struct task_struct init_task;
+@@ -1263,12 +1278,16 @@ extern struct task_struct init_task;
extern struct mm_struct init_mm;
@@ -10975,8 +10936,8 @@
static inline struct user_struct *get_uid(struct user_struct *u)
{
atomic_inc(&u->__count);
---- linux-2.6.20.1/include/linux/shmem_fs.h 2006-11-30 21:19:39 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/shmem_fs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/shmem_fs.h 2006-11-30 21:19:39 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/shmem_fs.h 2007-04-01 17:30:04 +0200
@@ -8,6 +8,9 @@
#define SHMEM_NR_DIRECT 16
@@ -10987,8 +10948,8 @@
struct shmem_inode_info {
spinlock_t lock;
unsigned long flags;
---- linux-2.6.20.1/include/linux/stat.h 2006-11-30 21:19:40 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/stat.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/stat.h 2006-11-30 21:19:40 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/stat.h 2007-04-01 17:29:47 +0200
@@ -63,6 +63,7 @@ struct kstat {
unsigned int nlink;
uid_t uid;
@@ -10997,8 +10958,8 @@
dev_t rdev;
loff_t size;
struct timespec atime;
---- linux-2.6.20.1/include/linux/sunrpc/auth.h 2006-11-30 21:19:40 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/sunrpc/auth.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/sunrpc/auth.h 2006-11-30 21:19:40 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/sunrpc/auth.h 2007-04-01 17:30:04 +0200
@@ -24,6 +24,7 @@
struct auth_cred {
uid_t uid;
@@ -11007,8 +10968,8 @@
struct group_info *group_info;
};
---- linux-2.6.20.1/include/linux/sunrpc/clnt.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/sunrpc/clnt.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/sunrpc/clnt.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/sunrpc/clnt.h 2007-04-01 17:30:04 +0200
@@ -42,7 +42,8 @@ struct rpc_clnt {
cl_intr : 1,/* interruptible */
cl_autobind : 1,/* use getport() */
@@ -11019,8 +10980,8 @@
struct rpc_rtt * cl_rtt; /* RTO estimator data */
---- linux-2.6.20.1/include/linux/syscalls.h 2006-11-30 21:19:40 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/syscalls.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/syscalls.h 2006-11-30 21:19:40 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/syscalls.h 2007-04-01 17:30:00 +0200
@@ -294,6 +294,8 @@ asmlinkage long sys_symlink(const char _
asmlinkage long sys_unlink(const char __user *pathname);
asmlinkage long sys_rename(const char __user *oldname,
@@ -11030,8 +10991,8 @@
asmlinkage long sys_chmod(const char __user *filename, mode_t mode);
asmlinkage long sys_fchmod(unsigned int fd, mode_t mode);
---- linux-2.6.20.1/include/linux/sysctl.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/sysctl.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/sysctl.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/sysctl.h 2007-04-01 17:29:47 +0200
@@ -101,6 +101,7 @@ enum
KERN_CAP_BSET=14, /* int: capability bounding set */
KERN_PANIC=15, /* int: panic timeout */
@@ -11040,26 +11001,8 @@
KERN_SPARC_REBOOT=21, /* reboot command on Sparc */
KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */
-@@ -923,6 +924,9 @@ typedef int ctl_handler (ctl_table *tabl
- typedef int proc_handler (ctl_table *ctl, int write, struct file * filp,
- void __user *buffer, size_t *lenp, loff_t *ppos);
-
-+typedef int virt_handler (struct ctl_table *ctl, int write, xid_t xid,
-+ void **datap, size_t *lenp);
-+
- extern int proc_dostring(ctl_table *, int, struct file *,
- void __user *, size_t *, loff_t *);
- extern int proc_dointvec(ctl_table *, int, struct file *,
-@@ -1007,6 +1011,7 @@ struct ctl_table
- mode_t mode;
- ctl_table *child;
- proc_handler *proc_handler; /* Callback for text formatting */
-+ virt_handler *virt_handler; /* Context virtualization */
- ctl_handler *strategy; /* Callback function for all r/w */
- struct proc_dir_entry *de; /* /proc control block */
- void *extra1;
---- linux-2.6.20.1/include/linux/sysfs.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/sysfs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/sysfs.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/sysfs.h 2007-04-01 17:30:04 +0200
@@ -13,6 +13,8 @@
#include <linux/compiler.h>
#include <asm/atomic.h>
@@ -11069,8 +11012,8 @@
struct kobject;
struct module;
---- linux-2.6.20.1/include/linux/time.h 2006-09-20 16:58:44 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/time.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/time.h 2006-09-20 16:58:44 +0200
++++ linux-2.6.20.4-vs2.2.0/include/linux/time.h 2007-04-01 17:29:38 +0200
@@ -174,6 +174,9 @@ static inline void timespec_add_ns(struc
}
a->tv_nsec = ns;
@@ -11081,8 +11024,8 @@
#endif /* __KERNEL__ */
#define NFDBITS __NFDBITS
---- linux-2.6.20.1/include/linux/types.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/types.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/types.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/types.h 2007-04-01 17:29:39 +0200
@@ -39,6 +39,9 @@ typedef __kernel_uid32_t uid_t;
typedef __kernel_gid32_t gid_t;
typedef __kernel_uid16_t uid16_t;
@@ -11093,8 +11036,8 @@
#ifdef CONFIG_UID16
/* This is defined by include/asm-{arch}/posix_types.h */
---- linux-2.6.20.1/include/linux/vroot.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vroot.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vroot.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vroot.h 2007-04-01 17:29:58 +0200
@@ -0,0 +1,51 @@
+
+/*
@@ -11103,7 +11046,7 @@
+ * written by Herbert Pötzl, 9/11/2002
+ * ported to 2.6 by Herbert Pötzl, 30/12/2004
+ *
-+ * Copyright (C) 2002-2005 by Herbert Pötzl.
++ * Copyright (C) 2002-2007 by Herbert Pötzl.
+ * Redistribution of this file is permitted under the
+ * GNU General Public License.
+ */
@@ -11147,8 +11090,8 @@
+#define VROOT_CLR_DEV 0x5601
+
+#endif /* _LINUX_VROOT_H */
---- linux-2.6.20.1/include/linux/vs_base.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_base.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_base.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_base.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,9 @@
+#ifndef _VS_BASE_H
+#define _VS_BASE_H
@@ -11159,8 +11102,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_context.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_context.h 2007-02-06 04:58:45 +0100
+--- linux-2.6.20.4/include/linux/vs_context.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_context.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,220 @@
+#ifndef _VS_CONTEXT_H
+#define _VS_CONTEXT_H
@@ -11382,8 +11325,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_cowbl.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_cowbl.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_cowbl.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_cowbl.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,44 @@
+#ifndef _VS_COWBL_H
+#define _VS_COWBL_H
@@ -11429,8 +11372,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_cvirt.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_cvirt.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_cvirt.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_cvirt.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,49 @@
+#ifndef _VS_CVIRT_H
+#define _VS_CVIRT_H
@@ -11481,9 +11424,9 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_dlimit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_dlimit.h 2007-02-06 03:05:22 +0100
-@@ -0,0 +1,214 @@
+--- linux-2.6.20.4/include/linux/vs_dlimit.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_dlimit.h 2007-04-01 17:29:38 +0200
+@@ -0,0 +1,207 @@
+#ifndef _VS_DLIMIT_H
+#define _VS_DLIMIT_H
+
@@ -11592,13 +11535,6 @@
+ ret = (dli->dl_inodes_used >= dli->dl_inodes_total);
+ if (!ret)
+ dli->dl_inodes_used++;
-+#if 0
-+ else
-+ vxwprintk("DLIMIT hit (%p,#%d), inode %d>=%d @ %s:%d",
-+ sb, tag,
-+ dli->dl_inodes_used, dli->dl_inodes_total,
-+ file, line);
-+#endif
+ spin_unlock(&dli->dl_lock);
+ put_dl_info(dli);
+out:
@@ -11698,8 +11634,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_limit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_limit.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_limit.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_limit.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,140 @@
+#ifndef _VS_LIMIT_H
+#define _VS_LIMIT_H
@@ -11841,8 +11777,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_memory.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_memory.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_memory.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_memory.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,159 @@
+#ifndef _VS_MEMORY_H
+#define _VS_MEMORY_H
@@ -12003,8 +11939,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_network.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_network.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_network.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_network.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,183 @@
+#ifndef _NX_VS_NETWORK_H
+#define _NX_VS_NETWORK_H
@@ -12189,8 +12125,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_pid.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_pid.h 2007-02-06 05:47:37 +0100
+--- linux-2.6.20.4/include/linux/vs_pid.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_pid.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,133 @@
+#ifndef _VS_PID_H
+#define _VS_PID_H
@@ -12269,7 +12205,7 @@
+static inline
+struct task_struct *vx_find_proc_task_by_pid(int pid)
+{
-+ struct task_struct *task = find_task_by_pid(pid);
++ struct task_struct *task = find_task_by_real_pid(pid);
+
+ if (task && !vx_proc_task_visible(task)) {
+ vxdprintk(VXD_CBIT(misc, 6),
@@ -12325,8 +12261,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_sched.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_sched.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_sched.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_sched.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,110 @@
+#ifndef _VS_SCHED_H
+#define _VS_SCHED_H
@@ -12438,8 +12374,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_socket.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_socket.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_socket.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_socket.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,67 @@
+#ifndef _VS_SOCKET_H
+#define _VS_SOCKET_H
@@ -12508,8 +12444,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_tag.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_tag.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_tag.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_tag.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,44 @@
+#ifndef _VS_TAG_H
+#define _VS_TAG_H
@@ -12555,8 +12491,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vs_time.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vs_time.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vs_time.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vs_time.h 2007-04-01 17:29:38 +0200
@@ -0,0 +1,19 @@
+#ifndef _VS_TIME_H
+#define _VS_TIME_H
@@ -12577,8 +12513,8 @@
+#else
+#warning duplicate inclusion
+#endif
---- linux-2.6.20.1/include/linux/vserver/Kbuild 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/Kbuild 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/Kbuild 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/Kbuild 2007-04-01 17:29:39 +0200
@@ -0,0 +1,9 @@
+
+unifdef-y += context_cmd.h network_cmd.h space_cmd.h \
@@ -12589,8 +12525,8 @@
+
+unifdef-y += legacy.h
+
---- linux-2.6.20.1/include/linux/vserver/base.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/base.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/base.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/base.h 2007-04-01 17:29:39 +0200
@@ -0,0 +1,237 @@
+#ifndef _VX_BASE_H
+#define _VX_BASE_H
@@ -12829,8 +12765,8 @@
+#define nx_info_state(v,m) (__nx_state(v) & (m))
+
+#endif
---- linux-2.6.20.1/include/linux/vserver/cacct.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/cacct.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/cacct.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/cacct.h 2007-04-01 17:29:44 +0200
@@ -0,0 +1,15 @@
+#ifndef _VX_CACCT_H
+#define _VX_CACCT_H
@@ -12847,8 +12783,8 @@
+};
+
+#endif /* _VX_CACCT_H */
---- linux-2.6.20.1/include/linux/vserver/cacct_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/cacct_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/cacct_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/cacct_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,23 @@
+#ifndef _VX_CACCT_CMD_H
+#define _VX_CACCT_CMD_H
@@ -12873,8 +12809,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CACCT_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/cacct_def.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/cacct_def.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/cacct_def.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/cacct_def.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,43 @@
+#ifndef _VX_CACCT_DEF_H
+#define _VX_CACCT_DEF_H
@@ -12919,8 +12855,8 @@
+#endif
+
+#endif /* _VX_CACCT_DEF_H */
---- linux-2.6.20.1/include/linux/vserver/cacct_int.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/cacct_int.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/cacct_int.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/cacct_int.h 2007-04-01 17:29:44 +0200
@@ -0,0 +1,21 @@
+#ifndef _VX_CACCT_INT_H
+#define _VX_CACCT_INT_H
@@ -12943,8 +12879,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CACCT_INT_H */
---- linux-2.6.20.1/include/linux/vserver/context.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/context.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/context.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/context.h 2007-04-01 17:29:40 +0200
@@ -0,0 +1,172 @@
+#ifndef _VX_CONTEXT_H
+#define _VX_CONTEXT_H
@@ -13118,8 +13054,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CONTEXT_H */
---- linux-2.6.20.1/include/linux/vserver/context_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/context_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/context_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/context_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,123 @@
+#ifndef _VX_CONTEXT_CMD_H
+#define _VX_CONTEXT_CMD_H
@@ -13244,8 +13180,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CONTEXT_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/cvirt.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/cvirt.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/cvirt.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/cvirt.h 2007-04-01 17:29:44 +0200
@@ -0,0 +1,20 @@
+#ifndef _VX_CVIRT_H
+#define _VX_CVIRT_H
@@ -13267,8 +13203,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CVIRT_H */
---- linux-2.6.20.1/include/linux/vserver/cvirt_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/cvirt_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/cvirt_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/cvirt_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,53 @@
+#ifndef _VX_CVIRT_CMD_H
+#define _VX_CVIRT_CMD_H
@@ -13323,9 +13259,9 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CVIRT_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/cvirt_def.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/cvirt_def.h 2007-02-06 03:05:22 +0100
-@@ -0,0 +1,82 @@
+--- linux-2.6.20.4/include/linux/vserver/cvirt_def.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/cvirt_def.h 2007-04-01 17:29:49 +0200
+@@ -0,0 +1,81 @@
+#ifndef _VX_CVIRT_DEF_H
+#define _VX_CVIRT_DEF_H
+
@@ -13363,7 +13299,6 @@
+/* context sub struct */
+
+struct _vx_cvirt {
-+// int max_threads; /* maximum allowed threads */
+ atomic_t nr_threads; /* number of current threads */
+ atomic_t nr_running; /* number of running threads */
+ atomic_t nr_uninterruptible; /* number of uninterruptible threads */
@@ -13408,9 +13343,9 @@
+#endif
+
+#endif /* _VX_CVIRT_DEF_H */
---- linux-2.6.20.1/include/linux/vserver/debug.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/debug.h 2007-02-06 03:05:22 +0100
-@@ -0,0 +1,112 @@
+--- linux-2.6.20.4/include/linux/vserver/debug.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/debug.h 2007-04-01 17:29:48 +0200
+@@ -0,0 +1,117 @@
+#ifndef _VX_DEBUG_H
+#define _VX_DEBUG_H
+
@@ -13432,6 +13367,14 @@
+#define __FUNC__ __func__
+
+
++#define vxd_path(d,m) \
++ ({ static char _buffer[PATH_MAX]; \
++ d_path((d), (m), _buffer, sizeof(_buffer)); })
++
++#define vxd_cond_path(n) \
++ ((n) ? vxd_path((n)->dentry, (n)->mnt) : "<null>" )
++
++
+#ifdef CONFIG_VSERVER_DEBUG
+
+extern unsigned int vx_debug_switch;
@@ -13448,7 +13391,6 @@
+
+
+#define VX_LOGLEVEL "vxD: "
-+#define VX_WARNLEVEL KERN_WARNING "vxW: "
+
+#define vxdprintk(c,f,x...) \
+ do { \
@@ -13469,21 +13411,6 @@
+ } while (0)
+
+
-+#define vxwprintk(c,f,x...) \
-+ do { \
-+ if (c) \
-+ printk(VX_WARNLEVEL f "\n" , ##x); \
-+ } while (0)
-+
-+
-+#define vxd_path(d,m) \
-+ ({ static char _buffer[PATH_MAX]; \
-+ d_path((d), (m), _buffer, sizeof(_buffer)); })
-+
-+#define vxd_cond_path(n) \
-+ ((n) ? vxd_path((n)->dentry, (n)->mnt) : "<null>" )
-+
-+
+struct vx_info;
+
+void dump_vx_info(struct vx_info *, int);
@@ -13504,14 +13431,27 @@
+#define vxdprintk(x...) do { } while (0)
+#define vxlprintk(x...) do { } while (0)
+#define vxfprintk(x...) do { } while (0)
-+#define vxwprintk(x...) do { } while (0)
-+
-+#define vxd_path "<none>"
-+#define vxd_cond_path vxd_path
+
+#endif /* CONFIG_VSERVER_DEBUG */
+
+
++#ifdef CONFIG_VSERVER_WARN
++
++#define VX_WARNLEVEL KERN_WARNING "vxW: "
++
++#define vxwprintk(c,f,x...) \
++ do { \
++ if (c) \
++ printk(VX_WARNLEVEL f "\n" , ##x); \
++ } while (0)
++
++#else /* CONFIG_VSERVER_WARN */
++
++#define vxwprintk(x...) do { } while (0)
++
++#endif /* CONFIG_VSERVER_WARN */
++
++
+#ifdef CONFIG_VSERVER_DEBUG
+#define vxd_assert_lock(l) assert_spin_locked(l)
+#define vxd_assert(c,f,x...) vxlprintk(!(c), \
@@ -13523,8 +13463,8 @@
+
+
+#endif /* _VX_DEBUG_H */
---- linux-2.6.20.1/include/linux/vserver/debug_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/debug_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/debug_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/debug_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,58 @@
+#ifndef _VX_DEBUG_CMD_H
+#define _VX_DEBUG_CMD_H
@@ -13584,8 +13524,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_DEBUG_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/dlimit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/dlimit.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/dlimit.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/dlimit.h 2007-04-01 17:29:50 +0200
@@ -0,0 +1,53 @@
+#ifndef _VX_DLIMIT_H
+#define _VX_DLIMIT_H
@@ -13640,8 +13580,8 @@
+#else /* _VX_DLIMIT_H */
+#warning duplicate inclusion
+#endif /* _VX_DLIMIT_H */
---- linux-2.6.20.1/include/linux/vserver/dlimit_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/dlimit_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/dlimit_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/dlimit_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,74 @@
+#ifndef _VX_DLIMIT_CMD_H
+#define _VX_DLIMIT_CMD_H
@@ -13717,8 +13657,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_DLIMIT_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/global.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/global.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/global.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/global.h 2007-04-01 17:30:02 +0200
@@ -0,0 +1,18 @@
+#ifndef _VX_GLOBAL_H
+#define _VX_GLOBAL_H
@@ -13738,8 +13678,8 @@
+
+
+#endif /* _VX_GLOBAL_H */
---- linux-2.6.20.1/include/linux/vserver/history.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/history.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/history.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/history.h 2007-04-01 17:29:48 +0200
@@ -0,0 +1,197 @@
+#ifndef _VX_HISTORY_H
+#define _VX_HISTORY_H
@@ -13938,8 +13878,8 @@
+#endif /* CONFIG_VSERVER_HISTORY */
+
+#endif /* _VX_HISTORY_H */
---- linux-2.6.20.1/include/linux/vserver/inode.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/inode.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/inode.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/inode.h 2007-04-01 17:29:46 +0200
@@ -0,0 +1,38 @@
+#ifndef _VX_INODE_H
+#define _VX_INODE_H
@@ -13979,8 +13919,8 @@
+#else /* _VX_INODE_H */
+#warning duplicate inclusion
+#endif /* _VX_INODE_H */
---- linux-2.6.20.1/include/linux/vserver/inode_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/inode_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/inode_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/inode_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,61 @@
+#ifndef _VX_INODE_CMD_H
+#define _VX_INODE_CMD_H
@@ -14043,8 +13983,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_INODE_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/legacy.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/legacy.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/legacy.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/legacy.h 2007-04-01 17:30:05 +0200
@@ -0,0 +1,49 @@
+#ifndef _VX_LEGACY_H
+#define _VX_LEGACY_H
@@ -14095,8 +14035,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LEGACY_H */
---- linux-2.6.20.1/include/linux/vserver/limit.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/limit.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/limit.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/limit.h 2007-04-01 17:29:48 +0200
@@ -0,0 +1,68 @@
+#ifndef _VX_LIMIT_H
+#define _VX_LIMIT_H
@@ -14166,8 +14106,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LIMIT_H */
---- linux-2.6.20.1/include/linux/vserver/limit_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/limit_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/limit_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/limit_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,69 @@
+#ifndef _VX_LIMIT_CMD_H
+#define _VX_LIMIT_CMD_H
@@ -14238,8 +14178,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LIMIT_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/limit_def.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/limit_def.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/limit_def.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/limit_def.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,47 @@
+#ifndef _VX_LIMIT_DEF_H
+#define _VX_LIMIT_DEF_H
@@ -14288,8 +14228,8 @@
+#endif
+
+#endif /* _VX_LIMIT_DEF_H */
---- linux-2.6.20.1/include/linux/vserver/limit_int.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/limit_int.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/limit_int.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/limit_int.h 2007-04-01 17:29:48 +0200
@@ -0,0 +1,198 @@
+#ifndef _VX_LIMIT_INT_H
+#define _VX_LIMIT_INT_H
@@ -14489,8 +14429,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_LIMIT_INT_H */
---- linux-2.6.20.1/include/linux/vserver/monitor.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/monitor.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/monitor.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/monitor.h 2007-04-01 17:29:48 +0200
@@ -0,0 +1,95 @@
+#ifndef _VX_MONITOR_H
+#define _VX_MONITOR_H
@@ -14587,8 +14527,8 @@
+
+
+#endif /* _VX_MONITOR_H */
---- linux-2.6.20.1/include/linux/vserver/network.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/network.h 2007-02-15 00:05:40 +0100
+--- linux-2.6.20.4/include/linux/vserver/network.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/network.h 2007-04-01 17:29:41 +0200
@@ -0,0 +1,142 @@
+#ifndef _VX_NETWORK_H
+#define _VX_NETWORK_H
@@ -14732,8 +14672,8 @@
+#else /* _VX_NETWORK_H */
+#warning duplicate inclusion
+#endif /* _VX_NETWORK_H */
---- linux-2.6.20.1/include/linux/vserver/network_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/network_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/network_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/network_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,89 @@
+#ifndef _VX_NETWORK_CMD_H
+#define _VX_NETWORK_CMD_H
@@ -14824,8 +14764,25 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_CONTEXT_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/sched.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/sched.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/percpu.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/percpu.h 2007-04-01 17:30:04 +0200
+@@ -0,0 +1,14 @@
++#ifndef _VX_PERCPU_H
++#define _VX_PERCPU_H
++
++#include "cvirt_def.h"
++#include "sched_def.h"
++
++struct _vx_percpu {
++ struct _vx_cvirt_pc cvirt;
++ struct _vx_sched_pc sched;
++};
++
++#define PERCPU_PERCTX (sizeof(struct _vx_percpu))
++
++#endif /* _VX_PERCPU_H */
+--- linux-2.6.20.4/include/linux/vserver/sched.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/sched.h 2007-04-01 17:29:45 +0200
@@ -0,0 +1,26 @@
+#ifndef _VX_SCHED_H
+#define _VX_SCHED_H
@@ -14853,8 +14810,8 @@
+#else /* _VX_SCHED_H */
+#warning duplicate inclusion
+#endif /* _VX_SCHED_H */
---- linux-2.6.20.1/include/linux/vserver/sched_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/sched_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/sched_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/sched_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,108 @@
+#ifndef _VX_SCHED_CMD_H
+#define _VX_SCHED_CMD_H
@@ -14964,8 +14921,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_SCHED_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/sched_def.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/sched_def.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/sched_def.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/sched_def.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,68 @@
+#ifndef _VX_SCHED_DEF_H
+#define _VX_SCHED_DEF_H
@@ -15035,8 +14992,8 @@
+#endif
+
+#endif /* _VX_SCHED_DEF_H */
---- linux-2.6.20.1/include/linux/vserver/signal.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/signal.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/signal.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/signal.h 2007-04-01 17:29:45 +0200
@@ -0,0 +1,14 @@
+#ifndef _VX_SIGNAL_H
+#define _VX_SIGNAL_H
@@ -15052,8 +15009,8 @@
+#else /* _VX_SIGNAL_H */
+#warning duplicate inclusion
+#endif /* _VX_SIGNAL_H */
---- linux-2.6.20.1/include/linux/vserver/signal_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/signal_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/signal_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/signal_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,43 @@
+#ifndef _VX_SIGNAL_CMD_H
+#define _VX_SIGNAL_CMD_H
@@ -15098,8 +15055,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_SIGNAL_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/space.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/space.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/space.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/space.h 2007-04-01 17:30:03 +0200
@@ -0,0 +1,13 @@
+#ifndef _VX_SPACE_H
+#define _VX_SPACE_H
@@ -15114,8 +15071,8 @@
+#else /* _VX_SPACE_H */
+#warning duplicate inclusion
+#endif /* _VX_SPACE_H */
---- linux-2.6.20.1/include/linux/vserver/space_cmd.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/space_cmd.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/space_cmd.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/space_cmd.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,26 @@
+#ifndef _VX_SPACE_CMD_H
+#define _VX_SPACE_CMD_H
@@ -15143,8 +15100,8 @@
+
+#endif /* __KERNEL__ */
+#endif /* _VX_SPACE_CMD_H */
---- linux-2.6.20.1/include/linux/vserver/switch.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/switch.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/linux/vserver/switch.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/switch.h 2007-04-01 17:29:41 +0200
@@ -0,0 +1,95 @@
+#ifndef _VX_SWITCH_H
+#define _VX_SWITCH_H
@@ -15241,9 +15198,9 @@
+#endif /* __KERNEL__ */
+
+#endif /* _VX_SWITCH_H */
---- linux-2.6.20.1/include/linux/vserver/tag.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/linux/vserver/tag.h 2007-02-06 03:05:22 +0100
-@@ -0,0 +1,153 @@
+--- linux-2.6.20.4/include/linux/vserver/tag.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/include/linux/vserver/tag.h 2007-04-01 17:29:47 +0200
+@@ -0,0 +1,140 @@
+#ifndef _DX_TAG_H
+#define _DX_TAG_H
+
@@ -15331,19 +15288,6 @@
+#endif
+
+
-+#ifdef CONFIG_TAGGING_RUNTIME
-+
-+#define MAX_UID 0xFFFFFFFF
-+#define MAX_GID 0xFFFFFFFF
-+
-+#define INOTAG_TAG(cond, uid, gid, tag) (0)
-+
-+#define TAGINO_UID(cond, uid, tag) (uid)
-+#define TAGINO_GID(cond, gid, tag) (gid)
-+
-+#endif
-+
-+
+#ifndef CONFIG_TAGGING_NONE
+#define dx_current_fstag(sb) \
+ ((sb)->s_flags & MS_TAGGED ? dx_current_tag(): 0)
@@ -15397,8 +15341,8 @@
+#endif
+
+#endif /* _DX_TAG_H */
---- linux-2.6.20.1/include/net/af_unix.h 2006-09-20 16:58:44 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/net/af_unix.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/net/af_unix.h 2006-09-20 16:58:44 +0200
++++ linux-2.6.20.4-vs2.2.0/include/net/af_unix.h 2007-04-01 17:29:42 +0200
@@ -4,6 +4,7 @@
#include <linux/socket.h>
#include <linux/un.h>
@@ -15449,8 +15393,8 @@
}
#define forall_unix_sockets(i, s) \
---- linux-2.6.20.1/include/net/inet_hashtables.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/net/inet_hashtables.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/net/inet_hashtables.h 2007-02-06 03:01:52 +0100
++++ linux-2.6.20.4-vs2.2.0/include/net/inet_hashtables.h 2007-04-01 17:29:41 +0200
@@ -271,6 +271,26 @@ static inline int inet_iif(const struct
return ((struct rtable *)skb->dst)->rt_iif;
}
@@ -15478,8 +15422,8 @@
extern struct sock *__inet_lookup_listener(struct inet_hashinfo *hashinfo,
const __be32 daddr,
const unsigned short hnum,
---- linux-2.6.20.1/include/net/inet_sock.h 2006-11-30 21:19:40 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/net/inet_sock.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/net/inet_sock.h 2006-11-30 21:19:40 +0100
++++ linux-2.6.20.4-vs2.2.0/include/net/inet_sock.h 2007-04-01 17:29:41 +0200
@@ -112,6 +112,7 @@ struct inet_sock {
/* Socket demultiplex comparisons on incoming packets. */
__be32 daddr;
@@ -15488,8 +15432,8 @@
__be16 dport;
__u16 num;
__be32 saddr;
---- linux-2.6.20.1/include/net/inet_timewait_sock.h 2007-02-06 03:01:52 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/net/inet_timewait_sock.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/net/inet_timewait_sock.h 2007-03-17 23:20:39 +0100
++++ linux-2.6.20.4-vs2.2.0/include/net/inet_timewait_sock.h 2007-04-01 17:29:41 +0200
@@ -115,6 +115,10 @@ struct inet_timewait_sock {
#define tw_refcnt __tw_common.skc_refcnt
#define tw_hash __tw_common.skc_hash
@@ -15501,8 +15445,8 @@
volatile unsigned char tw_substate;
/* 3 bits hole, try to pack */
unsigned char tw_rcv_wscale;
---- linux-2.6.20.1/include/net/route.h 2006-11-30 21:19:40 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/net/route.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/net/route.h 2006-11-30 21:19:40 +0100
++++ linux-2.6.20.4-vs2.2.0/include/net/route.h 2007-04-01 17:29:41 +0200
@@ -27,12 +27,16 @@
#include <net/dst.h>
#include <net/inetpeer.h>
@@ -15609,8 +15553,8 @@
err = __ip_route_output_key(rp, &fl);
if (err)
return err;
---- linux-2.6.20.1/include/net/sock.h 2007-02-06 03:01:53 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/include/net/sock.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/include/net/sock.h 2007-02-06 03:01:53 +0100
++++ linux-2.6.20.4-vs2.2.0/include/net/sock.h 2007-04-01 17:29:42 +0200
@@ -119,6 +119,10 @@ struct sock_common {
atomic_t skc_refcnt;
unsigned int skc_hash;
@@ -15633,18 +15577,36 @@
unsigned char sk_shutdown : 2,
sk_no_check : 2,
sk_userlocks : 4;
---- linux-2.6.20.1/init/Makefile 2006-09-20 16:58:44 +0200
-+++ linux-2.6.20.1-vs2.2.0-rc15/init/Makefile 2007-02-06 03:05:22 +0100
-@@ -15,6 +15,7 @@ clean-files := ../include/linux/compile.
-
- # dependencies on generated files need to be listed explicitly
-
-+$(obj)/main.o: include/linux/compile.h
- $(obj)/version.o: include/linux/compile.h
-
- # compile.h changes depending on hostname, generation number, etc,
---- linux-2.6.20.1/ipc/mqueue.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/ipc/mqueue.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/init/main.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/init/main.c 2007-04-01 17:30:04 +0200
+@@ -52,6 +52,7 @@
+ #include <linux/lockdep.h>
+ #include <linux/pid_namespace.h>
+ #include <linux/device.h>
++#include <linux/vserver/percpu.h>
+
+ #include <asm/io.h>
+ #include <asm/bugs.h>
+@@ -359,7 +360,7 @@ EXPORT_SYMBOL(__per_cpu_offset);
+
+ static void __init setup_per_cpu_areas(void)
+ {
+- unsigned long size, i;
++ unsigned long size, vspc, i;
+ char *ptr;
+ unsigned long nr_possible_cpus = num_possible_cpus();
+
+@@ -369,6 +370,8 @@ static void __init setup_per_cpu_areas(v
+ if (size < PERCPU_ENOUGH_ROOM)
+ size = PERCPU_ENOUGH_ROOM;
+ #endif
++ vspc = PERCPU_PERCTX * CONFIG_VSERVER_CONTEXTS;
++ size = ALIGN(size + vspc, SMP_CACHE_BYTES);
+ ptr = alloc_bootmem(size * nr_possible_cpus);
+
+ for_each_possible_cpu(i) {
+--- linux-2.6.20.4/ipc/mqueue.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/ipc/mqueue.c 2007-04-01 17:30:02 +0200
@@ -29,6 +29,8 @@
#include <linux/audit.h>
#include <linux/signal.h>
@@ -15700,8 +15662,8 @@
out_err:
dput(dentry);
---- linux-2.6.20.1/ipc/msg.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/ipc/msg.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/ipc/msg.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/ipc/msg.c 2007-04-01 17:30:02 +0200
@@ -36,6 +36,7 @@
#include <linux/seq_file.h>
#include <linux/mutex.h>
@@ -15718,18 +15680,8 @@
msq->q_perm.security = NULL;
retval = security_msg_queue_alloc(msq);
-@@ -925,6 +927,9 @@ static int sysvipc_msg_proc_show(struct
- {
- struct msg_queue *msq = it;
-
-+ if (!vx_check(msq->q_perm.xid, VS_WATCH_P|VS_IDENT))
-+ return 0;
-+
- return seq_printf(s,
- "%10d %10d %4o %10lu %10lu %5u %5u %5u %5u %5u %5u %10lu %10lu %10lu\n",
- msq->q_perm.key,
---- linux-2.6.20.1/ipc/sem.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/ipc/sem.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/ipc/sem.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/ipc/sem.c 2007-04-01 17:30:02 +0200
@@ -83,6 +83,8 @@
#include <linux/seq_file.h>
#include <linux/mutex.h>
@@ -15767,18 +15719,8 @@
size = sizeof (*sma) + sma->sem_nsems * sizeof (struct sem);
security_sem_free(sma);
ipc_rcu_putref(sma);
-@@ -1402,6 +1411,9 @@ static int sysvipc_sem_proc_show(struct
- {
- struct sem_array *sma = it;
-
-+ if (!vx_check(sma->sem_perm.xid, VS_WATCH_P|VS_IDENT))
-+ return 0;
-+
- return seq_printf(s,
- "%10d %10d %4o %10lu %5u %5u %5u %5u %10lu %10lu\n",
- sma->sem_perm.key,
---- linux-2.6.20.1/ipc/shm.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/ipc/shm.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/ipc/shm.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/ipc/shm.c 2007-04-01 17:30:02 +0200
@@ -37,6 +37,8 @@
#include <linux/seq_file.h>
#include <linux/mutex.h>
@@ -15834,18 +15776,8 @@
shm_unlock(shp);
return shp->id;
-@@ -993,6 +1006,9 @@ static int sysvipc_shm_proc_show(struct
- #define SMALL_STRING "%10d %10d %4o %10u %5u %5u %5d %5u %5u %5u %5u %10lu %10lu %10lu\n"
- #define BIG_STRING "%10d %10d %4o %21u %5u %5u %5d %5u %5u %5u %5u %10lu %10lu %10lu\n"
-
-+ if (!vx_check(shp->shm_perm.xid, VS_WATCH_P|VS_IDENT))
-+ return 0;
-+
- if (sizeof(size_t) <= sizeof(int))
- format = SMALL_STRING;
- else
---- linux-2.6.20.1/ipc/util.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/ipc/util.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/ipc/util.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/ipc/util.c 2007-04-01 17:30:02 +0200
@@ -33,6 +33,8 @@
#include <linux/proc_fs.h>
#include <linux/audit.h>
@@ -15871,29 +15803,8 @@
kfree(ns);
}
#endif
-@@ -261,7 +265,9 @@ int ipc_findkey(struct ipc_ids* ids, key
- */
- for (id = 0; id <= max_id; id++) {
- p = ids->entries->p[id];
-- if(p==NULL)
-+ if (p==NULL)
-+ continue;
-+ if (!vx_check(p->xid, VS_WATCH_P|VS_IDENT))
- continue;
- if (key == p->key)
- return id;
-@@ -579,6 +585,9 @@ int ipcperms (struct kern_ipc_perm *ipcp
-
- if (unlikely((err = audit_ipc_obj(ipcp))))
- return err;
-+
-+ if (!vx_check(ipcp->xid, VS_WATCH_P|VS_IDENT)) /* maybe just VS_IDENT? */
-+ return -1;
- requested_mode = (flag >> 6) | (flag >> 3) | flag;
- granted_mode = ipcp->mode;
- if (current->euid == ipcp->cuid || current->euid == ipcp->uid)
---- linux-2.6.20.1/kernel/Makefile 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/Makefile 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/Makefile 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/Makefile 2007-04-01 17:29:39 +0200
@@ -10,6 +10,8 @@ obj-y = sched.o fork.o exec_domain.o
kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \
hrtimer.o rwsem.o latency.o nsproxy.o srcu.o
@@ -15903,8 +15814,8 @@
obj-$(CONFIG_STACKTRACE) += stacktrace.o
obj-y += time/
obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o
---- linux-2.6.20.1/kernel/capability.c 2006-11-30 21:19:43 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/capability.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/capability.c 2006-11-30 21:19:43 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/capability.c 2007-04-01 17:29:49 +0200
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <linux/security.h>
@@ -15913,7 +15824,16 @@
#include <asm/uaccess.h>
unsigned securebits = SECUREBITS_DEFAULT; /* systemwide security settings */
-@@ -244,8 +245,12 @@ int __capable(struct task_struct *t, int
+@@ -101,6 +102,8 @@ static inline int cap_set_pg(int pgrp, k
+ int found = 0;
+
+ do_each_task_pid(pgrp, PIDTYPE_PGID, g) {
++ if (!vx_check(g->xid, VS_ADMIN_P | VS_IDENT))
++ continue;
+ target = g;
+ while_each_thread(g, target) {
+ if (!security_capset_check(target, effective,
+@@ -244,8 +247,12 @@ int __capable(struct task_struct *t, int
}
EXPORT_SYMBOL(__capable);
@@ -15926,8 +15846,8 @@
return __capable(current, cap);
}
EXPORT_SYMBOL(capable);
---- linux-2.6.20.1/kernel/compat.c 2006-11-30 21:19:43 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/compat.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/compat.c 2006-11-30 21:19:43 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/compat.c 2007-04-01 17:29:43 +0200
@@ -846,7 +846,7 @@ asmlinkage long compat_sys_time(compat_t
compat_time_t i;
struct timeval tv;
@@ -15946,8 +15866,8 @@
return 0;
}
---- linux-2.6.20.1/kernel/exit.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/exit.c 2007-02-24 21:13:02 +0100
+--- linux-2.6.20.4/kernel/exit.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/exit.c 2007-04-01 17:30:05 +0200
@@ -42,6 +42,11 @@
#include <linux/audit.h> /* for audit_free() */
#include <linux/resource.h>
@@ -16028,8 +15948,8 @@
preempt_disable();
/* causes final put_task_struct in finish_task_switch(). */
tsk->state = TASK_DEAD;
---- linux-2.6.20.1/kernel/fork.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/fork.c 2007-02-15 00:05:56 +0100
+--- linux-2.6.20.4/kernel/fork.c 2007-03-25 00:56:55 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/fork.c 2007-04-01 17:30:02 +0200
@@ -49,6 +49,11 @@
#include <linux/delayacct.h>
#include <linux/taskstats_kern.h>
@@ -16069,16 +15989,18 @@
vm_stat_account(mm, mpnt->vm_flags, mpnt->vm_file,
-pages);
continue;
-@@ -333,8 +342,6 @@ static struct mm_struct * mm_init(struct
+@@ -333,8 +342,8 @@ static struct mm_struct * mm_init(struct
INIT_LIST_HEAD(&mm->mmlist);
mm->core_waiters = 0;
mm->nr_ptes = 0;
- set_mm_counter(mm, file_rss, 0);
- set_mm_counter(mm, anon_rss, 0);
++ __set_mm_counter(mm, file_rss, 0);
++ __set_mm_counter(mm, anon_rss, 0);
spin_lock_init(&mm->page_table_lock);
rwlock_init(&mm->ioctx_list_lock);
mm->ioctx_list = NULL;
-@@ -343,6 +350,7 @@ static struct mm_struct * mm_init(struct
+@@ -343,6 +352,7 @@ static struct mm_struct * mm_init(struct
if (likely(!mm_alloc_pgd(mm))) {
mm->def_flags = 0;
@@ -16086,7 +16008,7 @@
return mm;
}
free_mm(mm);
-@@ -374,6 +382,7 @@ void fastcall __mmdrop(struct mm_struct
+@@ -374,6 +384,7 @@ void fastcall __mmdrop(struct mm_struct
BUG_ON(mm == &init_mm);
mm_free_pgd(mm);
destroy_context(mm);
@@ -16094,7 +16016,7 @@
free_mm(mm);
}
-@@ -488,6 +497,7 @@ static struct mm_struct *dup_mm(struct t
+@@ -488,6 +499,7 @@ static struct mm_struct *dup_mm(struct t
goto fail_nomem;
memcpy(mm, oldmm, sizeof(*mm));
@@ -16102,7 +16024,7 @@
/* Initializing for Swap token stuff */
mm->token_priority = 0;
-@@ -519,6 +529,7 @@ fail_nocontext:
+@@ -519,6 +531,7 @@ fail_nocontext:
* If init_new_context() failed, we cannot use mmput() to free the mm
* because it calls destroy_context()
*/
@@ -16110,7 +16032,7 @@
mm_free_pgd(mm);
free_mm(mm);
return NULL;
-@@ -589,6 +600,7 @@ static inline struct fs_struct *__copy_f
+@@ -589,6 +602,7 @@ static inline struct fs_struct *__copy_f
fs->altroot = NULL;
}
read_unlock(&old->lock);
@@ -16118,7 +16040,7 @@
}
return fs;
}
-@@ -707,6 +719,8 @@ static struct files_struct *dup_fd(struc
+@@ -707,6 +721,8 @@ static struct files_struct *dup_fd(struc
struct file *f = *old_fds++;
if (f) {
get_file(f);
@@ -16127,7 +16049,7 @@
} else {
/*
* The fd may be claimed in the fd bitmap but not yet
-@@ -958,6 +972,8 @@ static struct task_struct *copy_process(
+@@ -958,6 +974,8 @@ static struct task_struct *copy_process(
{
int retval;
struct task_struct *p = NULL;
@@ -16136,7 +16058,7 @@
if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS))
return ERR_PTR(-EINVAL);
-@@ -992,12 +1008,30 @@ static struct task_struct *copy_process(
+@@ -992,12 +1010,30 @@ static struct task_struct *copy_process(
DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled);
DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
#endif
@@ -16168,7 +16090,7 @@
}
atomic_inc(&p->user->__count);
-@@ -1260,6 +1294,18 @@ static struct task_struct *copy_process(
+@@ -1260,6 +1296,18 @@ static struct task_struct *copy_process(
total_forks++;
spin_unlock(¤t->sighand->siglock);
@@ -16187,7 +16109,7 @@
write_unlock_irq(&tasklist_lock);
proc_fork_connector(p);
return p;
-@@ -1301,6 +1347,9 @@ bad_fork_cleanup_count:
+@@ -1301,6 +1349,9 @@ bad_fork_cleanup_count:
put_group_info(p->group_info);
atomic_dec(&p->user->processes);
free_uid(p->user);
@@ -16197,7 +16119,7 @@
bad_fork_free:
free_task(p);
fork_out:
-@@ -1361,6 +1410,15 @@ long do_fork(unsigned long clone_flags,
+@@ -1361,6 +1412,15 @@ long do_fork(unsigned long clone_flags,
if (!pid)
return -EAGAIN;
@@ -16213,8 +16135,8 @@
nr = pid->nr;
if (unlikely(current->ptrace)) {
trace = fork_traceflag (clone_flags);
---- linux-2.6.20.1/kernel/kthread.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/kthread.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/kthread.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/kthread.c 2007-04-01 17:30:01 +0200
@@ -126,7 +126,7 @@ static void keventd_create_kthread(struc
} else {
wait_for_completion(&create->started);
@@ -16224,8 +16146,8 @@
read_unlock(&tasklist_lock);
}
complete(&create->done);
---- linux-2.6.20.1/kernel/nsproxy.c 2007-02-06 03:01:55 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/nsproxy.c 2007-02-06 05:43:29 +0100
+--- linux-2.6.20.4/kernel/nsproxy.c 2007-02-06 03:01:55 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/nsproxy.c 2007-04-01 17:30:03 +0200
@@ -20,14 +20,10 @@
#include <linux/mnt_namespace.h>
#include <linux/utsname.h>
@@ -16250,23 +16172,15 @@
return ns;
}
-@@ -70,7 +67,6 @@ struct nsproxy *dup_namespaces(struct ns
- if (ns->pid_ns)
- get_pid_ns(ns->pid_ns);
- }
--
- return ns;
- }
-
-@@ -145,5 +141,6 @@ void free_nsproxy(struct nsproxy *ns)
+@@ -145,5 +142,6 @@ void free_nsproxy(struct nsproxy *ns)
put_ipc_ns(ns->ipc_ns);
if (ns->pid_ns)
put_pid_ns(ns->pid_ns);
+ atomic_dec(&vs_global_nsproxy);
kfree(ns);
}
---- linux-2.6.20.1/kernel/pid.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/pid.c 2007-02-24 21:13:02 +0100
+--- linux-2.6.20.4/kernel/pid.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/pid.c 2007-04-01 17:30:01 +0200
@@ -27,6 +27,7 @@
#include <linux/bootmem.h>
#include <linux/hash.h>
@@ -16304,8 +16218,8 @@
}
EXPORT_SYMBOL(find_task_by_pid_type);
---- linux-2.6.20.1/kernel/posix-timers.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/posix-timers.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/posix-timers.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/posix-timers.c 2007-04-01 17:30:01 +0200
@@ -48,6 +48,7 @@
#include <linux/wait.h>
#include <linux/workqueue.h>
@@ -16345,9 +16259,8 @@
}
- return send_group_sigqueue(timr->it_sigev_signo, timr->sigq,
-- timr->it_process);
+ ret = send_group_sigqueue(timr->it_sigev_signo, timr->sigq,
-+ timr->it_process);
+ timr->it_process);
+out:
+ leave_vx_info(&vxis);
+ put_vx_info(vxis.vxi);
@@ -16364,8 +16277,8 @@
rtn->tgid != current->tgid ||
(event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_SIGNAL))
return NULL;
---- linux-2.6.20.1/kernel/printk.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/printk.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/printk.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/printk.c 2007-04-01 17:30:03 +0200
@@ -32,6 +32,7 @@
#include <linux/bootmem.h>
#include <linux/syscalls.h>
@@ -16429,8 +16342,8 @@
count = len;
if (count > log_buf_len)
count = log_buf_len;
---- linux-2.6.20.1/kernel/ptrace.c 2006-11-30 21:19:44 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/ptrace.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/ptrace.c 2006-11-30 21:19:44 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/ptrace.c 2007-04-01 17:29:40 +0200
@@ -18,6 +18,7 @@
#include <linux/ptrace.h>
#include <linux/security.h>
@@ -16462,8 +16375,8 @@
if (request == PTRACE_ATTACH) {
ret = ptrace_attach(child);
goto out_put_task_struct;
---- linux-2.6.20.1/kernel/sched.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/sched.c 2007-02-06 05:05:39 +0100
+--- linux-2.6.20.4/kernel/sched.c 2007-03-10 20:34:01 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/sched.c 2007-04-01 17:29:49 +0200
@@ -55,6 +55,8 @@
#include <asm/tlb.h>
@@ -16804,8 +16717,8 @@
__activate_task(p, task_rq(p));
resched_task(rq->curr);
}
---- linux-2.6.20.1/kernel/sched_hard.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/sched_hard.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/sched_hard.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/sched_hard.h 2007-04-01 17:29:45 +0200
@@ -0,0 +1,324 @@
+
+#ifdef CONFIG_VSERVER_IDLELIMIT
@@ -17131,8 +17044,8 @@
+
+#endif /* CONFIG_VSERVER_HARDCPU */
+
---- linux-2.6.20.1/kernel/sched_mon.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/sched_mon.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/sched_mon.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/sched_mon.h 2007-04-01 17:29:48 +0200
@@ -0,0 +1,200 @@
+
+#include <linux/vserver/monitor.h>
@@ -17334,17 +17247,18 @@
+
+#endif /* CONFIG_VSERVER_MONITOR */
+
---- linux-2.6.20.1/kernel/signal.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/signal.c 2007-02-06 03:55:21 +0100
-@@ -26,6 +26,7 @@
+--- linux-2.6.20.4/kernel/signal.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/signal.c 2007-04-01 17:30:01 +0200
+@@ -26,6 +26,8 @@
#include <linux/freezer.h>
#include <linux/pid_namespace.h>
#include <linux/nsproxy.h>
+#include <linux/vs_context.h>
++#include <linux/vs_pid.h>
#include <asm/param.h>
#include <asm/uaccess.h>
-@@ -581,17 +582,34 @@ static int check_kill_permission(int sig
+@@ -581,17 +583,34 @@ static int check_kill_permission(int sig
struct task_struct *t)
{
int error = -EINVAL;
@@ -17372,7 +17286,7 @@
+ error = -ESRCH;
+ if (!vx_check(vx_task_xid(t), VS_WATCH_P|VS_IDENT)) {
-+ vxwprintk(current->xid || VXD_CBIT(misc, 7),
++ vxdprintk(current->xid || VXD_CBIT(misc, 7),
+ "signal %d[%p] xid mismatch %p[#%u,%u] xid=#%u",
+ sig, info, t, vx_task_xid(t), t->pid, current->xid);
+ return error;
@@ -17381,7 +17295,7 @@
error = security_task_kill(t, info, sig, 0);
if (!error)
audit_signal_info(sig, t); /* Let audit system see the signal */
-@@ -1129,7 +1147,7 @@ int kill_pid_info(int sig, struct siginf
+@@ -1129,7 +1148,7 @@ int kill_pid_info(int sig, struct siginf
}
p = pid_task(pid, PIDTYPE_PID);
error = -ESRCH;
@@ -17390,7 +17304,16 @@
error = group_send_sig_info(sig, info, p);
if (unlikely(acquired_tasklist_lock))
read_unlock(&tasklist_lock);
-@@ -1200,7 +1218,8 @@ static int kill_something_info(int sig,
+@@ -1141,7 +1160,7 @@ static int kill_proc_info(int sig, struc
+ {
+ int error;
+ rcu_read_lock();
+- error = kill_pid_info(sig, info, find_pid(pid));
++ error = kill_pid_info(sig, info, find_pid(vx_rmap_pid(pid)));
+ rcu_read_unlock();
+ return error;
+ }
+@@ -1200,7 +1219,8 @@ static int kill_something_info(int sig,
read_lock(&tasklist_lock);
for_each_process(p) {
@@ -17400,7 +17323,7 @@
int err = group_send_sig_info(sig, info, p);
++count;
if (err != -EPERM)
-@@ -1890,6 +1909,11 @@ relock:
+@@ -1890,6 +1910,11 @@ relock:
if (current == child_reaper(current))
continue;
@@ -17412,8 +17335,8 @@
if (sig_kernel_stop(signr)) {
/*
* The default action is to stop all threads in
---- linux-2.6.20.1/kernel/softirq.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/softirq.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/softirq.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/softirq.c 2007-04-01 17:29:38 +0200
@@ -17,6 +17,7 @@
#include <linux/kthread.h>
#include <linux/rcupdate.h>
@@ -17422,17 +17345,9 @@
#include <asm/irq.h>
/*
---- linux-2.6.20.1/kernel/sys.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/sys.c 2007-02-06 03:58:00 +0100
-@@ -10,6 +10,7 @@
- #include <linux/mman.h>
- #include <linux/smp_lock.h>
- #include <linux/notifier.h>
-+#include <linux/kmod.h>
- #include <linux/reboot.h>
- #include <linux/prctl.h>
- #include <linux/highuid.h>
-@@ -33,6 +34,7 @@
+--- linux-2.6.20.4/kernel/sys.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/sys.c 2007-04-01 17:30:04 +0200
+@@ -33,6 +33,7 @@
#include <linux/compat.h>
#include <linux/syscalls.h>
#include <linux/kprobes.h>
@@ -17440,7 +17355,7 @@
#include <asm/uaccess.h>
#include <asm/io.h>
-@@ -576,7 +578,10 @@ static int set_one_prio(struct task_stru
+@@ -576,7 +577,10 @@ static int set_one_prio(struct task_stru
goto out;
}
if (niceval < task_nice(p) && !can_nice(p, niceval)) {
@@ -17452,7 +17367,16 @@
goto out;
}
no_nice = security_task_setnice(p, niceval);
-@@ -628,7 +633,8 @@ asmlinkage long sys_setpriority(int whic
+@@ -620,6 +624,8 @@ asmlinkage long sys_setpriority(int whic
+ if (!who)
+ who = process_group(current);
+ do_each_task_pid(who, PIDTYPE_PGID, p) {
++ if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++ continue;
+ error = set_one_prio(p, niceval, error);
+ } while_each_task_pid(who, PIDTYPE_PGID, p);
+ break;
+@@ -628,7 +634,8 @@ asmlinkage long sys_setpriority(int whic
if (!who)
who = current->uid;
else
@@ -17462,7 +17386,16 @@
goto out_unlock; /* No processes for this user */
do_each_thread(g, p)
-@@ -686,7 +692,8 @@ asmlinkage long sys_getpriority(int whic
+@@ -676,6 +683,8 @@ asmlinkage long sys_getpriority(int whic
+ if (!who)
+ who = process_group(current);
+ do_each_task_pid(who, PIDTYPE_PGID, p) {
++ if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++ continue;
+ niceval = 20 - task_nice(p);
+ if (niceval > retval)
+ retval = niceval;
+@@ -686,7 +695,8 @@ asmlinkage long sys_getpriority(int whic
if (!who)
who = current->uid;
else
@@ -17472,7 +17405,7 @@
goto out_unlock; /* No processes for this user */
do_each_thread(g, p)
-@@ -799,6 +806,9 @@ void kernel_power_off(void)
+@@ -799,6 +809,9 @@ void kernel_power_off(void)
machine_power_off();
}
EXPORT_SYMBOL_GPL(kernel_power_off);
@@ -17482,7 +17415,7 @@
/*
* Reboot system call: for obvious reasons only root may call it,
* and even root needs to set up some magic numbers in the registers
-@@ -829,6 +839,9 @@ asmlinkage long sys_reboot(int magic1, i
+@@ -829,6 +842,9 @@ asmlinkage long sys_reboot(int magic1, i
if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off)
cmd = LINUX_REBOOT_CMD_HALT;
@@ -17492,7 +17425,7 @@
lock_kernel();
switch (cmd) {
case LINUX_REBOOT_CMD_RESTART:
-@@ -1008,7 +1021,7 @@ static int set_user(uid_t new_ruid, int
+@@ -1008,7 +1024,7 @@ static int set_user(uid_t new_ruid, int
{
struct user_struct *new_user;
@@ -17501,7 +17434,7 @@
if (!new_user)
return -EAGAIN;
-@@ -1363,15 +1376,18 @@ asmlinkage long sys_setpgid(pid_t pid, p
+@@ -1363,15 +1379,18 @@ asmlinkage long sys_setpgid(pid_t pid, p
{
struct task_struct *p;
struct task_struct *group_leader = current->group_leader;
@@ -17521,7 +17454,7 @@
/* From this point forward we keep holding onto the tasklist lock
* so that our parent does not change from under us. -DaveM
*/
-@@ -1405,20 +1421,20 @@ asmlinkage long sys_setpgid(pid_t pid, p
+@@ -1405,20 +1424,20 @@ asmlinkage long sys_setpgid(pid_t pid, p
if (pgid != pid) {
struct task_struct *g =
@@ -17547,7 +17480,7 @@
}
err = 0;
-@@ -1431,7 +1447,7 @@ out:
+@@ -1431,7 +1450,7 @@ out:
asmlinkage long sys_getpgid(pid_t pid)
{
if (!pid)
@@ -17556,7 +17489,7 @@
else {
int retval;
struct task_struct *p;
-@@ -1443,7 +1459,7 @@ asmlinkage long sys_getpgid(pid_t pid)
+@@ -1443,7 +1462,7 @@ asmlinkage long sys_getpgid(pid_t pid)
if (p) {
retval = security_task_getpgid(p);
if (!retval)
@@ -17565,7 +17498,7 @@
}
read_unlock(&tasklist_lock);
return retval;
-@@ -1795,7 +1811,7 @@ asmlinkage long sys_sethostname(char __u
+@@ -1795,7 +1814,7 @@ asmlinkage long sys_sethostname(char __u
int errno;
char tmp[__NEW_UTS_LEN];
@@ -17574,7 +17507,7 @@
return -EPERM;
if (len < 0 || len > __NEW_UTS_LEN)
return -EINVAL;
-@@ -1840,7 +1856,7 @@ asmlinkage long sys_setdomainname(char _
+@@ -1840,7 +1859,7 @@ asmlinkage long sys_setdomainname(char _
int errno;
char tmp[__NEW_UTS_LEN];
@@ -17583,7 +17516,7 @@
return -EPERM;
if (len < 0 || len > __NEW_UTS_LEN)
return -EINVAL;
-@@ -1907,7 +1923,7 @@ asmlinkage long sys_setrlimit(unsigned i
+@@ -1907,7 +1926,7 @@ asmlinkage long sys_setrlimit(unsigned i
return -EINVAL;
old_rlim = current->signal->rlim + resource;
if ((new_rlim.rlim_max > old_rlim->rlim_max) &&
@@ -17592,8 +17525,8 @@
return -EPERM;
if (resource == RLIMIT_NOFILE && new_rlim.rlim_max > NR_OPEN)
return -EPERM;
---- linux-2.6.20.1/kernel/sysctl.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/sysctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/sysctl.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/sysctl.c 2007-04-01 17:29:47 +0200
@@ -87,6 +87,7 @@ static int ngroups_max = NGROUPS_MAX;
#ifdef CONFIG_KMOD
extern char modprobe_path[];
@@ -17618,8 +17551,8 @@
#ifdef CONFIG_CHR_DEV_SG
{
.ctl_name = KERN_SG_BIG_BUFF,
---- linux-2.6.20.1/kernel/time.c 2006-11-30 21:19:44 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/time.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/time.c 2006-11-30 21:19:44 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/time.c 2007-04-01 17:29:43 +0200
@@ -61,7 +61,7 @@ asmlinkage long sys_time(time_t __user *
time_t i;
struct timeval tv;
@@ -17665,8 +17598,8 @@
tv->tv_sec = x.tv_sec;
tv->tv_nsec = x.tv_usec * NSEC_PER_USEC;
}
---- linux-2.6.20.1/kernel/timer.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/timer.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/timer.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/timer.c 2007-04-01 17:30:01 +0200
@@ -34,6 +34,10 @@
#include <linux/cpu.h>
#include <linux/syscalls.h>
@@ -17734,8 +17667,8 @@
val.uptime = tp.tv_sec + (tp.tv_nsec ? 1 : 0);
val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
---- linux-2.6.20.1/kernel/user.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/user.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/user.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/user.c 2007-04-01 17:30:04 +0200
@@ -23,8 +23,8 @@
#define UIDHASH_BITS (CONFIG_BASE_SMALL ? 3 : 8)
#define UIDHASH_SZ (1 << UIDHASH_BITS)
@@ -17824,8 +17757,8 @@
spin_unlock_irq(&uidhash_lock);
return 0;
---- linux-2.6.20.1/kernel/utsname.c 2006-11-30 21:19:44 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/utsname.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/utsname.c 2006-11-30 21:19:44 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/utsname.c 2007-04-01 17:30:02 +0200
@@ -13,6 +13,7 @@
#include <linux/uts.h>
#include <linux/utsname.h>
@@ -17849,9 +17782,9 @@
+ atomic_dec(&vs_global_uts_ns);
kfree(ns);
}
---- linux-2.6.20.1/kernel/vserver/Kconfig 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/Kconfig 2007-02-24 21:13:02 +0100
-@@ -0,0 +1,271 @@
+--- linux-2.6.20.4/kernel/vserver/Kconfig 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/Kconfig 2007-04-01 17:29:39 +0200
+@@ -0,0 +1,284 @@
+#
+# Linux VServer configuration
+#
@@ -17940,7 +17873,7 @@
+
+config VSERVER_HARDCPU
+ bool "Enable Hard CPU Limits"
-+ default n
++ default y
+ help
+ Activate the Hard CPU Limits
+
@@ -17956,7 +17889,7 @@
+config VSERVER_IDLETIME
+ bool "Avoid idle CPUs by skipping Time"
+ depends on VSERVER_HARDCPU
-+ default n
++ default y
+ help
+ This option allows the scheduler to artificially
+ advance time (per cpu) when otherwise the idle
@@ -18013,14 +17946,6 @@
+ disk representation, which limits the use to a few
+ filesystems (currently ext2 and ext3)
+
-+config TAGGING_RUNTIME
-+ bool "Runtime"
-+ depends on EXPERIMENTAL
-+ help
-+ inodes are tagged when first accessed, this doesn't
-+ require any persistant information, but might give
-+ funny results for mixed access.
-+
+endchoice
+
+config TAG_NFSD
@@ -18048,12 +17973,33 @@
+ access to structures assigned to a specific context,
+ like ptys or loop devices.
+
++config VSERVER_CONTEXTS
++ int "Maximum number of Contexts (1-65533)" if EMBEDDED
++ range 1 65533
++ default "768" if 64BIT
++ default "256"
++ help
++ This setting will optimize certain data structures
++ and memory allocations according to the expected
++ maximum.
++
++ note: this is not a strict upper limit.
++
++config VSERVER_WARN
++ bool "VServer Warnings"
++ default y
++ help
++ This enables various runtime warnings, which will
++ notify about potential manipulation attempts or
++ resource shortage. It is generally considered to
++ be a good idea to have that enabled.
++
+config VSERVER_DEBUG
+ bool "VServer Debugging Code"
+ default n
+ help
+ Set this to yes if you want to be able to activate
-+ debugging output at runtime. It adds a probably small
++ debugging output at runtime. It adds a very small
+ overhead to all vserver related functions and
+ increases the kernel size by about 20k.
+
@@ -18123,8 +18069,8 @@
+ depends on EXPERIMENTAL && !VSERVER_LEGACYNET
+ default y
+
---- linux-2.6.20.1/kernel/vserver/Makefile 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/Makefile 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/Makefile 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/Makefile 2007-04-01 17:29:39 +0200
@@ -0,0 +1,17 @@
+#
+# Makefile for the Linux vserver routines.
@@ -18143,15 +18089,15 @@
+vserver-$(CONFIG_VSERVER_HISTORY) += history.o
+vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o
+
---- linux-2.6.20.1/kernel/vserver/cacct.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/cacct.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/cacct.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/cacct.c 2007-04-01 17:29:44 +0200
@@ -0,0 +1,44 @@
+/*
+ * linux/kernel/vserver/cacct.c
+ *
+ * Virtual Server: Context Accounting
+ *
-+ * Copyright (C) 2006 Herbert Pötzl
++ * Copyright (C) 2006-2007 Herbert Pötzl
+ *
+ * V0.01 added accounting stats
+ *
@@ -18190,8 +18136,8 @@
+ return 0;
+}
+
---- linux-2.6.20.1/kernel/vserver/cacct_init.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/cacct_init.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/cacct_init.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/cacct_init.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,25 @@
+
+
@@ -18218,8 +18164,8 @@
+ return;
+}
+
---- linux-2.6.20.1/kernel/vserver/cacct_proc.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/cacct_proc.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/cacct_proc.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/cacct_proc.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,58 @@
+#ifndef _VX_CACCT_PROC_H
+#define _VX_CACCT_PROC_H
@@ -18279,15 +18225,15 @@
+}
+
+#endif /* _VX_CACCT_PROC_H */
---- linux-2.6.20.1/kernel/vserver/context.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/context.c 2007-02-08 12:43:13 +0100
-@@ -0,0 +1,1099 @@
+--- linux-2.6.20.4/kernel/vserver/context.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/context.c 2007-04-01 17:29:40 +0200
+@@ -0,0 +1,1096 @@
+/*
+ * linux/kernel/vserver/context.c
+ *
+ * Virtual Server: Context Support
+ *
-+ * Copyright (C) 2003-2006 Herbert Pötzl
++ * Copyright (C) 2003-2007 Herbert Pötzl
+ *
+ * V0.01 context helper
+ * V0.02 vx_ctx_kill syscall command
@@ -18304,6 +18250,7 @@
+ * V0.13 separate per cpu data
+ * V0.14 changed vcmds to vxi arg
+ * V0.15 added context stat
++ * V0.16 have __create claim() the vxi
+ *
+ */
+
@@ -18685,7 +18632,7 @@
+/* __create_vx_info()
+
+ * create the requested context
-+ * get() and hash it */
++ * get(), claim() and hash it */
+
+static struct vx_info * __create_vx_info(int id)
+{
@@ -18738,6 +18685,7 @@
+ /* new context */
+ vxdprintk(VXD_CBIT(xid, 0),
+ "create_vx_info(%d) = %p (new)", id, new);
++ claim_vx_info(new, NULL);
+ __hash_vx_info(get_vx_info(new));
+ vxi = new, new = NULL;
+
@@ -18924,7 +18872,7 @@
+}
+
+
-+/* for *space compatibility */
++/* for *space compatibility */
+
+asmlinkage long sys_unshare(unsigned long);
+
@@ -19059,7 +19007,7 @@
+ "vx_set_persistent(%p[#%d])", vxi, vxi->vx_id);
+
+ get_vx_info(vxi);
-+ claim_vx_info(vxi, current);
++ claim_vx_info(vxi, NULL);
+}
+
+void vx_clear_persistent(struct vx_info *vxi)
@@ -19067,7 +19015,7 @@
+ vxdprintk(VXD_CBIT(xid, 6),
+ "vx_clear_persistent(%p[#%d])", vxi, vxi->vx_id);
+
-+ release_vx_info(vxi, current);
++ release_vx_info(vxi, NULL);
+ put_vx_info(vxi);
+}
+
@@ -19185,27 +19133,22 @@
+ /* initial flags */
+ new_vxi->vx_flags = vc_data.flagword;
+
-+ /* get a reference for persistent contexts */
-+ if ((vc_data.flagword & VXF_PERSISTENT))
-+ vx_set_persistent(new_vxi);
-+
+ ret = -ENOEXEC;
+ if (vs_state_change(new_vxi, VSC_STARTUP))
-+ goto out_err;
++ goto out;
+
+ ret = vx_migrate_task(current, new_vxi, (!data));
-+ if (!ret) {
-+ /* return context id on success */
-+ ret = new_vxi->vx_id;
++ if (ret)
+ goto out;
-+ }
-+out_err:
-+ /* prepare for context disposal */
-+ new_vxi->vx_state |= VXS_SHUTDOWN;
-+ new_vxi->vx_flags &= ~VXF_PERSISTENT;
++
++ /* return context id on success */
++ ret = new_vxi->vx_id;
++
++ /* get a reference for persistent contexts */
+ if ((vc_data.flagword & VXF_PERSISTENT))
-+ vx_clear_persistent(new_vxi);
++ vx_set_persistent(new_vxi);
+out:
++ release_vx_info(new_vxi, NULL);
+ put_vx_info(new_vxi);
+ return ret;
+}
@@ -19381,15 +19324,15 @@
+
+EXPORT_SYMBOL_GPL(free_vx_info);
+
---- linux-2.6.20.1/kernel/vserver/cvirt.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/cvirt.c 2007-02-06 03:05:22 +0100
-@@ -0,0 +1,305 @@
+--- linux-2.6.20.4/kernel/vserver/cvirt.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/cvirt.c 2007-04-01 17:29:44 +0200
+@@ -0,0 +1,304 @@
+/*
+ * linux/kernel/vserver/cvirt.c
+ *
+ * Virtual Server: Context Virtualization
+ *
-+ * Copyright (C) 2004-2006 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 broken out from limit.c
+ * V0.02 added utsname stuff
@@ -19404,7 +19347,6 @@
+#include <linux/vs_cvirt.h>
+#include <linux/vserver/switch.h>
+#include <linux/vserver/cvirt_cmd.h>
-+//#include <linux/vserver/cacct_cmd.h>
+
+#include <asm/errno.h>
+#include <asm/uaccess.h>
@@ -19689,9 +19631,9 @@
+
+#endif
+
---- linux-2.6.20.1/kernel/vserver/cvirt_init.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/cvirt_init.h 2007-02-06 03:05:22 +0100
-@@ -0,0 +1,71 @@
+--- linux-2.6.20.4/kernel/vserver/cvirt_init.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/cvirt_init.h 2007-04-01 17:29:49 +0200
+@@ -0,0 +1,69 @@
+
+
+extern uint64_t vx_idle_jiffies(void);
@@ -19738,7 +19680,6 @@
+
+static inline void vx_info_exit_cvirt(struct _vx_cvirt *cvirt)
+{
-+#ifdef CONFIG_VSERVER_DEBUG
+ int value;
+
+ vxwprintk((value = atomic_read(&cvirt->nr_threads)),
@@ -19753,7 +19694,6 @@
+ vxwprintk((value = atomic_read(&cvirt->nr_onhold)),
+ "!!! cvirt: %p[nr_onhold] = %d on exit.",
+ cvirt, value);
-+#endif
+ return;
+}
+
@@ -19763,8 +19703,8 @@
+ return;
+}
+
---- linux-2.6.20.1/kernel/vserver/cvirt_proc.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/cvirt_proc.h 2007-02-06 05:55:13 +0100
+--- linux-2.6.20.4/kernel/vserver/cvirt_proc.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/cvirt_proc.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,138 @@
+#ifndef _VX_CVIRT_PROC_H
+#define _VX_CVIRT_PROC_H
@@ -19904,13 +19844,13 @@
+}
+
+#endif /* _VX_CVIRT_PROC_H */
---- linux-2.6.20.1/kernel/vserver/debug.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/debug.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/debug.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/debug.c 2007-04-01 17:29:48 +0200
@@ -0,0 +1,35 @@
+/*
+ * kernel/vserver/debug.c
+ *
-+ * Copyright (C) 2005 Herbert Pötzl
++ * Copyright (C) 2005-2007 Herbert Pötzl
+ *
+ * V0.01 vx_info dump support
+ *
@@ -19942,15 +19882,15 @@
+
+EXPORT_SYMBOL_GPL(dump_vx_info);
+
---- linux-2.6.20.1/kernel/vserver/dlimit.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/dlimit.c 2007-02-06 05:55:23 +0100
+--- linux-2.6.20.4/kernel/vserver/dlimit.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/dlimit.c 2007-04-01 17:29:50 +0200
@@ -0,0 +1,527 @@
+/*
+ * linux/kernel/vserver/dlimit.c
+ *
+ * Virtual Server: Context Disk Limits
+ *
-+ * Copyright (C) 2004-2005 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 initial version
+ * V0.02 compat32 splitup
@@ -20472,15 +20412,15 @@
+EXPORT_SYMBOL_GPL(locate_dl_info);
+EXPORT_SYMBOL_GPL(rcu_free_dl_info);
+
---- linux-2.6.20.1/kernel/vserver/helper.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/helper.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/helper.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/helper.c 2007-04-01 17:29:47 +0200
@@ -0,0 +1,208 @@
+/*
+ * linux/kernel/vserver/helper.c
+ *
+ * Virtual Context Support
+ *
-+ * Copyright (C) 2004-2005 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 basic helper
+ *
@@ -20683,15 +20623,15 @@
+ return do_vshelper(vshelper_path, argv, envp, 1);
+}
+
---- linux-2.6.20.1/kernel/vserver/history.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/history.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/history.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/history.c 2007-04-01 17:29:48 +0200
@@ -0,0 +1,264 @@
+/*
+ * kernel/vserver/history.c
+ *
+ * Virtual Context History Backtrace
+ *
-+ * Copyright (C) 2004-2005 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 basic structure
+ * V0.02 hash/unhash and trace
@@ -20950,15 +20890,15 @@
+
+#endif /* CONFIG_COMPAT */
+
---- linux-2.6.20.1/kernel/vserver/init.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/init.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/init.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/init.c 2007-04-01 17:29:39 +0200
@@ -0,0 +1,47 @@
+/*
+ * linux/kernel/init.c
+ *
+ * Virtual Server Init
+ *
-+ * Copyright (C) 2004-2005 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 basic structure
+ *
@@ -21000,15 +20940,15 @@
+module_init(init_vserver);
+module_exit(exit_vserver);
+
---- linux-2.6.20.1/kernel/vserver/inode.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/inode.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/inode.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/inode.c 2007-04-01 17:29:46 +0200
@@ -0,0 +1,369 @@
+/*
+ * linux/kernel/vserver/inode.c
+ *
+ * Virtual Server: File System Support
+ *
-+ * Copyright (C) 2004-2005 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 separated from vcontext V0.05
+ *
@@ -21372,8 +21312,8 @@
+
+#endif /* CONFIG_PROPAGATE */
+
---- linux-2.6.20.1/kernel/vserver/legacy.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/legacy.c 2007-02-15 00:06:46 +0100
+--- linux-2.6.20.4/kernel/vserver/legacy.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/legacy.c 2007-04-01 17:30:05 +0200
@@ -0,0 +1,114 @@
+/*
+ * linux/kernel/vserver/legacy.c
@@ -21381,7 +21321,7 @@
+ * Virtual Server: Legacy Funtions
+ *
+ * Copyright (C) 2001-2003 Jacques Gelinas
-+ * Copyright (C) 2003-2006 Herbert Pötzl
++ * Copyright (C) 2003-2007 Herbert Pötzl
+ *
+ * V0.01 broken out from vcontext.c V0.05
+ * V0.02 updated to spaces *sigh*
@@ -21489,9 +21429,9 @@
+ return ret;
+}
+
---- linux-2.6.20.1/kernel/vserver/legacynet.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/legacynet.c 2007-02-06 05:54:33 +0100
-@@ -0,0 +1,84 @@
+--- linux-2.6.20.4/kernel/vserver/legacynet.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/legacynet.c 2007-04-01 17:30:05 +0200
+@@ -0,0 +1,85 @@
+
+/*
+ * linux/kernel/vserver/legacynet.c
@@ -21499,7 +21439,7 @@
+ * Virtual Server: Legacy Network Funtions
+ *
+ * Copyright (C) 2001-2003 Jacques Gelinas
-+ * Copyright (C) 2003-2005 Herbert Pötzl
++ * Copyright (C) 2003-2007 Herbert Pötzl
+ *
+ * V0.01 broken out from legacy.c
+ *
@@ -21571,20 +21511,21 @@
+ printk("!!! switching nx_info %p->%p\n", nxi, new_nxi);
+
+ nx_migrate_task(current, new_nxi);
++ release_nx_info(new_nxi, NULL);
+ put_nx_info(new_nxi);
+ return 0;
+}
+
+
---- linux-2.6.20.1/kernel/vserver/limit.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/limit.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/limit.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/limit.c 2007-04-01 17:29:48 +0200
@@ -0,0 +1,319 @@
+/*
+ * linux/kernel/vserver/limit.c
+ *
+ * Virtual Server: Context Limits
+ *
-+ * Copyright (C) 2004-2006 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 broken out from vcontext V0.05
+ * V0.02 changed vcmds to vxi arg
@@ -21898,8 +21839,8 @@
+ return points;
+}
+
---- linux-2.6.20.1/kernel/vserver/limit_init.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/limit_init.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/limit_init.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/limit_init.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,33 @@
+
+
@@ -21919,7 +21860,7 @@
+
+static inline void vx_info_exit_limit(struct _vx_limit *limit)
+{
-+#ifdef CONFIG_VSERVER_DEBUG
++#ifdef CONFIG_VSERVER_WARN
+ rlim_t value;
+ int lim;
+
@@ -21934,8 +21875,8 @@
+#endif
+}
+
---- linux-2.6.20.1/kernel/vserver/limit_proc.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/limit_proc.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/limit_proc.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/limit_proc.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,58 @@
+#ifndef _VX_LIMIT_PROC_H
+#define _VX_LIMIT_PROC_H
@@ -21995,15 +21936,15 @@
+#endif /* _VX_LIMIT_PROC_H */
+
+
---- linux-2.6.20.1/kernel/vserver/monitor.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/monitor.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/monitor.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/monitor.c 2007-04-01 17:29:48 +0200
@@ -0,0 +1,142 @@
+/*
+ * kernel/vserver/monitor.c
+ *
+ * Virtual Context Scheduler Monitor
+ *
-+ * Copyright (C) 2006 Herbert Pötzl
++ * Copyright (C) 2006-2007 Herbert Pötzl
+ *
+ * V0.01 basic design
+ *
@@ -22140,15 +22081,15 @@
+
+#endif /* CONFIG_COMPAT */
+
---- linux-2.6.20.1/kernel/vserver/network.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/network.c 2007-02-15 00:05:40 +0100
-@@ -0,0 +1,770 @@
+--- linux-2.6.20.4/kernel/vserver/network.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/network.c 2007-04-01 17:29:41 +0200
+@@ -0,0 +1,772 @@
+/*
+ * linux/kernel/vserver/network.c
+ *
+ * Virtual Server: Network Support
+ *
-+ * Copyright (C) 2003-2006 Herbert Pötzl
++ * Copyright (C) 2003-2007 Herbert Pötzl
+ *
+ * V0.01 broken out from vcontext V0.05
+ * V0.02 cleaned up implementation
@@ -22156,6 +22097,7 @@
+ * V0.04 switch to RCU based hash
+ * V0.05 and back to locking again
+ * V0.06 changed vcmds to nxi arg
++ * V0.07 have __create claim() the nxi
+ *
+ */
+
@@ -22362,7 +22304,7 @@
+/* __create_nx_info()
+
+ * create the requested context
-+ * get() and hash it */
++ * get(), claim() and hash it */
+
+static struct nx_info * __create_nx_info(int id)
+{
@@ -22413,6 +22355,7 @@
+ /* new context */
+ vxdprintk(VXD_CBIT(nid, 0),
+ "create_nx_info(%d) = %p (new)", id, new);
++ claim_nx_info(new, NULL);
+ __hash_nx_info(get_nx_info(new));
+ nxi = new, new = NULL;
+
@@ -22601,6 +22544,8 @@
+ if (!nxi)
+ return 1;
+
++ if (!dev)
++ goto out;
+ in_dev = in_dev_get(dev);
+ if (!in_dev)
+ goto out;
@@ -22673,8 +22618,11 @@
+
+void nx_set_persistent(struct nx_info *nxi)
+{
++ vxdprintk(VXD_CBIT(nid, 6),
++ "nx_set_persistent(%p[#%d])", nxi, nxi->nx_id);
++
+ get_nx_info(nxi);
-+ claim_nx_info(nxi, current);
++ claim_nx_info(nxi, NULL);
+}
+
+void nx_clear_persistent(struct nx_info *nxi)
@@ -22682,7 +22630,7 @@
+ vxdprintk(VXD_CBIT(nid, 6),
+ "nx_clear_persistent(%p[#%d])", nxi, nxi->nx_id);
+
-+ release_nx_info(nxi, current);
++ release_nx_info(nxi, NULL);
+ put_nx_info(nxi);
+}
+
@@ -22757,27 +22705,22 @@
+ /* initial flags */
+ new_nxi->nx_flags = vc_data.flagword;
+
-+ /* get a reference for persistent contexts */
-+ if ((vc_data.flagword & NXF_PERSISTENT))
-+ nx_set_persistent(new_nxi);
-+
+ ret = -ENOEXEC;
+ if (vs_net_change(new_nxi, VSC_NETUP))
-+ goto out_err;
++ goto out;
+
+ ret = nx_migrate_task(current, new_nxi);
-+ if (!ret) {
-+ /* return context id on success */
-+ ret = new_nxi->nx_id;
++ if (ret)
+ goto out;
-+ }
-+out_err:
-+ /* prepare for context disposal */
-+ new_nxi->nx_state |= NXS_SHUTDOWN;
-+ new_nxi->nx_flags &= NXF_PERSISTENT;
++
++ /* return context id on success */
++ ret = new_nxi->nx_id;
++
++ /* get a reference for persistent contexts */
+ if ((vc_data.flagword & NXF_PERSISTENT))
-+ nx_clear_persistent(new_nxi);
++ nx_set_persistent(new_nxi);
+out:
++ release_nx_info(new_nxi, NULL);
+ put_nx_info(new_nxi);
+ return ret;
+}
@@ -22913,15 +22856,15 @@
+EXPORT_SYMBOL_GPL(free_nx_info);
+EXPORT_SYMBOL_GPL(unhash_nx_info);
+
---- linux-2.6.20.1/kernel/vserver/proc.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/proc.c 2007-02-24 21:13:02 +0100
-@@ -0,0 +1,1041 @@
+--- linux-2.6.20.4/kernel/vserver/proc.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/proc.c 2007-04-01 17:29:40 +0200
+@@ -0,0 +1,1035 @@
+/*
+ * linux/kernel/vserver/proc.c
+ *
+ * Virtual Context Support
+ *
-+ * Copyright (C) 2003-2006 Herbert Pötzl
++ * Copyright (C) 2003-2007 Herbert Pötzl
+ *
+ * V0.01 basic structure
+ * V0.02 adaptation vs1.3.0
@@ -22958,10 +22901,6 @@
+static struct proc_dir_entry *proc_virtnet;
+
+
-+
-+// #define PROC_VID_MASK 0x60
-+
-+
+/* first the actual feeds */
+
+
@@ -23026,14 +22965,12 @@
+ "BCaps:\t%016llx\n"
+ "CCaps:\t%016llx\n"
+ "Spaces:\t%08lx\n"
-+// "Ticks:\t%d\n"
+ ,atomic_read(&vxi->vx_usecnt)
+ ,atomic_read(&vxi->vx_tasks)
+ ,(unsigned long long)vxi->vx_flags
+ ,(unsigned long long)vxi->vx_bcaps
+ ,(unsigned long long)vxi->vx_ccaps
+ ,vxi->vx_nsmask
-+// ,atomic_read(&vxi->limit.ticks)
+ );
+ return length;
+}
@@ -23868,7 +23805,7 @@
+};
+
+static struct inode_operations proc_virtnet_dir_inode_operations = {
-+ .getattr = proc_virtnet_getattr,
++ .getattr = proc_virtnet_getattr,
+ .lookup = proc_virtnet_lookup,
+};
+
@@ -23957,15 +23894,15 @@
+ return buffer - orig;
+}
+
---- linux-2.6.20.1/kernel/vserver/sched.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/sched.c 2007-02-24 21:13:02 +0100
+--- linux-2.6.20.4/kernel/vserver/sched.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/sched.c 2007-04-01 17:29:45 +0200
@@ -0,0 +1,451 @@
+/*
+ * linux/kernel/vserver/sched.c
+ *
+ * Virtual Server: Scheduler Support
+ *
-+ * Copyright (C) 2004-2006 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 adapted Sam Vilains version to 2.6.3
+ * V0.02 removed legacy interface
@@ -24411,8 +24348,8 @@
+ return 0;
+}
+
---- linux-2.6.20.1/kernel/vserver/sched_init.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/sched_init.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/sched_init.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/sched_init.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,50 @@
+
+static inline void vx_info_init_sched(struct _vx_sched *sched)
@@ -24464,8 +24401,8 @@
+{
+ return;
+}
---- linux-2.6.20.1/kernel/vserver/sched_proc.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/sched_proc.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/sched_proc.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/sched_proc.h 2007-04-01 17:29:49 +0200
@@ -0,0 +1,62 @@
+#ifndef _VX_SCHED_PROC_H
+#define _VX_SCHED_PROC_H
@@ -24529,8 +24466,8 @@
+}
+
+#endif /* _VX_SCHED_PROC_H */
---- linux-2.6.20.1/kernel/vserver/signal.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/signal.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/signal.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/signal.c 2007-04-01 17:29:45 +0200
@@ -0,0 +1,134 @@
+/*
+ * linux/kernel/vserver/signal.c
@@ -24666,15 +24603,15 @@
+ return ret;
+}
+
---- linux-2.6.20.1/kernel/vserver/space.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/space.c 2007-02-08 07:31:50 +0100
+--- linux-2.6.20.4/kernel/vserver/space.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/space.c 2007-04-01 17:30:03 +0200
@@ -0,0 +1,279 @@
+/*
+ * linux/kernel/vserver/space.c
+ *
+ * Virtual Server: Context Space Support
+ *
-+ * Copyright (C) 2003-2006 Herbert Pötzl
++ * Copyright (C) 2003-2007 Herbert Pötzl
+ *
+ * V0.01 broken out from context.c 0.07
+ * V0.02 added task locking for namespace
@@ -24948,15 +24885,15 @@
+ return 0;
+}
+
---- linux-2.6.20.1/kernel/vserver/switch.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/switch.c 2007-02-08 07:31:50 +0100
+--- linux-2.6.20.4/kernel/vserver/switch.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/switch.c 2007-04-01 17:29:41 +0200
@@ -0,0 +1,527 @@
+/*
+ * linux/kernel/vserver/switch.c
+ *
+ * Virtual Server: Syscall Switch
+ *
-+ * Copyright (C) 2003-2006 Herbert Pötzl
++ * Copyright (C) 2003-2007 Herbert Pötzl
+ *
+ * V0.01 syscall switch
+ * V0.02 added signal to context
@@ -25478,15 +25415,15 @@
+}
+
+#endif /* CONFIG_COMPAT */
---- linux-2.6.20.1/kernel/vserver/sysctl.c 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/sysctl.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/sysctl.c 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/sysctl.c 2007-04-01 17:29:39 +0200
@@ -0,0 +1,242 @@
+/*
+ * kernel/vserver/sysctl.c
+ *
+ * Virtual Context Support
+ *
-+ * Copyright (C) 2004-2005 Herbert Pötzl
++ * Copyright (C) 2004-2007 Herbert Pötzl
+ *
+ * V0.01 basic structure
+ *
@@ -25723,8 +25660,8 @@
+EXPORT_SYMBOL_GPL(vx_debug_cvirt);
+EXPORT_SYMBOL_GPL(vx_debug_misc);
+
---- linux-2.6.20.1/kernel/vserver/vci_config.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/kernel/vserver/vci_config.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/kernel/vserver/vci_config.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/kernel/vserver/vci_config.h 2007-04-01 17:29:39 +0200
@@ -0,0 +1,92 @@
+
+/* interface version */
@@ -25818,8 +25755,8 @@
+ 0;
+}
+
---- linux-2.6.20.1/mm/filemap.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/filemap.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/filemap.c 2007-03-25 00:56:55 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/filemap.c 2007-04-01 17:30:00 +0200
@@ -1234,6 +1234,31 @@ int file_send_actor(read_descriptor_t *
return written;
}
@@ -26085,8 +26022,8 @@
ssize_t generic_file_aio_write_nolock(struct kiocb *iocb,
const struct iovec *iov, unsigned long nr_segs, loff_t pos)
{
---- linux-2.6.20.1/mm/filemap_xip.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/filemap_xip.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/filemap_xip.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/filemap_xip.c 2007-04-01 17:29:38 +0200
@@ -13,6 +13,7 @@
#include <linux/module.h>
#include <linux/uio.h>
@@ -26095,8 +26032,8 @@
#include <asm/tlbflush.h>
#include "filemap.h"
---- linux-2.6.20.1/mm/fremap.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/fremap.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/fremap.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/fremap.c 2007-04-01 17:29:47 +0200
@@ -15,6 +15,7 @@
#include <linux/rmap.h>
#include <linux/module.h>
@@ -26114,8 +26051,8 @@
if (pte_none(*pte) || !zap_pte(mm, vma, addr, pte))
inc_mm_counter(mm, file_rss);
---- linux-2.6.20.1/mm/hugetlb.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/hugetlb.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/hugetlb.c 2007-03-10 20:34:01 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/hugetlb.c 2007-04-01 17:29:38 +0200
@@ -19,6 +19,7 @@
#include <asm/pgtable.h>
@@ -26124,8 +26061,8 @@
#include "internal.h"
const unsigned long hugetlb_zero = 0, hugetlb_infinity = ~0UL;
---- linux-2.6.20.1/mm/memory.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/memory.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/memory.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/memory.c 2007-04-01 17:29:48 +0200
@@ -498,6 +498,9 @@ static int copy_pte_range(struct mm_stru
int progress = 0;
int rss[2];
@@ -26202,8 +26139,8 @@
}
/*
---- linux-2.6.20.1/mm/mlock.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/mlock.c 2007-02-06 03:59:47 +0100
+--- linux-2.6.20.4/mm/mlock.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/mlock.c 2007-04-01 17:29:47 +0200
@@ -10,6 +10,7 @@
#include <linux/mm.h>
#include <linux/mempolicy.h>
@@ -26260,8 +26197,8 @@
if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) ||
capable(CAP_IPC_LOCK))
ret = do_mlockall(flags);
---- linux-2.6.20.1/mm/mmap.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/mmap.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/mmap.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/mmap.c 2007-04-01 17:29:47 +0200
@@ -1141,10 +1141,10 @@ munmap_back:
kmem_cache_free(vm_area_cachep, vma);
}
@@ -26360,8 +26297,8 @@
+ return 0;
return 1;
}
---- linux-2.6.20.1/mm/mremap.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/mremap.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/mremap.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/mremap.c 2007-04-01 17:29:47 +0200
@@ -18,6 +18,7 @@
#include <linux/highmem.h>
#include <linux/security.h>
@@ -26411,8 +26348,8 @@
make_pages_present(addr + old_len,
addr + new_len);
}
---- linux-2.6.20.1/mm/nommu.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/nommu.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/nommu.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/nommu.c 2007-04-01 17:29:47 +0200
@@ -921,7 +921,7 @@ unsigned long do_mmap_pgoff(struct file
realalloc += kobjsize(vma);
askedalloc += sizeof(*vma);
@@ -26440,8 +26377,8 @@
while ((tmp = mm->context.vmlist)) {
mm->context.vmlist = tmp->next;
---- linux-2.6.20.1/mm/oom_kill.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/oom_kill.c 2007-02-06 04:02:11 +0100
+--- linux-2.6.20.4/mm/oom_kill.c 2007-03-25 00:56:55 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/oom_kill.c 2007-04-01 17:29:47 +0200
@@ -24,6 +24,7 @@
#include <linux/cpuset.h>
#include <linux/module.h>
@@ -26495,8 +26432,8 @@
/* Try to kill a child first */
list_for_each(tsk, &p->children) {
---- linux-2.6.20.1/mm/page_alloc.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/page_alloc.c 2007-02-06 04:02:34 +0100
+--- linux-2.6.20.4/mm/page_alloc.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/page_alloc.c 2007-04-01 17:29:44 +0200
@@ -41,6 +41,8 @@
#include <linux/pfn.h>
#include <linux/backing-dev.h>
@@ -26526,8 +26463,8 @@
}
#endif
---- linux-2.6.20.1/mm/rmap.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/rmap.c 2007-02-06 04:02:52 +0100
+--- linux-2.6.20.4/mm/rmap.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/rmap.c 2007-04-01 17:29:38 +0200
@@ -48,6 +48,7 @@
#include <linux/rcupdate.h>
#include <linux/module.h>
@@ -26536,8 +26473,8 @@
#include <asm/tlbflush.h>
---- linux-2.6.20.1/mm/shmem.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/shmem.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/shmem.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/shmem.c 2007-04-01 17:30:04 +0200
@@ -55,7 +55,6 @@
#include <asm/pgtable.h>
@@ -26564,8 +26501,8 @@
sb->s_op = &shmem_ops;
sb->s_time_gran = 1;
#ifdef CONFIG_TMPFS_POSIX_ACL
---- linux-2.6.20.1/mm/slab.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/slab.c 2007-02-06 04:04:40 +0100
+--- linux-2.6.20.4/mm/slab.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/slab.c 2007-04-01 17:29:48 +0200
@@ -502,6 +502,8 @@ struct kmem_cache {
#define STATS_INC_FREEMISS(x) do { } while (0)
#endif
@@ -26600,8 +26537,8 @@
if (cache_free_alien(cachep, objp))
return;
---- linux-2.6.20.1/mm/slab_vs.h 1970-01-01 01:00:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/slab_vs.h 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/slab_vs.h 1970-01-01 01:00:00 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/slab_vs.h 2007-04-01 17:29:48 +0200
@@ -0,0 +1,27 @@
+
+#include <linux/vserver/context.h>
@@ -26630,8 +26567,8 @@
+ atomic_sub(cachep->buffer_size, ¤t->vx_info->cacct.slab[what]);
+}
+
---- linux-2.6.20.1/mm/swapfile.c 2007-02-06 03:01:56 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/mm/swapfile.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/mm/swapfile.c 2007-02-06 03:01:56 +0100
++++ linux-2.6.20.4-vs2.2.0/mm/swapfile.c 2007-04-01 17:29:44 +0200
@@ -31,6 +31,8 @@
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
@@ -26650,8 +26587,8 @@
}
/*
---- linux-2.6.20.1/net/core/dev.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/core/dev.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/core/dev.c 2007-02-06 03:01:57 +0100
++++ linux-2.6.20.4-vs2.2.0/net/core/dev.c 2007-04-01 17:29:43 +0200
@@ -116,6 +116,8 @@
#include <linux/dmaengine.h>
#include <linux/err.h>
@@ -26682,8 +26619,8 @@
if (dev->get_stats) {
struct net_device_stats *stats = dev->get_stats(dev);
---- linux-2.6.20.1/net/core/rtnetlink.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/core/rtnetlink.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/core/rtnetlink.c 2007-02-06 03:01:57 +0100
++++ linux-2.6.20.4-vs2.2.0/net/core/rtnetlink.c 2007-04-01 17:29:43 +0200
@@ -36,6 +36,7 @@
#include <linux/security.h>
#include <linux/mutex.h>
@@ -26702,8 +26639,8 @@
if (rtnl_fill_ifinfo(skb, dev, NULL, 0, RTM_NEWLINK,
NETLINK_CB(cb->skb).pid,
cb->nlh->nlmsg_seq, 0, NLM_F_MULTI) <= 0)
---- linux-2.6.20.1/net/core/sock.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/core/sock.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/core/sock.c 2007-03-17 23:20:39 +0100
++++ linux-2.6.20.4-vs2.2.0/net/core/sock.c 2007-04-01 17:29:42 +0200
@@ -125,6 +125,9 @@
#include <linux/ipsec.h>
@@ -26769,8 +26706,8 @@
atomic_set(&sk->sk_refcnt, 1);
}
---- linux-2.6.20.1/net/ipv4/af_inet.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/af_inet.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/ipv4/af_inet.c 2007-02-06 03:01:57 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/af_inet.c 2007-04-01 17:29:49 +0200
@@ -115,6 +115,7 @@
#ifdef CONFIG_IP_MROUTE
#include <linux/mroute.h>
@@ -26864,8 +26801,8 @@
if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
inet->saddr = 0; /* Use device */
---- linux-2.6.20.1/net/ipv4/devinet.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/devinet.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/ipv4/devinet.c 2007-03-25 00:56:55 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/devinet.c 2007-04-01 17:29:43 +0200
@@ -58,6 +58,7 @@
#include <linux/sysctl.h>
#endif
@@ -26874,7 +26811,7 @@
#include <net/arp.h>
#include <net/ip.h>
-@@ -677,6 +678,9 @@ int devinet_ioctl(unsigned int cmd, void
+@@ -679,6 +680,9 @@ int devinet_ioctl(unsigned int cmd, void
*colon = ':';
if ((in_dev = __in_dev_get_rtnl(dev)) != NULL) {
@@ -26884,7 +26821,7 @@
if (tryaddrmatch) {
/* Matthias Andree */
/* compare label and address (4.4BSD style) */
-@@ -685,6 +689,8 @@ int devinet_ioctl(unsigned int cmd, void
+@@ -687,6 +691,8 @@ int devinet_ioctl(unsigned int cmd, void
This is checked above. */
for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL;
ifap = &ifa->ifa_next) {
@@ -26893,7 +26830,7 @@
if (!strcmp(ifr.ifr_name, ifa->ifa_label) &&
sin_orig.sin_addr.s_addr ==
ifa->ifa_address) {
-@@ -697,9 +703,12 @@ int devinet_ioctl(unsigned int cmd, void
+@@ -699,9 +705,12 @@ int devinet_ioctl(unsigned int cmd, void
comparing just the label */
if (!ifa) {
for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL;
@@ -26907,7 +26844,7 @@
}
}
-@@ -850,6 +859,9 @@ static int inet_gifconf(struct net_devic
+@@ -852,6 +861,9 @@ static int inet_gifconf(struct net_devic
goto out;
for (; ifa; ifa = ifa->ifa_next) {
@@ -26917,7 +26854,7 @@
if (!buf) {
done += sizeof(ifr);
continue;
-@@ -1176,6 +1188,7 @@ static int inet_dump_ifaddr(struct sk_bu
+@@ -1178,6 +1190,7 @@ static int inet_dump_ifaddr(struct sk_bu
struct net_device *dev;
struct in_device *in_dev;
struct in_ifaddr *ifa;
@@ -26925,7 +26862,7 @@
int s_ip_idx, s_idx = cb->args[0];
s_ip_idx = ip_idx = cb->args[1];
-@@ -1193,6 +1206,9 @@ static int inet_dump_ifaddr(struct sk_bu
+@@ -1195,6 +1208,9 @@ static int inet_dump_ifaddr(struct sk_bu
for (ifa = in_dev->ifa_list, ip_idx = 0; ifa;
ifa = ifa->ifa_next, ip_idx++) {
@@ -26935,8 +26872,8 @@
if (ip_idx < s_ip_idx)
continue;
if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid,
---- linux-2.6.20.1/net/ipv4/fib_hash.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/fib_hash.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/ipv4/fib_hash.c 2007-02-06 03:01:57 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/fib_hash.c 2007-04-01 17:29:43 +0200
@@ -35,6 +35,7 @@
#include <linux/skbuff.h>
#include <linux/netlink.h>
@@ -26964,8 +26901,8 @@
snprintf(bf, sizeof(bf),
"%s\t%08X\t%08X\t%04X\t%d\t%u\t%d\t%08X\t%d\t%u\t%u",
fi->fib_dev ? fi->fib_dev->name : "*", prefix,
---- linux-2.6.20.1/net/ipv4/inet_connection_sock.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/inet_connection_sock.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/ipv4/inet_connection_sock.c 2007-02-06 03:01:57 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/inet_connection_sock.c 2007-04-01 17:29:42 +0200
@@ -39,7 +39,6 @@ int sysctl_local_port_range[2] = { 1024,
int inet_csk_bind_conflict(const struct sock *sk,
const struct inet_bind_bucket *tb)
@@ -26986,8 +26923,8 @@
break;
}
}
---- linux-2.6.20.1/net/ipv4/inet_diag.c 2006-11-30 21:19:45 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/inet_diag.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/ipv4/inet_diag.c 2006-11-30 21:19:45 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/inet_diag.c 2007-04-01 17:29:43 +0200
@@ -693,6 +693,8 @@ static int inet_diag_dump(struct sk_buff
sk_for_each(sk, node, &hashinfo->listening_hash[i]) {
struct inet_sock *inet = inet_sk(sk);
@@ -27015,8 +26952,8 @@
if (num < s_num)
goto next_dying;
if (r->id.idiag_sport != tw->tw_sport &&
---- linux-2.6.20.1/net/ipv4/inet_hashtables.c 2007-02-06 03:01:57 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/inet_hashtables.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/ipv4/inet_hashtables.c 2007-02-06 03:01:57 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/inet_hashtables.c 2007-04-01 17:29:42 +0200
@@ -140,11 +140,10 @@ static struct sock *inet_lookup_listener
const __be32 rcv_saddr = inet->rcv_saddr;
int score = sk->sk_family == PF_INET ? 1 : 0;
@@ -27041,17 +26978,9 @@
(sk->sk_family == PF_INET || !ipv6_only_sock(sk)) &&
!sk->sk_bound_dev_if)
goto sherry_cache;
---- linux-2.6.20.1/net/ipv4/raw.c 2007-02-06 03:01:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/raw.c 2007-02-06 03:05:22 +0100
-@@ -78,6 +78,7 @@
- #include <linux/seq_file.h>
- #include <linux/netfilter.h>
- #include <linux/netfilter_ipv4.h>
-+// #include <linux/vs_base.h>
-
- struct hlist_head raw_v4_htable[RAWV4_HTABLE_SIZE];
- DEFINE_RWLOCK(raw_v4_lock);
-@@ -101,6 +102,27 @@ static void raw_v4_unhash(struct sock *s
+--- linux-2.6.20.4/net/ipv4/raw.c 2007-02-06 03:01:59 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/raw.c 2007-04-01 17:29:43 +0200
+@@ -101,6 +101,27 @@ static void raw_v4_unhash(struct sock *s
write_unlock_bh(&raw_v4_lock);
}
@@ -27079,7 +27008,7 @@
struct sock *__raw_v4_lookup(struct sock *sk, unsigned short num,
__be32 raddr, __be32 laddr,
int dif)
-@@ -112,7 +134,8 @@ struct sock *__raw_v4_lookup(struct sock
+@@ -112,7 +133,8 @@ struct sock *__raw_v4_lookup(struct sock
if (inet->num == num &&
!(inet->daddr && inet->daddr != raddr) &&
@@ -27089,7 +27018,7 @@
!(sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif))
goto found; /* gotcha */
}
-@@ -312,6 +335,11 @@ static int raw_send_hdrinc(struct sock *
+@@ -312,6 +334,11 @@ static int raw_send_hdrinc(struct sock *
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
}
@@ -27101,7 +27030,7 @@
err = NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL, rt->u.dst.dev,
dst_output);
if (err > 0)
-@@ -323,6 +351,7 @@ out:
+@@ -323,6 +350,7 @@ out:
error_fault:
err = -EFAULT;
@@ -27109,7 +27038,7 @@
kfree_skb(skb);
error:
IP_INC_STATS(IPSTATS_MIB_OUTDISCARDS);
-@@ -489,6 +518,12 @@ static int raw_sendmsg(struct kiocb *ioc
+@@ -489,6 +517,12 @@ static int raw_sendmsg(struct kiocb *ioc
}
security_sk_classify_flow(sk, &fl);
@@ -27122,7 +27051,7 @@
err = ip_route_output_flow(&rt, &fl, sk, !(msg->msg_flags&MSG_DONTWAIT));
}
if (err)
-@@ -793,7 +828,8 @@ static struct sock *raw_get_first(struct
+@@ -793,7 +827,8 @@ static struct sock *raw_get_first(struct
struct hlist_node *node;
sk_for_each(sk, node, &raw_v4_htable[state->bucket])
@@ -27132,7 +27061,7 @@
goto found;
}
sk = NULL;
-@@ -809,7 +845,8 @@ static struct sock *raw_get_next(struct
+@@ -809,7 +844,8 @@ static struct sock *raw_get_next(struct
sk = sk_next(sk);
try_again:
;
@@ -27142,8 +27071,8 @@
if (!sk && ++state->bucket < RAWV4_HTABLE_SIZE) {
sk = sk_head(&raw_v4_htable[state->bucket]);
---- linux-2.6.20.1/net/ipv4/tcp.c 2007-02-06 03:01:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/tcp.c 2007-02-06 04:05:16 +0100
+--- linux-2.6.20.4/net/ipv4/tcp.c 2007-03-10 20:34:01 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/tcp.c 2007-04-01 17:29:38 +0200
@@ -259,6 +259,7 @@
#include <linux/cache.h>
#include <linux/err.h>
@@ -27152,17 +27081,9 @@
#include <net/icmp.h>
#include <net/tcp.h>
---- linux-2.6.20.1/net/ipv4/tcp_ipv4.c 2007-02-06 03:01:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/tcp_ipv4.c 2007-02-06 03:05:22 +0100
-@@ -77,6 +77,7 @@
- #include <linux/stddef.h>
- #include <linux/proc_fs.h>
- #include <linux/seq_file.h>
-+// #include <linux/vs_base.h>
-
- #include <linux/crypto.h>
- #include <linux/scatterlist.h>
-@@ -1968,6 +1969,12 @@ static void *listening_get_next(struct s
+--- linux-2.6.20.4/net/ipv4/tcp_ipv4.c 2007-02-06 03:01:59 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/tcp_ipv4.c 2007-04-01 17:29:43 +0200
+@@ -1968,6 +1968,12 @@ static void *listening_get_next(struct s
req = req->dl_next;
while (1) {
while (req) {
@@ -27175,7 +27096,7 @@
if (req->rsk_ops->family == st->family) {
cur = req;
goto out;
-@@ -1992,6 +1999,10 @@ get_req:
+@@ -1992,6 +1998,10 @@ get_req:
}
get_sk:
sk_for_each_from(sk, node) {
@@ -27186,7 +27107,7 @@
if (sk->sk_family == st->family) {
cur = sk;
goto out;
-@@ -2043,18 +2054,26 @@ static void *established_get_first(struc
+@@ -2043,18 +2053,26 @@ static void *established_get_first(struc
read_lock(&tcp_hashinfo.ehash[st->bucket].lock);
sk_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) {
@@ -27217,7 +27138,7 @@
rc = tw;
goto out;
}
-@@ -2078,7 +2097,8 @@ static void *established_get_next(struct
+@@ -2078,7 +2096,8 @@ static void *established_get_next(struct
tw = cur;
tw = tw_next(tw);
get_tw:
@@ -27227,7 +27148,7 @@
tw = tw_next(tw);
}
if (tw) {
-@@ -2102,6 +2122,11 @@ get_tw:
+@@ -2102,6 +2121,11 @@ get_tw:
sk = sk_next(sk);
sk_for_each_from(sk, node) {
@@ -27239,8 +27160,8 @@
if (sk->sk_family == st->family)
goto found;
}
---- linux-2.6.20.1/net/ipv4/tcp_minisocks.c 2007-02-06 03:01:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/tcp_minisocks.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/ipv4/tcp_minisocks.c 2007-03-10 20:34:01 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/tcp_minisocks.c 2007-04-01 17:29:42 +0200
@@ -28,6 +28,10 @@
#include <net/inet_common.h>
#include <net/xfrm.h>
@@ -27264,8 +27185,8 @@
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
if (tw->tw_family == PF_INET6) {
struct ipv6_pinfo *np = inet6_sk(sk);
---- linux-2.6.20.1/net/ipv4/udp.c 2007-02-06 03:01:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv4/udp.c 2007-02-15 00:06:16 +0100
+--- linux-2.6.20.4/net/ipv4/udp.c 2007-03-17 23:20:39 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv4/udp.c 2007-04-01 17:29:43 +0200
@@ -219,11 +219,8 @@ __inline__ int udp_get_port(struct sock
inline int ipv4_rcv_saddr_equal(const struct sock *sk1, const struct sock *sk2)
@@ -27322,7 +27243,7 @@
err = ip_route_output_flow(&rt, &fl, sk, !(msg->msg_flags&MSG_DONTWAIT));
if (err)
goto out;
-@@ -1540,7 +1556,8 @@ static struct sock *udp_get_first(struct
+@@ -1541,7 +1557,8 @@ static struct sock *udp_get_first(struct
for (state->bucket = 0; state->bucket < UDP_HTABLE_SIZE; ++state->bucket) {
struct hlist_node *node;
sk_for_each(sk, node, state->hashtable + state->bucket) {
@@ -27332,7 +27253,7 @@
goto found;
}
}
-@@ -1557,7 +1574,8 @@ static struct sock *udp_get_next(struct
+@@ -1558,7 +1575,8 @@ static struct sock *udp_get_next(struct
sk = sk_next(sk);
try_again:
;
@@ -27342,9 +27263,9 @@
if (!sk && ++state->bucket < UDP_HTABLE_SIZE) {
sk = sk_head(state->hashtable + state->bucket);
---- linux-2.6.20.1/net/ipv6/addrconf.c 2007-02-06 03:01:59 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/ipv6/addrconf.c 2007-02-06 03:05:22 +0100
-@@ -2736,7 +2736,10 @@ static void if6_seq_stop(struct seq_file
+--- linux-2.6.20.4/net/ipv6/addrconf.c 2007-03-10 20:34:01 +0100
++++ linux-2.6.20.4-vs2.2.0/net/ipv6/addrconf.c 2007-04-01 17:30:02 +0200
+@@ -2738,7 +2738,10 @@ static void if6_seq_stop(struct seq_file
static int if6_seq_show(struct seq_file *seq, void *v)
{
struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v;
@@ -27356,7 +27277,7 @@
NIP6_SEQFMT " %02x %02x %02x %02x %8s\n",
NIP6(ifp->addr),
ifp->idev->dev->ifindex,
-@@ -3208,6 +3211,10 @@ static int inet6_dump_addr(struct sk_buf
+@@ -3210,6 +3213,10 @@ static int inet6_dump_addr(struct sk_buf
struct ifmcaddr6 *ifmca;
struct ifacaddr6 *ifaca;
@@ -27367,7 +27288,7 @@
s_idx = cb->args[0];
s_ip_idx = ip_idx = cb->args[1];
read_lock(&dev_base_lock);
-@@ -3479,6 +3486,10 @@ static int inet6_dump_ifinfo(struct sk_b
+@@ -3481,6 +3488,10 @@ static int inet6_dump_ifinfo(struct sk_b
struct net_device *dev;
struct inet6_dev *idev;
@@ -27378,8 +27299,8 @@
read_lock(&dev_base_lock);
for (dev=dev_base, idx=0; dev; dev = dev->next, idx++) {
if (idx < s_idx)
---- linux-2.6.20.1/net/netlink/af_netlink.c 2007-02-06 03:02:00 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/netlink/af_netlink.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/netlink/af_netlink.c 2007-02-06 03:02:00 +0100
++++ linux-2.6.20.4-vs2.2.0/net/netlink/af_netlink.c 2007-04-01 17:29:38 +0200
@@ -56,6 +56,9 @@
#include <linux/types.h>
#include <linux/audit.h>
@@ -27390,8 +27311,8 @@
#include <net/sock.h>
#include <net/scm.h>
---- linux-2.6.20.1/net/socket.c 2007-02-06 03:02:01 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/socket.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/socket.c 2007-02-06 03:02:01 +0100
++++ linux-2.6.20.4-vs2.2.0/net/socket.c 2007-04-01 17:30:02 +0200
@@ -92,6 +92,8 @@
#include <net/sock.h>
@@ -27495,8 +27416,8 @@
err = sock1->ops->socketpair(sock1, sock2);
if (err < 0)
---- linux-2.6.20.1/net/sunrpc/auth.c 2006-11-30 21:19:46 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/sunrpc/auth.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/sunrpc/auth.c 2006-11-30 21:19:46 +0100
++++ linux-2.6.20.4-vs2.2.0/net/sunrpc/auth.c 2007-04-01 17:30:04 +0200
@@ -13,6 +13,7 @@
#include <linux/errno.h>
#include <linux/sunrpc/clnt.h>
@@ -27521,8 +27442,8 @@
.group_info = current->group_info,
};
struct rpc_cred *ret;
---- linux-2.6.20.1/net/sunrpc/auth_unix.c 2006-11-30 21:19:46 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/sunrpc/auth_unix.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/sunrpc/auth_unix.c 2006-11-30 21:19:46 +0100
++++ linux-2.6.20.4-vs2.2.0/net/sunrpc/auth_unix.c 2007-04-01 17:30:04 +0200
@@ -11,12 +11,14 @@
#include <linux/module.h>
#include <linux/sunrpc/clnt.h>
@@ -27588,8 +27509,8 @@
hold = p++;
for (i = 0; i < 16 && cred->uc_gids[i] != (gid_t) NOGROUP; i++)
*p++ = htonl((u32) cred->uc_gids[i]);
---- linux-2.6.20.1/net/sunrpc/clnt.c 2007-02-06 03:02:01 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/sunrpc/clnt.c 2007-02-15 00:05:56 +0100
+--- linux-2.6.20.4/net/sunrpc/clnt.c 2007-02-06 03:02:01 +0100
++++ linux-2.6.20.4-vs2.2.0/net/sunrpc/clnt.c 2007-04-01 17:30:04 +0200
@@ -30,6 +30,7 @@
#include <linux/smp_lock.h>
#include <linux/utsname.h>
@@ -27609,8 +27530,8 @@
return clnt;
}
EXPORT_SYMBOL_GPL(rpc_create);
---- linux-2.6.20.1/net/unix/af_unix.c 2007-02-06 03:02:01 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/unix/af_unix.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/unix/af_unix.c 2007-02-06 03:02:01 +0100
++++ linux-2.6.20.4-vs2.2.0/net/unix/af_unix.c 2007-04-01 17:30:01 +0200
@@ -116,6 +116,8 @@
#include <linux/mount.h>
#include <net/checksum.h>
@@ -27638,8 +27559,8 @@
if (err)
goto out_mknod_dput;
mutex_unlock(&nd.dentry->d_inode->i_mutex);
---- linux-2.6.20.1/net/x25/af_x25.c 2007-02-06 03:02:01 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/net/x25/af_x25.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/net/x25/af_x25.c 2007-02-06 03:02:01 +0100
++++ linux-2.6.20.4-vs2.2.0/net/x25/af_x25.c 2007-04-01 17:29:42 +0200
@@ -499,7 +499,10 @@ static int x25_create(struct socket *soc
x25 = x25_sk(sk);
@@ -27652,8 +27573,18 @@
x25_init_timers(sk);
---- linux-2.6.20.1/security/commoncap.c 2006-11-30 21:19:47 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/security/commoncap.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/security/Kconfig 2006-11-30 21:19:47 +0100
++++ linux-2.6.20.4-vs2.2.0/security/Kconfig 2007-04-01 17:29:39 +0200
+@@ -6,6 +6,7 @@ menu "Security options"
+
+ config KEYS
+ bool "Enable access key retention support"
++ depends on !VSERVER_SECURITY
+ help
+ This option provides support for retaining authentication tokens and
+ access keys in the kernel.
+--- linux-2.6.20.4/security/commoncap.c 2006-11-30 21:19:47 +0100
++++ linux-2.6.20.4-vs2.2.0/security/commoncap.c 2007-04-01 17:29:49 +0200
@@ -23,10 +23,11 @@
#include <linux/ptrace.h>
#include <linux/xattr.h>
@@ -27696,8 +27627,8 @@
return -EPERM;
return 0;
}
---- linux-2.6.20.1/security/dummy.c 2007-02-06 03:02:01 +0100
-+++ linux-2.6.20.1-vs2.2.0-rc15/security/dummy.c 2007-02-06 03:05:22 +0100
+--- linux-2.6.20.4/security/dummy.c 2007-02-06 03:02:01 +0100
++++ linux-2.6.20.4-vs2.2.0/security/dummy.c 2007-04-01 17:29:49 +0200
@@ -28,6 +28,7 @@
#include <linux/hugetlb.h>
#include <linux/ptrace.h>
Modified: dists/trunk/linux-2.6/debian/patches/series/1~experimental.1-extra
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/1~experimental.1-extra (original)
+++ dists/trunk/linux-2.6/debian/patches/series/1~experimental.1-extra Mon Apr 9 14:59:27 2007
@@ -1,4 +1,4 @@
-+ features/all/vserver/vs2.2.0-rc15.patch *_vserver *_xen-vserver
++ features/all/vserver/vs2.2.0.patch *_vserver *_xen-vserver
+ features/all/vserver/bindmount-dev.patch *_vserver *_xen-vserver
+ features/all/xen/vserver-clash.patch *_xen-vserver
+ features/all/xen/fedora-2.6.20-48670.patch *_xen *_xen-vserver
More information about the Kernel-svn-changes
mailing list