<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openvz.org/index.php?action=history&amp;feed=atom&amp;title=Download%2Fkernel%2Frhel4%2F023stab044.4%2Fchanges</id>
	<title>Download/kernel/rhel4/023stab044.4/changes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openvz.org/index.php?action=history&amp;feed=atom&amp;title=Download%2Fkernel%2Frhel4%2F023stab044.4%2Fchanges"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab044.4/changes&amp;action=history"/>
	<updated>2026-06-14T00:03:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab044.4/changes&amp;diff=7757&amp;oldid=prev</id>
		<title>Kir: Protected &quot;Download/kernel/rhel4/023stab044.4/changes&quot;: Robot: Protecting a list of files. [edit=autoconfirmed:move=autoconfirmed]</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab044.4/changes&amp;diff=7757&amp;oldid=prev"/>
		<updated>2009-10-22T18:27:53Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/Download/kernel/rhel4/023stab044.4/changes&quot; title=&quot;Download/kernel/rhel4/023stab044.4/changes&quot;&gt;Download/kernel/rhel4/023stab044.4/changes&lt;/a&gt;&amp;quot;: Robot: Protecting a list of files. [edit=autoconfirmed:move=autoconfirmed]&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:27, 22 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Kir</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab044.4/changes&amp;diff=5079&amp;oldid=prev</id>
		<title>Kir: created</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab044.4/changes&amp;diff=5079&amp;oldid=prev"/>
		<updated>2008-03-20T09:56:37Z</updated>

		<summary type="html">&lt;p&gt;created&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Changes ==&lt;br /&gt;
* Rebased on 2.6.9-55.el4 (RHEL4u5)&lt;br /&gt;
* Backported some patches from 2.6.18 (fairsched optimizations, fixes in vzquota, smbfs etc).&lt;br /&gt;
* Lots of driver updates.&lt;br /&gt;
&lt;br /&gt;
=== Config changes ===&lt;br /&gt;
Same as {{Kernel link|rhel4|023stab043.2}}, plus:&lt;br /&gt;
&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_ATA=y&amp;lt;/code&amp;gt; (sata drivers update up to 2.0 version)&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_R8169_NAPI=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_QLA3XXX=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_SENSORS_SMSC47B397=m&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_EDAC_K8=m&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[{{PAGENAME}}/changes#Updated drivers|{{Long changelog message}}]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
=== Updated drivers ===&lt;br /&gt;
* The Intelligent Input/Output (I2O) layer (memory leaks, infinite loop fix, controller's message frame leak)&lt;br /&gt;
* Areca RAID Controller driver (arcmsr driver 1.20.0X.13-61107 version)&lt;br /&gt;
* 3ware 9000 Storage Controller driver (3w-9xxx driver 2.26.05.007 version)&lt;br /&gt;
* Qlogic 21xx/22xx/2300/2312/2322/6312/6322 Host Adapter driver (qla2xxx drivers 8.01.04-d8-rh1 version)&lt;br /&gt;
* LSI Logic MegaRAID SAS RAID driver (megaraid_sas driver 00.00.03.05)&lt;br /&gt;
* LSI Logic Management Module (megaraid_mm driver 2.20.2.6rh version)&lt;br /&gt;
* LSI Logic Fusion MPT driver (mptbase driver 3.02.73rh version)&lt;br /&gt;
* Compaq Smart Array 5xxx Controller driver (cciss driver 2.6.14 version)&lt;br /&gt;
* SuperTrak EX8350/8300/16350/16300 Storage Controller driver (stex driver 3.0.0.1 version)&lt;br /&gt;
* Intel PIIX/ICH SATA Controller driver (ata_piix driver 2.00ac7 version)&lt;br /&gt;
* AHCI SATA driver (ahci driver 2.0 version)&lt;br /&gt;
* ServerWorks Frodo / Apple K2 SATA Controller driver (sata_svw driver 2.0 version)&lt;br /&gt;
* Marvell SATA Controller driver (sata_mv driver 0.7 version)&lt;br /&gt;
* NVIDIA SATA Controller driver (sata_nv driver 3.2 version)&lt;br /&gt;
* Pacific Digital ADMA Controller driver (pdc_adma driver 0.04 version)&lt;br /&gt;
* Pacific Digital SATA QStor Controller driver (sata_qstor driver 0.06 version)&lt;br /&gt;
* Promise SATA TX2/TX4 Controller driver (sata_promise driver 1.05 version)&lt;br /&gt;
* Promise SATA SX4 Controller driver (sata_sx4 driver 0.9 version)&lt;br /&gt;
* Silicon Image SATA Controller driver (sata_sil driver 2.0 version)&lt;br /&gt;
* SiS 964/180 SATA Controller driver (sata_sis driver 0.6 version)&lt;br /&gt;
* ULi Electronics SATA Controller driver (sata_uli driver 1.0 version)&lt;br /&gt;
* VIA SATA Controller driver (sata_via driver 2.0 version)&lt;br /&gt;
* VITESSE VSC-7174 / INTEL 31244 SATA Controller driver (sata_vsc driver 2.0 version)&lt;br /&gt;
* Libata drivers (2.00 version)&lt;br /&gt;
* QLogic QLA3XXX Network Driver (qla3xxx driver 2.02.00-k37RH4U5 version)&lt;br /&gt;
* Intel(R) PRO/1000 Network driver (e1000 driver 7.2.7-k2-NAPI version)&lt;br /&gt;
* Marvell Yukon 2 Gigabit Ethernet driver (sky2 driver 1.6 version)&lt;br /&gt;
* Broadcom Tigon3 Ethernet driver (tg3 driver 3.64-rh version)&lt;br /&gt;
* Broadcom NX2 Ethernet driver (bnx2 driver 1.4.43-rh version)&lt;br /&gt;
* RealTek RTL8169s/8110s Gigabit Ethernet driver (r8169 driver 2.2LK-NAPI version)&lt;br /&gt;
* Intel(R) PRO/10GbE Ethernet driver (ixgb driver 1.0.109-k2-NAPI version)&lt;br /&gt;
&lt;br /&gt;
==== Patches ====&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
==== diff-cpt-restore-route-bug-20070321 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] bug in restore net routes&lt;br /&gt;
&lt;br /&gt;
When netroute section in dump is padded, restore tries&lt;br /&gt;
to interpret padding as the next rtnetlink message and deadlocks&lt;br /&gt;
interpreting it as message of zero length.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-ubc-adjust-on-restore-b-20070323 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey:&lt;br /&gt;
&lt;br /&gt;
Recently we have added adjusting of 3 limits on restore to not fail&lt;br /&gt;
because of hitting limits. Now we have to add another one - dcachesize.&lt;br /&gt;
&lt;br /&gt;
Bug #77889.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #77890.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #77896.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-best-vcpu-20070413 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SCHED] Reduce starvation of some VCPUs in case of cpu limits&lt;br /&gt;
&lt;br /&gt;
Change logic of choosing best_vcpu to schedule to.&lt;br /&gt;
There are two potential problems:&lt;br /&gt;
&lt;br /&gt;
a) if a vcpu is hot, and last used physical CPU of this vcpu is equal to&lt;br /&gt;
smp_processor_id() it will be always chosen. This is not a good&lt;br /&gt;
decision, because there is no guarantee, that _all_ physical CPU's must&lt;br /&gt;
take vcpu's from a vsched. For example, if cpulimit for a vsched is&lt;br /&gt;
small, this vsched can be run only on one physical CPU forever.&lt;br /&gt;
&lt;br /&gt;
b) Also now newer 'cold' vcpu's are chosen first,&lt;br /&gt;
because we scan active_list in direct way,&lt;br /&gt;
i.e. from older vcpus to newer vcpus, and a newer one will be chosen finally.&lt;br /&gt;
In this case old vcpu's can starve for a long time&lt;br /&gt;
&lt;br /&gt;
Bug #79015.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-best-vcpu-b-20070423 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SCHED] Select some vcpu instead of idle even if all vcpus are hot&lt;br /&gt;
&lt;br /&gt;
We have to use oldest vcpu if all vcpu's are hot.&lt;br /&gt;
In current kernel an idle_vcpu is used and CPU can idle instead of&lt;br /&gt;
doing some job.&lt;br /&gt;
&lt;br /&gt;
Bug #79676.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-comp-fixes-20070503 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
some compilation fixes after rebasing to -55 EL kernel&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-hot-vcpu-20070409 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SCHED] Hot VCPU's - optimization for schedule_vcpu(). (from 2.6.18).&lt;br /&gt;
&lt;br /&gt;
In original VZ kernel schedule_vcpu() chooses next VCPU from&lt;br /&gt;
vsched-&amp;amp;gt;active list, and it doesn't take into account vcpu-&amp;amp;gt;last_pcpu,&lt;br /&gt;
so VCPU's can jump from PCPU to PCPU too often.&lt;br /&gt;
&lt;br /&gt;
With this patch, schedule_vcpu() tries to skip 'hot' VCPU's, i.e. VCPU's&lt;br /&gt;
that were running on some other PCPU recently. Time slice threshold is&lt;br /&gt;
tunable and can be set via /proc/sys/kernel/vcpu_hot_timeslice (like&lt;br /&gt;
vcpu_timeslice).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-idlebalance-20070409 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SCHED] Optimization for load_balance() (backported from 2.6.18).&lt;br /&gt;
&lt;br /&gt;
Description: load_balance() in 2.6.9 and 2.6.18 is broken in case of&lt;br /&gt;
it's called from an idle thread on rebalance_tick(). This is because&lt;br /&gt;
load_balance() tries to find busiest group in idle_vsched (!), where&lt;br /&gt;
there are no really running tasks at all.&lt;br /&gt;
&lt;br /&gt;
With this patch, load_balance() will try to find a busiest vsched first,&lt;br /&gt;
and in case of success, then find busiest group inside this vsched, and&lt;br /&gt;
so on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-idlebalance-d-20070409 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SCHED] find_busiest_queue() should select VCPUs from given vsched only&lt;br /&gt;
&lt;br /&gt;
In new scheme, we choose vsched in find_busiest_vsched(),&lt;br /&gt;
i.e. before find_busiest_queue(), so when we look&lt;br /&gt;
for busiest queue we must consider this vsched VCPU's only.&lt;br /&gt;
&lt;br /&gt;
Bug #78385.&amp;lt;br/&amp;gt;&lt;br /&gt;
and maybe this:&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #78383.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-elf-retval-20070420 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] Invalid return value of execve() resulting in oopses (mainstream)&lt;br /&gt;
&lt;br /&gt;
Invalid return value of execve() resulting in oopses (mainstream)&lt;br /&gt;
&lt;br /&gt;
When elf loader fails to map executable (due to memory shortage&lt;br /&gt;
or because binary is malformed), it can return 0. Normally, this is invisible&lt;br /&gt;
because process is killed with SIGKILL and it never returns to user space.&lt;br /&gt;
&lt;br /&gt;
But if exec() is called from kernel thread (hotplug, whatever) consequences&lt;br /&gt;
are more interesting and vary depending on architecture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;i386. Nothing especially interesting, execve() just returns with&lt;br /&gt;
&amp;quot;success&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;x86_64. Fake zero frame is used on way to caller, RSP/RIP are loaded&lt;br /&gt;
with zeros, ergo... double fault.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;ia64. Similar to i386, but r32...r95 are corrupted. Sometimes it oopses&lt;br /&gt;
due to return to zero PC, sometimes it sees NaT in rXX and oopses&lt;br /&gt;
due to NaT consumption.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This fix solves bugs #68582 (i386), #73753 (x86_64) and #79847 (ia64).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-emt64-dblfault-debug-b-20070402 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily:&amp;lt;br/&amp;gt;&lt;br /&gt;
removes the extra debug messages from segment stack exception handler&lt;br /&gt;
&lt;br /&gt;
Bug #78401.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-ext3-orphan-dbg-20070319 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily:&amp;lt;br/&amp;gt;&lt;br /&gt;
adds debug for search ext3 orphan list corruptions&lt;br /&gt;
&lt;br /&gt;
Bug #77466.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-i386-ioapic-compilation-20070319 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Evgeny:&lt;br /&gt;
&lt;br /&gt;
Patch fixes compilation error. Symbols disable_timer_pin_1 and check_ioapic&lt;br /&gt;
that are defined only when CONFIG_X86_IO_APIC is set, should be placed under&lt;br /&gt;
ifdef CONFIG_X86_IO_APIC in parse_cmdline_early and setup_arch functions&lt;br /&gt;
(arch/i386/kernel/setup.c).&lt;br /&gt;
&lt;br /&gt;
[http://bugzilla.openvz.org/show_bug.cgi?id=479 OpenVZ Bug #479].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-smbfs-corruption-20070328 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from mainstream:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] smbfs: Fix slab corruption in samba error path&lt;br /&gt;
&lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=48564e628bd7662d7a0b3ac81c41cd0e4cc36dae GIT: 48564e628bd7662d7a0b3ac81c41cd0e4cc36dae]&lt;br /&gt;
&lt;br /&gt;
Bug #78157.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-smbfs-doublefree-20070313 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily:&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixes rq_trans2buffer double free issue in smbfs.&lt;br /&gt;
&lt;br /&gt;
smbfs allocates rq_trans2buffer to handle server's multi transaction2 response&lt;br /&gt;
messages. Because of smb_request may be reused, rq_trans2buffer frees before&lt;br /&gt;
each new request. However if last servers's response is not multi but single&lt;br /&gt;
trans2 message then new rq_trans2buffer is not allocated and smb_rput tries&lt;br /&gt;
to free this buffer twice.&lt;br /&gt;
&lt;br /&gt;
To prevent this issue rq_trans2buffer pointer should be set to NULL after kfree.&lt;br /&gt;
&lt;br /&gt;
Bug #74499.&lt;br /&gt;
&lt;br /&gt;
PS. Issue is still present in mainstream, however I would note that smbfs&lt;br /&gt;
support was dropped in latest distributions (FC6 and RHEL5), replaced by CIFS.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-smbfs-fmode-20070328 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from mainstream:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SMBFS] set the default files and dir mask for smbfs&lt;br /&gt;
&lt;br /&gt;
it's missed hunk from the following patch:[http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commitdiff;h=99ca50fb7eb44cefb138fc8b885ce6be411bcd51 GIT: 99ca50fb7eb44cefb138fc8b885ce6be411bcd51].&lt;br /&gt;
&lt;br /&gt;
Bug #78157.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-stopmachine-msleep-20070411 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kostja:&amp;lt;br/&amp;gt;&lt;br /&gt;
a possible live-lock in stop_machine():&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;stopmachine_state == STOPMACHINE_WAIT;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;STOPPER (stop_machine()) is in state SM_STOPPER_WAITING,&lt;br /&gt;
calling yield() in a loop;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SLAVES (stopmachine()) also call yield() in a loop.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This leads to the fairsched_lock suffering on all CPUs and in case of unfair&lt;br /&gt;
getting lock rules (for example on NUMA node), some CPUs can wait for the lock&lt;br /&gt;
forever/for a long time, causing a hang of the node.&lt;br /&gt;
This patch replaces yield() by msleep(10).&lt;br /&gt;
&lt;br /&gt;
Bug #78975.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-rh-execshield-randomize-va-20070326 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] change stack randomize range in rhel4-based kernels&lt;br /&gt;
&lt;br /&gt;
exec-shield-randomize feature in rhel4 confuses UBC a bit: for example,&lt;br /&gt;
typical VE in 2.6.8 owns 17Mb of privvmpages, but the same VE on 2.6.9&lt;br /&gt;
kernel owns 40Mb of privvmpages. The stack randomization is guilty: it&lt;br /&gt;
adds no more than 2Mb to each process. In rhel5-based kernels the&lt;br /&gt;
randomize range is much less: only two pages. So, just use the same&lt;br /&gt;
approach in rhel4.&lt;br /&gt;
&lt;br /&gt;
[http://bugzilla.openvz.org/show_bug.cgi?id=484 OpenVZ Bug #484].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-rh-revert-proc-readdir ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Revert linux-2.6.9-proc-readdir.patch from RHEL4u5.&lt;br /&gt;
This optimization requires pidmap virtualization,&lt;br /&gt;
which is fixed in 2.6.18-OVZ, but it's painful to backport it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-sysrqkey-scancode-b-20070319 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Evgeny:&amp;lt;br/&amp;gt;&lt;br /&gt;
Patch fixes compilation error in emulate_raw() function when&lt;br /&gt;
CONFIG_MAGIC_SYSRQ is not set.&lt;br /&gt;
&lt;br /&gt;
sysrq_key_scancode moved outside #ifdef CONFIG_MAGIC_SYSRQ.&lt;br /&gt;
&lt;br /&gt;
[http://bugzilla.openvz.org/show_bug.cgi?id=479 OpenVZ Bug #479].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-meminfo-b-20070327 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kostja:&amp;lt;br/&amp;gt;&lt;br /&gt;
Adds sysctl to choose base ubc for memory usage inside a VE.&lt;br /&gt;
&lt;br /&gt;
Sets PRIVVMPAGES beancounter to be used by default instead of OOMGUARPAGES.&lt;br /&gt;
&lt;br /&gt;
Bug #78088.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-proc-moduleget-20070323 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kostja:&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixes the race between proc_lookup() and sys_delete_module()&lt;br /&gt;
&lt;br /&gt;
Bug #77841.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-proc-moduleget-b-20070323 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kostja:&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixes the race between proc_lookup() and remove_proc_entry().&lt;br /&gt;
&lt;br /&gt;
As far as i can understand there is a race:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
proc_lookup()&lt;br /&gt;
{&lt;br /&gt;
	lock_kernel();&lt;br /&gt;
	lde = LPDE(dir);&lt;br /&gt;
	if (!lde)&lt;br /&gt;
		goto out;&lt;br /&gt;
&lt;br /&gt;
/* here lde can be destroyed??? */&lt;br /&gt;
&lt;br /&gt;
	spin_lock(&amp;amp;amp;proc_subdir_lock);&lt;br /&gt;
	lde = __proc_lookup(lde, dentry);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-tun-persist-20070424 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily:&amp;lt;br/&amp;gt;&lt;br /&gt;
prohibit tun persistent mode inside VE&lt;br /&gt;
&lt;br /&gt;
Bug #79612.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-venet-loopstat-20070314 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis:&amp;lt;br/&amp;gt;&lt;br /&gt;
This patch frees leaked loopback per/cpu stats.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-ugbad-20070428 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Konstantin Khorenko &amp;amp;lt;khorenko@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[VZDQ] prohibit chown of a file if owner doesn't have ugid struct&lt;br /&gt;
&lt;br /&gt;
Prohibit chown a file if its owner does not have&lt;br /&gt;
ugid record. This might happen if we somehow exceeded&lt;br /&gt;
the UID/GID (e.g. set ugidlimit less than number of users).&lt;br /&gt;
&lt;br /&gt;
Bug #79553.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-i2o-msgleak-10070423 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasiliy:&amp;lt;br/&amp;gt;&lt;br /&gt;
This patch fixes i2o message leak.&lt;br /&gt;
&lt;br /&gt;
We need to free msg itself and i2o message in hw in case&lt;br /&gt;
of error.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-i2o-msgget-errh-10070423 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasiliy:&amp;lt;br/&amp;gt;&lt;br /&gt;
This patch fixes access to memory that has not been allocated:&lt;br /&gt;
&lt;br /&gt;
i2o_msg_get_wait() can returns errors different from I2O_QUEUE_EMPTY.&lt;br /&gt;
But the result is checked only against this code.&lt;br /&gt;
if it is not I2O_QUEUE_EMPTY then we dereference the error code as the pointer later.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-i2o-cfg-passthru-20070423 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasiliy:&amp;lt;br/&amp;gt;&lt;br /&gt;
This patch fixes a number of issues in i2o_cfg_passthru{,32}:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;memory leaks (including i2o_message leak fixed by khorenko@)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;infinite loop to sg_list_cleanup in passthru32&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;bad error paths&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-i2o-proc-perms-20060304 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasiliy:&lt;br /&gt;
&lt;br /&gt;
Reading from some i2o related proc files can lead to the controller hang due&lt;br /&gt;
unknown reasons. As a workaround this patch changes the permission of these&lt;br /&gt;
files to root-only accessible.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-md-bio-init-20070504 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Patch from Kirill:&lt;br /&gt;
&lt;br /&gt;
Fix compilation of ./drivers/md/dm-biosets.c when CONFIG_DM=y&lt;br /&gt;
bio_init is re-defined in this file. It works ok when DM is compiled&lt;br /&gt;
as module, since local bio_init version is used. However, when compiled-in&lt;br /&gt;
this conflicts with function defined in fs/bio.c&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== linux-2.6.9-arcmsr-1.20.0X.13-61107.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
patch ported by Kostja (khorenko@),&amp;lt;br/&amp;gt;&lt;br /&gt;
Areca driver v1.20.0X.13-61107 added.&lt;br /&gt;
&lt;br /&gt;
Sources from [ftp://ftp.areca.com.tw/RaidCards/AP_Drivers/Linux/DRIVER/SourceCode/ Areca site].&lt;br /&gt;
&lt;br /&gt;
Bug #59933.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== linux-2.6.9-qla2xxx-8.01.05.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
remake by Kostja (khorenko@) for 2.6.9-55.EL kernels, includes&lt;br /&gt;
diff-qla2xxx-makefile-20070319:&amp;lt;br/&amp;gt;&lt;br /&gt;
Patch from Evgeny:&amp;lt;br/&amp;gt;&lt;br /&gt;
Patch fixes compilation error by updating makefile&lt;br /&gt;
&lt;br /&gt;
drivers/scsi/qla2xxx/Makefile.&lt;br /&gt;
When CONFIG_SCSI_QLA2XXX_FAILOVER is not set failover compilation fails,&lt;br /&gt;
since Makefile defines it, but autoconf.h undefines.&lt;br /&gt;
&lt;br /&gt;
{{bug|479}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-i2o-procread-20070510 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily:&lt;br /&gt;
&lt;br /&gt;
fixed oops on reading from some i2o proc files because their handlers uses&lt;br /&gt;
&amp;quot;exec&amp;quot; field in struct i2o_controller,&lt;br /&gt;
really it's minor issue because i2o_proc module is not loaded by default.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-smbfs-mount-compat-20070511 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey:&amp;lt;br/&amp;gt;&lt;br /&gt;
fixes security issue, oops triggered by any user inside VE:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] skip data conversion in compat_sys_mount when data_page is NULL&lt;br /&gt;
&lt;br /&gt;
OpenVZ Linux kernel team has found a problem with mounting in compat mode.&lt;br /&gt;
&lt;br /&gt;
Simple command &amp;quot;mount -t smbfs ...&amp;quot; on Fedora Core 5 distro in 32-bit mode&lt;br /&gt;
leads to oops:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:&lt;br /&gt;
compat_sys_mount+0xd6/0x290&lt;br /&gt;
Process mount (pid: 14656, veid=300, threadinfo ffff810034d30000, task&lt;br /&gt;
ffff810034c86bc0)&lt;br /&gt;
Call Trace: ia32_sysret+0x0/0xa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The problem is that data_page pointer can be NULL, so we should skip data&lt;br /&gt;
conversion in this case.&lt;br /&gt;
&lt;br /&gt;
Bug #81559.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fs-inode-alloc-sem-fix ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey (amirkin@):&lt;br /&gt;
&lt;br /&gt;
In new RHEL4 kernel (2.6.9-42.0.8.EL) we have following changes - i_alloc_sem&lt;br /&gt;
is taken now in notify_change() if we are changing size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (ia_valid &amp;amp;amp; ATTR_SIZE)&lt;br /&gt;
	down_write(&amp;amp;amp;dentry-&amp;amp;gt;d_inode-&amp;amp;gt;i_alloc_sem);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, we do not need to take this semaphore before notify_change(), when we are&lt;br /&gt;
going to change size.&lt;br /&gt;
&lt;br /&gt;
Bug #81426.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kir</name></author>
		
	</entry>
</feed>