Fix of oops in __ip_conntrack_find.VPS could issue SO_GET_ORIG_DST get sockopt while they have no
ip_conntracks enabled. This leads to oops. Added check to return
-ENOPROTOOPT for such case.
Fixed race on put_files_struct on exec with proc.Restoring files on current on error path may lead to proc holds
pointer on already kfree-d files_struct.
Fix of size charged in UB_KMEMSIZE.Issue found by Alexey Kuznetsov (alexey@openvz.org).
In 2.6.16 some wrong numbers are counted in kmemsize.
The code makes some efforts to calculate right number (objuse),
but does not use the result. Instead it uses allocated size
(obj_size), which is less than even the number shown in
/proc/slabinfo (buffer_size).
Fixed compilation with CONFIG_VE_CALLS=y and CONFIG_PROC_FS=nIssue found by Benedict (chubby):
http://forum.openvz.org/index.php?t=tree&th=384&mid=2161
Do not take task_list_lock in put_task_struct do change nr_dead counter.Putting of task structs is performed via rcu in 2.6.16 and sometimes
tasklist_lock is taken w/o _irq. Made nr_dead atomic since it is not
changed on fast paths.
This patch implements generic hooks for- /proc/meminfo output adjustment
- vm_enough_memory decision adjustment.
Does not depend on VE, UBC or anything else.
It is lockless on calling and thus very fast.
Pids virtualization. Each task has two pids - system andvirtual. If bot VPID_BIT is set - pid is considered to be
virtual. Appropriate cobversions are done in kernel/user
spaces border (proc/syscals).
Process lists routines tune:
for_each_process
do_each_thread
while_each_thread
find_task_by_pid
Some additional openvz-related fixes/changes- disabling of some fast syscalls on ia64
- sys_reboot patch - stop VPS, not reboot machine
- initialization calls
- removed static-s