]>
Commit | Line | Data |
---|---|---|
2bf5ad28 AM |
1 | diff -NurpP --minimal linux-2.6.33/arch/alpha/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/alpha/Kconfig |
2 | --- linux-2.6.33/arch/alpha/Kconfig 2010-02-25 11:51:18.000000000 +0100 | |
3 | +++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
4 | @@ -675,6 +675,8 @@ config DUMMY_CONSOLE | |
2380c486 JR |
5 | depends on VGA_HOSE |
6 | default y | |
d337f35e JR |
7 | |
8 | +source "kernel/vserver/Kconfig" | |
9 | + | |
10 | source "security/Kconfig" | |
11 | ||
12 | source "crypto/Kconfig" | |
2bf5ad28 AM |
13 | diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/entry.S linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/entry.S |
14 | --- linux-2.6.33/arch/alpha/kernel/entry.S 2009-06-11 17:11:46.000000000 +0200 | |
15 | +++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/entry.S 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 16 | @@ -874,24 +874,15 @@ sys_getxgid: |
d337f35e JR |
17 | .globl sys_getxpid |
18 | .ent sys_getxpid | |
19 | sys_getxpid: | |
20 | + lda $sp, -16($sp) | |
21 | + stq $26, 0($sp) | |
22 | .prologue 0 | |
23 | - ldq $2, TI_TASK($8) | |
24 | ||
25 | - /* See linux/kernel/timer.c sys_getppid for discussion | |
26 | - about this loop. */ | |
27 | - ldq $3, TASK_GROUP_LEADER($2) | |
28 | - ldq $4, TASK_REAL_PARENT($3) | |
29 | - ldl $0, TASK_TGID($2) | |
30 | -1: ldl $1, TASK_TGID($4) | |
31 | -#ifdef CONFIG_SMP | |
32 | - mov $4, $5 | |
33 | - mb | |
34 | - ldq $3, TASK_GROUP_LEADER($2) | |
35 | - ldq $4, TASK_REAL_PARENT($3) | |
36 | - cmpeq $4, $5, $5 | |
37 | - beq $5, 1b | |
38 | -#endif | |
39 | - stq $1, 80($sp) | |
40 | + lda $16, 96($sp) | |
41 | + jsr $26, do_getxpid | |
42 | + ldq $26, 0($sp) | |
43 | + | |
44 | + lda $sp, 16($sp) | |
45 | ret | |
46 | .end sys_getxpid | |
47 | ||
2bf5ad28 AM |
48 | diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/osf_sys.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/osf_sys.c |
49 | --- linux-2.6.33/arch/alpha/kernel/osf_sys.c 2010-02-25 11:51:19.000000000 +0100 | |
50 | +++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/osf_sys.c 2010-02-25 12:02:16.000000000 +0100 | |
9390b158 | 51 | @@ -865,7 +865,7 @@ SYSCALL_DEFINE2(osf_gettimeofday, struct |
d337f35e JR |
52 | { |
53 | if (tv) { | |
54 | struct timeval ktv; | |
55 | - do_gettimeofday(&ktv); | |
56 | + vx_gettimeofday(&ktv); | |
57 | if (put_tv32(tv, &ktv)) | |
58 | return -EFAULT; | |
59 | } | |
2bf5ad28 AM |
60 | diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/ptrace.c |
61 | --- linux-2.6.33/arch/alpha/kernel/ptrace.c 2009-09-10 15:25:14.000000000 +0200 | |
62 | +++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/ptrace.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 63 | @@ -14,6 +14,7 @@ |
d337f35e JR |
64 | #include <linux/slab.h> |
65 | #include <linux/security.h> | |
66 | #include <linux/signal.h> | |
67 | +#include <linux/vs_base.h> | |
68 | ||
69 | #include <asm/uaccess.h> | |
70 | #include <asm/pgtable.h> | |
2bf5ad28 AM |
71 | diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/systbls.S linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/systbls.S |
72 | --- linux-2.6.33/arch/alpha/kernel/systbls.S 2010-02-25 11:51:19.000000000 +0100 | |
73 | +++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/systbls.S 2010-02-25 12:02:16.000000000 +0100 | |
d337f35e JR |
74 | @@ -446,7 +446,7 @@ sys_call_table: |
75 | .quad sys_stat64 /* 425 */ | |
76 | .quad sys_lstat64 | |
77 | .quad sys_fstat64 | |
78 | - .quad sys_ni_syscall /* sys_vserver */ | |
79 | + .quad sys_vserver /* sys_vserver */ | |
80 | .quad sys_ni_syscall /* sys_mbind */ | |
81 | .quad sys_ni_syscall /* sys_get_mempolicy */ | |
82 | .quad sys_ni_syscall /* sys_set_mempolicy */ | |
2bf5ad28 AM |
83 | diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/traps.c |
84 | --- linux-2.6.33/arch/alpha/kernel/traps.c 2009-06-11 17:11:46.000000000 +0200 | |
85 | +++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 86 | @@ -183,7 +183,8 @@ die_if_kernel(char * str, struct pt_regs |
d337f35e JR |
87 | #ifdef CONFIG_SMP |
88 | printk("CPU %d ", hard_smp_processor_id()); | |
89 | #endif | |
2380c486 | 90 | - printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err); |
d337f35e | 91 | + printk("%s(%d[#%u]): %s %ld\n", current->comm, |
2380c486 | 92 | + task_pid_nr(current), current->xid, str, err); |
d337f35e | 93 | dik_show_regs(regs, r9_15); |
2380c486 | 94 | add_taint(TAINT_DIE); |
d337f35e | 95 | dik_show_trace((unsigned long *)(regs+1)); |
2bf5ad28 AM |
96 | diff -NurpP --minimal linux-2.6.33/arch/alpha/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/mm/fault.c |
97 | --- linux-2.6.33/arch/alpha/mm/fault.c 2009-09-10 15:25:14.000000000 +0200 | |
98 | +++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 JR |
99 | @@ -193,8 +193,8 @@ do_page_fault(unsigned long address, uns |
100 | down_read(&mm->mmap_sem); | |
101 | goto survive; | |
102 | } | |
103 | - printk(KERN_ALERT "VM: killing process %s(%d)\n", | |
104 | - current->comm, task_pid_nr(current)); | |
105 | + printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n", | |
106 | + current->comm, task_pid_nr(current), current->xid); | |
107 | if (!user_mode(regs)) | |
108 | goto no_context; | |
109 | do_group_exit(SIGKILL); | |
2bf5ad28 AM |
110 | diff -NurpP --minimal linux-2.6.33/arch/arm/include/asm/tlb.h linux-2.6.33-vs2.3.0.36.30/arch/arm/include/asm/tlb.h |
111 | --- linux-2.6.33/arch/arm/include/asm/tlb.h 2009-09-10 15:25:15.000000000 +0200 | |
112 | +++ linux-2.6.33-vs2.3.0.36.30/arch/arm/include/asm/tlb.h 2010-02-25 12:02:16.000000000 +0100 | |
113 | @@ -27,6 +27,7 @@ | |
114 | ||
115 | #else /* !CONFIG_MMU */ | |
116 | ||
117 | +#include <linux/vs_memory.h> | |
118 | #include <asm/pgalloc.h> | |
119 | ||
120 | /* | |
121 | diff -NurpP --minimal linux-2.6.33/arch/arm/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/arm/Kconfig | |
122 | --- linux-2.6.33/arch/arm/Kconfig 2010-02-25 11:51:19.000000000 +0100 | |
123 | +++ linux-2.6.33-vs2.3.0.36.30/arch/arm/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
124 | @@ -1542,6 +1542,8 @@ source "fs/Kconfig" | |
d337f35e JR |
125 | |
126 | source "arch/arm/Kconfig.debug" | |
127 | ||
128 | +source "kernel/vserver/Kconfig" | |
129 | + | |
130 | source "security/Kconfig" | |
131 | ||
132 | source "crypto/Kconfig" | |
2bf5ad28 AM |
133 | diff -NurpP --minimal linux-2.6.33/arch/arm/kernel/calls.S linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/calls.S |
134 | --- linux-2.6.33/arch/arm/kernel/calls.S 2010-02-25 11:51:20.000000000 +0100 | |
135 | +++ linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/calls.S 2010-02-25 12:02:16.000000000 +0100 | |
d337f35e JR |
136 | @@ -322,7 +322,7 @@ |
137 | /* 310 */ CALL(sys_request_key) | |
138 | CALL(sys_keyctl) | |
139 | CALL(ABI(sys_semtimedop, sys_oabi_semtimedop)) | |
140 | -/* vserver */ CALL(sys_ni_syscall) | |
141 | + CALL(sys_vserver) | |
142 | CALL(sys_ioprio_set) | |
143 | /* 315 */ CALL(sys_ioprio_get) | |
144 | CALL(sys_inotify_init) | |
2bf5ad28 AM |
145 | diff -NurpP --minimal linux-2.6.33/arch/arm/kernel/process.c linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/process.c |
146 | --- linux-2.6.33/arch/arm/kernel/process.c 2010-02-25 11:51:20.000000000 +0100 | |
147 | +++ linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/process.c 2010-02-25 12:02:16.000000000 +0100 | |
148 | @@ -270,7 +270,8 @@ void __show_regs(struct pt_regs *regs) | |
d337f35e JR |
149 | void show_regs(struct pt_regs * regs) |
150 | { | |
151 | printk("\n"); | |
2380c486 | 152 | - printk("Pid: %d, comm: %20s\n", task_pid_nr(current), current->comm); |
d337f35e | 153 | + printk("Pid: %d[#%u], comm: %20s\n", |
2380c486 | 154 | + task_pid_nr(current), current->xid, current->comm); |
d337f35e JR |
155 | __show_regs(regs); |
156 | __backtrace(); | |
157 | } | |
2bf5ad28 AM |
158 | diff -NurpP --minimal linux-2.6.33/arch/arm/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/traps.c |
159 | --- linux-2.6.33/arch/arm/kernel/traps.c 2009-12-03 20:01:50.000000000 +0100 | |
160 | +++ linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a AM |
161 | @@ -234,8 +234,8 @@ static void __die(const char *str, int e |
162 | sysfs_printk_last_file(); | |
d337f35e JR |
163 | print_modules(); |
164 | __show_regs(regs); | |
7e46296a AM |
165 | - printk(KERN_EMERG "Process %.*s (pid: %d, stack limit = 0x%p)\n", |
166 | - TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), thread + 1); | |
167 | + printk(KERN_EMERG "Process %.*s (pid: %d:#%u, stack limit = 0x%p)\n", | |
168 | + TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), tsk->xid, thread + 1); | |
d337f35e JR |
169 | |
170 | if (!user_mode(regs) || in_interrupt()) { | |
7e46296a | 171 | dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp, |
2bf5ad28 AM |
172 | diff -NurpP --minimal linux-2.6.33/arch/avr32/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/avr32/mm/fault.c |
173 | --- linux-2.6.33/arch/avr32/mm/fault.c 2009-09-10 15:25:20.000000000 +0200 | |
174 | +++ linux-2.6.33-vs2.3.0.36.30/arch/avr32/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
175 | @@ -216,7 +216,8 @@ out_of_memory: |
176 | down_read(&mm->mmap_sem); | |
177 | goto survive; | |
178 | } | |
179 | - printk("VM: Killing process %s\n", tsk->comm); | |
180 | + printk("VM: Killing process %s(%d:#%u)\n", | |
181 | + tsk->comm, task_pid_nr(tsk), tsk->xid); | |
182 | if (user_mode(regs)) | |
183 | do_group_exit(SIGKILL); | |
184 | goto no_context; | |
2bf5ad28 AM |
185 | diff -NurpP --minimal linux-2.6.33/arch/cris/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/cris/Kconfig |
186 | --- linux-2.6.33/arch/cris/Kconfig 2009-06-11 17:11:56.000000000 +0200 | |
187 | +++ linux-2.6.33-vs2.3.0.36.30/arch/cris/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 188 | @@ -685,6 +685,8 @@ source "drivers/staging/Kconfig" |
d337f35e JR |
189 | |
190 | source "arch/cris/Kconfig.debug" | |
191 | ||
192 | +source "kernel/vserver/Kconfig" | |
193 | + | |
194 | source "security/Kconfig" | |
195 | ||
196 | source "crypto/Kconfig" | |
2bf5ad28 AM |
197 | diff -NurpP --minimal linux-2.6.33/arch/cris/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/cris/mm/fault.c |
198 | --- linux-2.6.33/arch/cris/mm/fault.c 2010-02-25 11:51:26.000000000 +0100 | |
199 | +++ linux-2.6.33-vs2.3.0.36.30/arch/cris/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
200 | @@ -245,7 +245,8 @@ do_page_fault(unsigned long address, str |
201 | ||
202 | out_of_memory: | |
203 | up_read(&mm->mmap_sem); | |
204 | - printk("VM: killing process %s\n", tsk->comm); | |
205 | + printk("VM: killing process %s(%d:#%u)\n", | |
206 | + tsk->comm, task_pid_nr(tsk), tsk->xid); | |
207 | if (user_mode(regs)) | |
208 | do_exit(SIGKILL); | |
209 | goto no_context; | |
2bf5ad28 AM |
210 | diff -NurpP --minimal linux-2.6.33/arch/frv/kernel/kernel_thread.S linux-2.6.33-vs2.3.0.36.30/arch/frv/kernel/kernel_thread.S |
211 | --- linux-2.6.33/arch/frv/kernel/kernel_thread.S 2008-12-25 00:26:37.000000000 +0100 | |
212 | +++ linux-2.6.33-vs2.3.0.36.30/arch/frv/kernel/kernel_thread.S 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 213 | @@ -37,7 +37,7 @@ kernel_thread: |
d337f35e JR |
214 | |
215 | # start by forking the current process, but with shared VM | |
216 | setlos.p #__NR_clone,gr7 ; syscall number | |
217 | - ori gr10,#CLONE_VM,gr8 ; first syscall arg [clone_flags] | |
218 | + ori gr10,#CLONE_KT,gr8 ; first syscall arg [clone_flags] | |
219 | sethi.p #0xe4e4,gr9 ; second syscall arg [newsp] | |
220 | setlo #0xe4e4,gr9 | |
221 | setlos.p #0,gr10 ; third syscall arg [parent_tidptr] | |
2bf5ad28 AM |
222 | diff -NurpP --minimal linux-2.6.33/arch/frv/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/frv/mm/fault.c |
223 | --- linux-2.6.33/arch/frv/mm/fault.c 2009-09-10 15:25:22.000000000 +0200 | |
224 | +++ linux-2.6.33-vs2.3.0.36.30/arch/frv/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
225 | @@ -257,7 +257,8 @@ asmlinkage void do_page_fault(int datamm |
226 | */ | |
227 | out_of_memory: | |
228 | up_read(&mm->mmap_sem); | |
229 | - printk("VM: killing process %s\n", current->comm); | |
230 | + printk("VM: killing process %s(%d:#%u)\n", | |
231 | + current->comm, task_pid_nr(current), current->xid); | |
232 | if (user_mode(__frame)) | |
233 | do_group_exit(SIGKILL); | |
234 | goto no_context; | |
2bf5ad28 AM |
235 | diff -NurpP --minimal linux-2.6.33/arch/h8300/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/h8300/Kconfig |
236 | --- linux-2.6.33/arch/h8300/Kconfig 2010-02-25 11:51:26.000000000 +0100 | |
237 | +++ linux-2.6.33-vs2.3.0.36.30/arch/h8300/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
238 | @@ -230,6 +230,8 @@ source "fs/Kconfig" | |
d337f35e JR |
239 | |
240 | source "arch/h8300/Kconfig.debug" | |
241 | ||
242 | +source "kernel/vserver/Kconfig" | |
243 | + | |
244 | source "security/Kconfig" | |
245 | ||
246 | source "crypto/Kconfig" | |
2bf5ad28 AM |
247 | diff -NurpP --minimal linux-2.6.33/arch/ia64/ia32/ia32_entry.S linux-2.6.33-vs2.3.0.36.30/arch/ia64/ia32/ia32_entry.S |
248 | --- linux-2.6.33/arch/ia64/ia32/ia32_entry.S 2010-02-25 11:51:26.000000000 +0100 | |
249 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/ia32/ia32_entry.S 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 250 | @@ -451,7 +451,7 @@ ia32_syscall_table: |
2380c486 JR |
251 | data8 sys_tgkill /* 270 */ |
252 | data8 compat_sys_utimes | |
253 | data8 sys32_fadvise64_64 | |
254 | - data8 sys_ni_syscall | |
255 | + data8 sys32_vserver | |
256 | data8 sys_ni_syscall | |
257 | data8 sys_ni_syscall /* 275 */ | |
258 | data8 sys_ni_syscall | |
2bf5ad28 AM |
259 | diff -NurpP --minimal linux-2.6.33/arch/ia64/include/asm/tlb.h linux-2.6.33-vs2.3.0.36.30/arch/ia64/include/asm/tlb.h |
260 | --- linux-2.6.33/arch/ia64/include/asm/tlb.h 2010-02-25 11:51:26.000000000 +0100 | |
261 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/include/asm/tlb.h 2010-02-25 12:02:16.000000000 +0100 | |
0411181d AM |
262 | @@ -40,6 +40,7 @@ |
263 | #include <linux/mm.h> | |
264 | #include <linux/pagemap.h> | |
265 | #include <linux/swap.h> | |
266 | +#include <linux/vs_memory.h> | |
267 | ||
268 | #include <asm/pgalloc.h> | |
269 | #include <asm/processor.h> | |
2bf5ad28 AM |
270 | diff -NurpP --minimal linux-2.6.33/arch/ia64/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/ia64/Kconfig |
271 | --- linux-2.6.33/arch/ia64/Kconfig 2010-02-25 11:51:26.000000000 +0100 | |
272 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
273 | @@ -682,6 +682,8 @@ source "fs/Kconfig" | |
2380c486 JR |
274 | |
275 | source "arch/ia64/Kconfig.debug" | |
d337f35e JR |
276 | |
277 | +source "kernel/vserver/Kconfig" | |
278 | + | |
279 | source "security/Kconfig" | |
280 | ||
281 | source "crypto/Kconfig" | |
2bf5ad28 AM |
282 | diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/entry.S linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/entry.S |
283 | --- linux-2.6.33/arch/ia64/kernel/entry.S 2010-02-25 11:51:26.000000000 +0100 | |
284 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/entry.S 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 285 | @@ -1753,7 +1753,7 @@ sys_call_table: |
2380c486 JR |
286 | data8 sys_mq_notify |
287 | data8 sys_mq_getsetattr | |
288 | data8 sys_kexec_load | |
289 | - data8 sys_ni_syscall // reserved for vserver | |
290 | + data8 sys_vserver | |
291 | data8 sys_waitid // 1270 | |
292 | data8 sys_add_key | |
293 | data8 sys_request_key | |
2bf5ad28 AM |
294 | diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/perfmon.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/perfmon.c |
295 | --- linux-2.6.33/arch/ia64/kernel/perfmon.c 2010-02-25 11:51:26.000000000 +0100 | |
296 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/perfmon.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 297 | @@ -41,6 +41,7 @@ |
2380c486 JR |
298 | #include <linux/rcupdate.h> |
299 | #include <linux/completion.h> | |
ec22aa5c | 300 | #include <linux/tracehook.h> |
2380c486 | 301 | +#include <linux/vs_memory.h> |
d337f35e | 302 | |
2380c486 JR |
303 | #include <asm/errno.h> |
304 | #include <asm/intrinsics.h> | |
2bf5ad28 | 305 | @@ -2367,7 +2368,7 @@ pfm_smpl_buffer_alloc(struct task_struct |
2380c486 JR |
306 | */ |
307 | insert_vm_struct(mm, vma); | |
d337f35e | 308 | |
2380c486 JR |
309 | - mm->total_vm += size >> PAGE_SHIFT; |
310 | + vx_vmpages_add(mm, size >> PAGE_SHIFT); | |
311 | vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, | |
312 | vma_pages(vma)); | |
313 | up_write(&task->mm->mmap_sem); | |
2bf5ad28 AM |
314 | diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/process.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/process.c |
315 | --- linux-2.6.33/arch/ia64/kernel/process.c 2009-12-03 20:01:56.000000000 +0100 | |
316 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/process.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 317 | @@ -110,8 +110,8 @@ show_regs (struct pt_regs *regs) |
2380c486 | 318 | unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri; |
d337f35e | 319 | |
2380c486 JR |
320 | print_modules(); |
321 | - printk("\nPid: %d, CPU %d, comm: %20s\n", task_pid_nr(current), | |
322 | - smp_processor_id(), current->comm); | |
323 | + printk("\nPid: %d[#%u], CPU %d, comm: %20s\n", task_pid_nr(current), | |
324 | + current->xid, smp_processor_id(), current->comm); | |
325 | printk("psr : %016lx ifs : %016lx ip : [<%016lx>] %s (%s)\n", | |
326 | regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(), | |
327 | init_utsname()->release); | |
2bf5ad28 AM |
328 | diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/ptrace.c |
329 | --- linux-2.6.33/arch/ia64/kernel/ptrace.c 2009-09-10 15:25:22.000000000 +0200 | |
330 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/ptrace.c 2010-02-25 12:02:16.000000000 +0100 | |
23f740c4 | 331 | @@ -22,6 +22,7 @@ |
2380c486 | 332 | #include <linux/regset.h> |
d337f35e | 333 | #include <linux/elf.h> |
ec22aa5c | 334 | #include <linux/tracehook.h> |
d337f35e JR |
335 | +#include <linux/vs_base.h> |
336 | ||
337 | #include <asm/pgtable.h> | |
338 | #include <asm/processor.h> | |
2bf5ad28 AM |
339 | diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/traps.c |
340 | --- linux-2.6.33/arch/ia64/kernel/traps.c 2008-12-25 00:26:37.000000000 +0100 | |
341 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 342 | @@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re |
d337f35e JR |
343 | put_cpu(); |
344 | ||
345 | if (++die.lock_owner_depth < 3) { | |
346 | - printk("%s[%d]: %s %ld [%d]\n", | |
2380c486 | 347 | - current->comm, task_pid_nr(current), str, err, ++die_counter); |
d337f35e | 348 | + printk("%s[%d[#%u]]: %s %ld [%d]\n", |
2380c486 | 349 | + current->comm, task_pid_nr(current), current->xid, |
d337f35e | 350 | + str, err, ++die_counter); |
2380c486 JR |
351 | if (notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV) |
352 | != NOTIFY_STOP) | |
353 | show_regs(regs); | |
354 | @@ -324,8 +325,9 @@ handle_fpu_swa (int fp_fault, struct pt_ | |
355 | if ((last.count & 15) < 5 && (ia64_fetchadd(1, &last.count, acq) & 15) < 5) { | |
356 | last.time = current_jiffies + 5 * HZ; | |
357 | printk(KERN_WARNING | |
358 | - "%s(%d): floating-point assist fault at ip %016lx, isr %016lx\n", | |
359 | - current->comm, task_pid_nr(current), regs->cr_iip + ia64_psr(regs)->ri, isr); | |
360 | + "%s(%d[#%u]): floating-point assist fault at ip %016lx, isr %016lx\n", | |
361 | + current->comm, task_pid_nr(current), current->xid, | |
362 | + regs->cr_iip + ia64_psr(regs)->ri, isr); | |
363 | } | |
364 | } | |
d337f35e | 365 | } |
2bf5ad28 AM |
366 | diff -NurpP --minimal linux-2.6.33/arch/ia64/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/mm/fault.c |
367 | --- linux-2.6.33/arch/ia64/mm/fault.c 2009-09-10 15:25:23.000000000 +0200 | |
368 | +++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
d337f35e | 369 | @@ -10,6 +10,7 @@ |
d337f35e JR |
370 | #include <linux/interrupt.h> |
371 | #include <linux/kprobes.h> | |
2380c486 | 372 | #include <linux/kdebug.h> |
d337f35e JR |
373 | +#include <linux/vs_memory.h> |
374 | ||
375 | #include <asm/pgtable.h> | |
376 | #include <asm/processor.h> | |
4a036bed AM |
377 | @@ -281,7 +282,8 @@ ia64_do_page_fault (unsigned long addres |
378 | down_read(&mm->mmap_sem); | |
379 | goto survive; | |
380 | } | |
381 | - printk(KERN_CRIT "VM: killing process %s\n", current->comm); | |
382 | + printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n", | |
383 | + current->comm, task_pid_nr(current), current->xid); | |
384 | if (user_mode(regs)) | |
385 | do_group_exit(SIGKILL); | |
386 | goto no_context; | |
2bf5ad28 AM |
387 | diff -NurpP --minimal linux-2.6.33/arch/m32r/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/m32r/kernel/traps.c |
388 | --- linux-2.6.33/arch/m32r/kernel/traps.c 2009-12-03 20:01:57.000000000 +0100 | |
389 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m32r/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 390 | @@ -196,8 +196,9 @@ static void show_registers(struct pt_reg |
d337f35e JR |
391 | } else { |
392 | printk("SPI: %08lx\n", sp); | |
393 | } | |
394 | - printk("Process %s (pid: %d, process nr: %d, stackpage=%08lx)", | |
2380c486 | 395 | - current->comm, task_pid_nr(current), 0xffff & i, 4096+(unsigned long)current); |
d337f35e | 396 | + printk("Process %s (pid: %d[#%u], process nr: %d, stackpage=%08lx)", |
2380c486 | 397 | + current->comm, task_pid_nr(current), current->xid, |
d337f35e JR |
398 | + 0xffff & i, 4096+(unsigned long)current); |
399 | ||
400 | /* | |
401 | * When in-kernel, we also print out the stack and code at the | |
2bf5ad28 AM |
402 | diff -NurpP --minimal linux-2.6.33/arch/m32r/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/m32r/mm/fault.c |
403 | --- linux-2.6.33/arch/m32r/mm/fault.c 2009-09-10 15:25:23.000000000 +0200 | |
404 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m32r/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
405 | @@ -276,7 +276,8 @@ out_of_memory: |
406 | down_read(&mm->mmap_sem); | |
407 | goto survive; | |
408 | } | |
409 | - printk("VM: killing process %s\n", tsk->comm); | |
410 | + printk("VM: killing process %s(%d:#%u)\n", | |
411 | + tsk->comm, task_pid_nr(tsk), tsk->xid); | |
412 | if (error_code & ACE_USERMODE) | |
413 | do_group_exit(SIGKILL); | |
414 | goto no_context; | |
2bf5ad28 AM |
415 | diff -NurpP --minimal linux-2.6.33/arch/m68k/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/m68k/Kconfig |
416 | --- linux-2.6.33/arch/m68k/Kconfig 2009-12-03 20:01:57.000000000 +0100 | |
417 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a | 418 | @@ -622,6 +622,8 @@ source "fs/Kconfig" |
d337f35e JR |
419 | |
420 | source "arch/m68k/Kconfig.debug" | |
421 | ||
422 | +source "kernel/vserver/Kconfig" | |
423 | + | |
424 | source "security/Kconfig" | |
425 | ||
426 | source "crypto/Kconfig" | |
2bf5ad28 AM |
427 | diff -NurpP --minimal linux-2.6.33/arch/m68k/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/ptrace.c |
428 | --- linux-2.6.33/arch/m68k/kernel/ptrace.c 2010-02-25 11:51:27.000000000 +0100 | |
429 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/ptrace.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 430 | @@ -18,6 +18,7 @@ |
d337f35e JR |
431 | #include <linux/ptrace.h> |
432 | #include <linux/user.h> | |
433 | #include <linux/signal.h> | |
434 | +#include <linux/vs_base.h> | |
435 | ||
436 | #include <asm/uaccess.h> | |
437 | #include <asm/page.h> | |
2bf5ad28 | 438 | @@ -249,6 +250,8 @@ long arch_ptrace(struct task_struct *chi |
d337f35e JR |
439 | ret = ptrace_request(child, request, addr, data); |
440 | break; | |
441 | } | |
2380c486 | 442 | + if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT)) |
d337f35e JR |
443 | + goto out_tsk; |
444 | ||
445 | return ret; | |
446 | out_eio: | |
2bf5ad28 AM |
447 | diff -NurpP --minimal linux-2.6.33/arch/m68k/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/traps.c |
448 | --- linux-2.6.33/arch/m68k/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200 | |
449 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 450 | @@ -906,8 +906,8 @@ void show_registers(struct pt_regs *regs |
d337f35e JR |
451 | printk("d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n", |
452 | regs->d4, regs->d5, regs->a0, regs->a1); | |
453 | ||
454 | - printk("Process %s (pid: %d, task=%p)\n", | |
2380c486 | 455 | - current->comm, task_pid_nr(current), current); |
d337f35e | 456 | + printk("Process %s (pid: %d[#%u], task=%p)\n", |
2380c486 | 457 | + current->comm, task_pid_nr(current), current->xid, current); |
d337f35e JR |
458 | addr = (unsigned long)&fp->un; |
459 | printk("Frame format=%X ", regs->format); | |
460 | switch (regs->format) { | |
2bf5ad28 AM |
461 | diff -NurpP --minimal linux-2.6.33/arch/m68k/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/m68k/mm/fault.c |
462 | --- linux-2.6.33/arch/m68k/mm/fault.c 2009-09-10 15:25:23.000000000 +0200 | |
463 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
464 | @@ -186,7 +186,8 @@ out_of_memory: |
465 | goto survive; | |
466 | } | |
467 | ||
468 | - printk("VM: killing process %s\n", current->comm); | |
469 | + printk("VM: killing process %s(%d:#%u)\n", | |
470 | + current->comm, task_pid_nr(current), current->xid); | |
471 | if (user_mode(regs)) | |
472 | do_group_exit(SIGKILL); | |
473 | ||
2bf5ad28 AM |
474 | diff -NurpP --minimal linux-2.6.33/arch/m68knommu/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/Kconfig |
475 | --- linux-2.6.33/arch/m68knommu/Kconfig 2010-02-25 11:51:27.000000000 +0100 | |
476 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
477 | @@ -734,6 +734,8 @@ source "fs/Kconfig" | |
d337f35e JR |
478 | |
479 | source "arch/m68knommu/Kconfig.debug" | |
480 | ||
481 | +source "kernel/vserver/Kconfig" | |
482 | + | |
483 | source "security/Kconfig" | |
484 | ||
485 | source "crypto/Kconfig" | |
2bf5ad28 AM |
486 | diff -NurpP --minimal linux-2.6.33/arch/m68knommu/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/kernel/traps.c |
487 | --- linux-2.6.33/arch/m68knommu/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200 | |
488 | +++ linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 489 | @@ -78,8 +78,9 @@ void die_if_kernel(char *str, struct pt_ |
d337f35e JR |
490 | printk(KERN_EMERG "d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n", |
491 | fp->d4, fp->d5, fp->a0, fp->a1); | |
492 | ||
493 | - printk(KERN_EMERG "Process %s (pid: %d, stackpage=%08lx)\n", | |
494 | - current->comm, current->pid, PAGE_SIZE+(unsigned long)current); | |
495 | + printk(KERN_EMERG "Process %s (pid: %d[#%u], stackpage=%08lx)\n", | |
2380c486 | 496 | + current->comm, task_pid_nr(current), current->xid, |
d337f35e | 497 | + PAGE_SIZE+(unsigned long)current); |
2380c486 JR |
498 | show_stack(NULL, (unsigned long *)(fp + 1)); |
499 | add_taint(TAINT_DIE); | |
d337f35e | 500 | do_exit(SIGSEGV); |
2bf5ad28 AM |
501 | diff -NurpP --minimal linux-2.6.33/arch/microblaze/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/microblaze/mm/fault.c |
502 | --- linux-2.6.33/arch/microblaze/mm/fault.c 2009-09-10 15:25:24.000000000 +0200 | |
503 | +++ linux-2.6.33-vs2.3.0.36.30/arch/microblaze/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
504 | @@ -279,7 +279,8 @@ out_of_memory: |
505 | goto survive; | |
506 | } | |
507 | up_read(&mm->mmap_sem); | |
508 | - printk(KERN_WARNING "VM: killing process %s\n", current->comm); | |
509 | + printk(KERN_WARNING "VM: killing process %s(%d:#%u)\n", | |
510 | + current->comm, task_pid_nr(current), current->xid); | |
511 | if (user_mode(regs)) | |
512 | do_exit(SIGKILL); | |
513 | bad_page_fault(regs, address, SIGKILL); | |
2bf5ad28 AM |
514 | diff -NurpP --minimal linux-2.6.33/arch/mips/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/mips/Kconfig |
515 | --- linux-2.6.33/arch/mips/Kconfig 2010-02-25 11:51:27.000000000 +0100 | |
516 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mips/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
517 | @@ -2220,6 +2220,8 @@ source "fs/Kconfig" | |
d337f35e JR |
518 | |
519 | source "arch/mips/Kconfig.debug" | |
520 | ||
521 | +source "kernel/vserver/Kconfig" | |
522 | + | |
523 | source "security/Kconfig" | |
524 | ||
525 | source "crypto/Kconfig" | |
2bf5ad28 AM |
526 | diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/ptrace.c |
527 | --- linux-2.6.33/arch/mips/kernel/ptrace.c 2008-12-25 00:26:37.000000000 +0100 | |
528 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/ptrace.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 529 | @@ -25,6 +25,7 @@ |
d337f35e | 530 | #include <linux/security.h> |
2380c486 JR |
531 | #include <linux/audit.h> |
532 | #include <linux/seccomp.h> | |
d337f35e JR |
533 | +#include <linux/vs_base.h> |
534 | ||
535 | #include <asm/byteorder.h> | |
536 | #include <asm/cpu.h> | |
ec22aa5c | 537 | @@ -259,6 +260,9 @@ long arch_ptrace(struct task_struct *chi |
d337f35e JR |
538 | { |
539 | int ret; | |
540 | ||
2380c486 | 541 | + if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT)) |
d337f35e JR |
542 | + goto out; |
543 | + | |
544 | switch (request) { | |
545 | /* when I and D space are separate, these will need to be fixed. */ | |
546 | case PTRACE_PEEKTEXT: /* read word at location addr. */ | |
2bf5ad28 AM |
547 | diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall32-o32.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall32-o32.S |
548 | --- linux-2.6.33/arch/mips/kernel/scall32-o32.S 2010-02-25 11:51:28.000000000 +0100 | |
549 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall32-o32.S 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a | 550 | @@ -525,7 +525,7 @@ einval: li v0, -ENOSYS |
d337f35e JR |
551 | sys sys_mq_timedreceive 5 |
552 | sys sys_mq_notify 2 /* 4275 */ | |
553 | sys sys_mq_getsetattr 3 | |
554 | - sys sys_ni_syscall 0 /* sys_vserver */ | |
555 | + sys sys_vserver 3 | |
556 | sys sys_waitid 5 | |
557 | sys sys_ni_syscall 0 /* available, was setaltroot */ | |
558 | sys sys_add_key 5 /* 4280 */ | |
2bf5ad28 AM |
559 | diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall64-64.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-64.S |
560 | --- linux-2.6.33/arch/mips/kernel/scall64-64.S 2010-02-25 11:51:28.000000000 +0100 | |
561 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-64.S 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a | 562 | @@ -362,7 +362,7 @@ sys_call_table: |
d337f35e JR |
563 | PTR sys_mq_timedreceive |
564 | PTR sys_mq_notify | |
565 | PTR sys_mq_getsetattr /* 5235 */ | |
566 | - PTR sys_ni_syscall /* sys_vserver */ | |
567 | + PTR sys_vserver | |
568 | PTR sys_waitid | |
569 | PTR sys_ni_syscall /* available, was setaltroot */ | |
570 | PTR sys_add_key | |
2bf5ad28 AM |
571 | diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall64-n32.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-n32.S |
572 | --- linux-2.6.33/arch/mips/kernel/scall64-n32.S 2010-02-25 11:51:28.000000000 +0100 | |
573 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-n32.S 2010-02-25 12:02:16.000000000 +0100 | |
d337f35e JR |
574 | @@ -360,7 +360,7 @@ EXPORT(sysn32_call_table) |
575 | PTR compat_sys_mq_timedreceive | |
576 | PTR compat_sys_mq_notify | |
577 | PTR compat_sys_mq_getsetattr | |
578 | - PTR sys_ni_syscall /* 6240, sys_vserver */ | |
579 | + PTR sys32_vserver /* 6240 */ | |
2380c486 | 580 | PTR compat_sys_waitid |
d337f35e JR |
581 | PTR sys_ni_syscall /* available, was setaltroot */ |
582 | PTR sys_add_key | |
2bf5ad28 AM |
583 | diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall64-o32.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-o32.S |
584 | --- linux-2.6.33/arch/mips/kernel/scall64-o32.S 2010-02-25 11:51:28.000000000 +0100 | |
585 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-o32.S 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 586 | @@ -480,7 +480,7 @@ sys_call_table: |
d337f35e JR |
587 | PTR compat_sys_mq_timedreceive |
588 | PTR compat_sys_mq_notify /* 4275 */ | |
589 | PTR compat_sys_mq_getsetattr | |
590 | - PTR sys_ni_syscall /* sys_vserver */ | |
591 | + PTR sys32_vserver | |
2380c486 | 592 | PTR sys_32_waitid |
d337f35e JR |
593 | PTR sys_ni_syscall /* available, was setaltroot */ |
594 | PTR sys_add_key /* 4280 */ | |
2bf5ad28 AM |
595 | diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/traps.c |
596 | --- linux-2.6.33/arch/mips/kernel/traps.c 2010-02-25 11:51:28.000000000 +0100 | |
597 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
598 | @@ -333,9 +333,10 @@ void show_registers(const struct pt_regs | |
2380c486 JR |
599 | |
600 | __show_regs(regs); | |
d337f35e | 601 | print_modules(); |
2380c486 JR |
602 | - printk("Process %s (pid: %d, threadinfo=%p, task=%p, tls=%0*lx)\n", |
603 | - current->comm, current->pid, current_thread_info(), current, | |
604 | - field, current_thread_info()->tp_value); | |
605 | + printk("Process %s (pid: %d:#%u, threadinfo=%p, task=%p, tls=%0*lx)\n", | |
606 | + current->comm, task_pid_nr(current), current->xid, | |
607 | + current_thread_info(), current, | |
608 | + field, current_thread_info()->tp_value); | |
609 | if (cpu_has_userlocal) { | |
610 | unsigned long tls; | |
611 | ||
2bf5ad28 AM |
612 | diff -NurpP --minimal linux-2.6.33/arch/mn10300/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/mn10300/mm/fault.c |
613 | --- linux-2.6.33/arch/mn10300/mm/fault.c 2009-09-10 15:25:39.000000000 +0200 | |
614 | +++ linux-2.6.33-vs2.3.0.36.30/arch/mn10300/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
615 | @@ -339,7 +339,8 @@ no_context: |
616 | out_of_memory: | |
617 | up_read(&mm->mmap_sem); | |
618 | monitor_signal(regs); | |
619 | - printk(KERN_ALERT "VM: killing process %s\n", tsk->comm); | |
620 | + printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n", | |
621 | + tsk->comm, task_pid_nr(tsk), tsk->xid); | |
622 | if ((fault_code & MMUFCR_xFC_ACCESS) == MMUFCR_xFC_ACCESS_USR) | |
623 | do_exit(SIGKILL); | |
624 | goto no_context; | |
2bf5ad28 AM |
625 | diff -NurpP --minimal linux-2.6.33/arch/parisc/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/parisc/Kconfig |
626 | --- linux-2.6.33/arch/parisc/Kconfig 2010-02-25 11:51:29.000000000 +0100 | |
627 | +++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
628 | @@ -293,6 +293,8 @@ source "fs/Kconfig" | |
d337f35e JR |
629 | |
630 | source "arch/parisc/Kconfig.debug" | |
631 | ||
632 | +source "kernel/vserver/Kconfig" | |
633 | + | |
634 | source "security/Kconfig" | |
635 | ||
636 | source "crypto/Kconfig" | |
2bf5ad28 AM |
637 | diff -NurpP --minimal linux-2.6.33/arch/parisc/kernel/syscall_table.S linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/syscall_table.S |
638 | --- linux-2.6.33/arch/parisc/kernel/syscall_table.S 2010-02-25 11:51:29.000000000 +0100 | |
639 | +++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/syscall_table.S 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 640 | @@ -361,7 +361,7 @@ |
d337f35e JR |
641 | ENTRY_COMP(mbind) /* 260 */ |
642 | ENTRY_COMP(get_mempolicy) | |
643 | ENTRY_COMP(set_mempolicy) | |
644 | - ENTRY_SAME(ni_syscall) /* 263: reserved for vserver */ | |
645 | + ENTRY_DIFF(vserver) | |
646 | ENTRY_SAME(add_key) | |
647 | ENTRY_SAME(request_key) /* 265 */ | |
648 | ENTRY_SAME(keyctl) | |
2bf5ad28 AM |
649 | diff -NurpP --minimal linux-2.6.33/arch/parisc/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/traps.c |
650 | --- linux-2.6.33/arch/parisc/kernel/traps.c 2009-09-10 15:25:40.000000000 +0200 | |
651 | +++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 652 | @@ -236,8 +236,9 @@ void die_if_kernel(char *str, struct pt_ |
d337f35e JR |
653 | if (err == 0) |
654 | return; /* STFU */ | |
655 | ||
656 | - printk(KERN_CRIT "%s (pid %d): %s (code %ld) at " RFMT "\n", | |
2380c486 | 657 | - current->comm, task_pid_nr(current), str, err, regs->iaoq[0]); |
d337f35e | 658 | + printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld) at " RFMT "\n", |
2380c486 | 659 | + current->comm, task_pid_nr(current), current->xid, |
d337f35e JR |
660 | + str, err, regs->iaoq[0]); |
661 | #ifdef PRINT_USER_FAULTS | |
662 | /* XXX for debugging only */ | |
663 | show_regs(regs); | |
ec22aa5c | 664 | @@ -270,8 +271,8 @@ void die_if_kernel(char *str, struct pt_ |
d337f35e JR |
665 | pdc_console_restart(); |
666 | ||
2380c486 JR |
667 | if (err) |
668 | - printk(KERN_CRIT "%s (pid %d): %s (code %ld)\n", | |
669 | - current->comm, task_pid_nr(current), str, err); | |
670 | + printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld)\n", | |
671 | + current->comm, task_pid_nr(current), current->xid, str, err); | |
672 | ||
673 | /* Wot's wrong wif bein' racy? */ | |
674 | if (current->thread.flags & PARISC_KERNEL_DEATH) { | |
2bf5ad28 AM |
675 | diff -NurpP --minimal linux-2.6.33/arch/parisc/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/parisc/mm/fault.c |
676 | --- linux-2.6.33/arch/parisc/mm/fault.c 2009-09-10 15:25:40.000000000 +0200 | |
677 | +++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 678 | @@ -237,8 +237,9 @@ bad_area: |
d337f35e JR |
679 | |
680 | #ifdef PRINT_USER_FAULTS | |
681 | printk(KERN_DEBUG "\n"); | |
682 | - printk(KERN_DEBUG "do_page_fault() pid=%d command='%s' type=%lu address=0x%08lx\n", | |
2380c486 | 683 | - task_pid_nr(tsk), tsk->comm, code, address); |
d337f35e JR |
684 | + printk(KERN_DEBUG "do_page_fault() pid=%d:#%u " |
685 | + "command='%s' type=%lu address=0x%08lx\n", | |
2380c486 | 686 | + task_pid_nr(tsk), tsk->xid, tsk->comm, code, address); |
d337f35e JR |
687 | if (vma) { |
688 | printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n", | |
689 | vma->vm_start, vma->vm_end); | |
ec22aa5c | 690 | @@ -264,7 +265,8 @@ no_context: |
2380c486 JR |
691 | |
692 | out_of_memory: | |
693 | up_read(&mm->mmap_sem); | |
694 | - printk(KERN_CRIT "VM: killing process %s\n", current->comm); | |
695 | + printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n", | |
696 | + current->comm, current->pid, current->xid); | |
697 | if (user_mode(regs)) | |
698 | do_group_exit(SIGKILL); | |
699 | goto no_context; | |
2bf5ad28 AM |
700 | diff -NurpP --minimal linux-2.6.33/arch/powerpc/include/asm/unistd.h linux-2.6.33-vs2.3.0.36.30/arch/powerpc/include/asm/unistd.h |
701 | --- linux-2.6.33/arch/powerpc/include/asm/unistd.h 2009-12-03 20:02:01.000000000 +0100 | |
702 | +++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/include/asm/unistd.h 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
703 | @@ -275,7 +275,7 @@ |
704 | #endif | |
705 | #define __NR_rtas 255 | |
706 | #define __NR_sys_debug_setcontext 256 | |
707 | -/* Number 257 is reserved for vserver */ | |
06102837 | 708 | +#define __NR_vserver 257 |
4a036bed AM |
709 | #define __NR_migrate_pages 258 |
710 | #define __NR_mbind 259 | |
711 | #define __NR_get_mempolicy 260 | |
2bf5ad28 AM |
712 | diff -NurpP --minimal linux-2.6.33/arch/powerpc/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/powerpc/Kconfig |
713 | --- linux-2.6.33/arch/powerpc/Kconfig 2010-02-25 11:51:29.000000000 +0100 | |
714 | +++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
715 | @@ -968,6 +968,8 @@ source "lib/Kconfig" | |
d337f35e JR |
716 | |
717 | source "arch/powerpc/Kconfig.debug" | |
718 | ||
719 | +source "kernel/vserver/Kconfig" | |
720 | + | |
721 | source "security/Kconfig" | |
722 | ||
723 | config KEYS_COMPAT | |
2bf5ad28 AM |
724 | diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/irq.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/irq.c |
725 | --- linux-2.6.33/arch/powerpc/kernel/irq.c 2010-02-25 11:51:31.000000000 +0100 | |
726 | +++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/irq.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 727 | @@ -54,6 +54,7 @@ |
d337f35e | 728 | #include <linux/pci.h> |
2380c486 | 729 | #include <linux/debugfs.h> |
7e46296a AM |
730 | #include <linux/perf_event.h> |
731 | +// #include <linux/vs_context.h> | |
d337f35e JR |
732 | |
733 | #include <asm/uaccess.h> | |
734 | #include <asm/system.h> | |
2bf5ad28 AM |
735 | diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/process.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/process.c |
736 | --- linux-2.6.33/arch/powerpc/kernel/process.c 2010-02-25 11:51:31.000000000 +0100 | |
737 | +++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/process.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 738 | @@ -519,8 +519,9 @@ void show_regs(struct pt_regs * regs) |
2380c486 | 739 | #else |
d337f35e | 740 | printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr); |
2380c486 | 741 | #endif |
d337f35e | 742 | - printk("TASK = %p[%d] '%s' THREAD: %p", |
2380c486 | 743 | - current, task_pid_nr(current), current->comm, task_thread_info(current)); |
d337f35e | 744 | + printk("TASK = %p[%d,#%u] '%s' THREAD: %p", |
2380c486 | 745 | + current, task_pid_nr(current), current->xid, |
d337f35e JR |
746 | + current->comm, task_thread_info(current)); |
747 | ||
748 | #ifdef CONFIG_SMP | |
2380c486 | 749 | printk(" CPU: %d", raw_smp_processor_id()); |
2bf5ad28 AM |
750 | diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/traps.c |
751 | --- linux-2.6.33/arch/powerpc/kernel/traps.c 2010-02-25 11:51:31.000000000 +0100 | |
752 | +++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100 | |
753 | @@ -918,8 +918,9 @@ void nonrecoverable_exception(struct pt_ | |
d337f35e JR |
754 | |
755 | void trace_syscall(struct pt_regs *regs) | |
756 | { | |
757 | - printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n", | |
2380c486 | 758 | - current, task_pid_nr(current), regs->nip, regs->link, regs->gpr[0], |
d337f35e | 759 | + printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n", |
2380c486 | 760 | + current, task_pid_nr(current), current->xid, |
d337f35e JR |
761 | + regs->nip, regs->link, regs->gpr[0], |
762 | regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted()); | |
763 | } | |
764 | ||
2bf5ad28 AM |
765 | diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/vdso.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/vdso.c |
766 | --- linux-2.6.33/arch/powerpc/kernel/vdso.c 2010-02-25 11:51:31.000000000 +0100 | |
767 | +++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/vdso.c 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a | 768 | @@ -23,6 +23,7 @@ |
d337f35e JR |
769 | #include <linux/security.h> |
770 | #include <linux/bootmem.h> | |
2380c486 | 771 | #include <linux/lmb.h> |
d337f35e JR |
772 | +#include <linux/vs_memory.h> |
773 | ||
774 | #include <asm/pgtable.h> | |
775 | #include <asm/system.h> | |
2bf5ad28 AM |
776 | diff -NurpP --minimal linux-2.6.33/arch/powerpc/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/mm/fault.c |
777 | --- linux-2.6.33/arch/powerpc/mm/fault.c 2010-02-25 11:51:31.000000000 +0100 | |
778 | +++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
779 | @@ -364,7 +364,8 @@ out_of_memory: | |
2380c486 JR |
780 | down_read(&mm->mmap_sem); |
781 | goto survive; | |
782 | } | |
783 | - printk("VM: killing process %s\n", current->comm); | |
784 | + printk("VM: killing process %s(%d:#%u)\n", | |
785 | + current->comm, current->pid, current->xid); | |
786 | if (user_mode(regs)) | |
787 | do_group_exit(SIGKILL); | |
788 | return SIGKILL; | |
2bf5ad28 AM |
789 | diff -NurpP --minimal linux-2.6.33/arch/s390/include/asm/tlb.h linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/tlb.h |
790 | --- linux-2.6.33/arch/s390/include/asm/tlb.h 2009-09-10 15:25:43.000000000 +0200 | |
791 | +++ linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/tlb.h 2010-02-25 12:02:16.000000000 +0100 | |
0411181d AM |
792 | @@ -23,6 +23,8 @@ |
793 | ||
794 | #include <linux/mm.h> | |
795 | #include <linux/swap.h> | |
796 | +#include <linux/vs_memory.h> | |
797 | + | |
798 | #include <asm/processor.h> | |
799 | #include <asm/pgalloc.h> | |
800 | #include <asm/smp.h> | |
2bf5ad28 AM |
801 | diff -NurpP --minimal linux-2.6.33/arch/s390/include/asm/unistd.h linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/unistd.h |
802 | --- linux-2.6.33/arch/s390/include/asm/unistd.h 2010-02-25 11:51:32.000000000 +0100 | |
803 | +++ linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/unistd.h 2010-02-25 12:02:16.000000000 +0100 | |
0411181d AM |
804 | @@ -202,7 +202,7 @@ |
805 | #define __NR_clock_gettime (__NR_timer_create+6) | |
806 | #define __NR_clock_getres (__NR_timer_create+7) | |
807 | #define __NR_clock_nanosleep (__NR_timer_create+8) | |
808 | -/* Number 263 is reserved for vserver */ | |
809 | +#define __NR_vserver 263 | |
810 | #define __NR_statfs64 265 | |
811 | #define __NR_fstatfs64 266 | |
812 | #define __NR_remap_file_pages 267 | |
2bf5ad28 AM |
813 | diff -NurpP --minimal linux-2.6.33/arch/s390/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/s390/Kconfig |
814 | --- linux-2.6.33/arch/s390/Kconfig 2010-02-25 11:51:32.000000000 +0100 | |
815 | +++ linux-2.6.33-vs2.3.0.36.30/arch/s390/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
816 | @@ -629,6 +629,8 @@ source "fs/Kconfig" | |
d337f35e JR |
817 | |
818 | source "arch/s390/Kconfig.debug" | |
819 | ||
820 | +source "kernel/vserver/Kconfig" | |
821 | + | |
822 | source "security/Kconfig" | |
823 | ||
824 | source "crypto/Kconfig" | |
2bf5ad28 AM |
825 | diff -NurpP --minimal linux-2.6.33/arch/s390/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/ptrace.c |
826 | --- linux-2.6.33/arch/s390/kernel/ptrace.c 2010-02-25 11:51:32.000000000 +0100 | |
827 | +++ linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/ptrace.c 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c | 828 | @@ -36,6 +36,7 @@ |
2380c486 | 829 | #include <linux/regset.h> |
ec22aa5c AM |
830 | #include <linux/tracehook.h> |
831 | #include <linux/seccomp.h> | |
d337f35e | 832 | +#include <linux/vs_base.h> |
ec22aa5c AM |
833 | #include <trace/syscall.h> |
834 | #include <asm/compat.h> | |
d337f35e | 835 | #include <asm/segment.h> |
2bf5ad28 AM |
836 | diff -NurpP --minimal linux-2.6.33/arch/s390/kernel/syscalls.S linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/syscalls.S |
837 | --- linux-2.6.33/arch/s390/kernel/syscalls.S 2009-12-03 20:02:03.000000000 +0100 | |
838 | +++ linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/syscalls.S 2010-02-25 12:02:16.000000000 +0100 | |
d337f35e JR |
839 | @@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett |
840 | SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */ | |
841 | SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper) | |
842 | SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,sys32_clock_nanosleep_wrapper) | |
843 | -NI_SYSCALL /* reserved for vserver */ | |
844 | +SYSCALL(sys_vserver,sys_vserver,sys32_vserver) | |
2380c486 | 845 | SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper) |
d337f35e JR |
846 | SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper) |
847 | SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper) | |
2bf5ad28 AM |
848 | diff -NurpP --minimal linux-2.6.33/arch/sh/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/sh/Kconfig |
849 | --- linux-2.6.33/arch/sh/Kconfig 2010-02-25 11:51:32.000000000 +0100 | |
850 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sh/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
851 | @@ -860,6 +860,8 @@ source "fs/Kconfig" | |
d337f35e JR |
852 | |
853 | source "arch/sh/Kconfig.debug" | |
854 | ||
855 | +source "kernel/vserver/Kconfig" | |
856 | + | |
857 | source "security/Kconfig" | |
858 | ||
859 | source "crypto/Kconfig" | |
2bf5ad28 AM |
860 | diff -NurpP --minimal linux-2.6.33/arch/sh/kernel/irq.c linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/irq.c |
861 | --- linux-2.6.33/arch/sh/kernel/irq.c 2010-02-25 11:51:33.000000000 +0100 | |
862 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/irq.c 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a | 863 | @@ -12,6 +12,7 @@ |
d337f35e JR |
864 | #include <linux/kernel_stat.h> |
865 | #include <linux/seq_file.h> | |
7e46296a AM |
866 | #include <linux/ftrace.h> |
867 | +// #include <linux/vs_context.h> | |
d337f35e | 868 | #include <asm/processor.h> |
2380c486 | 869 | #include <asm/machvec.h> |
d337f35e | 870 | #include <asm/uaccess.h> |
2bf5ad28 AM |
871 | diff -NurpP --minimal linux-2.6.33/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/vsyscall/vsyscall.c |
872 | --- linux-2.6.33/arch/sh/kernel/vsyscall/vsyscall.c 2009-03-24 14:18:42.000000000 +0100 | |
873 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/vsyscall/vsyscall.c 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 874 | @@ -19,6 +19,7 @@ |
d337f35e | 875 | #include <linux/elf.h> |
2380c486 JR |
876 | #include <linux/sched.h> |
877 | #include <linux/err.h> | |
d337f35e JR |
878 | +#include <linux/vs_memory.h> |
879 | ||
880 | /* | |
881 | * Should the kernel map a VDSO page into processes and pass its | |
2bf5ad28 AM |
882 | diff -NurpP --minimal linux-2.6.33/arch/sh/mm/fault_32.c linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/fault_32.c |
883 | --- linux-2.6.33/arch/sh/mm/fault_32.c 2009-12-03 20:02:14.000000000 +0100 | |
884 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/fault_32.c 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a | 885 | @@ -292,7 +292,8 @@ out_of_memory: |
4a036bed AM |
886 | down_read(&mm->mmap_sem); |
887 | goto survive; | |
888 | } | |
889 | - printk("VM: killing process %s\n", tsk->comm); | |
890 | + printk("VM: killing process %s(%d:#%u)\n", | |
891 | + tsk->comm, task_pid_nr(tsk), tsk->xid); | |
892 | if (user_mode(regs)) | |
893 | do_group_exit(SIGKILL); | |
894 | goto no_context; | |
2bf5ad28 AM |
895 | diff -NurpP --minimal linux-2.6.33/arch/sh/mm/tlbflush_64.c linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/tlbflush_64.c |
896 | --- linux-2.6.33/arch/sh/mm/tlbflush_64.c 2009-12-03 20:02:14.000000000 +0100 | |
897 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/tlbflush_64.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
898 | @@ -306,7 +306,8 @@ out_of_memory: |
899 | down_read(&mm->mmap_sem); | |
900 | goto survive; | |
901 | } | |
902 | - printk("VM: killing process %s\n", tsk->comm); | |
903 | + printk("VM: killing process %s(%d:#%u)\n", | |
904 | + tsk->comm, task_pid_nr(tsk), tsk->xid); | |
905 | if (user_mode(regs)) | |
906 | do_group_exit(SIGKILL); | |
907 | goto no_context; | |
2bf5ad28 AM |
908 | diff -NurpP --minimal linux-2.6.33/arch/sparc/include/asm/tlb_64.h linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/tlb_64.h |
909 | --- linux-2.6.33/arch/sparc/include/asm/tlb_64.h 2009-09-10 15:25:45.000000000 +0200 | |
910 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/tlb_64.h 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c AM |
911 | @@ -3,6 +3,7 @@ |
912 | ||
913 | #include <linux/swap.h> | |
914 | #include <linux/pagemap.h> | |
915 | +#include <linux/vs_memory.h> | |
916 | #include <asm/pgalloc.h> | |
917 | #include <asm/tlbflush.h> | |
918 | #include <asm/mmu_context.h> | |
2bf5ad28 AM |
919 | diff -NurpP --minimal linux-2.6.33/arch/sparc/include/asm/unistd.h linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/unistd.h |
920 | --- linux-2.6.33/arch/sparc/include/asm/unistd.h 2010-02-25 11:51:34.000000000 +0100 | |
921 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/unistd.h 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c AM |
922 | @@ -335,7 +335,7 @@ |
923 | #define __NR_timer_getoverrun 264 | |
924 | #define __NR_timer_delete 265 | |
925 | #define __NR_timer_create 266 | |
926 | -/* #define __NR_vserver 267 Reserved for VSERVER */ | |
927 | +#define __NR_vserver 267 | |
928 | #define __NR_io_setup 268 | |
929 | #define __NR_io_destroy 269 | |
930 | #define __NR_io_submit 270 | |
2bf5ad28 AM |
931 | diff -NurpP --minimal linux-2.6.33/arch/sparc/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/sparc/Kconfig |
932 | --- linux-2.6.33/arch/sparc/Kconfig 2010-02-25 11:51:33.000000000 +0100 | |
933 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
934 | @@ -561,6 +561,8 @@ source "fs/Kconfig" | |
d337f35e JR |
935 | |
936 | source "arch/sparc/Kconfig.debug" | |
937 | ||
938 | +source "kernel/vserver/Kconfig" | |
939 | + | |
940 | source "security/Kconfig" | |
941 | ||
942 | source "crypto/Kconfig" | |
2bf5ad28 AM |
943 | diff -NurpP --minimal linux-2.6.33/arch/sparc/kernel/systbls_32.S linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_32.S |
944 | --- linux-2.6.33/arch/sparc/kernel/systbls_32.S 2010-02-25 11:51:34.000000000 +0100 | |
945 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_32.S 2010-02-25 12:02:16.000000000 +0100 | |
50e68740 | 946 | @@ -70,7 +70,7 @@ sys_call_table: |
9390b158 | 947 | /*250*/ .long sys_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl |
50e68740 JR |
948 | /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep |
949 | /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun | |
950 | -/*265*/ .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy | |
951 | +/*265*/ .long sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy | |
952 | /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink | |
953 | /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid | |
954 | /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat | |
2bf5ad28 AM |
955 | diff -NurpP --minimal linux-2.6.33/arch/sparc/kernel/systbls_64.S linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_64.S |
956 | --- linux-2.6.33/arch/sparc/kernel/systbls_64.S 2010-02-25 11:51:34.000000000 +0100 | |
957 | +++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_64.S 2010-02-25 12:02:16.000000000 +0100 | |
50e68740 | 958 | @@ -71,7 +71,7 @@ sys_call_table32: |
2bf5ad28 | 959 | /*250*/ .word sys_mremap, compat_sys_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl |
50e68740 JR |
960 | .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep |
961 | /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun | |
962 | - .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy | |
963 | + .word sys_timer_delete, compat_sys_timer_create, sys32_vserver, compat_sys_io_setup, sys_io_destroy | |
964 | /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink | |
965 | .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid | |
966 | /*280*/ .word sys32_tee, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat | |
ec22aa5c | 967 | @@ -146,7 +146,7 @@ sys_call_table: |
50e68740 JR |
968 | /*250*/ .word sys_64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl |
969 | .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep | |
970 | /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun | |
971 | - .word sys_timer_delete, sys_timer_create, sys_ni_syscall, sys_io_setup, sys_io_destroy | |
972 | + .word sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy | |
973 | /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink | |
974 | .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid | |
975 | /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat | |
2bf5ad28 AM |
976 | diff -NurpP --minimal linux-2.6.33/arch/x86/ia32/ia32entry.S linux-2.6.33-vs2.3.0.36.30/arch/x86/ia32/ia32entry.S |
977 | --- linux-2.6.33/arch/x86/ia32/ia32entry.S 2010-02-25 11:51:34.000000000 +0100 | |
978 | +++ linux-2.6.33-vs2.3.0.36.30/arch/x86/ia32/ia32entry.S 2010-02-25 12:02:16.000000000 +0100 | |
1d9ef1d9 | 979 | @@ -777,7 +777,7 @@ ia32_sys_call_table: |
2380c486 JR |
980 | .quad sys_tgkill /* 270 */ |
981 | .quad compat_sys_utimes | |
982 | .quad sys32_fadvise64_64 | |
983 | - .quad quiet_ni_syscall /* sys_vserver */ | |
984 | + .quad sys32_vserver | |
985 | .quad sys_mbind | |
986 | .quad compat_sys_get_mempolicy /* 275 */ | |
987 | .quad sys_set_mempolicy | |
2bf5ad28 AM |
988 | diff -NurpP --minimal linux-2.6.33/arch/x86/include/asm/unistd_64.h linux-2.6.33-vs2.3.0.36.30/arch/x86/include/asm/unistd_64.h |
989 | --- linux-2.6.33/arch/x86/include/asm/unistd_64.h 2010-02-25 11:51:34.000000000 +0100 | |
990 | +++ linux-2.6.33-vs2.3.0.36.30/arch/x86/include/asm/unistd_64.h 2010-02-25 12:02:16.000000000 +0100 | |
ec22aa5c AM |
991 | @@ -535,7 +535,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill) |
992 | #define __NR_utimes 235 | |
993 | __SYSCALL(__NR_utimes, sys_utimes) | |
994 | #define __NR_vserver 236 | |
995 | -__SYSCALL(__NR_vserver, sys_ni_syscall) | |
996 | +__SYSCALL(__NR_vserver, sys_vserver) | |
997 | #define __NR_mbind 237 | |
998 | __SYSCALL(__NR_mbind, sys_mbind) | |
999 | #define __NR_set_mempolicy 238 | |
2bf5ad28 AM |
1000 | diff -NurpP --minimal linux-2.6.33/arch/x86/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/x86/Kconfig |
1001 | --- linux-2.6.33/arch/x86/Kconfig 2010-02-25 11:51:34.000000000 +0100 | |
1002 | +++ linux-2.6.33-vs2.3.0.36.30/arch/x86/Kconfig 2010-02-25 12:02:16.000000000 +0100 | |
1003 | @@ -2083,6 +2083,8 @@ source "fs/Kconfig" | |
d337f35e | 1004 | |
2380c486 | 1005 | source "arch/x86/Kconfig.debug" |
d337f35e JR |
1006 | |
1007 | +source "kernel/vserver/Kconfig" | |
1008 | + | |
1009 | source "security/Kconfig" | |
1010 | ||
1011 | source "crypto/Kconfig" | |
2bf5ad28 AM |
1012 | diff -NurpP --minimal linux-2.6.33/arch/x86/kernel/syscall_table_32.S linux-2.6.33-vs2.3.0.36.30/arch/x86/kernel/syscall_table_32.S |
1013 | --- linux-2.6.33/arch/x86/kernel/syscall_table_32.S 2010-02-25 11:51:35.000000000 +0100 | |
1014 | +++ linux-2.6.33-vs2.3.0.36.30/arch/x86/kernel/syscall_table_32.S 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 JR |
1015 | @@ -272,7 +272,7 @@ ENTRY(sys_call_table) |
1016 | .long sys_tgkill /* 270 */ | |
1017 | .long sys_utimes | |
1018 | .long sys_fadvise64_64 | |
1019 | - .long sys_ni_syscall /* sys_vserver */ | |
1020 | + .long sys_vserver | |
1021 | .long sys_mbind | |
1022 | .long sys_get_mempolicy | |
1023 | .long sys_set_mempolicy | |
2bf5ad28 AM |
1024 | diff -NurpP --minimal linux-2.6.33/arch/xtensa/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/xtensa/mm/fault.c |
1025 | --- linux-2.6.33/arch/xtensa/mm/fault.c 2009-09-10 15:25:48.000000000 +0200 | |
1026 | +++ linux-2.6.33-vs2.3.0.36.30/arch/xtensa/mm/fault.c 2010-02-25 12:02:16.000000000 +0100 | |
4a036bed AM |
1027 | @@ -151,7 +151,8 @@ out_of_memory: |
1028 | down_read(&mm->mmap_sem); | |
1029 | goto survive; | |
1030 | } | |
1031 | - printk("VM: killing process %s\n", current->comm); | |
1032 | + printk("VM: killing process %s(%d:#%u)\n", | |
1033 | + current->comm, task_pid_nr(current), current->xid); | |
1034 | if (user_mode(regs)) | |
1035 | do_group_exit(SIGKILL); | |
1036 | bad_page_fault(regs, address, SIGKILL); | |
2bf5ad28 AM |
1037 | diff -NurpP --minimal linux-2.6.33/Documentation/scheduler/sched-cfs-hard-limits.txt linux-2.6.33-vs2.3.0.36.30/Documentation/scheduler/sched-cfs-hard-limits.txt |
1038 | --- linux-2.6.33/Documentation/scheduler/sched-cfs-hard-limits.txt 1970-01-01 01:00:00.000000000 +0100 | |
1039 | +++ linux-2.6.33-vs2.3.0.36.30/Documentation/scheduler/sched-cfs-hard-limits.txt 2010-02-25 12:02:16.000000000 +0100 | |
7e46296a | 1040 | @@ -0,0 +1,48 @@ |
4a036bed AM |
1041 | +CPU HARD LIMITS FOR CFS GROUPS |
1042 | +============================== | |
1043 | + | |
1044 | +1. Overview | |
1045 | +2. Interface | |
1046 | +3. Examples | |
1047 | + | |
1048 | +1. Overview | |
1049 | +----------- | |
1050 | + | |
1051 | +CFS is a proportional share scheduler which tries to divide the CPU time | |
1052 | +proportionately between tasks or groups of tasks (task group/cgroup) depending | |
1053 | +on the priority/weight of the task or shares assigned to groups of tasks. | |
1054 | +In CFS, a task/task group can get more than its share of CPU if there are | |
1055 | +enough idle CPU cycles available in the system, due to the work conserving | |
1056 | +nature of the scheduler. However in certain scenarios (like pay-per-use), | |
1057 | +it is desirable not to provide extra time to a group even in the presence | |
1058 | +of idle CPU cycles. This is where hard limiting can be of use. | |
1059 | + | |
1060 | +Hard limits for task groups can be set by specifying how much CPU runtime a | |
1061 | +group can consume within a given period. If the group consumes more CPU time | |
1062 | +than the runtime in a given period, it gets throttled. None of the tasks of | |
1063 | +the throttled group gets to run until the runtime of the group gets refreshed | |
1064 | +at the beginning of the next period. | |
1065 | + | |
1066 | +2. Interface | |
1067 | +------------ | |
1068 | + | |
7e46296a | 1069 | +Hard limit feature adds 2 cgroup files for CFS group scheduler: |
4a036bed AM |
1070 | + |
1071 | +cfs_runtime_us: Hard limit for the group in microseconds. | |
1072 | + | |
1073 | +cfs_period_us: Time period in microseconds within which hard limits is | |
1074 | +enforced. | |
1075 | + | |
7e46296a AM |
1076 | +A group gets created with default values for runtime (infinite runtime which |
1077 | +means hard limits disabled) and period (0.5s). Each group can set its own | |
1078 | +values for runtime and period independent of other groups in the system. | |
4a036bed AM |
1079 | + |
1080 | +3. Examples | |
1081 | +----------- | |
1082 | + | |
1083 | +# mount -t cgroup -ocpu none /cgroups/ | |
1084 | +# cd /cgroups | |
1085 | +# mkdir 1 | |
1086 | +# cd 1/ | |
1087 | +# echo 250000 > cfs_runtime_us /* set a 250ms runtime or limit */ | |
1088 | +# echo 500000 > cfs_period_us /* set a 500ms period */ | |
2bf5ad28 AM |
1089 | diff -NurpP --minimal linux-2.6.33/Documentation/vserver/debug.txt linux-2.6.33-vs2.3.0.36.30/Documentation/vserver/debug.txt |
1090 | --- linux-2.6.33/Documentation/vserver/debug.txt 1970-01-01 01:00:00.000000000 +0100 | |
1091 | +++ linux-2.6.33-vs2.3.0.36.30/Documentation/vserver/debug.txt 2010-02-25 12:02:16.000000000 +0100 | |
2380c486 | 1092 | @@ -0,0 +1,154 @@ |
d337f35e | 1093 | + |
2380c486 | 1094 | +debug_cvirt: |
d337f35e | 1095 | + |
2380c486 JR |
1096 | + 2 4 "vx_map_tgid: %p/%llx: %d -> %d" |
1097 | + "vx_rmap_tgid: %p/%llx: %d -> %d" | |
d337f35e | 1098 | + |
2380c486 | 1099 | +debug_dlim: |
d337f35e | 1100 | + |
2380c486 JR |
1101 | + 0 1 "ALLOC (%p,#%d)%c inode (%d)" |
1102 | + "FREE (%p,#%d)%c inode" | |
1103 | + 1 2 "ALLOC (%p,#%d)%c %lld bytes (%d)" | |
1104 | + "FREE (%p,#%d)%c %lld bytes" | |
1105 | + 2 4 "ADJUST: %lld,%lld on %ld,%ld [mult=%d]" | |
1106 | + 3 8 "ext3_has_free_blocks(%p): %lu<%lu+1, %c, %u!=%u r=%d" | |
1107 | + "ext3_has_free_blocks(%p): free=%lu, root=%lu" | |
1108 | + "rcu_free_dl_info(%p)" | |
1109 | + 4 10 "alloc_dl_info(%p,%d) = %p" | |
1110 | + "dealloc_dl_info(%p)" | |
1111 | + "get_dl_info(%p[#%d.%d])" | |
1112 | + "put_dl_info(%p[#%d.%d])" | |
1113 | + 5 20 "alloc_dl_info(%p,%d)*" | |
1114 | + 6 40 "__hash_dl_info: %p[#%d]" | |
1115 | + "__unhash_dl_info: %p[#%d]" | |
1116 | + 7 80 "locate_dl_info(%p,#%d) = %p" | |
1117 | + | |
1118 | +debug_misc: | |
1119 | + | |
1120 | + 0 1 "destroy_dqhash: %p [#0x%08x] c=%d" | |
1121 | + "new_dqhash: %p [#0x%08x]" | |
1122 | + "vroot[%d]_clr_dev: dev=%p[%lu,%d:%d]" | |
1123 | + "vroot[%d]_get_real_bdev: dev=%p[%lu,%d:%d]" | |
1124 | + "vroot[%d]_set_dev: dev=%p[%lu,%d:%d]" | |
1125 | + "vroot_get_real_bdev not set" | |
1126 |