<?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%2F028stab045.1%2Fchanges</id>
	<title>Download/kernel/rhel5/028stab045.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%2F028stab045.1%2Fchanges"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel5/028stab045.1/changes&amp;action=history"/>
	<updated>2026-05-15T16:32:00Z</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/028stab045.1/changes&amp;diff=7768&amp;oldid=prev</id>
		<title>Kir: Protected &quot;Download/kernel/rhel5/028stab045.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/028stab045.1/changes&amp;diff=7768&amp;oldid=prev"/>
		<updated>2009-10-22T18:29:44Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/Download/kernel/rhel5/028stab045.1/changes&quot; title=&quot;Download/kernel/rhel5/028stab045.1/changes&quot;&gt;Download/kernel/rhel5/028stab045.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/028stab045.1/changes&amp;diff=5119&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/028stab045.1/changes&amp;diff=5119&amp;oldid=prev"/>
		<updated>2008-03-20T22:23:47Z</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;
* Major x8664 security fix (CVE-2007-4573)&lt;br /&gt;
* Other security fixes&lt;br /&gt;
* Rebase to RHEL5 8.1.14 kernel&lt;br /&gt;
* areca and DRBD driver updates&lt;br /&gt;
* Fixes for NFS client in VE, CPT, UBC, VZDQ, IPv6, fairsched, 4GB split.&lt;br /&gt;
=== Config changes ===&lt;br /&gt;
Added:&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_PREEMPT_VOLUNTARY=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_REISERFS_FS=m&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_REISERFS_PROC_INFO=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_REISERFS_FS_XATTR=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_REISERFS_FS_POSIX_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_JFS_FS=m&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_JFS_POSIX_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_XFS_FS=m&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_XFS_QUOTA=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_XFS_POSIX_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
Removed:&lt;br /&gt;
* -&amp;lt;code&amp;gt;CONFIG_PREEMPT_NONE&amp;lt;/code&amp;gt;&lt;br /&gt;
* -&amp;lt;code&amp;gt;CONFIG_DEBUG_HIGHMEM&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-i2o-iosched-fix-20070806 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Kuznetsov (alexey@):&lt;br /&gt;
&lt;br /&gt;
It is I2O device, which siffers of the same problem, which I found&lt;br /&gt;
with nbd.&lt;br /&gt;
&lt;br /&gt;
The fact that this is troggered even with anticipatory scheduler&lt;br /&gt;
says that this scheduler is broken as well, only race window is more narrow.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
if (ad-&amp;amp;gt;changed_batch &amp;amp;amp;&amp;amp;amp; ad-&amp;amp;gt;nr_dispatched == 1) {&lt;br /&gt;
        kblockd_schedule_work(&amp;amp;amp;ad-&amp;amp;gt;antic_work);&lt;br /&gt;
        ad-&amp;amp;gt;changed_batch = 0;&lt;br /&gt;
        if (ad-&amp;amp;gt;batch_data_dir == REQ_SYNC)&lt;br /&gt;
                ad-&amp;amp;gt;new_batch = 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
I guess that it freezes when we hit this place with changed_batch==0.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-lock-fd-fix-20070822 ====&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;
[PATCH] CPT: correct handling of lock fd error codes&lt;br /&gt;
&lt;br /&gt;
Undump in CPT is performed in 2 stages (create env and init process; full&lt;br /&gt;
undump). These 2 stages are separated with help of pipe: when this pipe is&lt;br /&gt;
closed from vzctl we can proceed with second stage in CPT.&lt;br /&gt;
So, possible scenario is following:&lt;br /&gt;
&lt;br /&gt;
1. We are waiting in CPT in pipe_read() when pipe will be closed.&lt;br /&gt;
&lt;br /&gt;
2. someone is sending signal to our task which is waiting in pipe_read().&lt;br /&gt;
&lt;br /&gt;
3. pipe_read() exits with -ERESTARTSYS, but we ignore this error and continue&lt;br /&gt;
with undump process, but vzctl do not perform all intermediate stages, so we&lt;br /&gt;
can't proceed with undump.&lt;br /&gt;
&lt;br /&gt;
Bug #88618.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-debug-busy-inodes-b-20070828 ====&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;&lt;br /&gt;
&lt;br /&gt;
Additional debug for busy inodes after umount:&lt;br /&gt;
print more dentry information&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-bond802.3ad-carrier-20070818 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Jay Vosburgh &amp;amp;lt;fubar@us.ibm.com&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] bonding: Fix 802.3ad no carrier on &amp;quot;no partner found&amp;quot; instance&lt;br /&gt;
&lt;br /&gt;
Modify carrier state determination for 802.3ad mode to comply&lt;br /&gt;
with section 43.3.9 of IEEE 802.3, which requires that &amp;quot;Links that are&lt;br /&gt;
not successful candidates for aggregation (e.g., links that are attached&lt;br /&gt;
to other devices that cannot perform aggregation or links that have been&lt;br /&gt;
manually configured to be non-aggregatable) are enabled to operate as&lt;br /&gt;
individual IEEE 802.3 links.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Bug reported by Laurent Chavey &amp;amp;lt;chavey@google.com&amp;amp;gt;.  This patch&lt;br /&gt;
is an updated version of his patch that changes the wording of&lt;br /&gt;
commentary and adds an update to the driver version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
Signed-off-by: Jay Vosburgh &amp;amp;lt;fubar@us.ibm.com&amp;amp;gt;&lt;br /&gt;
Signed-off-by: Laurent Chavey &amp;amp;lt;chavey@google.com&amp;amp;gt;&lt;br /&gt;
Signed-off-by: Jeff Garzik &amp;amp;lt;jeff@garzik.org&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
GIT: 031ae4deb095a1f18a842740459c5ae184ec931c&lt;br /&gt;
&lt;br /&gt;
{{bug|666}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-proc-enoent-if-task-is-dead-20070824 ====&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;
[PATCH proc: return ENOENT instead of EACCESS when task is dead&lt;br /&gt;
&lt;br /&gt;
When reading the symlink /proc/&amp;amp;lt;pid&amp;amp;gt;/exe or /proc/&amp;amp;lt;pid&amp;amp;gt;/fd/&amp;amp;lt;any&amp;amp;gt;&lt;br /&gt;
of a task, that has managed to die after opening the appropriate&lt;br /&gt;
dir, but before reading the symlink, kernel returns -EACCESS due&lt;br /&gt;
to strange code in proc_fd_access_allowed().&lt;br /&gt;
&lt;br /&gt;
Unlike the ms/RHEL5 kernel, the SuSE kernel returns -ENOENT in this&lt;br /&gt;
case and it turned out, that some SuSE software (inetd) is aware&lt;br /&gt;
of it and cannot stand any deviations.&lt;br /&gt;
&lt;br /&gt;
Make the kernel return -ENOENT when the task is dead to make VEs&lt;br /&gt;
based on SuSE templates work. Keep the return value in any other&lt;br /&gt;
case (-EACCESS).&lt;br /&gt;
&lt;br /&gt;
Bug #82009.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-security-signals-20070817 ====&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;
[PATCH] Reset current-&amp;amp;gt;pdeath_signal on SUID binary execution (CVE-2007-3848)&lt;br /&gt;
&lt;br /&gt;
Severity: minor&lt;br /&gt;
&lt;br /&gt;
This fixes a vulnerability in the &amp;quot;parent process death signal&amp;quot;&lt;br /&gt;
implementation discoverd by Wojciech Purczynski of COSEINC PTE Ltd.&lt;br /&gt;
and iSEC Security Research.&lt;br /&gt;
&lt;br /&gt;
http://marc.info/?l=bugtraq&amp;amp;amp;m=118711306802632&amp;amp;amp;w=2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
Signed-off-by: Marcel Holtmann &amp;amp;lt;marcel@holtmann.org&amp;amp;gt;&lt;br /&gt;
Signed-off-by: Linus Torvalds &amp;amp;lt;torvalds@linux-foundation.org&amp;amp;gt;&lt;br /&gt;
Signed-off-by: Greg Kroah-Hartman &amp;amp;lt;gregkh@suse.de&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X-Git-Tag: v2.6.22.4~1&amp;lt;br/&amp;gt;&lt;br /&gt;
X-Git-Url: [http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fstable%2Flinux-2.6.22.y.git;a=commitdiff_plain;h=c27a3393808acab7243da7455c713fe763ea2627 c27a3393808acab7243da7455c713fe763ea2627]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-sigqueue-race-20070828 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Oleg Nesterov &amp;amp;lt;oleg@tv-sign.ru&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] sigqueue_free: fix the race with collect_signal()&lt;br /&gt;
&lt;br /&gt;
Spotted by taoyue &amp;amp;lt;yue.tao@windriver.com&amp;amp;gt; and Jeremy Katz &amp;amp;lt;jeremy.katz@windriver.com&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
collect_signal:                         sigqueue_free:&lt;br /&gt;
&lt;br /&gt;
        list_del_init(&amp;amp;amp;first-&amp;amp;gt;list);&lt;br /&gt;
                                                if (!list_empty(&amp;amp;amp;q-&amp;amp;gt;list)) {&lt;br /&gt;
                                                        // not taken&lt;br /&gt;
                                                }&lt;br /&gt;
                                                q-&amp;amp;gt;flags &amp;amp;amp;= ~SIGQUEUE_PREALLOC;&lt;br /&gt;
&lt;br /&gt;
        __sigqueue_free(first);                 __sigqueue_free(q);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, __sigqueue_free() is called twice on the same &amp;quot;struct sigqueue&amp;quot; with the&lt;br /&gt;
obviously bad implications.&lt;br /&gt;
&lt;br /&gt;
In particular, this double free breaks the array_cache-&amp;amp;gt;avail logic, so the&lt;br /&gt;
same sigqueue could be &amp;quot;allocated&amp;quot; twice, and the bug can manifest itself via&lt;br /&gt;
the &amp;quot;impossible&amp;quot; BUG_ON(!SIGQUEUE_PREALLOC) in sigqueue_free/send_sigqueue.&lt;br /&gt;
&lt;br /&gt;
Hopefully this can explain these mysterious bug-reports, see&lt;br /&gt;
&lt;br /&gt;
http://marc.info/?t=118766926500003&amp;lt;br/&amp;gt;&lt;br /&gt;
http://marc.info/?t=118466273000005&lt;br /&gt;
&lt;br /&gt;
Alexey Dobriyan reports this patch makes the difference for the testcase, but&lt;br /&gt;
nobody has an access to the application which opened the problems originally.&lt;br /&gt;
&lt;br /&gt;
Also, this patch removes tasklist lock/unlock, -&amp;amp;gt;siglock is enough.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Oleg Nesterov &amp;amp;lt;oleg@tv-sign.ru&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: taoyue &amp;amp;lt;yue.tao@windriver.com&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: Jeremy Katz &amp;amp;lt;jeremy.katz@windriver.com&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: Sukadev Bhattiprolu &amp;amp;lt;sukadev@us.ibm.com&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: Alexey Dobriyan &amp;amp;lt;adobriyan@sw.ru&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: Ingo Molnar &amp;amp;lt;mingo@elte.hu&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: Thomas Gleixner &amp;amp;lt;tglx@linutronix.de&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: Roland McGrath &amp;amp;lt;roland@redhat.com&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Cc: &amp;amp;lt;stable@kernel.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Signed-off-by: Andrew Morton &amp;amp;lt;akpm@linux-foundation.org&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-ioprio-exports-20070823 ====&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;
[PATCH] UBC: add CFQ ioprio exports for CONFIG_IOSCHED_CFQ=m case&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
Add CFQ ioprio exports for CONFIG_IOSCHED_CFQ=m case&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{bug|669}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-tcp-wakeup-20070823 ====&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] UBC: missed wakup on one ub refill path&lt;br /&gt;
&lt;br /&gt;
The following scenario is possible:&lt;br /&gt;
* TCPSNDBUF rejected by ub_sock_get_wreserv&lt;br /&gt;
* sys_poll -&amp;amp;gt; ub_sock_snd_queue_add&lt;br /&gt;
* uncharge -&amp;amp;gt; sk-&amp;amp;gt;sk_write_space DOES NOT wakeup the waiting poll as the queue is too long&lt;br /&gt;
&lt;br /&gt;
After this, no one will wakeup the process :(&lt;br /&gt;
&lt;br /&gt;
And it will block till the poll timeout end.&lt;br /&gt;
&lt;br /&gt;
The patch makes sure, that the generic code will send wakeup when appropriate.&lt;br /&gt;
&lt;br /&gt;
Bug #89127&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-nfs-client-lookup-20070817 ====&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;
This patch fixes NFS client socket transport creation.&lt;br /&gt;
&lt;br /&gt;
This patch fixes NFS client socket transport creation.&lt;br /&gt;
RPC client is cached in NFS client structure.&lt;br /&gt;
So, correct allocation/lookup for NFS client.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-nfs-xdev-20070817 ====&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;&lt;br /&gt;
&lt;br /&gt;
This patch allows VE to traverse mountpoints if exported NFS tree contains ones.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-venet-rmmod-20070824 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vitaliy Gusev &amp;amp;lt;vgusev@openvz.org&amp;amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] VENET: allow rmmod even if VE0 venet is UP&lt;br /&gt;
&lt;br /&gt;
This patch allows delete module even if venet ifterface in VE0 is up.&lt;br /&gt;
Note, we must shutdown all interfaces in others VEs before delete module still.&lt;br /&gt;
&lt;br /&gt;
Bug #83537&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== linux-2.6.18-drbd-8.0.4-8.0.5.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from DRBD, prepared by Evgeniy Kravtsunov:&amp;lt;br/&amp;gt;&lt;br /&gt;
Update drbd from 8.0.4 to 8.0.5.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-unaligned-to-pb-20070829 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vitaliy Gusev &amp;amp;lt;vgusev@openvz.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] BC: fix unaliagned access on ia64&lt;br /&gt;
&lt;br /&gt;
struct page contains union of the fields:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
        union {&lt;br /&gt;
                struct user_beancounter *page_ub;&lt;br /&gt;
                struct page_beancounter *page_pb;&lt;br /&gt;
        } bc;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
and there are three cases for value 'bc':&lt;br /&gt;
&lt;br /&gt;
1) pointer to user_beancounter&amp;lt;br/&amp;gt;&lt;br /&gt;
2) pointer to page_beancounter&amp;lt;br/&amp;gt;&lt;br /&gt;
3) IO marked pointer to page_beancounter&lt;br /&gt;
&lt;br /&gt;
This patch corrects access to 3-rd case pointer.&lt;br /&gt;
&lt;br /&gt;
Bug #86554.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-net-lost-reset-env-20070831 ====&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;
[PATCH] IPv6: lost exec env reset in number of places&lt;br /&gt;
&lt;br /&gt;
On is in for() loop - we could got to next loop iteration and&lt;br /&gt;
make the original env lost.&lt;br /&gt;
&lt;br /&gt;
The other two are in error paths.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-dlm-fix-user-unlocking-20070829 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bug #88675.&lt;br /&gt;
&lt;br /&gt;
From Andrey Mirkin, backported from mainstream:&lt;br /&gt;
&lt;br /&gt;
The following patches are ported from mainstream to fix deadlock in dlm&lt;br /&gt;
The problem was in this path:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
do_exit&lt;br /&gt;
  put_files_struct&lt;br /&gt;
    ...&lt;br /&gt;
    dlm_clear_proc_locks   &amp;amp;lt;&amp;amp;lt;&amp;amp;lt;  Here we are taking mutex ls_clear_proc_locks&lt;br /&gt;
      unlock_lock&lt;br /&gt;
        do_unlock&lt;br /&gt;
          grant_pending_locks&lt;br /&gt;
            grant_lock_pending&lt;br /&gt;
              dlm_user_add_ast &amp;amp;lt;&amp;amp;lt;&amp;amp;lt; Here we are trying to take the same mutex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Following patches changes lock/unlock mechanism and fixes this and other&lt;br /&gt;
deadlocks which are present in rhel5 kernel.&lt;br /&gt;
&lt;br /&gt;
Tested on 2.6.18-rhel5-041.1 kernel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
diff-tree a1bc86e6bddd34362ca08a3a4d898eb4b5c15215 (from 1d6e8131cf0064ef5ab5f3411a82b800afbfadee)&lt;br /&gt;
Author: David Teigland &amp;amp;lt;teigland@redhat.com&amp;amp;gt;&lt;br /&gt;
Date:   Mon Jan 15 10:34:52 2007 -0600&lt;br /&gt;
&lt;br /&gt;
    [DLM] fix user unlocking&lt;br /&gt;
&lt;br /&gt;
    When a user process exits, we clear all the locks it holds.  There is a&lt;br /&gt;
    problem, though, with locks that the process had begun unlocking before it&lt;br /&gt;
    exited.  We couldn't find the lkb's that were in the process of being&lt;br /&gt;
    unlocked remotely, to flag that they are DEAD.  To solve this, we move&lt;br /&gt;
    lkb's being unlocked onto a new list in the per-process structure that&lt;br /&gt;
    tracks what locks the process is holding.  We can then go through this&lt;br /&gt;
    list to flag the necessary lkb's when clearing locks for a process when it&lt;br /&gt;
    exits.&lt;br /&gt;
&lt;br /&gt;
    Signed-off-by: David Teigland &amp;amp;lt;teigland@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;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-dlm-can-miss-clearing-resend-flag-20070829 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey (amirkin@) ported from mainstream:&lt;br /&gt;
&lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b790c3b7c38aae28c497bb363a6fe72f7c96568f b790c3b7c38aae28c497bb363a6fe72f7c96568f]&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
Author: David Teigland &amp;amp;lt;teigland@redhat.com&amp;amp;gt;&lt;br /&gt;
Date:   Wed Jan 24 10:21:33 2007 -0600&lt;br /&gt;
&lt;br /&gt;
    [DLM] can miss clearing resend flag&lt;br /&gt;
&lt;br /&gt;
    A long, complicated sequence of events, beginning with the RESEND flag not&lt;br /&gt;
    being cleared on an lkb, can result in an unlock never completing.&lt;br /&gt;
&lt;br /&gt;
    - lkb on waiters list for remote lookup&lt;br /&gt;
    - the remote node is both the dir node and the master node, so&lt;br /&gt;
      it optimizes the lookup into a request and sends a request&lt;br /&gt;
      reply back&lt;br /&gt;
    - the request reply is saved on the requestqueue to be processed&lt;br /&gt;
      after recovery&lt;br /&gt;
    - recovery runs dlm_recover_waiters_pre() which sets RESEND flag&lt;br /&gt;
      so the lookup will be resent after recovery&lt;br /&gt;
    - end of recovery: process_requestqueue takes saved request reply&lt;br /&gt;
      which removes the lkb off the waitesr list, _without_ clearing&lt;br /&gt;
      the RESEND flag&lt;br /&gt;
    - end of recovery: dlm_recover_waiters_post() doesn't do anything&lt;br /&gt;
      with the now completed lookup lkb (would usually clear RESEND)&lt;br /&gt;
    - later, the node unmounts, unlocks this lkb that still has RESEND&lt;br /&gt;
      flag set&lt;br /&gt;
    - the lkb is on the waiters list again, now for unlock, when recovery&lt;br /&gt;
      occurs, dlm_recover_waiters_pre() shows the lkb for unlock with RESEND&lt;br /&gt;
      set, doesn't do anything since the master still exists&lt;br /&gt;
    - end of recovery: dlm_recover_waiters_post() takes this lkb off&lt;br /&gt;
      the waiters list because it has the RESEND flag set, then reports&lt;br /&gt;
      an error because unlocks are never supposed to be handled in&lt;br /&gt;
      recover_waiters_post().&lt;br /&gt;
    - later, the unlock reply is received, doesn't find the lkb on&lt;br /&gt;
      the waiters list because recover_waiters_post() has wrongly&lt;br /&gt;
      removed it.&lt;br /&gt;
    - the unlock operation has been lost, and we're left with a&lt;br /&gt;
      stray granted lock&lt;br /&gt;
    - unmount spins waiting for the unlock to complete&lt;br /&gt;
&lt;br /&gt;
    The visible evidence of this problem will be a node where gfs umount is&lt;br /&gt;
    spinning, the dlm waiters list will be empty, and the dlm locks list will&lt;br /&gt;
    show a granted lock.&lt;br /&gt;
&lt;br /&gt;
    The fix is simply to clear the RESEND flag when taking an lkb off the&lt;br /&gt;
    waiters list.&lt;br /&gt;
&lt;br /&gt;
    Signed-off-by: David Teigland &amp;amp;lt;teigland@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;
&lt;br /&gt;
Bug #88675&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-dlm-overlapping-cancel-and-unlock-20070829 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey (amirkin@) ported from mainstream:&lt;br /&gt;
&lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef0c2bb05f40f9a0cd2deae63e199bfa62faa7fa ef0c2bb05f40f9a0cd2deae63e199bfa62faa7fa]&lt;br /&gt;
&lt;br /&gt;
Author: David Teigland &amp;amp;lt;teigland@redhat.com&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Date:   Wed Mar 28 09:56:46 2007 -0500&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    [DLM] overlapping cancel and unlock&lt;br /&gt;
&lt;br /&gt;
    Full cancel and force-unlock support.  In the past, cancel and&lt;br /&gt;
    force-unlock wouldn't work if there was another operation in progress on&lt;br /&gt;
    the lock.  Now, both cancel and unlock-force can overlap an operation on&lt;br /&gt;
    a lock, meaning there may be 2 or 3 operations in progress on a lock in&lt;br /&gt;
    parallel.  This support is important not only because cancel and&lt;br /&gt;
    force-unlock are explicit operations that an app can use, but both are&lt;br /&gt;
    used implicitly when a process exits while holding locks.&lt;br /&gt;
&lt;br /&gt;
    Summary of changes:&lt;br /&gt;
&lt;br /&gt;
    - add-to and remove-from waiters functions were rewritten to handle&lt;br /&gt;
      situations with more than one remote operation outstanding on a lock&lt;br /&gt;
    - validate_unlock_args detects when an overlapping cancel/unlock-force&lt;br /&gt;
      can be sent and when it needs to be delayed until a request/lookup&lt;br /&gt;
      reply is received&lt;br /&gt;
    - processing request/lookup replies detects when cancel/unlock-force&lt;br /&gt;
      occured during the op, and carries out the delayed cancel/unlock-force&lt;br /&gt;
    - manipulation of the &amp;quot;waiters&amp;quot; (remote operation) state of a lock moved&lt;br /&gt;
      under the standard rsb mutex that protects all the other lock state&lt;br /&gt;
    - the two recovery routines related to locks on the waiters list changed&lt;br /&gt;
      according to the way lkb's are now locked before accessing waiters state&lt;br /&gt;
    - waiters recovery detects when lkb's being recovered have overlapping&lt;br /&gt;
      cancel/unlock-force, and may not recover such locks&lt;br /&gt;
    - revert_lock (cancel) returns a value to distinguish cases where it did&lt;br /&gt;
      nothing vs cases where it actually did a cancel; the cancel completion&lt;br /&gt;
      ast should only be done when cancel did something&lt;br /&gt;
    - orphaned locks put on new list so they can be found later for purging&lt;br /&gt;
    - cancel must be called on a lock when making it an orphan&lt;br /&gt;
    - flag user locks (ENDOFLIFE) at the end of their useful life (to the&lt;br /&gt;
      application) so we can return an error for any further&lt;br /&gt;
      cancel/unlock-force&lt;br /&gt;
    - we weren't setting COMP/BAST ast flags if one was already set, so we'd&lt;br /&gt;
      lose either a completion or blocking ast&lt;br /&gt;
    - clear an unread bast on a lock that's become unlocked&lt;br /&gt;
&lt;br /&gt;
    Signed-off-by: David Teigland &amp;amp;lt;teigland@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;
&lt;br /&gt;
Bug #88675&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== linux-2.6.18-arcmsr-1.20.0X.14.devel.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch prepared by Kostja (khorenko@):&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Areca driver v1.20.0X.14.devel provided to Thomas Krenn AG by Areca people.&lt;br /&gt;
&lt;br /&gt;
Areca driver v1.20.0X.14.devel provided to Thomas Krenn AG by Areca people.&lt;br /&gt;
Declared to fix the memory leak problem caused by Areca command line&lt;br /&gt;
utility (about 7 MB per execution of the CLI according to Thomas Krenn AG).&lt;br /&gt;
&lt;br /&gt;
P.S. the issue with ARCMSR_MAX_XFER_SECTORS[_B] fixed.&lt;br /&gt;
&lt;br /&gt;
Bug #87569.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-arch-4gb-ldt-leak-20070918 ====&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;
[PATCH] fix possible page leak during LDT allocation&lt;br /&gt;
&lt;br /&gt;
Fix possible page leak during LDT allocation:&lt;br /&gt;
alloc_ldt() doesn't free new pages on error path and&lt;br /&gt;
doesn't change context-&amp;amp;gt;size value.&lt;br /&gt;
Thus we can have more pages on destroy_context() than&lt;br /&gt;
we think we have according to our context-&amp;amp;gt;size.&lt;br /&gt;
Let's scan all 16 pages to make sure everything is freed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-remove-local-var-20070911 ====&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;
[PATCH] CPT: lock fd close correct error handling&lt;br /&gt;
&lt;br /&gt;
Lock fd close correct error handling:&lt;br /&gt;
on undump local variable 'err' was used to store an error,&lt;br /&gt;
that is why this error was ignored and undump continues&lt;br /&gt;
in spite of the error.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-rst-ldt-leak-20070918 ====&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;
[PATCH] CPT: fix LDT pages leak with 4GB split&lt;br /&gt;
&lt;br /&gt;
In case 4GB split kernel is used, CPT can leak&lt;br /&gt;
some of LDT pages - it allocates pages first,&lt;br /&gt;
but doesn't set context-&amp;amp;gt;size, thus destroy_context()&lt;br /&gt;
won't try to free these additional LDT pages.&lt;br /&gt;
&lt;br /&gt;
Relevant for -ent kernel flavors only.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-vsyscall-x64-fix ====&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;
[PATCH] Fix CPT vsyscall part for x8664 case&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-debug-busy-inodes-c-20070830 ====&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 debug: additional debug for busy inodes after umount (part 2)&lt;br /&gt;
&lt;br /&gt;
print also all mnt points for given super block on umount&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-preempt-20070921 ====&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;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] fairsched: fix warning on preempt kernels&lt;br /&gt;
&lt;br /&gt;
rq-&amp;amp;gt;curr should be initialized to something to avoid&lt;br /&gt;
its dereference e.g. in try_to_wakeup() on first&lt;br /&gt;
process wakeup.&lt;br /&gt;
&lt;br /&gt;
Actually it doesn't matter to what it is initialized.&lt;br /&gt;
Let's use init_task for initial rq-&amp;amp;gt;curr.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-broken-cond-resched-lock-20070919 ====&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] cond_resched_lock() doesn't work in 2.6.18&lt;br /&gt;
&lt;br /&gt;
When CONFIG_PREEMPT=n, cond_resched_lock() and cond_resched_softirq()&lt;br /&gt;
don't work, since they check for preempt_count to be sane,&lt;br /&gt;
but this counter is not tracked w/o preemption and is always 0.&lt;br /&gt;
&lt;br /&gt;
So the fix is:&lt;br /&gt;
&lt;br /&gt;
* ignore preempt count when CONFIG_PREEMPT=n&lt;br /&gt;
&lt;br /&gt;
* plus if we want to check preempt_count in CONFIG_PREEMPT=y case (just to be on the safe side), we need to account lock_kernel() effect on preempt_count correctly.&lt;br /&gt;
&lt;br /&gt;
Bug #91012&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-fibrules-list-cleanup-20070918 ====&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] small cleanup for fib rules&lt;br /&gt;
&lt;br /&gt;
This patch slightly cleanups FIB rules framework. rules_list as a pointer&lt;br /&gt;
on struct fib_rules_ops is useless. It is always assigned with a static&lt;br /&gt;
per/subsystem list in IPv4, IPv6 and DecNet.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Denis V. Lunev &amp;amp;lt;den@openvz.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Acked-by: Alexey Kuznetsov &amp;amp;lt;kuznet@ms2.inr.ac.ru&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-fs-odirect-20070822 ====&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;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[FS]: disable O_DIRECT by default inside VE&lt;br /&gt;
&lt;br /&gt;
We still have to disable O_DIRECT by default inside VE due to&lt;br /&gt;
compatibility with old broken software (e.g. rpm)&lt;br /&gt;
&lt;br /&gt;
Bug #91550.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-fs-shrink-dcache-reverse-20070913 ====&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] improve shrink_dcache_sb()&lt;br /&gt;
&lt;br /&gt;
This patch makes shrink_dcache_sb consistent with dentry pruning policy.&lt;br /&gt;
&lt;br /&gt;
On the first pass we iterate over dentry unused list and prepare some&lt;br /&gt;
dentries for removal.&lt;br /&gt;
However, since the existing code moves evicted dentries&lt;br /&gt;
to the beginning of the LRU it can happen that fresh dentries from&lt;br /&gt;
other superblocks will be inserted *before* our dentries.&lt;br /&gt;
&lt;br /&gt;
This can result in significant slowdown of shrink_dcache_sb().&lt;br /&gt;
Moreover, for virtual filesystems like unionfs which can call dput()&lt;br /&gt;
during dentries kill existing code results in O(n2) complexity.&lt;br /&gt;
&lt;br /&gt;
We observed 2 minutes shrink_dcache_sb() with only 35000 dentries.&lt;br /&gt;
&lt;br /&gt;
To avoid this effects we propose to isolate sb dentries at the end&lt;br /&gt;
of LRU list.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Denis V. Lunev &amp;amp;lt;den@openvz.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Signed-off-by: Kirill Korotaev &amp;amp;lt;dev@openvz.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Signed-off-by: Andrey Mirkin &amp;amp;lt;amirkin@openvz.org&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-ipv6-anycast-refcnt-20070914 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from David S. Miller &amp;amp;lt;davem@davemloft.net&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[IPV6]: /proc/net/anycast6 unbalanced inet6_dev refcnt&lt;br /&gt;
&lt;br /&gt;
Reading /proc/net/anycast6 when there is no anycast address&lt;br /&gt;
on an interface results in an ever-increasing inet6_dev reference&lt;br /&gt;
count, as well as a reference to the netdevice you can't get rid of.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: David S. Miller &amp;amp;lt;davem@davemloft.net&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bug #75822&lt;br /&gt;
&lt;br /&gt;
X-Git-Tag: v2.6.21-rc3~1492~5&amp;lt;br/&amp;gt;&lt;br /&gt;
X-Git-Url: [http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=aa6e4a96e7589948fe770744f7bb4f0f743dddaa aa6e4a96e7589948fe770744f7bb4f0f743dddaa]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-ppc64-atmhe-init-20070912 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Roland Dreier &amp;amp;lt;roland@digitalvampire.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[ATM] he: Fix __init/__devinit conflict&lt;br /&gt;
&lt;br /&gt;
he_init_one() is declared __devinit, but calls lots of init functions&lt;br /&gt;
that are marked __init.  However, if CONFIG_HOTPLUG is enabled,&lt;br /&gt;
__devinit functions go into normal .text, which leads to&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
    WARNING: drivers/atm/he.o - Section mismatch: reference to .init.text: from .text between 'he_start' (at offset 0x2130) and 'he_service_tbrq'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fix this by changing the __init functions to __devinit.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Roland Dreier &amp;amp;lt;roland@digitalvampire.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Signed-off-by: David S. Miller &amp;amp;lt;davem@davemloft.net&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
X-Git-Tag: v2.6.19-rc1~1232^2~10&amp;lt;br/&amp;gt;&lt;br /&gt;
X-Git-Url: [http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=5b7c714ec27584b18279b741b6043016f8adb9de 5b7c714ec27584b18279b741b6043016f8adb9de]&lt;br /&gt;
&lt;br /&gt;
Found by kir@openvz.org while building ovzkernel-2.6.18-8.1.8.el5.028stab039.1 on ppc64&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-security-x8664-rax-check-20070919 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Eugene Teo &amp;amp;lt;eugeneteo@kernel.sg&amp;amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] syscall invalid validation x86_64 (CVE-2007-4573)&lt;br /&gt;
&lt;br /&gt;
This patch fixes a vulnerability discovered by Wojciech Purczynski. It&lt;br /&gt;
appears that the 64-bit values stored in the %rax register is not properly&lt;br /&gt;
validated. This may lead to an out-of-bounds system call table access&lt;br /&gt;
resulting in the ability to execute arbitrary code in the context of the&lt;br /&gt;
kernel on x86_64 platform.&lt;br /&gt;
&lt;br /&gt;
{{CVE|2007-4573}}&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Eugene Teo &amp;amp;lt;eugeneteo@kernel.sg&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-sysrq-debug-fix-needless-help-20070924 ====&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] Fix needless SysRq help message&lt;br /&gt;
&lt;br /&gt;
Every time one does&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        echo p &amp;amp;gt;/proc/sysrq-trigger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
newline sneaks into kernel buffer, sysrq code doesn't find it in&lt;br /&gt;
handlers table, and spits help banner.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-sysrqkey-scancode-20061121 ====&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;
This patch lets you to change the SysRq key in Alt+SysRq+XXX combination&lt;br /&gt;
&lt;br /&gt;
This patch lets you to change the SysRq key in Alt+SysRq+XXX combination&lt;br /&gt;
with any other key:&lt;br /&gt;
&lt;br /&gt;
You can get scancodes of your keyboard with programs like showkey or&lt;br /&gt;
evtest.&lt;br /&gt;
The default Alt+SysRq combination still works after redefinition.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-netlink-exec-ub-20070912 ====&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] BC: set correct ub context in netlink processing&lt;br /&gt;
&lt;br /&gt;
* rtnl netlink socket is asynchronous and can be processed during rtnl_unlock in the other context.&lt;br /&gt;
* rtnl netlink socket is used to create kernel objects&lt;br /&gt;
* these objects are planned to be accounted at least to UB_KMEMSIZE&lt;br /&gt;
&lt;br /&gt;
So, let's set correct UB context for packets processing.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-fibrules-20070918 ====&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] virtualize fib rules, add kmemsize accounting&lt;br /&gt;
&lt;br /&gt;
* this patch virtualizes IPv6 routing rules&lt;br /&gt;
* fixes IPv4 routing rules implementation&lt;br /&gt;
* adds UBC accounting to kmemsize for fibrules&lt;br /&gt;
&lt;br /&gt;
Bug #90085.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-net-ioctl-sifflags-20070917 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Vitaliy Gusev &amp;amp;lt;vgusev@openvz.org&amp;amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] net: allow SIOCSIFFLAGS in dev_ioctl()&lt;br /&gt;
&lt;br /&gt;
This patch allows ioctl SIOCSIFFLAGS from VE on PF_INET6 socket.&lt;br /&gt;
&lt;br /&gt;
In old VEs (with redhat-6.2) ifconfig calls ioctl() on IPv6 socket,&lt;br /&gt;
while tries to make venet UP inside VE. And fails.&lt;br /&gt;
Since this ioctl is prohibited in dev_ioctl(). Newer ifconfig's&lt;br /&gt;
call this ioctl() on IPv4 socket and thus end up with inet_ioctl().&lt;br /&gt;
&lt;br /&gt;
Bug #91248&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-rm-unused-vars-20070914 ====&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;
[PATCH] clenup: remove unused vars from init_ve_system()&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-vzevent-20061120 ====&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;
Fix vzevent module. It is incompatible with kobject uevents in reallity.&lt;br /&gt;
&lt;br /&gt;
Fix vzevent module. It is incompatible with kobject uevents in reallity.&lt;br /&gt;
Current code does *nothing*, since kobj is not fully configured.&lt;br /&gt;
Instead let's send messages via a separate netlink channel.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-forced-off-20070817 ====&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;
[PATCH] VZDQ: add force quota off option&lt;br /&gt;
&lt;br /&gt;
Add force quota off option:&lt;br /&gt;
Just return 0 instead of EBUSY in case of VZQUOTA_OFF_FORCED ioctl.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-report-busy-dentries-20070816 ====&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;
[PATCH] VZDQ: report busy dentries on quota off&lt;br /&gt;
&lt;br /&gt;
In case of vzquota off fail, find and pass to the userspace&lt;br /&gt;
information about busy dentries. vzquota must pass PAGE_SIZE&lt;br /&gt;
buffer, and kernel fill it with found filenames.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;simple&amp;quot;&amp;gt;&lt;br /&gt;
V2:&lt;br /&gt;
- use free_page() instead of kfree()&lt;br /&gt;
- remove unnecessary \n after the last file name&lt;br /&gt;
&lt;br /&gt;
V3:&lt;br /&gt;
- use generic __d_path()&lt;br /&gt;
- don't call copy_to_user() if both ubuf and buf == NULL&lt;br /&gt;
&lt;br /&gt;
V4:&lt;br /&gt;
- remove VZ_DQ_OFF_FORCED declaration from header, it relates to another&lt;br /&gt;
patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bug #86944.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-report-busy-dentries-on-20070817 ====&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;
[PATCH] VZDQ: report busy dentries on vzquota on&lt;br /&gt;
&lt;br /&gt;
In case of vzquota ON fail, find and pass to the userspace&lt;br /&gt;
information about busy dentries.&lt;br /&gt;
vzquota must pass user buffer, and kernel fill it with found filenames.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-xen-x8664-vsyscall-fixes-20070822 ====&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;
[PATCH] Xen specific changes to support vsyscall in CPT.&lt;br /&gt;
&lt;br /&gt;
Tested on x86_64 and i386 on Xen and non-Xen kernels with&lt;br /&gt;
enabled/disabled vsyscall.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fs-sysctl-lsyscalls-20070926 ====&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;
[PATCH] sysctl: add lsyscalls sysctl&lt;br /&gt;
&lt;br /&gt;
This patch introduce /proc/sys/fs/lsyscall_enable sysctl.&lt;br /&gt;
Sysctl instoduced mostly for testing purposes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== linux-2.6.18-drbd-8.0.5-8.0.6.patch ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Evgeniy (emkravts@sw.ru):&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH 2.6.18] drbd update 8.0.5 - 8.0.6&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-fibrules-b-20070928 ====&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;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
This patch fixes allocation size for default IPv6 FIB rules.&lt;br /&gt;
&lt;br /&gt;
This patch fixes allocation size for default IPv6 FIB rules.&lt;br /&gt;
These hunks were accidentally missed in the previous patch.&lt;br /&gt;
&lt;br /&gt;
Bug #92085.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-broken-cond-resched-lock-b-20070928 ====&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;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[PATCH] fix for cond_resched() fix: remove wrong WARN_ON(1)&lt;br /&gt;
&lt;br /&gt;
WARN_ON(1) is illegal, since when we return from cond_resched()-&amp;amp;gt;schedule() we&lt;br /&gt;
have preempt_count = PREEMPT_ACTIVE, and if we have still current-&amp;amp;gt;need_resched&lt;br /&gt;
flag set we can get to cond_resched() again from&lt;br /&gt;
schedule()-&amp;amp;gt;reacquire_kernel_lock()-&amp;amp;gt;cond_resched()&lt;br /&gt;
and thus this WARN_ON(1) gets triggered.&lt;br /&gt;
&lt;br /&gt;
Bug #92140.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-broken-cond-resched-lock-c-20070930 ====&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;
[PATCH] another cond_resched() fix&lt;br /&gt;
&lt;br /&gt;
cond_resched() should check that it is not nexted&lt;br /&gt;
via preempt_count() &amp;amp;amp; PREEMPT_ACTIVE flag.&lt;br /&gt;
Drop the whole super-logic from Den checking preempt count&lt;br /&gt;
at al.&lt;br /&gt;
&lt;br /&gt;
Bug #92140.&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>