<?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%2Frhel5%2F028stab031.1%2Fchanges</id>
	<title>Download/kernel/rhel5/028stab031.1/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%2Frhel5%2F028stab031.1%2Fchanges"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;action=history"/>
	<updated>2026-06-14T00:41:48Z</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/rhel5/028stab031.1/changes&amp;diff=7765&amp;oldid=prev</id>
		<title>Kir: Protected &quot;Download/kernel/rhel5/028stab031.1/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/rhel5/028stab031.1/changes&amp;diff=7765&amp;oldid=prev"/>
		<updated>2009-10-22T18:29:14Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/Download/kernel/rhel5/028stab031.1/changes&quot; title=&quot;Download/kernel/rhel5/028stab031.1/changes&quot;&gt;Download/kernel/rhel5/028stab031.1/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:29, 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/rhel5/028stab031.1/changes&amp;diff=7620&amp;oldid=prev</id>
		<title>Kir: Reverted edits by 61.93.105.4 (Talk) to last version by Kir</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;diff=7620&amp;oldid=prev"/>
		<updated>2009-10-22T15:59:26Z</updated>

		<summary type="html">&lt;p&gt;Reverted edits by &lt;a href=&quot;/Special:Contributions/61.93.105.4&quot; title=&quot;Special:Contributions/61.93.105.4&quot;&gt;61.93.105.4&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:61.93.105.4&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:61.93.105.4 (page does not exist)&quot; data-usertalkpage-link=&quot;true&quot;&gt;Talk&lt;/a&gt;) to last version by &lt;a href=&quot;/User:Kir&quot; title=&quot;User:Kir&quot; data-userpage-link=&quot;true&quot;&gt;Kir&lt;/a&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;amp;diff=7620&amp;amp;oldid=7619&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Kir</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;diff=7619&amp;oldid=prev</id>
		<title>61.93.105.4: -4</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;diff=7619&amp;oldid=prev"/>
		<updated>2009-10-22T15:57:34Z</updated>

		<summary type="html">&lt;p&gt;-4&lt;/p&gt;
&lt;a href=&quot;https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;amp;diff=7619&amp;amp;oldid=5127&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>61.93.105.4</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;diff=5127&amp;oldid=prev</id>
		<title>Kir: created</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab031.1/changes&amp;diff=5127&amp;oldid=prev"/>
		<updated>2008-03-21T01:54:45Z</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;
* Mainstream security fix in netlink.&lt;br /&gt;
* Fixes in checkpointing, CPU fair scheduler, VE I/O scheduling, beancounters, VE disk quotas, etc.&lt;br /&gt;
&lt;br /&gt;
=== Config changes ===&lt;br /&gt;
Added:&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_IKCONFIG=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_IKCONFIG_PROC=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_KEXEC=y&amp;lt;/code&amp;gt; (i686-PAE only)&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_CRASH_DUMP=y&amp;lt;/code&amp;gt; (i686-PAE only)&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_PROC_VMCORE=y&amp;lt;/code&amp;gt; (i686-PAE only)&lt;br /&gt;
Removed:&lt;br /&gt;
* -&amp;lt;code&amp;gt;CONFIG_4KSTACKS=y&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[{{PAGENAME}}/changes#Patches|{{Long changelog message}}]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
=== Patches ===&lt;br /&gt;
&lt;br /&gt;
==== diff-arch-4gb-20070409 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kirill Korotaev &amp;amp;lt;dev@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[4G/4G] i686: 4GB split patch&lt;br /&gt;
&lt;br /&gt;
4G split patch based on linux-2.6.0-4g4g.patch from RHEL4 from Ingo Molnar.&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
* fixed reserved pages handling&lt;br /&gt;
* fixed PI futexes direct user access atomic operations&lt;br /&gt;
* fixed lockdep&lt;br /&gt;
* fixed entry.S to handle multiple irets and 16bit stacks, NMI support&lt;br /&gt;
* reworked hw breakpoints support as in my patch in 2.4.x&lt;br /&gt;
* fixed huge TSS and io bitmaps&lt;br /&gt;
* added PTL locks support&lt;br /&gt;
* fixed kprobes&lt;br /&gt;
* 4-level page tables&lt;br /&gt;
* lots of fixes merged from OVZ 2.6.9 (see below)&lt;br /&gt;
&lt;br /&gt;
Merged:&lt;br /&gt;
; linux-2.6.9-4g4g-hugemem-warning.patch&lt;br /&gt;
: &lt;br /&gt;
; linux-2.6.9-4g4g-noncachable.patch&lt;br /&gt;
: &lt;br /&gt;
; diff-arch-4gb-swsuspd&lt;br /&gt;
: Fixed broken software suspend&lt;br /&gt;
; diff-arch-4gb-fixaddr2&lt;br /&gt;
: Fixed VSYSCALL_BASE/FIXADDR_TOP interrelations (8k stacks)&lt;br /&gt;
; diff-arch-4gb-stksize&lt;br /&gt;
: Fixed virtual stack mappings for 8k stacks&lt;br /&gt;
; diff-arch-4gb-copyusr&lt;br /&gt;
: Optimization in filemap.c on copy_XXX_user&lt;br /&gt;
; diff-arch-4gb-vmalloc2&lt;br /&gt;
: vmalloc area extending up to 256Mb&lt;br /&gt;
; diff-arch-4gb-tasksize&lt;br /&gt;
: Limiting user address space to 3GB&lt;br /&gt;
; diff-arch-4gb-tssmaps&lt;br /&gt;
: Fixed TSS mapings for online_cpus &amp;amp;gt; 2 and big TSS&lt;br /&gt;
; diff-arch-4gb-ldtleak&lt;br /&gt;
: Fixed leak of LDT pages on error path&lt;br /&gt;
; diff-arch-4gb-gcc296&lt;br /&gt;
: Fixed get_user() compilation bug on GCC 2.96&lt;br /&gt;
; diff-arch-4gb-amd-prefetch&lt;br /&gt;
: Fixed prefetch code detection on AMD&lt;br /&gt;
; diff-arch-4gb-mce-20060824&lt;br /&gt;
: Fixed MCE handling when 4GB split is on&lt;br /&gt;
&lt;br /&gt;
Not needed (already in):&lt;br /&gt;
* linux-2.6.9-net-b44-4g4g.patch&lt;br /&gt;
* linux-2.6.9-4g4g-maxtasksize.patch&lt;br /&gt;
* diff-arch-4gb-pgdctor&lt;br /&gt;
* diff-arch-4gb-getname&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-lockdep-neighbour-table-class-20070409 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[LOCKDEP] Fix wrong deadlock report in neigh table&lt;br /&gt;
&lt;br /&gt;
Lockdep detects a fake deadlock in the calltrace:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
neigh_proxy_process()&lt;br /&gt;
  `- lock(neigh_table-&amp;amp;gt;proxy_queue.lock);&lt;br /&gt;
arp_process (tbl-&amp;amp;gt;proxy_redo)&lt;br /&gt;
neigh_event_ns&lt;br /&gt;
neigh_update&lt;br /&gt;
skb_purge_queue&lt;br /&gt;
  `- lock(neighbour-&amp;amp;gt;arp_queue.lock);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Actually there is no deadlock as the first lock and the second&lt;br /&gt;
one are different skb_buff_head's locks, but they are initialized&lt;br /&gt;
both in skb_queue_head_init() and thus have on lockdep-class.&lt;br /&gt;
&lt;br /&gt;
This is a mainstream &amp;quot;BUG&amp;quot;.&lt;br /&gt;
Fixed by adding another class to neigh_table's proxy_queue lock.&lt;br /&gt;
&lt;br /&gt;
Bug #78837.&lt;br /&gt;
&lt;br /&gt;
(Tested with node bootup, VE start and vzt-prep vzt-ss).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-page-uncharge-bug-first-20070406 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] Check correct user_beancounter passed first in ub_page_uncharge()&lt;br /&gt;
&lt;br /&gt;
If page accidentally has a not-removed page_beancounter kernel will&lt;br /&gt;
oops dereferencing ub-&amp;amp;gt;ub_percpu(). Move the BUG_ON upper to be sure&lt;br /&gt;
we work with user_beancounter.&lt;br /&gt;
&lt;br /&gt;
This might be the lost in bug #78461.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-refcount-leak-dupmm-20070409 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan &amp;amp;lt;adobriyan@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] refcount leak in dup_mm() on error path&lt;br /&gt;
&lt;br /&gt;
Fix simple beancounter refcount leak on error path&lt;br /&gt;
in dup_mm().&lt;br /&gt;
&lt;br /&gt;
Bug #77231.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-vmguar-enough-null-mm-20070406 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily Tarasov &amp;amp;lt;vtaras@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] vmguar_enough_memory() oopses if called form kernel thread&lt;br /&gt;
&lt;br /&gt;
If vmguar_enough_memory() function is called by kernel thread, it oopses&lt;br /&gt;
due to task_struct-&amp;amp;gt;mm equals NULL. Such situation was encountered when&lt;br /&gt;
aufs was over ramfs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-make-zombie-20070413 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov &amp;amp;lt;alexey@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] alternative way to migrate zombie processes&lt;br /&gt;
&lt;br /&gt;
In older 2.6.8 kernels do_exit() was very simple, essentially&lt;br /&gt;
it disposed m etc, which is done automatically while checkpointing,&lt;br /&gt;
and did some work on notifying parent. So that it was natural&lt;br /&gt;
to move restored process to zombie state by hands.&lt;br /&gt;
&lt;br /&gt;
In 2.6.18 do_exit makes _lots_ of work.&lt;br /&gt;
&lt;br /&gt;
Seems, it is easier to invert logic. We introduce new flag&lt;br /&gt;
PF_RESTART_EXIT, which suppresses the work which was already done,&lt;br /&gt;
when process at source hardware node moved to zombie state&lt;br /&gt;
(mostly, sending signals) and use do_exit() when restoring zombie processes.&lt;br /&gt;
&lt;br /&gt;
Also, the same patch adds checks for a few of new things, which&lt;br /&gt;
cannot be migrated, it is related because the list of those things&lt;br /&gt;
obtained from do_exit().&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-off-lockdep-on-sockets-20070413 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] Fix lockdep warning on socket dump&lt;br /&gt;
&lt;br /&gt;
CPT locks all the sockets it finds for dumping.&lt;br /&gt;
This is OK, but lockdep thinks as if it were a circular locking.&lt;br /&gt;
&lt;br /&gt;
It happens each time we migrate a VE with more than&lt;br /&gt;
one socked aboard.&lt;br /&gt;
&lt;br /&gt;
Bug #79164.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-robust-list-20070413 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov &amp;amp;lt;alexey@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] checkpointing robust lists&lt;br /&gt;
&lt;br /&gt;
Otherwise we are going to have problems with migration&lt;br /&gt;
of newer glibcs using robust lists when this is possible.&lt;br /&gt;
&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;amp;lt;aandreev@openvz.org&amp;amp;gt;:&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-find-idle-vcpu-20070403 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Patch from Alexandr Andreev &amp;amp;lt;aandreev@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SCHED] find_idle_vcpu() mask check fix&lt;br /&gt;
&lt;br /&gt;
In find_idle_vcpu() we skip VCPU's with ID's that is not&lt;br /&gt;
set in physical '*cpus' mask. It's incorrect.&lt;br /&gt;
We must skip VCPU's that has appropriate VCPU-&amp;amp;gt;last_pcpu&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-bridge-unaligned-access-20070411 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Evgeny Kravtsunov &amp;amp;lt;emkravts@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BRIDGE] Unaligned access on IA64 when compare ether addr&lt;br /&gt;
&lt;br /&gt;
Patch fixes unaligned access that takes place on ia64 in compare_ether_addr()&lt;br /&gt;
compare_ether_addr() requires address to be aligned on 2-byte boundary,&lt;br /&gt;
while addresses declared in bridges are aligned on 1-byte.&lt;br /&gt;
&lt;br /&gt;
Bug #79001.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #78983.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-fatal-signal-20070413 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis Lunev &amp;amp;lt;den@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] Fatal signal processing logic&lt;br /&gt;
&lt;br /&gt;
This patch changes fatal signal processing logic.&lt;br /&gt;
The SIGKILL should be raised only for all threads in the groups *EXCEPT* recipient one.&lt;br /&gt;
&lt;br /&gt;
{{Bug|533}}.&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 Konstantin Khorenko &amp;amp;lt;khorenko@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
problem found by Vasily (vvs@) &amp;amp;amp; Kirill (dev@):&lt;br /&gt;
&lt;br /&gt;
a possible situation in stop_machine:&lt;br /&gt;
&lt;br /&gt;
* stopmachine_state == STOPMACHINE_WAIT;&lt;br /&gt;
* STOPPER (stop_machine()) is in state SM_STOPPER_WAITING, calling yield() in a loop;&lt;br /&gt;
* SLAVES (stopmachine()) also call yield() in a loop.&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;
Mainstream kernel is affected as well, though it is harder to trigger:&lt;br /&gt;
One CPU does yield() taking/releasing rq-&amp;amp;gt;lock,&lt;br /&gt;
while another CPU should try to take that rq-&amp;amp;gt;lock (e.g. for balancing)&lt;br /&gt;
and will livelock forever.&lt;br /&gt;
&lt;br /&gt;
Bug #78975.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-rh-dlm-misc-device-fix-20070412 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey Mirkin &amp;amp;lt;major@openvz.org&amp;amp;gt;, backported from -nmw git tree:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From: Patrick Caulfield &amp;amp;lt;pcaulfie@redhat.com&amp;amp;gt;&lt;br /&gt;
Date: Wed, 21 Mar 2007 09:23:53 +0000 (+0000)&lt;br /&gt;
Subject: [DLM] Don't delete misc device if lockspace removal fails&lt;br /&gt;
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fsteve%2Fgfs2-2.6-nmw.git;a=commitdiff_plain;h=2ebea8b4cc0b8859a99d2006ec085c1da2d0758a;hp=ead2e9aa2a555bb1d94ff2e5b4c974d0e7cc6518&lt;br /&gt;
&lt;br /&gt;
[DLM] Don't delete misc device if lockspace removal fails&lt;br /&gt;
&lt;br /&gt;
Currently if the lockspace removal fails the misc device associated with a&lt;br /&gt;
lockspace is left deleted. After that there is no way to access the orphaned&lt;br /&gt;
lockspace from userland.&lt;br /&gt;
&lt;br /&gt;
This patch recreates the misc device if th dlm_release_lockspace fails. I&lt;br /&gt;
believe this is better than attempting to remove the lockspace first because&lt;br /&gt;
that leaves an unattached device lying around. The potential gap in which there&lt;br /&gt;
is no access to the lockspace between removing the misc device and recreating it&lt;br /&gt;
is acceptable ... after all the application is trying to remove it, and only new&lt;br /&gt;
users of the lockspace will be affected.&lt;br /&gt;
&lt;br /&gt;
Signed-Off-By: Patrick Caulfield &amp;amp;lt;pcaulfie@redhat.com&amp;amp;gt;&lt;br /&gt;
Signed-off-by: Steven Whitehouse &amp;amp;lt;swhiteho@redhat.com&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=232878&lt;br /&gt;
&lt;br /&gt;
Bug #79107.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-dcache-uncharge-root-20070413 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan &amp;amp;lt;adobriyan@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] uncharge fs root (/) from dcachesize&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/&amp;quot; dentry was charged in d_alloc_root(), then charged and uncharged&lt;br /&gt;
during filesystem activity. But at umount time that first charge was&lt;br /&gt;
forgotten.&lt;br /&gt;
&lt;br /&gt;
So uncharge &amp;quot;/&amp;quot; by hand.&lt;br /&gt;
&lt;br /&gt;
Bug #77771.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-ioacct-context-handle-20070413 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[IOACCT] Fix ioacct race&lt;br /&gt;
&lt;br /&gt;
When page becomes dirty there's no time to store a context&lt;br /&gt;
on it - page may become clean immediately.&lt;br /&gt;
&lt;br /&gt;
Thus we had a race in accounting when a page became clean&lt;br /&gt;
before we set a context on it and this context got lost and&lt;br /&gt;
not freed.&lt;br /&gt;
&lt;br /&gt;
Handle the context the other way - in case we're going to&lt;br /&gt;
set a new context on a page that already has one - free it&lt;br /&gt;
and account written bytes in case the page became clean.&lt;br /&gt;
When removing a context from a page - handle the case when&lt;br /&gt;
a page does not have one due to the race in question. In&lt;br /&gt;
any case dirty page will have a context set, and a clean&lt;br /&gt;
one will have not.&lt;br /&gt;
 &lt;br /&gt;
Bug #79008.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-ioprio-clean-active-ub-20070411 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily Tarasov &amp;amp;lt;vtaras@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[IOPRIO] cleaning active beancounter&lt;br /&gt;
&lt;br /&gt;
After beancounter disappears, it still can be active.&lt;br /&gt;
Clean it up.&lt;br /&gt;
&lt;br /&gt;
Bug #78875.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-percpu-sign-expansion-20070410 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] Percpu counters discrepancy on 64bit arches&lt;br /&gt;
&lt;br /&gt;
Operation&lt;br /&gt;
 long += -(unsigned int);&lt;br /&gt;
leads to wrong result on 64bit due to no sign extension.&lt;br /&gt;
&lt;br /&gt;
Bug #78998.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-futex-vpid-fix-20070413 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov &amp;amp;lt;alexey@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] pthead_mutex_lock deadlock inside VE&lt;br /&gt;
&lt;br /&gt;
This patch replaces diff-ve-futex-EDEADLK-bypass-20061225&lt;br /&gt;
and previous small patch reparing user-level deadlock in pthread_mutex_lock()&lt;br /&gt;
happening because value 0 was not &amp;quot;virtual&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
It undoes unnatural tests for virtuality of pid supplied by user.&lt;br /&gt;
Naively, this can result in kernel warning if user mangles&lt;br /&gt;
pid doing something like:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;  &lt;br /&gt;
syscall(__NR_futex, &amp;amp;amp;l, FUTEX_LOCK_PI, 0, 0);&lt;br /&gt;
l = getpid() | 1024;&lt;br /&gt;
syscall(__NR_futex, &amp;amp;amp;l, FUTEX_LOCK_PI, 0, 0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This happens due to pid aliasing introduced with vpids:&lt;br /&gt;
test pid == virt_pid(current) is not enough to ensure that&lt;br /&gt;
pid does not correspond to current.&lt;br /&gt;
&lt;br /&gt;
I find more natural to test for this condition directly.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-kconfig-security-deps-20070411 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily Tarasov &amp;amp;lt;vtaras@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] kconfig: security depends on !ve&lt;br /&gt;
&lt;br /&gt;
Many people have CONFIG_SECURITY enabled in their configs.&lt;br /&gt;
When they try to do `make oldconfig` for OpenVZ kernels with such&lt;br /&gt;
configs, no questions appear concerning CONFIG_VE and friends, and&lt;br /&gt;
people have OpenVZ kernels with virtualization features disabled.&lt;br /&gt;
Fix it. Reverse the dependency of VE/SECURITY.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-venet-stoprace-20070412 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis Lunev &amp;amp;lt;den@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[VENET] stop IP management before freeing venet&lt;br /&gt;
&lt;br /&gt;
The device is freed before the VE&amp;amp;lt;-&amp;amp;gt;IP mapping is cleaned.&lt;br /&gt;
&lt;br /&gt;
Bug #75502.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-sleep-under-inode-lock-20070412 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&lt;br /&gt;
&lt;br /&gt;
The calltrace:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
vzdq_aquotq_lookup&lt;br /&gt;
iget5_locked()&lt;br /&gt;
get_new_inode()&lt;br /&gt;
   `- spin_lock(&amp;amp;amp;inode_lock);&lt;br /&gt;
find_inode()&lt;br /&gt;
 -&amp;gt;set() /* == vzdq_aquotq_lookset */&lt;br /&gt;
vdq_aquot_lookset()&lt;br /&gt;
user_get_super()&lt;br /&gt;
   `- down_read(...)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it may sleep with inode_lock taken.&lt;br /&gt;
Move all the sleeping operations out of the lock.&lt;br /&gt;
&lt;br /&gt;
Bug #79124.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-i2o-timeout-20071013 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kostja:&lt;br /&gt;
&lt;br /&gt;
Adds missed error check while trying to get message slot in I2OPASSTHRU ioctl&lt;br /&gt;
handler. This error caused kernel crash if one uses &amp;quot;raideng&amp;quot; (from raidutils)&lt;br /&gt;
when controller timeouts.&lt;br /&gt;
&lt;br /&gt;
Bug #79279.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-io-release-debug-20070416 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[IOACCT] Debug on page release&lt;br /&gt;
&lt;br /&gt;
When releasing an IO beancounter from the page that&lt;br /&gt;
is not supposed to IO pb print a warning.&lt;br /&gt;
&lt;br /&gt;
might help debug bug #79427.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-put-beancounters-in-fork-20070416 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan &amp;amp;lt;adobriyan@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] UB put on error path in fork()&lt;br /&gt;
&lt;br /&gt;
If fork() fails after ub_task_charge(),&lt;br /&gt;
nobody is putting three beancounters getted there.&lt;br /&gt;
&lt;br /&gt;
Bug #77231.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-arch-x86-ioremap-guard-page-fix-20070419 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Dmitry Monakhov &amp;amp;lt;dmonakhov@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[4GB] change_page_attr() BUG's on strange pages&lt;br /&gt;
&lt;br /&gt;
It is really long story...&lt;br /&gt;
&lt;br /&gt;
this patch restore iounmap code as it was after:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
commit 2c692eefe4aff109eab9384b6d8c7e1a8f094dad&lt;br /&gt;
Author: ak &amp;amp;lt;ak&amp;amp;gt;&lt;br /&gt;
Date:   Sun Jan 23 18:29:11 2005 +0000&lt;br /&gt;
&lt;br /&gt;
later this code was removed by this patch:&lt;br /&gt;
commit a7dd5a5f2b5db975bdf1dcaa3f3da6c289630076&lt;br /&gt;
Author: andrea &amp;amp;lt;andrea&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Date:   Tue Mar 8 18:49:39 2005 +0000&lt;br /&gt;
&lt;br /&gt;
this code was broken again after:&lt;br /&gt;
commit bf5421c309bb89e5106452bc840983b1b4754d61&lt;br /&gt;
Author: Andi Kleen &amp;amp;lt;ak@suse.de&amp;amp;gt;&lt;br /&gt;
Date:   Mon Dec 12 22:17:09 2005 -0800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The problem is actually that get_vm_area() allocates&lt;br /&gt;
one more page then was requested for guard page.&lt;br /&gt;
But change_page_attr() doesn't actually takes this into account.&lt;br /&gt;
&lt;br /&gt;
Bug #79617.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-active-callback-eagain-20070423 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey Mirkin &amp;amp;lt;major@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] retry checkpointing if VE has active netlink callback&lt;br /&gt;
&lt;br /&gt;
Return -EAGAIN instead of -EBUSY if netlink socket has active callback.&lt;br /&gt;
In this case we will try to freeze VE 3 times.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-make-zombie-b-20070420 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Thorsten Schifferdecker:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] tux is missing on vanilla kernels&lt;br /&gt;
&lt;br /&gt;
Compilation bug was introduced by&lt;br /&gt;
[http://git.openvz.org/?p=linux-2.6.18-openvz;a=commitdiff;h=f90c2c318467829ecde43919ad38f326527f533b http://git.openvz.org/?p=linux-2.6.18-openvz;a=commitdiff;h=f90c2c318467829ecde43919ad38f326527f533b]&lt;br /&gt;
&lt;br /&gt;
Fixes {{bug|545}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-restore-netlink-socket-20070419 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov &amp;amp;lt;alexey@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] restore rcv queue on netlink sockets and unbound netlink sockets&lt;br /&gt;
&lt;br /&gt;
Code restoring queues was forgotten. This fixes bug #79723.&lt;br /&gt;
&lt;br /&gt;
Unbound sockets were restored incorrectly, they were outbound&lt;br /&gt;
to some post, which prevented subsequent bind by application.&lt;br /&gt;
This fixes bug #79724.&lt;br /&gt;
 &lt;br /&gt;
The patch overrides previous patch with subj:&lt;br /&gt;
&amp;quot;[CPT] restore rcv queue on netlink sockets&amp;quot;, which fixed only bug #79723.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-setup-pagein-fix-20070418 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey Mirkin &amp;amp;lt;major@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] Fix lazy migration&lt;br /&gt;
&lt;br /&gt;
Accidentally during porting checkpointing on 2.6.18 kernel rst_setup_pagein()&lt;br /&gt;
function was added to code twice. This breaks lazy migration.&lt;br /&gt;
&lt;br /&gt;
Bug #77921.&lt;br /&gt;
&lt;br /&gt;
Creation procedure of pgin block device was quite hairy, so almost every time&lt;br /&gt;
during lazy migration we can see annoying message in kernel log:&lt;br /&gt;
register_blkdev: cannot get major 254 for pgin&lt;br /&gt;
&lt;br /&gt;
In this patch creation of pgin block device is fixed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-ubc-off-20070424 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Patch from Alexandr Andreev &amp;amp;lt;aandreev@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] compilation fix with CONFIG_USER_RESOURCE=n&lt;br /&gt;
&lt;br /&gt;
Compilation fix with CONFIG_USER_RESOURCE=n&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-zombie-threads-20070416 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov &amp;amp;lt;alexey@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[CPT] thread groups with exited leader did not migrate&lt;br /&gt;
&lt;br /&gt;
The bug is simple and stupid, it is very strange nobody saw this.&lt;br /&gt;
&lt;br /&gt;
When thread group leader exits, its mm/files/fs/namespace are released&lt;br /&gt;
but zombie process remain frozen until all the threads exit.&lt;br /&gt;
Restore was not able to restore such configuration.&lt;br /&gt;
&lt;br /&gt;
Solution is simple: when chackpointing save not real (NULL)&lt;br /&gt;
mm/files/fs/namespace, but mm/files/fs/namespace of this thread group.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-best-vcpu-b-20070423 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev &amp;amp;lt;aandreev@openvz.org&amp;amp;gt;:&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;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== diff-fairsched-unused-rq-20070424 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[SCHED] cleanup: removed unused variable&lt;br /&gt;
&lt;br /&gt;
struct rq *rq was used before fairsched patch to compare&lt;br /&gt;
tasks with rq-&amp;amp;gt;idle. With fairsched idle task is bound to&lt;br /&gt;
pcpu, not vcpu and thus struct rq *rq is simply not needed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-cfq-allow-merge-b-20070424 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily Tarasov &amp;amp;lt;vtaras@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] modification of allow merge policy in cfq (mainstream)&lt;br /&gt;
&lt;br /&gt;
Jens Axboe rewrited allow merge policy one more time after&lt;br /&gt;
we reported the problem and fixed the problem we face curently when some&lt;br /&gt;
tasks experience I/O starvations.&lt;br /&gt;
&lt;br /&gt;
This is an incremental patch to the previous patch&lt;br /&gt;
diff-ms-cfq-allow-merge-20070117 ported to OpenVZ.&lt;br /&gt;
&lt;br /&gt;
This patch is cumulative of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
* [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=719d34027e1a186e46a3952e8a24bf91ecc33837 719d34027e1a186e46a3952e8a24bf91ecc33837]&lt;br /&gt;
&lt;br /&gt;
* [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec8acb6904fabb8e741f741ec99bb1c18f2b3dee ec8acb6904fabb8e741f741ec99bb1c18f2b3dee]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bug #79594.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== diff-ms-cpufreq-centrino-20070426 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan &amp;amp;lt;adobriyan@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[PATCH] Make speedstep centrino cpufreq driver use wr/rdmsr_on_cpu()&lt;br /&gt;
&lt;br /&gt;
speedstep-centrino cpufreq driver was using set_cpus_allowed() and&lt;br /&gt;
checks for smp_processor_id() to confine itself to given CPU.&lt;br /&gt;
&lt;br /&gt;
Switch to rdmsr_on_cpu/wrmsr_on_cpu() infrastructure.&lt;br /&gt;
&lt;br /&gt;
Closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=420708&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;amp;lt;alexey@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] 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;
i386. Nothing especially interesting, execve() just returns with &amp;quot;success&amp;quot;   :-) &lt;br /&gt;
&lt;br /&gt;
x86_64. Fake zero frame is used on way to caller, RSP/RIP are loaded&lt;br /&gt;
with zeros, ergo... double fault.&lt;br /&gt;
&lt;br /&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.&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-fib-netlink-lookup-recursion-20070425 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov &amp;amp;lt;alexey@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] stack overflow in netlink (mainstream)&lt;br /&gt;
&lt;br /&gt;
Reply to NETLINK_FIB_LOOKUP messages were misrouted back to kernel,&lt;br /&gt;
which resulted in infinite recursion and stack overflow.&lt;br /&gt;
&lt;br /&gt;
The bug is present in all kernel versions since the feature appeared.&lt;br /&gt;
&lt;br /&gt;
(linux 2.6.13, Jun 20th, 2005,&amp;lt;br/&amp;gt;&lt;br /&gt;
commit 246955fe4c38bd706ae30e37c64892c94213775d,&amp;lt;br/&amp;gt;&lt;br /&gt;
[NETLINK]: fib_lookup() via netlink)&lt;br /&gt;
&lt;br /&gt;
The patch also makes some minimal cleanup:&lt;br /&gt;
# Return something consistent (-ENOENT) when fib table is missing&lt;br /&gt;
# Do not crash when queue is empty (does not happen, but yet)&lt;br /&gt;
# Put result of lookup&lt;br /&gt;
&lt;br /&gt;
Franlky, I would delete this thing instead of fixing. It looks ugly&lt;br /&gt;
and was used only for debugging LC-trie.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Alexey Kuznetsov &amp;amp;lt;kuznet@ms2.inr.ac.ru&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Acked-by: Dave Miller &amp;amp;lt;davem@davemloft.net&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-fib-netlink-lookup-recursion-b-20070425 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Sergey Vlasov &amp;amp;lt;vsu@altlinux.ru&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[NETLINK] Fix for Alexey's netlink lookup recursion fix&lt;br /&gt;
&lt;br /&gt;
When CONFIG_IP_MULTIPLE_TABLES is enabled, the code in nl_fib_lookup()&lt;br /&gt;
needs to initialize the res.r field before fib_res_put(&amp;amp;amp;res) - unlike&lt;br /&gt;
fib_lookup(), a direct call to -&amp;amp;gt;tb_lookup does not set this field.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-loop-dont-complete-lo-bh-done-20070418 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan &amp;amp;lt;adobriyan@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] loopback: oops on loopback mount/umount (mainstream)&lt;br /&gt;
&lt;br /&gt;
After LOOP_SET_FD/LOOP_CLR_FD combo loop device's queue gets request&lt;br /&gt;
handler which is persistent.&lt;br /&gt;
&lt;br /&gt;
After, say&lt;br /&gt;
 mount -t iso9660 /dev/loop0 /mnt	# sic&lt;br /&gt;
this request handler is called directly with&amp;lt;br/&amp;gt;&lt;br /&gt;
a) -&amp;amp;gt;lo_state being Lo_unbound&amp;lt;br/&amp;gt;&lt;br /&gt;
b) -&amp;amp;gt;lo_pending being zero&lt;br /&gt;
&lt;br /&gt;
Error path in loop_make_request() completes -&amp;amp;gt;lo_bh_done completion&lt;br /&gt;
which is persistent as well.&lt;br /&gt;
&lt;br /&gt;
Now, let's start worker thread as usual. It'll set -&amp;amp;gt;lo_pending to 1,&lt;br /&gt;
don't wait for completion because it was already completed (brokenly),&lt;br /&gt;
and will not get out of infinite loop because of -&amp;amp;gt;lo_pending. Loop&lt;br /&gt;
device doesn't have bios at this point and triggers BUG_ON.&lt;br /&gt;
&lt;br /&gt;
So, don't complete -&amp;amp;gt;lo_bh_done when loop device isn't setup fully.&lt;br /&gt;
In mainstream it was accidentaly fixed when converting to kthreads.&lt;br /&gt;
&lt;br /&gt;
Bug #79521.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-ioprio-force-disp-off-20070424 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily Tarasov &amp;amp;lt;vtaras@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[IOPRIO] forced dispatching when CONFIG_UBC_IO_PRIO off&lt;br /&gt;
&lt;br /&gt;
If CONFIG_UBC_IO_PRIO is off, then no beancounters are in active list,&lt;br /&gt;
consequently we have a bug in forced dispatching case.&lt;br /&gt;
&lt;br /&gt;
{{Bug|528}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-ioprio-oops-on-virt-off-20070423 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vasily Tarasov &amp;amp;lt;vtaras@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[IOPRIO] Oops on IO-prioritization disabling&lt;br /&gt;
&lt;br /&gt;
If io-prioritization is suddenly turned off via&lt;br /&gt;
/sys/block/&amp;amp;lt;dev&amp;amp;gt;/queue/iosched/virt_mode cfqq owner BC does not equal&lt;br /&gt;
current io context. It is right to get beancounter obtained from queue,&lt;br /&gt;
but not from current IO context.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-off-20070424 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev &amp;amp;lt;aandreev@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] compilation fix with CONFIG_USER_RESOURCE=n&lt;br /&gt;
&lt;br /&gt;
Compilation fix with CONFIG_USER_RESOURCE=n&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-unusedprivvm-in-zeromap-20070424 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[BC] Leak of privvmpages on zero page maps&lt;br /&gt;
&lt;br /&gt;
This was obviously forgotten.&lt;br /&gt;
Each mmap of /dev/zero causes this leak.&lt;br /&gt;
&lt;br /&gt;
Bug #80246.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-meminfo-b-20070330 ====&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;
[MEMINFO] sysctl for selecting UsedMem source&lt;br /&gt;
&lt;br /&gt;
Adds sysctl to choose base ubc parameter for memory usage inside a VE.&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-netlink-veprintk-20070426 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[NETLINK] VE netlink message should go into VE log&lt;br /&gt;
&lt;br /&gt;
When parsing netlink arguments kernel may printk that&lt;br /&gt;
some bytes left unparsed. Make this info appear in VE log,&lt;br /&gt;
instead of global one.&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 Averin &amp;amp;lt;vvs@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[TUN] prohibit tun persistent mode inside VE&lt;br /&gt;
&lt;br /&gt;
Prohibit tun persistent mode inside VE, until resolved via ve hooks.&lt;br /&gt;
&lt;br /&gt;
Bug #79612.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-xen-netback-20070426 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Sergey Korshunoff &amp;amp;lt;seyko2@&amp;amp;gt;:&lt;br /&gt;
&lt;br /&gt;
Fix Xen netback driver, since loopback_dev is defined as a macro&lt;br /&gt;
in OVZ and is substituted.&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-vzstat-numa-fixes-b-20070416 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev &amp;amp;lt;aandreev@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
[VZSTAT] Sum up per node stats for pgdat's&lt;br /&gt;
&lt;br /&gt;
cat /proc/vz/stats in 2.6.18 shows information about zones&lt;br /&gt;
for each node, but vzstat utility parse information about one (last)&lt;br /&gt;
node only, and shows incorrect memory info on hosts with several nodes&lt;br /&gt;
(numa hosts for instance). New code scans all nodes and summarize&lt;br /&gt;
statistics for identical zones per each node.&lt;br /&gt;
&lt;br /&gt;
Bug #77994.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzstat-zone-id-20070416 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev &amp;amp;lt;aandreev@openvz.org&amp;amp;gt;:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[VZSTAT] Fix vzstat when DMA32 zone on x8664 (index 1) is empty&lt;br /&gt;
&lt;br /&gt;
Fix vzstat when DMA32 zone on x8664 (index 1) is empty.&lt;br /&gt;
For this, show ordinal number of a zone instead of it's real&lt;br /&gt;
index in kernel 'zones' array.&lt;br /&gt;
So the output will look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 DMA&lt;br /&gt;
skipped DMA32 zone&lt;br /&gt;
1 Normal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bug #77336.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== io-accounting-menuconfig.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan &amp;amp;lt;adobriyan@openvz.org&amp;amp;gt;:&lt;br /&gt;
&lt;br /&gt;
1. Move TASK_IO_ACCOUNTING out of EMBEDDED menu cf placement in mainline.&lt;br /&gt;
&lt;br /&gt;
2. As side effect, EMBEDDED menu will be shown on same level as designed,&lt;br /&gt;
not returning to top level after SYSCTL option.&lt;br /&gt;
&lt;br /&gt;
{{Bug|550}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== namespaces-utsname-xen.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Sergey Korshunoff &amp;amp;lt;seyko2@&amp;amp;gt;:&lt;br /&gt;
&lt;br /&gt;
Fix utsname handling in process-xen.c, which is a copy of process.c&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:&lt;br /&gt;
&lt;br /&gt;
This patch fixes i2o message leak.&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:&lt;br /&gt;
&lt;br /&gt;
This patch fixes access to memory that has not been allocated:&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:&lt;br /&gt;
&lt;br /&gt;
This patch fixes a number of issues in i2o_cfg_passthru{,32}:&lt;br /&gt;
&lt;br /&gt;
* memory leaks (including i2o_message leak fixed by khorenko@sw.ru)&lt;br /&gt;
* infinite loop to sg_list_cleanup in passthru32&lt;br /&gt;
* bad error paths&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;
==== linux-2.6.18-drbd-8.0.0-8.0.2.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Drbd update to v8.0.2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kir</name></author>
		
	</entry>
</feed>