Open main menu

OpenVZ Virtuozzo Containers Wiki β

Download/kernel/2.6.16/026test017.1/changes

< Download‎ | kernel‎ | 2.6.16‎ | 026test017.1

Contents

Changes

  • CPT bind mounts migration
  • CPT fixes.
  • Mainstream updates up to 2.6.16.27.
  • Added iptables xt_mac target, SysRq debugger.
  • Conntracks fixes.
  • Memory leaks fixes.
  • UBC, VZDQ, compilation fixes.

Config changes

  • +CONFIG_SYSRQ_DEBUG=y

For the complete list of changes in this release, see git changelog for kernel 026test017.


Patches

diff-cpt-bind-mount-20060804

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] support checkpointing of bind mounts

diff-cpt-image-versioning-20060804

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] Image versioning

Boost image version.

diff-cpt-makefile-misprint-20060804

Patch from Pavel Emelianov <xemul@openvz.org>:
Fix CPT module compilation (misprint)

diff-cpt-noub-compile-20060726

Patch from Vasily Tarasov <vtaras@openvz.org>:
[PATCH 2/3] [CPT] Fixes compilation with CONFIG_USER_RESOURCE off

Checkpointing-related fixes.

diff-cpt-timers-20060804

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] timers cleanup, ve suspend cleanup

Timers are totally messed in 2.6.16. This fixes bug with randomly stuck sleeps etc.

Also, the same patch fixes two another critical bugs:

  1. vzctl chkpnt N --suspend; vzctl chkpnt N --resume sometimes kills some applications (f.e. strace bash).
  2. when GFP_KERNEL allocation fails (oom killer), checkpoint can fail and leave some processes frozen.

diff-cpt-ve-suspend-20060804

Patch from Alexey Kuznetsov <alexey@openvz.org>:
VE suspend cleanup

Software suspend breaks some processes, when it fails.

The problem is capital. Core assumes that as soon as signal_pending() is set, the only place where the condition is cleared is signal delivery path. Otherwise, processes can occasionally get bare -ERESTART* and die.

The only solution is to avoid clearing TIG_FREEZE ever, leaving this function to refrigrator(). This requires adding a global (or per-VE) flag.

diff-merge-2.6.16.27-20060804

Patch from OpenVZ team <devel@openvz.org>:
Merged 2.6.16.27 from /linux/kernel/git/stable/linux-2.6.16.y

diff-ms-sock-compile-20060722

Patch from Kir Kolyshkin <kir@openvz.org>:
[x86_64] Compilation fix for net/socket.c

On an x86_64 arch, if CONFIG_NETFILTER is not set, linux/in6.h is not included into net/socket.c and it fails to compile:

net/socket.c: In function 'vz_security_proto_check':
net/socket.c:1106: error: 'IPPROTO_ICMPV6' undeclared (first use in this function)

The fix is to include linux/in6.h explicitly.

OpenVZ bug #206

diff-sysrq-debug-20060719

Patch from Pavel Emelianov <xemul@openvz.org>:
SysRq debugger.

This patch adds small debugger which works via SysRq. With it one can dump memory, resolve kernel symbols and write to memory.

/proc/sysrq-trigger is patched to read more than one character from user, so that debugger works with commands like

echo -n -e 'gd0xc0400000\rq' > /proc/sysrq-trigger

diff-ubc-noub-compile-20060726

Patch from Vasily Tarasov <vtaras@openvz.org>:
[PATCH 1/3] Fixes compilation with CONFIG_USER_RESOURCE off

A misprint in ub_misc.h.

diff-ubc-nrfiles-20060727

Patch from Kirill Korotaev <dev@openvz.org>:
nr_files should not limit VEs

We have UBC numfile limit, so skip global check for VE. Long-term solution is to virtualize nr_files variable.

diff-ubc-nrfiles-fix-20060727

Patch from Pavel Emelianov <xemul@openvz.org>:
Fix for nr_files acct in UB0.

Do not just limit nr_files in UB0 only, but also account.

diff-ve-nf-iptflush-18082006

Patch from Vasily Tarasov <vtaras@openvz.org>:
Iptables bug in ipt_flush_table

One cannot set private->size = 0 in ipt_flush_table() 'cause this value is used in xt_free_table_info() later.

OpenVZ Bug #191.

diff-ve-nf-xt-mac-20060802

Patch from Dmitry Mishin <dim@openvz.org>:
xt_mac iptables match virtualization

OpenVZ forum thread #902

diff-ve-noub-compile-20060726

Patch from Vasily Tarasov <vtaras@openvz.org>:
[PATCH 3/3] Fixes compilation with CONFIG_USER_RESOURCE off

Vecalls-related fixes.

diff-ve-start-time-20060804

Patch from Alexey Kuznetsov <alexey@openvz.org>:
VE start time cleanup

  • start_time is signed value. After migration it can be negative. Respect this.
  • It is possible some processes started before ve->start_time. (f.e. migrated VE processes from viewpoint of VE0 or processes forked before VE creation and entering it later). The only sane solution is to show in /proc zero times.
  • Set ve->start_time to sane value, so that init does not have negative start time.
  • Deprecate ve->start_jiffies. It is uses only for ve_cpu_stats now.

diff-vzdq-sync-list-empty-20060714

Patch from Pavel Emelianov <xemul@openvz.org>:
[VZDQ] Fix __vzquota_sync_list() list manipulations

After schedule() on need_resched() need to check for list_empty() again. (#65333)

diff-cpt-fget-errorcode-20060707

Patch from Pavel Emelianov <xemul@openvz.org>

[CPT] fget() call returns NULL on error

cpt code expected ERR_PTR values and thus could oops (#64758)

diff-fairsched-vcpu-sched-comp-fix-20060707

Patch from Pavel Emelianov <xemul@openvz.org>:
Compilation fix for CONFIG_FAIRSCHED=n and CONFIG_SCHED_VCPU=y.

This is the first (and the easiest) part of OpenVZ Bug #173.

diff-initcall-err-warn-20060706

Patch from Pavel Emelianov <xemul@openvz.org>:
Print warning if some initcall returned error.

Stop booting the kernel is not correct, but sometimes it's necessary to know that some initcall failed.

diff-merge-2.6.16.24-20060714

Patch from OpenVZ team <devel@openvz.org>:
Merged 2.6.16.24 from /linux/kernel/git/stable/linux-2.6.16.y

diff-ms-fdset-leakage-20060710

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[PATCH] fdset's leakage

When found, it is obvious. nfds calculated when allocating fdsets is rewritten by calculation of size of fdtable, and when we are unlucky, we try to free fdsets of wrong size.

There is a little problem there, the bug is triggered only under certain combination of initial values for max_fdset and max_fds. They were changed recently, so that bug may be invisible in current mainstream (well, it was invisible because of absence of UBC in any caseĀ :-)). Nevertheless, it remains logical bug.

diff-ms-namei-leak-20060710

Patch from Alexey Kuznetsov <alexey@openvz.org>:
Memory leak in fs/namei.c

2.6.16 leaks like hell. While testing, I found massive leakage in:

  • filp
  • size-4096

And 1 object leaks in

  • size-32
  • size-64
  • size-128

Bug #63420.

diff-ubc-headers-20060704

Patch from Kirill Korotaev <dev@openvz.org>:
Fix of UBC headers.

config.h should not be included from user space.

diff-ve-ct-destroy-ctx-20060707

Patch from Dmitry Mishin <dim@openvz.org>:
Fixed vzmond cycling due to wrong conntracks cleanup context. Bug #64713.

diff-ve-netdevice-move-20060712

Patch from Pavel Emelianov <xemul@openvz.org>:

Call notifiers on netdevice moving.

When device moves from ve to ve0 or vice-versa NETDEV_UNREGISTER/NETDEV_REGISTER events must be sent. This at least clears dst entries from device.

Bug #64925.

diff-ve-net-tcp-hashes-access-20060707

Patch from Pavel Emelianov <xemul@openvz.org>:
Check for inet_bin_bucket owner in inet(6)_hash_connect.

Noticed by Andrey Savochkin.