Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Download/kernel/2.6.8/022stab044.1/changes

27,323 bytes added, 22:59, 21 March 2008
created
== Changes ==
* Added multiple quota points inside VPS support
* Added /proc/vz/devperms with VPS device permisions
* Mainstream fixes (proc serialization, emt64)
* Finished merging x86-64 patches
* Removed fairscheduler debug/started its optimization
* Fairscheduler CPU limit and AMD lockup fixes
* Multiple drivers updates
=== Compatibility ===
* Changed location of kernel provided quota files. For more info, see [[#diff-vzdq-quotafile-20050929|comment to diff-vzdq-quotafile-20050929 patch]].
<includeonly>[[{{PAGENAME}}/changes#Configs|{{Long changelog message}}]]</includeonly><noinclude>
=== Configs ===
Same as {{kernel link|2.6.8|022stab038.1}} plus:
* +<code>CONFIG_FORCEDETH=m</code>
* +<code>CONFIG_ACPI=y</code>
* +<code>CONFIG_GART_IOMMU=y</code> (in x86-64)
* +<code>CONFIG_MEGARAID_NEWGEN=y</code>
* +<code>CONFIG_MEGARAID_MM=y</code>
* +<code>CONFIG_MEGARAID_MAILBOX=y</code>
* +<code>CONFIG_SCSI_MEGARAID</code> is removed
=== Patches ===
==== diff-vzdq-quotafile-20050929 ====
<div class="change">Patch from Andrey:

This patch reimplements /proc/vz/vzaquota - a directory containing
entries for each vzquota-enabled superblock with aquota.user and
aquota.group files.

The goal is to support standard quota tools and allow VPSs
to have multiple quota partitions.

Entries in /proc/vz/vzaquota are device numbers of the superblocks
(a single 32-bit hexadecimal value as returned by sys_stat64, not
a major-minor pair).

No VE start/stop hooks are used in this implementation.
Compilation with unusual config options was fixed where I noticed.
</div>

==== diff-proc-locks-20050930 ====
<div class="change">Patch from Pavel:<br/>
Serializes access to proc tree with rwsem.
</div>

==== diff-proc-moduleget-20050930 ====
<div class="change">Patch from Denis:

This patch fixes incorrect error path in proc_get_inode(),
when module can't be get due to it's being unloaded.
When try_module_get() fails, this function puts de(!) and
still returns inode with non-getted de.
</div>

==== diff-ubc-vmamerge-20050930 ====
<div class="change">Patch from Alexey:<br/>
Fix NULL dereference in vma_merge.

It is funny how gcc compiled it. gcc figured out that the pointer
can be NULL sometimes and compiled a separate(!) block for this case,
which was optimized to understand that the pointer is NULL.
</div>

==== diff-emt64-pagefault-mmsem-20050930 ====
<div class="change">Patch from mainstream, noted by Alexey (alexey):<br/>
[PATCH] x86-64: avoid deadlock in page fault handler

Avoid deadlock when kernel fault happens inside mmap sem.

http://linux.bkbits.net:8080/linux-2.6/cset@1.1923.12.26?nav=index.html|src/|src/arch|src/arch/x86_64|src/arch/x86_64/mm|related/arch/x86_64/mm/fault.c
</div>

==== diff-emt64-pteindex-20050930 ====
<div class="change">Patch from Alexey:<br/>
EMT64: add missing () around arguments of pte_index macro
</div>

==== diff-ubc-emt64-argpages-fix-20050929 ====
<div class="change">Patch from Pavel:

This patch fixes UBC accounting on x86-64 to ia32 emulation
when setup of arg pages is performed. Previous patch
was broken.
</div>

==== diff-fairsched-singlelock-20050929 ====
<div class="change">Patch from Kirill:<br/>
This patch is from fairsched performance improving series:
* it removes vsched-&gt;lock merging it with fairsched_lock. This greatly reduces number of locks on hot schedule path
* this also prepares code for balancing activation
* remove wrong BUG_ON in vcpu_put. on schedule_vcpu() restart VCPU can be already get...
* show_vsched() requires oops_in_progress when debug patches are dropped
</div>

==== diff-vzdq-emt64-casts-20050929 ====
<div class="change">Patch from Pavel:

Type "int" can not be just casted (by gcc) to type "void *".
Need to recast it via "unsigned long".
</div>

==== diff-ve-emt64-ipc-compile-20050929 ====

<div class="change">Patch from Pavel:

This adds missed include &lt;linux/ve_owner.h&gt; to ipc
to make it compile on x86-64.
</div>

==== diff-compat-emt64t-compile-20050929 ====
<div class="change">Patch from Pavel:

Just add #include &lt;linux/namespace.h&gt; to kernel/compat.c
to make it compile.
</div>

==== diff-ubc-compile-20050929 ====
<div class="change">Patch from Pavel:

Replace include &lt;ub/ub_task.h&gt; from asm/thread_info.h into
linux/sched.h - where it is really needed. This patch makes
kernel to be compilable on non-i386 arches.
</div>

==== diff-emt64-quotactl32-20041102 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] x86_64: Add 32bit quota support

[untested, but other 64bit ports seem to get away with it]

sys_quotactl seems to be 32/64bit clean, enable it for 32bit.

Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;

http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.302.19?nav=index.html|src/|src/arch|src/arch/x86_64|src/arch/x86_64/ia32|related/arch/x86_64/ia32/ia32entry.S
</div>

==== diff-ve-devpermexp-20050928 ====
<div class="change">Patch from Andrey:

This patch exports get_device_perm_ve to be used in vzdq_file
(check of allowed devices for /proc/vz/vzaquota).
</div>

==== diff-emt64-p4nmisetup-20050916 ====
<div class="change">Patch from Pavel:

Ported part of patch from mainstream that initializes
apic nmi watchdog for P4 CPU. This fixes strange oopses when
NMI is ON on EMT64.

Bug 51143.<br/>
Bug 51206.
</div>

==== diff-fairsched-ia64-syscalls-20050927 ====
<div class="change">Patch from Andrey:<br/>
This patch adds fairsched syscalls on ia64.
</div>

==== diff-ubc-ia64-syscalls-20050927 ====
<div class="change">Patch from Andrey Mirkin:<br/>
This patch adds UBC syscalls on ia64.
</div>

==== diff-ve-devfullperms-20050927 ====
<div class="change">Patch from Dmitry:<br/>
added permissions on /dev/full to default VPS set.

Bug 51512.
</div>

==== diff-security-emt64-nisc-20050905 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] Buffer overrun in arch/x86_64/sys_ia32.c:sys32_ni_syscall()

struct task_struct.comm is defined to be 16 chars, but
arch/x86_64/sys_ia32.c:sys32_ni_syscall() and sys32_vm86_warning() copy it
into a static 8 byte buffer, which will surely cause problems. This patch
makes lastcomm[] the right size, and makes sure it can't be overrun. Since
the code also goes to the effort of getting a local copy of current in "me",
we may as well use it for printing the message.

Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br/>
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</div>

==== diff-proc-cpuphysid-20050905 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] x86[64]: display phys_proc_id only when it is initialized

phys_proc_id gets initialized only when (smp_num_siblings &gt; 1). But gets
printed even when (smp_num_siblings == 1). As a result we print incorrect
physical processor id in /proc/cpuinfo, when HT is disabled.

Signed-off-by:: "Venkatesh Pallipadi" &lt;venkatesh.pallipadi@intel.com&gt;<br/>
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</div>

==== diff-emt64-lostegdeirq-up-20050905 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] x86_64: Fix lost edge triggered irqs on UP kernel

There are problems with IDE disks while running UP kernel on
x86-64 - it complained a lot about lost irq from hda/hdc. At enable_irq() code
calls hw_resend_irq(), but on x86-64 hw_resend_irq() does something useful only
when CONFIG_SMP is defined, on UP systems it does nothing. Due to this IRQ is
lost - and when IDE retries command, it can again happen
that IRQ is delivered before IDE code does enable_irq(), and again and
again, unless due to drive being lazy finally once kernel does enable_irq()
before drive prepares its answer, and things move forward ... to next lost
IRQ.

Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;<br/>
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</div>

==== diff-tty-compatioctls-20050905 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] x86_64: no TIOCSBRK/TIOCCBRK in ia32 emulation

In ia32 emulation, the amd64 kernel refuses the ioctls TIOCSBRK and
TIOCCBRK with EINVAL. I've attached a patch that adds them to the
compatibility list.

Since all architectures have these ioctls ("m68knommu" inherits them from
"m68k", "um" from its host) and use the same code, I think adding them to
compat_ioctl.h is the correct choice (as opposed to adding them to
arch/x86_64/ia32/ia32_ioctl.c).

Signed-off-by: Werner Almesberger &lt;werner@almesberger.net&gt;<br/>
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</div>

==== diff-fs-quotcompat-20050927 ====
<div class="change">Patch from Kir:<br/>
Due to missing #ifdef kernel won't compile if
CONFIG_QUOTA_COMPAT is not set.
</div>

==== diff-ve-ip-conntrack-init-20050926 ====
<div class="change">Patch from Dmitry:<br/>
fixed built-in compilation of netfilters

{{Bug|40}}.
</div>

==== diff-ve-ipc-shm-20050914 ====
<div class="change">Patch from Andrey Mirkin:

This patch removes obsolete macros from ipc/shm.c.
It is necessary to remove these macros because on emt64 arch
there are no free space after shmid_kernel
struct for additional pointer.
</div>

==== diff-ve-ia64-taskvisibility-20050915 ====
<div class="change">Patch from Andrey Mirkin, modified by Kirill:

This patch fixes ia64 tasks accessing code:
do_each_thread/for_each_process/find_task_by_pid
</div>

==== diff-ubc-ia64-execprio-20050915 ====
<div class="change">Patch from Andrey:<br/>
This patch adds UBC EXECPRIO flag to ia64 arch.
</div>

==== diff-ubc-warnbadzap-20050921 ====
<div class="change">Patch from Andrey Mirkin:<br/>
This patch fixes compilation of warn_bad_zap when UBC=n.
</div>

==== diff-ve-ip-conntrack-debug-20050922 ====

<div class="change">Patch from Dmitry:<br/>
fixed compilation with CONFIG_NETFILTER_DEBUG enabled
</div>

==== diff-ubc-dcachenoubc-20050923 ====
<div class="change">Patch from Pavel:

ub_dentry_charge() should drop dentry.d_lock and rcu_read_lock.
Without UBCs compiled kernel gets stuck on the first lookup.
</div>

==== diff-ubc-ia64-discontig-20050923 ====
<div class="change">Patch from Pavel:

When CONFIG_DISCONTIGMEM is ON mem_map symbol is not present,
so pb_hash function refused to compile. It's ok
to use page_to_pfn() macro in pb_hash() to calculate hash
in both cases with and without DISCONTIGMEM.

</div>

==== diff-ve-procdevperms-20050923 ====
<div class="change">Patch from Pavel:

This patch adds /proc/vz/devperms proc file to vzmon module.
It shows device permissions per VPS.
File line format is
&lt;veid&gt; [bc] &lt;perm&gt; &lt;maj&gt;:(&lt;min&gt;|*)
</div>

==== diff-ve-procdevperms-20050930 ====
<div class="change">Patch from Pavel:<br/>
Fixup of /proc/vz/devperms output
</div>

==== diff-ve-emt64-utsname-20050930 ====
<div class="change">Patch from Alexey:<br/>
Virtualize utsname on EMT64, port from i386
</div>

==== diff-fairsched-sync-20051014 ====

<div class="change">Patch from Kirill:

This patch replaces temporary diff-fairsched-amd-20051010,
which fixed a problem with AMD processors described below.

Correct solution is to keep both fairscheduler and vsched
in sync, i.e. having node-&gt;pcpus corresponding to the number
of running VCPUs. So fairsched will select node for scheduling
_only_ if it have an active selectable VCPU. The whole
restart path in one place has gone.
</div>

==== diff-ubc-user-compile-20051014 ====
<div class="change">Patch from Pavel:<br/>
* Remove kernel specific structure from userspace view;
* Add missed struct (ubstatfull_t). It was missed because it was not used in kernel code at all.

Bug 52195.
</div>

==== diff-ve-percpu-lat-opt-20051014 ====
<div class="change">Patch from Pavel:

Small optimization for per-cpu scheduling latency accounting:
* Move lock in kstat_lat_pcpu_struct into structure with statistic fields to make them fit one cacheline;
* Make the structure cacheline aligned.
</div>

==== diff-ve-percpu-lat-fix-20051010 ====
<div class="change">Patch from Pavel:

This patch fixes per cpu sched latency accounting:
seq_counts were not protected for writers.
This caused readers to hang in reading loop for ever.
</div>

==== diff-fairsched-cleanup-20051010 ====
<div class="change">Patch from Kirill:<br/>
small cleanups in sched.c
</div>

==== diff-ms-rlimit-memlock-20050519 ====
<div class="change">Patch from mainstream:

This patch fixes a RLIMIT_MEMLOCK issue,
which is not a security actually in VZ due to UBC.

http://securityfocus.org/archive/1/386376/2005-01-07/2005-01-13/0

Bug 42254.
</div>

==== diff-ve-ia64-config-openvz-20051003, ====
==== diff-ubc-ia64-config-20051003, ====
==== diff-fairsched-ia64-config-20051003 ====
<div class="change">Patch from Andrey Mirkin:<br/>
Set of patches to add vz options in arch/ia64/Kconfig
</div>

==== diff-ms-sig-compat-20051007 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] compat: sigtimedwait
* Merge sys32_rt_sigtimedwait function in X86_64, IA64, PPC64, MIPS, SPARC64, S390 32 bit layer into 1 compat_rt_sigtimedwait function. It will also fix a bug of copy wrong information to 32 bit userspace siginfo structure on X86_64, IA64 and SPARC64 when calling sigtimedwait on 32 bit layer.
* Change all name the of siginfo_t32 structure in X86_64, IA64, MIPS, SPARC64 and S390 to the name compat_siginfo_t as used in PPC64.
* Patch introduced a macro __COMPAT_ENDIAN_SWAP__ in include/asm-mips/compat.h when MIPS kernel is compiled in little-endian mode. This macro is used to do byte swapping in function sigset_from_compat.
* This patch is only tested on X86_64 and IA_64.

Signed-off-by: Zou Nan hai &lt;Nanhai.zou@intel.com&gt;<br/>
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</div>

==== diff-ms-emt64-tasksize-20051007 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes

Appended patch will setup compatibility mode TASK_SIZE properly. This will
fix atleast three known bugs that can be encountered while running
compatibility mode apps.

<li>A malicious 32bit app can have an elf section at 0xffffe000. During
exec of this app, we will have a memory leak as insert_vm_struct() is
not checking for return value in syscall32_setup_pages() and thus not
freeing the vma allocated for the vsyscall page. And instead of exec
failing (as it has addresses &gt; TASK_SIZE), we were allowing it to
succeed previously.

<li>With a 32bit app, hugetlb_get_unmapped_area/arch_get_unmapped_area
may return addresses beyond 32bits, ultimately causing corruption
because of wrap-around and resulting in SEGFAULT, instead of returning
ENOMEM.

* 32bit app doing this below mmap will now fail.
<source lang="c">
mmap((void *)(0xFFFFE000UL), 0x10000UL, PROT_READ|PROT_WRITE,
MAP_FIXED|MAP_PRIVATE|MAP_ANON, 0, 0);</code>
</source>

Signed-off-by: Zou Nan hai &lt;nanhai.zou@intel.com&gt;<br/>
Signed-off-by: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;<br/>
Cc: Andi Kleen &lt;ak@muc.de&gt;<br/>
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;

GIT: 84929801e14d968caeb84795bfbb88f04283fbd9<br/>
http://www.kernel.org/git/?p=linux/kernel/git/chrisw/linux-2.6.13.y.git;a=commitdiff;h=84929801e14d968caeb84795bfbb88f04283fbd9
</div>

==== diff-ms-sendfile-20051007 ====
<div class="change">Patch from mainstream, ported by Pavel:

If we use 64bit kernel on ia64/x86_64/s390 architecture, and we run
32bit binary on 32bit compatibility mode, sendfile system call seems
not set offset argument.

This is because sendfile's return value is not zero but the code
regards the result by return value is zero or not.

This problem will affect ia64/x86_64/s390 and not affect
other architectures (mips/parisc/ppc64/sparc64).
</div>

==== diff-ve-emt64-veprintk-20051010 ====
<div class="change">Patch from Pavel:

Some info-printk can be triggered by userspace process.
No need to spoil main logbuf.
</div>

==== diff-mainstream-emt64-irqboot-20051010 ====
<div class="change">Patch from mainstream:

Disable interrupts during SMP bogomips checking.
This happend on our machines: when bogomips were
counted IRQ hapanned, ran timers and oopsed.

Bug 51987.
</div>

==== diff-vzdq-cleanup-20051010 ====

<div class="change">Patch from Kirill:<br/>
Small cleanup of VZDQ after recent changes by Andrey
</div>

==== diff-mainstream-forcedeath-20050911 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] forcedeth: Initialize link settings in every nv_open()

Rdiger found a bug in nv_open that explains some of the reports
with duplex mismatches:<br/>
nv_open calls nv_update_link_speed for initializing the hardware link speed
registers. If current link setting matches the values in np-&gt;linkspeed and
np-&gt;duplex, then the function does nothing.

Usually, doing nothing is the right thing, but not in nv_open: During
nv_open, the registers must be initialized because the nic was reset.

The attached patch fixes that by setting np-&gt;linkspeed to an invalid value
before calling nv_update_link_speed from nv_open.

Signed-Off-By: Manfred Spraul &lt;manfred@colorfullife.com&gt;<br/>
Signed-off-by: Jeff Garzik &lt;jgarzik@pobox.com&gt;<br/>
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;

http://www.kernel.org/git/?p=linux/kernel/git/chrisw/linux-2.6.13.y.git;a=commitdiff;h=2498037d5a6668b733acc712a3106ffd4e1ef735
</div>

==== diff-ubc-flowcontrol-20051005 ====
<div class="change">Patch from Denis:

This patch fixes skb-&gt;truesize assignment, synchronizing it with
mainstream. The problem was observed by Alexey and concerns
TCP window size, which was improperly get as 48k instead of 64k by default.
UBC accouting is unchanged.
</div>

==== diff-venet-netdev-tunbc-20051010 ====
<div class="change">Patch from Denis:

This patch fixes UBC accounting in tun.c in accordance with
diff-ubc-flowcontrol-20051005
</div>

==== diff-ve-virtpid-sysctl-20050919 ====
<div class="change">Patch from Alexander:

This patch adds sysctl to enable/disable pid virtualization
on VPS start.
</div>

==== diff-mainstream-dethread-20051005 ====
<div class="change">Patch from mainstream:<br/>
[PATCH] Fix fs/exec.c:788 (de_thread()) BUG_ON

It turns out that the BUG_ON() in fs/exec.c: de_thread() is unreliable
and can trigger due to the test itself being racy.
And actually there is no need for all threads to have exited at this
point, so we simply kill the BUG_ON.

Signed-off-by: Alexander Nyberg &lt;alexn@telia.com&gt;<br/>
Cc: Roland McGrath &lt;roland@redhat.com&gt;<br/>
Cc: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;<br/>
Acked-by: Andi Kleen &lt;ak@suse.de&gt;<br/>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;<br/>
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;
</div>

==== diff-ve-percpu-lat-show-20051003 ====
<div class="change">Patch from Pavel:

Adds necessary corrections into functions that
show scheduling statistics to work with new per-cpu stats.
</div>

==== diff-ve-percpu-lat-sched-20051003 ====
<div class="change">Patch from Pavel:

This patch makes schedule() use kstat_lat_pcpu_struct to store
info about scheduling latencies. This makes possible to avoid
taking kstat_glob_lock in schedule().
</div>

==== diff-ve-percpu-lat-20051003 ====
<div class="change">Patch from Pavel:

Adds kstat_lat_pcpu_struct to account latencies per-cpu.
It will be used in schedule() to avoid using kstat_glob_lock.
</div>

==== diff-fairsched-cyclescmp-20051007 ====
<div class="change">Patch from Dmitry:

This patch adds cycles CMP macros. Just small cleanup and
avoids possible cycles wrap around (though unlikely to happen ever).
</div>

==== diff-ve-emt64-veprintk-20051003 ====

<div class="change">Patch from Pavel:

Some calls of printk() can be triggered by userspace process.
No need to spoil main logbuf.
</div>

==== diff-compat-dqaccess-20051005 ====
<div class="change">Patch from Andrey:<br/>
This is part of diff-ve-devnum-20051005 changes.
</div>

==== diff-ve-devnum-20051005 ====
<div class="change">Patch from Andrey:

This patch transfers bits 8..11 of unnamed device minor into major,
using additional major numbers, which is currently enough for 1000 VEs.
It is needed as a bandaid for coreutils (e.g., mknod) that still cannot
use minor or major numbers &gt;= 256; mknod on unnamed devices is used
for support of second level quota inside VE.
</div>

==== diff-fairsched-lock-20051006 ====
<div class="change">Patch from Pavel:

When CONFIG_FAIRSCHED is not set fairsched_lock is not present in
kernel, but vcpu scheduler uses it to synchronize it's own stuff.
Added spinlock with the same name nuder appropriate #ifdef having
nothing better in mind.
</div>

==== diff-fairsched-shownode-20051006 ====
<div class="change">Patch from Pavel, modified by Kirill:<br/>
This patch fixes show_vsched() to be compilable w/o fairsched support.
</div>

==== diff-ubc-ia64-ubalign-20051005 ====
<div class="change">Patch from Pavel:<br/>
On IA64 reading ubc pointer from slab sometimes causes
"unaligned access" exception.

UBC-in-slab pointers must be sizeof(void *)-aligned.
</div>

==== diff-fairsched-migrateall-20051007 ====
<div class="change">Patch from Kirill:

This patch replaces std migrate_all_tasks() with own
version for VCPU scheduler. It doesn't migrate any tasks now,
just do sanity checks. It fixes compilation of IA64 kernel,
since it used cpu_to_node() macro before...
</div>

==== diff-fairsched-cpulimit-fix-20051006 ====
<div class="change">Patch from Dmitry:<br/>
This patch fixes CPU limiting issues in fairsched due to:

* misprint in fairsched_delayed_insert()
* TSC deviation on different CPUs on test machines

Bug 51563.<br/>
Bug 50457.
</div>

==== diff-ubc-ia64-argpages-20051006 ====
<div class="change">Patch from Pavel:<br/>
Same as in x86_64: need to charge arg pages
set up for ia32 elf binary.
</div>

==== diff-ve-devperm-ve0quouta-20051003 ====
<div class="change">Patch from Pavel:

This patch adds necessary permissions to default devperms for VE0
to make std quota tools work inside VE0.
</div>

==== diff-ve-devpermcod-20051003 ====
<div class="change">Patch from Andrey:

This patch fixes kernel device representation (decoded device)
passed to get_device_perms_ve() in sys_ustat().
</div>

==== diff-ve-fairsched-cpuhz-20051004 ====
<div class="change">Patch from Pavel:

When CONFIG_FAIRSCHED is off vz_scale_khz is unresolved. Fixed.
</div>

==== diff-fairsched-compile-20051004 ====
<div class="change">Patch from Pavel:

When CONFIG_FAIRSCHED is not set syscall sys_fairsched_rate()
is not found.
</div>

==== diff-scsi-mpt-fusion-20050927 ====
<div class="change">Patch from Andrey Mirkin and Vasily:

This patch fixes mpt fusion scsi driver stalling while booting.
This patch should be applied in RPMs.
</div>

==== diff-sis900-20051014 ====
<div class="change">Patch from Konstantin:

Patch solves following problems:
* Forgotten counter incrementation in sis900_rx() in case it doesn't get memory for skb, that leads to whole interface failure. Problem is accompanied with messages:
eth0: Memory squeeze,deferring packet.
eth0: NULL pointer encountered in Rx ring, skipping
* If counter cur_rx overflows and there'll be temporary memory problems buffer can't be recreated later, when memory IS avaliable.
* Limit the work in handler to prevent the endless packets processing if new packets are generated faster then handled.

In -mm tree: sis900-come-alive-after-temporary-memory-shortage.patch

Signed-off-by: Konstantin Khorenko &lt;khorenko@sw.ru&gt;<br/>
Signed-off-by: Vasily Averin &lt;vvs@sw.ru&gt;<br/>
Signed-off-by: Daniele Venzano &lt;venza@brownhat.org&gt;<br/>
Cc: Jeff Garzik &lt;jgarzik@pobox.com&gt;<br/>
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
</div>

==== diff-ms-emt64-vsyscallpage-20051020 ====
<div class="change">Patch from mainstream, ported by Pavel:<br/>
Use a real VMA to map the 32bit vsyscall page.

This fixes leaking of syscall32 page table entries.

This is a merge of two patches:
* http://linux.bkbits.net:8080/linux-2.6/gnupatch@426190c0jIWfJszmtRyve_sS54stBA
* http://linux.bkbits.net:8080/linux-2.6/gnupatch@42d8a17bSjq2vappsj28igsPPgWpLQ
</div>

==== diff-ubc-debug-types-20051018 ====
<div class="change">Patch from Pavel:

Since ub_pages_charged and ub_vmalloc_charged are per-cpu they
can sometimes be negative. According type (long instead of unsigned
int) is needed and appropriate struts in ubd_show() (print this
info into proc file) function.
</div>

==== diff-ms-tcpstackusg-20050222 ====
<div class="change">Patch from mainstream, ported by Denis:<br/>
[TCP]: Fix excessive stack usage resulting in OOPS with 4KSTACKS.

Various routines were putting a full struct tcp_sock on
the local stack. What they really wanted was a subset
of this information when doing TCP options processing
when we only have a mini-socket (for example in SYN-RECVD
and TIME_WAIT states).

Therefore pull out the needed information into a sub-struct
and use that in the TCP options processing routines.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@conectiva.com.br&gt;<br/>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</div>

==== diff-ve-legacyptys-20051018 ====
<div class="change">Patch from Dmitry, bug found by Benedikt Boehm:

added neccessary #ifdef for compilation with
disabled CONFIG_LEGACY_PTYS

{{Bug|52}}.
</div>

==== diff-ve-kconfig-deps-20051018 ====
<div class="change">Patch from Dmitry, idea of Solar Designer:

CONFIG_SECURITY and CONFIG_VE are excludable options,
since LSMs may break VZ security model.
So made it excludable in Kconfig.
</div>

==== diff-ubc-ia64-charges-20051014 ====
<div class="change">Patch from Pavel:

This patch adds necessary charging of memory in loading
elf binaries for both ia64 and ia32 emulation.
</div>

==== diff-vzdq-ia64-taskcurqmblk-20051017 ====
<div class="change">Patch from Pavel:

On ia64 space right after struct thread_info is used
to store registers. Quota overwrote these fields to
store its own magic and inode pointer. Now theses
values are stored right on task_struct in normal way.
</div>

==== diff-ms-iomem-20051020 ====
<div class="change">Patch from mainstream, prepared by Kirill:<br/>
Adds ioperm annotations required for new drivers.
</div>

==== diff-nthpage-ms-20051020 ====

<div class="change">Patch from Pavel:

required kernel subsystems update for following
libata and megaraid updates

Bug 52529.<br/>
Bug 52530.
</div>

==== diff-megaraid-20051020 ====
<div class="change">Patch from Pavel:<br/>
megaraid driver is updated to 2.20 version

Bug 52530.<br/>
http://forum.openvz.org/index.php?t=rview&amp;goto=246#msg_246
</div>

==== diff-libata-20051020 ====
<div class="change">Patch from Pavel:<br/>
libata updated to 1.11 version

Bug 52529.<br/>
http://forum.openvz.org/index.php?t=rview&amp;goto=256#msg_256
</div>

==== diff-ms-sx8-20040912 ====
<div class="change">Patch from mainstream:<br/>
2004/09/12 10:30:42-07:00 torvalds@evo.osdl.org

Stricter PCI IO space type checking uncovered a bug in sx8 driver.
Forgot to add in the mmio base..
</div>

</noinclude>