Difference between revisions of "Download/kernel/2.6.8/022stab050.1/changes"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
m (diff-ms-gcc4-emt64-fakestack-20051107: add missing empty line)
m (Protected "Download/kernel/2.6.8/022stab050.1/changes": Robot: Protecting a list of files. [edit=autoconfirmed:move=autoconfirmed])
 
(4 intermediate revisions by the same user not shown)
Line 59: Line 59:
  
 
==== diff-ms-gcc4-tss-20051101 ====
 
==== diff-ms-gcc4-tss-20051101 ====
<div class="change">Patch from Kir, fixes compilation issue with gcc4:<br/>
+
<div class="change">
 +
Patch from Kir, fixes compilation issue with gcc4:<br/>
 
tss_struct should be declared before ref.
 
tss_struct should be declared before ref.
 
</div>
 
</div>
  
 
==== diff-fairsched-balance-fix-20051110 ====
 
==== diff-fairsched-balance-fix-20051110 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">
 +
Patch from Pavel:
 +
 
 
On UP machines scheduler does not perform active load balancing
 
On UP machines scheduler does not perform active load balancing
 
and sched domains manupulations.
 
and sched domains manupulations.
Line 72: Line 75:
 
<div class="change">Patch from mainstream, ported by Kir:<br/>
 
<div class="change">Patch from mainstream, ported by Kir:<br/>
 
fixing compilation issue with gcc4.
 
fixing compilation issue with gcc4.
 +
 
http://linux.bkbits.net:8080/linux-2.6/cset@1.1982.90.1
 
http://linux.bkbits.net:8080/linux-2.6/cset@1.1982.90.1
 
</div>
 
</div>
Line 84: Line 88:
 
Patch from mainstream, fixing compilation issue with gcc4:<br/>
 
Patch from mainstream, fixing compilation issue with gcc4:<br/>
 
[PATCH] prio-tree: remove function prototype inside function
 
[PATCH] prio-tree: remove function prototype inside function
 +
 
http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.54.5
 
http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.54.5
 
</div>
 
</div>
Line 96: Line 101:
 
<div class="change">
 
<div class="change">
 
Patch from mainstream, fixing compilation issue with gcc4.
 
Patch from mainstream, fixing compilation issue with gcc4.
 +
 
http://linux.bkbits.net:8080/linux-2.6/cset@1.1803.144.88
 
http://linux.bkbits.net:8080/linux-2.6/cset@1.1803.144.88
 
</div>
 
</div>
Line 122: Line 128:
  
 
==== diff-ms-stopmachine-ipi-deadlock ====
 
==== diff-ms-stopmachine-ipi-deadlock ====
<div class="change">Patch from Kirill:<br/>
+
<div class="change">Patch from Kirill:
 +
 
 
This patch fixes deadlock of stop_machine() vs. synchronous IPI send.
 
This patch fixes deadlock of stop_machine() vs. synchronous IPI send.
 
The problem is that stop_machine() disables interrupts before disabling
 
The problem is that stop_machine() disables interrupts before disabling
 
preemption on other CPUs. So if another CPU is preempted and then calls
 
preemption on other CPUs. So if another CPU is preempted and then calls
 
something like flush_tlb_all() it will deadlock with CPU doing stop_machine()
 
something like flush_tlb_all() it will deadlock with CPU doing stop_machine()
and which can't process IPI due to disabled IRQs.<br/>
+
and which can't process IPI due to disabled IRQs.
  
 
I changed stop_machine() to do the same things exactly as it does on
 
I changed stop_machine() to do the same things exactly as it does on
Line 135: Line 142:
  
 
==== diff-ubc-oom-fix-20051102 ====
 
==== diff-ubc-oom-fix-20051102 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
<ul>
+
 
 
* shrinked slabs counting during try_to_free_pages() (lost from 2.4);
 
* shrinked slabs counting during try_to_free_pages() (lost from 2.4);
 
* do not call yield() in oom_kill() if suicide hapened (lost from 2.4);
 
* do not call yield() in oom_kill() if suicide hapened (lost from 2.4);
<li>oom_kill_counter correct calculations
+
* oom_kill_counter correct calculations when task is set to be PF_MEMDIE-d oom_kill_counter must be incremented, when this task calls do_exit() - oom_kill_counter decrements. this logic was broken before;
  when task is set to be PF_MEMDIE-d oom_kill_counter must be
 
  incremented, when this task calls do_exit() - oom_kill_counter
 
  decrements. this logic was broken before;</li>
 
 
* code cleanups.
 
* code cleanups.
</ul>
 
 
</div>
 
</div>
  
 
==== diff-ms-pagealloc-nofail-20051108 ====
 
==== diff-ms-pagealloc-nofail-20051108 ====
<div class="change">Patch from Kirill and Pavel:<br/>
+
<div class="change">Patch from Kirill and Pavel:
 +
 
 
When PF_MEMALLOC is set __alloc_pages() does it best
 
When PF_MEMALLOC is set __alloc_pages() does it best
 
to allocate a page. If even this try fails it is not
 
to allocate a page. If even this try fails it is not
 
good to immediately return NULL - try to wait longer.
 
good to immediately return NULL - try to wait longer.
<br/>Bug 44254.
+
 
 +
Bug 44254.
 
</div>
 
</div>
  
 
==== diff-ve-ia64-fsyscalls-20051103 ====
 
==== diff-ve-ia64-fsyscalls-20051103 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
<ul>
+
 
 
* fsys_getpid needs new offset for tgid;
 
* fsys_getpid needs new offset for tgid;
 
* fsys_getppid must not be called via fsys (locking);
 
* fsys_getppid must not be called via fsys (locking);
 
* fsys_set_tid_address needs new offset for pid.
 
* fsys_set_tid_address needs new offset for pid.
</ul>
 
 
</div>
 
</div>
  
 
==== diff-ve-ia64-printk-20051010 ====
 
==== diff-ve-ia64-printk-20051010 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
 +
 
 
Some info-printk can be triggered by userspace process. No need to
 
Some info-printk can be triggered by userspace process. No need to
 
spoil main logbuf.
 
spoil main logbuf.
Line 181: Line 186:
  
 
==== diff-ms-amderrata-20051108 ====
 
==== diff-ms-amderrata-20051108 ====
<div class="change">Patch from mainstream, prepared by Pavel:<br/>
+
<div class="change">
 +
Patch from mainstream, prepared by Pavel:
 +
 
 
This is a merge of
 
This is a merge of
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@1.3845.24.52 http://linux.bkbits.net:8080/linux-2.6/cset@1.3845.24.52]
+
* http://linux.bkbits.net:8080/linux-2.6/cset@1.3845.24.52
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@1.3895.1.53 http://linux.bkbits.net:8080/linux-2.6/cset@1.3895.1.53]
+
* http://linux.bkbits.net:8080/linux-2.6/cset@1.3895.1.53
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@1.3974 http://linux.bkbits.net:8080/linux-2.6/cset@1.3974]
+
* http://linux.bkbits.net:8080/linux-2.6/cset@1.3974
 
</div>
 
</div>
  
 
==== diff-ms-emt64-iounmap-20051031 ====
 
==== diff-ms-emt64-iounmap-20051031 ====
<div class="change">Patch from mainstream, ported by Pavel:<br/>
+
<div class="change">Patch from mainstream, ported by Pavel:
 +
 
 
Collected ioremap fixes:
 
Collected ioremap fixes:
<ul>
 
 
* Call change_page_attr correctly
 
* Call change_page_attr correctly
 
* Fix a race during iounmap
 
* Fix a race during iounmap
 
* Handle mmio holes without mem_map correctly (needed for SRAT patch)
 
* Handle mmio holes without mem_map correctly (needed for SRAT patch)
 
* Some cleanups
 
* Some cleanups
</ul>
 
  
Plus fix of DoS (CAN-2005-3108).<br/>
+
Plus fix of DoS (CAN-2005-3108).
  
 
This is the merge (and port) of these patches:
 
This is the merge (and port) of these patches:
 
+
* http://linux.bkbits.net:8080/linux-2.6/cset@428a06d1t7yny15TW1vsHxmsfP9YPg
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@428a06d1t7yny15TW1vsHxmsfP9YPg http://linux.bkbits.net:8080/linux-2.6/cset@428a06d1t7yny15TW1vsHxmsfP9YPg]
+
* http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.500.76
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.500.76 http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.500.76]
 
 
</div>
 
</div>
  
Line 209: Line 214:
 
<div class="change">Patch from Pavel:<br/>
 
<div class="change">Patch from Pavel:<br/>
 
task-&gt;sleep_avg should be updated under rq-&gt;lock.
 
task-&gt;sleep_avg should be updated under rq-&gt;lock.
<br/>Bug 53273.
+
 
 +
Bug 53273.
 
</div>
 
</div>
  
Line 234: Line 240:
  
 
==== diff-ubc-compile-20051107 ====
 
==== diff-ubc-compile-20051107 ====
<div class="change">Patch from Kir:<br/>
+
<div class="change">Patch from Kir:
fix of ub_misc.c compilation in case CONFIG_UBC_DEBUG_KMEM is
+
 
not set.
+
fix of ub_misc.c compilation in case CONFIG_UBC_DEBUG_KMEM is not set.
 
</div>
 
</div>
  
 
==== diff-ubc-resnames-20051107 ====
 
==== diff-ubc-resnames-20051107 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
 +
 
 
Print ubc resource name, not just number in
 
Print ubc resource name, not just number in
 
__charge_beancounter_locked() when resource
 
__charge_beancounter_locked() when resource
Line 247: Line 254:
  
 
==== diff-ve-ia64-printk-20051103 ====
 
==== diff-ve-ia64-printk-20051103 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
 +
 
 
Unaligned accesses in userspace are handled with kernel exception
 
Unaligned accesses in userspace are handled with kernel exception
 
handler and appropriate printk() occurs. This printk must go to
 
handler and appropriate printk() occurs. This printk must go to
Line 254: Line 262:
  
 
==== diff-ve-ip-conntrack-natmodrefs-20051031 ====
 
==== diff-ve-ip-conntrack-natmodrefs-20051031 ====
<div class="change">Patch from Dmitry:<br/>
+
<div class="change">Patch from Dmitry:
 +
 
 
fixed iptable_nat module reference counting
 
fixed iptable_nat module reference counting
<br/>[http://bugzilla.openvz.org/show_bug.cgi?id=64 OpenVZ Bug 64].
+
 
 +
{{Bug|64}}.
 
</div>
 
</div>
  
 
==== diff-ve-ip-conntrack-modrefs-20051031 ====
 
==== diff-ve-ip-conntrack-modrefs-20051031 ====
<div class="change">Patch from Dmitry:<br/>
+
<div class="change">Patch from Dmitry:
 +
 
 
If we have custom iptables entries inside VPS, than on VPS stop related
 
If we have custom iptables entries inside VPS, than on VPS stop related
 
iptable_* modules counts decrements aren't performed. Fixed.
 
iptable_* modules counts decrements aren't performed. Fixed.
Line 266: Line 277:
  
 
==== diff-ve-ia64-vpids-20051103 ====
 
==== diff-ve-ia64-vpids-20051103 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
<ul>
+
 
 
* sys32_ptrace searches task by pid (must by vpid);
 
* sys32_ptrace searches task by pid (must by vpid);
 
* signal handling functions send signal by pid (must by vpid).
 
* signal handling functions send signal by pid (must by vpid).
</ul>
 
 
</div>
 
</div>
  
Line 276: Line 286:
 
==== diff-ve-ia64-kernelthread-20051103 ====
 
==== diff-ve-ia64-kernelthread-20051103 ====
 
==== diff-schedule-taskstopped-20050919 ====
 
==== diff-schedule-taskstopped-20050919 ====
<div class="change">Patches from Pavel and Alexander:<br/>
+
<div class="change">
 +
Patches from Pavel and Alexander:<br/>
 
Do not alow stopped tasks sleep if they have pending SIGKILL
 
Do not alow stopped tasks sleep if they have pending SIGKILL
<br/>Bug 50052.
+
 
 +
Bug 50052.
 
</div>
 
</div>
  
 
==== diff-ms-setmempolicy-20051031 ====
 
==== diff-ms-setmempolicy-20051031 ====
<div class="change">Patch from mainstream:<br/>
+
<div class="change">Patch from mainstream:
 +
 
 
A kernel BUG() is triggered by a call to set_mempolicy()
 
A kernel BUG() is triggered by a call to set_mempolicy()
 
with a negative first argument.
 
with a negative first argument.
Line 289: Line 302:
 
declared as unsigned int or unsigned long.
 
declared as unsigned int or unsigned long.
  
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@42eef8b09C5r6iI0LuMe5Uy3k05c5g http://linux.bkbits.net:8080/linux-2.6/cset@42eef8b09C5r6iI0LuMe5Uy3k05c5g]
+
http://linux.bkbits.net:8080/linux-2.6/cset@42eef8b09C5r6iI0LuMe5Uy3k05c5g
<br/>[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3053 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3053]
+
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3053
 
</div>
 
</div>
  
Line 296: Line 309:
 
<div class="change">Patch from Alexander:<br/>
 
<div class="change">Patch from Alexander:<br/>
 
make kernel compilable without CONFIG_4KSTACKS
 
make kernel compilable without CONFIG_4KSTACKS
<br/>[http://bugzilla.openvz.org/show_bug.cgi?id=65 OpenVZ Bug 65].
+
 
 +
{{Bug|65}}.
 
</div>
 
</div>
  
Line 305: Line 319:
  
 
==== diff-fairsched-balance-20051102 ====
 
==== diff-fairsched-balance-20051102 ====
<div class="change">Patch from Andrey, fixed/splitted/corrected by Kirill:<br/>
+
<div class="change">Patch from Andrey, fixed/splitted/corrected by Kirill:
 +
 
 
This patch adds passive/active balancing in CPU scheduler.
 
This patch adds passive/active balancing in CPU scheduler.
 +
 
Additionally:
 
Additionally:
<ul>
 
 
* doesn't drop rq-&gt;lock in schedule_vcpu() on fast path (same VCPU)
 
* doesn't drop rq-&gt;lock in schedule_vcpu() on fast path (same VCPU)
 
* introduced 5ms VCPU to PCPU affinity
 
* introduced 5ms VCPU to PCPU affinity
 
* fixed initialization of VCPUs and scheduler domains
 
* fixed initialization of VCPUs and scheduler domains
</ul>
 
 
</div>
 
</div>
  
 
==== diff-ms-flock-hotplug-fix-20051114 ====
 
==== diff-ms-flock-hotplug-fix-20051114 ====
<div class="change">Patch from mainstream:<br/>
+
<div class="change">Patch from mainstream:
 +
 
 
The patch below fixes an interesting oddity we're seeing with fedora core
 
The patch below fixes an interesting oddity we're seeing with fedora core
 
development (where we recently started using udev heavily); basically right
 
development (where we recently started using udev heavily); basically right
Line 323: Line 338:
 
locking operations.  When that happens the kernel oopses because the slabs
 
locking operations.  When that happens the kernel oopses because the slabs
 
for file locks aren't initialized yet.
 
for file locks aren't initialized yet.
 +
 
Solution: initialize this way early.  It's only a kmem_cache_create after
 
Solution: initialize this way early.  It's only a kmem_cache_create after
 
all, so can happen early.
 
all, so can happen early.
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
+
 
 +
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;<br/>
 
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
 
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
  
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.6.179 http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.6.179]
+
http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.6.179
<br/>Bug 54025.
+
 
 +
Bug 54025.
 
</div>
 
</div>
  
 
==== diff-ve-vpid-alloc-20051118 ====
 
==== diff-ve-vpid-alloc-20051118 ====
 
<div class="change">Patch from Alexey, modified by Kirill:<br/>
 
<div class="change">Patch from Alexey, modified by Kirill:<br/>
[PATCH] vpid allocator was broken<br/>
+
[PATCH] vpid allocator was broken
  
 
alloc_pidmap sometimes returned 65536. I understood its logic incorreclty,
 
alloc_pidmap sometimes returned 65536. I understood its logic incorreclty,
 
apparently pid_max does not mean a strict limit on pid value,
 
apparently pid_max does not mean a strict limit on pid value,
 
it just prescribes to allocate pid &lt; pid_max, if there is at least one
 
it just prescribes to allocate pid &lt; pid_max, if there is at least one
free value in this range.<br/>
+
free value in this range.
  
 
Plus, it was suboptimal because nr_free never reached 0, so if we have
 
Plus, it was suboptimal because nr_free never reached 0, so if we have
Line 346: Line 364:
  
 
==== diff-proc-locks-fix-20051111 ====
 
==== diff-proc-locks-fix-20051111 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
 +
 
 
unregister_sysctl_table held sysctl_lock (spinlock) and called
 
unregister_sysctl_table held sysctl_lock (spinlock) and called
 
remove_proc_entry, which in turn tried to down_write some
 
remove_proc_entry, which in turn tried to down_write some
semaphore...<br/>
+
semaphore...
fixes bad interaction of:<br/>
+
 
diff-CVE-2005-2709-sysctl-unreg<br/>
+
fixes bad interaction of:
diff-proc-locks-20050930
+
* diff-CVE-2005-2709-sysctl-unreg
 +
* diff-proc-locks-20050930
 
</div>
 
</div>
  
Line 361: Line 381:
  
 
==== diff-ubc-ia64-include-20051111 ====
 
==== diff-ubc-ia64-include-20051111 ====
<div class="change">Patch from Andrey:<br/>
+
<div class="change">Patch from Andrey:
 +
 
 
This patch adds forgotten by Pavel ub include in arch/ia64/mm/fault.c.
 
This patch adds forgotten by Pavel ub include in arch/ia64/mm/fault.c.
 +
 
This issue appears after applying diff-ubc-hardsoft-cleanup-20051103 patch.
 
This issue appears after applying diff-ubc-hardsoft-cleanup-20051103 patch.
 
</div>
 
</div>
Line 369: Line 391:
 
<div class="change">Patch from mainstream:<br/>
 
<div class="change">Patch from mainstream:<br/>
 
[PATCH] x86_64: correct copy_user_generic return value when exception
 
[PATCH] x86_64: correct copy_user_generic return value when exception
happens<br/>
+
happens
  
 
Fix a bug that arch/x86_64/lib/copy_user:copy_user_generic will return a
 
Fix a bug that arch/x86_64/lib/copy_user:copy_user_generic will return a
wrong value when exception happens.<br/>
+
wrong value when exception happens.
  
 
In the case the address is not 8-byte aligned (i.e.  go into
 
In the case the address is not 8-byte aligned (i.e.  go into
Line 378: Line 400:
 
copied bytes, then copy_user_generic returns wrong value.  It also fixed a
 
copied bytes, then copy_user_generic returns wrong value.  It also fixed a
 
bug of zeroing wrong number of bytes of destination at this situation.  (In
 
bug of zeroing wrong number of bytes of destination at this situation.  (In
Lzero_rest)<br/>
+
Lzero_rest)
  
 
Signed-off-by: Yanmin Zhang &lt;yanmin.zhang@intel.com&gt;<br/>
 
Signed-off-by: Yanmin Zhang &lt;yanmin.zhang@intel.com&gt;<br/>
Line 387: Line 409:
 
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
 
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
  
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.185.9 http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.185.9]
+
http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.185.9
<br/>Bug 54154.
+
 
 +
Bug 54154.
 
</div>
 
</div>
  
Line 398: Line 421:
 
==== diff-ms-dethread-20051117 ====
 
==== diff-ms-dethread-20051117 ====
 
<div class="change">Patch from mainstream:<br/>
 
<div class="change">Patch from mainstream:<br/>
[PATCH] fix de_thread() vs send_group_sigqueue() race<br/>
+
[PATCH] fix de_thread() vs send_group_sigqueue() race
 +
 
 
When non-leader thread does exec, de_thread calls release_task(leader) before
 
When non-leader thread does exec, de_thread calls release_task(leader) before
 
calling exit_itimers(). If local timer interrupt happens in between, it can oops
 
calling exit_itimers(). If local timer interrupt happens in between, it can oops
in send_group_sigqueue() while taking -&gt;sighand-&gt;siglock == NULL.<br/>
+
in send_group_sigqueue() while taking -&gt;sighand-&gt;siglock == NULL.
  
 
However, we can't change send_group_sigqueue() to check p-&gt;signal != NULL,
 
However, we can't change send_group_sigqueue() to check p-&gt;signal != NULL,
 
because sys_timer_create() does get_task_struct() only in SIGEV_THREAD_ID
 
because sys_timer_create() does get_task_struct() only in SIGEV_THREAD_ID
 
case. So it is possible that this task_struct was already freed and we can't
 
case. So it is possible that this task_struct was already freed and we can't
trust p-&gt;signal.<br/>
+
trust p-&gt;signal.
  
 
This patch changes de_thread() so that leader released after exit_itimers()
 
This patch changes de_thread() so that leader released after exit_itimers()
call.<br/>
+
call.
  
X-Git-Tag: v2.6.14.2
+
X-Git-Tag: v2.6.14.2<br/>
<br/><a
+
X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/gregkh/linux-2.6.14.y.git;a=commitdiff;h=6b85cfab9d15c70392cd79896ae1a11d88498e9f
href="http://www.kernel.org/git/?p=linux/kernel/git/gregkh/linux-2.6.14.y.git;a=commitdiff;h=6b85cfab9d15c70392cd79896ae1a11d88498e9f">X-Git-Url</a>
 
 
</div>
 
</div>
  
 
==== diff-vzdq-debug-20051117 ====
 
==== diff-vzdq-debug-20051117 ====
<div class="change">Patch from Dmitry:<br/>
+
<div class="change">Patch from Dmitry:
 +
 
 
print "VZDQ: unexpected creation context" debug messages only if
 
print "VZDQ: unexpected creation context" debug messages only if
 
timeout is more than 3 seconds
 
timeout is more than 3 seconds
<br/>Bug 49285.
+
 
 +
Bug 49285.
 
</div>
 
</div>
  
Line 426: Line 451:
 
<div class="change">Patch from Denis pointed out by Alexey:<br/>
 
<div class="change">Patch from Denis pointed out by Alexey:<br/>
 
This patch fixes incorrect UB handling in tcp_fragment.
 
This patch fixes incorrect UB handling in tcp_fragment.
<br/>Bug 53926.
+
 
 +
Bug 53926.
 
</div>
 
</div>
  
Line 432: Line 458:
 
<div class="change">Patch from Dmitry, based on Solar Designer idea:<br/>
 
<div class="change">Patch from Dmitry, based on Solar Designer idea:<br/>
 
disable SCHED_FIFO and SCHED_RR in VPS (CAP_SYS_ADMIN)
 
disable SCHED_FIFO and SCHED_RR in VPS (CAP_SYS_ADMIN)
<br/>Bug 53938.
+
 
 +
Bug 53938.
 
</div>
 
</div>
  
 
==== diff-ms-notifyparent-20051120 ====
 
==== diff-ms-notifyparent-20051120 ====
 
<div class="change">Patch from mainstream:<br/>
 
<div class="change">Patch from mainstream:<br/>
[PATCH] Don't auto-reap traced children<br/>
+
[PATCH] Don't auto-reap traced children
 +
 
 
If a task is being traced we never auto-reap it even if it might look
 
If a task is being traced we never auto-reap it even if it might look
like its parent doesn't care. The tracer obviously _does_ care.<br/>
+
like its parent doesn't care. The tracer obviously _does_ care.
  
X-Git-Tag: v2.6.15-rc1
+
X-Git-Tag: v2.6.15-rc1<br/>
<br/><a
+
X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7ed0175a462c4c30f6df6fac1cccac058f997739
href="http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7ed0175a462c4c30f6df6fac1cccac058f997739">X-Git-Url</a>
+
 
<br/>Bug 54815.
+
Bug 54815.
 
</div>
 
</div>
  
Line 450: Line 478:
 
<div class="change">Patch from mainstream:<br/>
 
<div class="change">Patch from mainstream:<br/>
 
Fix close() vs posix lock race
 
Fix close() vs posix lock race
 +
 
A threaded app that posix-locks and closes the same file
 
A threaded app that posix-locks and closes the same file
 
in two threads concurrently may result in a posix lock
 
in two threads concurrently may result in a posix lock
Line 455: Line 484:
 
cleanup on the final fput.
 
cleanup on the final fput.
 
Handle it together with the regular flocks.
 
Handle it together with the regular flocks.
<br/>[http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.63.25 http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.63.25]
+
 
<br/><a href="https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=115031">
+
http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.63.25<br/>
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=115031</a>
+
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=115031
<br/>Bug 54772.
+
 
 +
Bug 54772.
 
</div>
 
</div>
  
Line 465: Line 495:
 
Fixes -EIO with sim_statfs and sim_statfs64,
 
Fixes -EIO with sim_statfs and sim_statfs64,
 
when quota is disabled.
 
when quota is disabled.
<br/>[http://bugzilla.openvz.org/show_bug.cgi?id=70 OpenVZ Bug 70].
+
 
 +
{{Bug|70}}.
 
</div>
 
</div>
  
 
==== diff-ubc-hugetlb-compile-20051122 ====
 
==== diff-ubc-hugetlb-compile-20051122 ====
<div class="change">Patch from Kirill:<br/>
+
<div class="change">Patch from Kirill:
 +
 
 
This patch fixes two typos found by a gentoo user
 
This patch fixes two typos found by a gentoo user
 
(http://bugs.gentoo.org/show_bug.cgi?id=113214)
 
(http://bugs.gentoo.org/show_bug.cgi?id=113214)
Line 479: Line 511:
 
<div class="change">Patch from Vasiliy Tarasov:<br/>
 
<div class="change">Patch from Vasiliy Tarasov:<br/>
 
There is now /proc/cmdline file inside VPS. It's empty.
 
There is now /proc/cmdline file inside VPS. It's empty.
<br/>Bug 54370.
+
 
 +
Bug 54370.
 
</div>
 
</div>
  
Line 485: Line 518:
 
<div class="change">Patch from Dmitry, issue mentioned by Alexey:<br/>
 
<div class="change">Patch from Dmitry, issue mentioned by Alexey:<br/>
 
default devpts entries uid/gid are virtualized
 
default devpts entries uid/gid are virtualized
<br/>Bug 54489.
+
 
 +
Bug 54489.
 
</div>
 
</div>
  
 
==== diff-vzdq-readdir-fix-20051123 ====
 
==== diff-vzdq-readdir-fix-20051123 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
 +
 
 
Due to wrong calculations of file position
 
Due to wrong calculations of file position
 
`ls /proc/vz/vzaquota` could show last entry 3 times.
 
`ls /proc/vz/vzaquota` could show last entry 3 times.
Line 496: Line 531:
  
 
==== diff-ms-types-20051122 ====
 
==== diff-ms-types-20051122 ====
<div class="change">Patch from Pavel:<br/>
+
<div class="change">Patch from Pavel:
 +
 
 
Adds necessary typed for aacraid and cciss drivers.
 
Adds necessary typed for aacraid and cciss drivers.
 
Cut from diff-aacraid-addon-20051021
 
Cut from diff-aacraid-addon-20051021
Line 505: Line 541:
 
fixed bug in VPS pty_driver initialization
 
fixed bug in VPS pty_driver initialization
 
leading to node crashes
 
leading to node crashes
<br/>Bug 54874.
+
 
 +
Bug 54874.
 
</div>
 
</div>
  
 
</noinclude>
 
</noinclude>

Latest revision as of 18:24, 22 October 2009

Contents

Changes

  • Security/mainstream fixes
  • gcc4 compilation fixes
  • Scheduler improvements
  • Area-check patch
  • Code cleanups

Configs

The same as 022stab045.1, plus:

  • +CONFIG_HOTPLUG=y
  • +CONFIG_PCMCIA_PROBE=y
  • +CONFIG_HOTPLUG_PCI=y
  • +CONFIG_HOTPLUG_PCI_COMPAQ=m
  • +CONFIG_HOTPLUG_PCI_IBM=m
  • +CONFIG_HOTPLUG_PCI_ACPI=m
  • +CONFIG_HOTPLUG_PCI_PCIE=m
  • +CONFIG_HOTPLUG_PCI_SHPC=m
  • +CONFIG_FW_LOADER=y
  • +CONFIG_PDC202XX_BURST=y
  • +CONFIG_PDC202XX_FORCE=y
  • +CONFIG_AIC79XX_ENABLE_RD_STRM=y
  • +CONFIG_FUSION_LAN=m
  • +CONFIG_USB=m
  • +CONFIG_USB_DEVICEFS=y
  • +CONFIG_USB_EHCI_HCD=m
  • +CONFIG_USB_OHCI_HCD=m
  • +CONFIG_USB_UHCI_HCD=m
  • +CONFIG_USB_ACM=m
  • +CONFIG_USB_PRINTER=m
  • +CONFIG_USB_STORAGE=m
  • +CONFIG_USB_STORAGE_DATAFAB=y
  • +CONFIG_USB_STORAGE_FREECOM=y
  • +CONFIG_USB_STORAGE_ISD200=y
  • +CONFIG_USB_STORAGE_DPCM=y
  • +CONFIG_USB_STORAGE_HP8200e=y
  • +CONFIG_USB_STORAGE_SDDR09=y
  • +CONFIG_USB_STORAGE_JUMPSHOT=y
  • +CONFIG_USB_HID=m
  • +CONFIG_USB_HIDINPUT=y
  • +CONFIG_USB_KBD=m
  • +CONFIG_USB_MOUSE=m
  • +CONFIG_USB_WACOM=m
  • +CONFIG_LBD=y

Driver updates

  • cciss driver v2.6.8

Patches

diff-fairsched-gcc4-20051110

Patch from Kir, fixed by Kirill:

This patches fixes sched.c compilation with gcc4

diff-ms-gcc4-emt64-fakestack-20051107

Patch from mainstream:

fixes gcc4 compilation of arch/x86_64/kernel/entry.S

http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.500.73

diff-ms-gcc4-tss-20051101

Patch from Kir, fixes compilation issue with gcc4:
tss_struct should be declared before ref.

diff-fairsched-balance-fix-20051110

Patch from Pavel:

On UP machines scheduler does not perform active load balancing and sched domains manupulations.

diff-ms-gcc4-framebuf-20051103

Patch from mainstream, ported by Kir:

fixing compilation issue with gcc4.

http://linux.bkbits.net:8080/linux-2.6/cset@1.1982.90.1

diff-security-ptrace-thread-20051110

Patch from mainstream:

[Security] [BUG] trivially triggered BUG_ON() in do_notify_parent()

diff-ms-gcc4-prio-tree-20051101

Patch from mainstream, fixing compilation issue with gcc4:
[PATCH] prio-tree: remove function prototype inside function

http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.54.5

diff-ms-gcc4-sendipi-20051101

Patch from mainstream, fixing compilation issue with gcc4:
send_IPI_mask_bitmask can't be inlined by gcc4

diff-ms-gcc4-mtrr-20051101

Patch from mainstream, fixing compilation issue with gcc4.

http://linux.bkbits.net:8080/linux-2.6/cset@1.1803.144.88

diff-ms-gcc4-oldconfig-20051101

Patch from Kir:

Patch fixing make oldconfig to not fail with gcc-3.5/gcc-4.

http://linux.bkbits.net:8080/linux-2.6/cset@1.1803.144.201

diff-CVE-2005-2709-sysctl-unreg

Patch from mainstream:

[PATCH] CVE-2005-2709 sysctl unregistration oops

You could open the /proc/sys/net/ipv4/conf/<if>/<whatever> file, then wait for interface to go away, try to grab as much memory as possible in hope to hit the (kfreed) ctl_table. Then fill it with pointers to your function. Then do read from file you've opened and if you are lucky, you'll get it called as ->proc_handler() in kernel mode. So this is at least an Oops and possibly more. It does depend on an interface going away though, so less of a security risk than it would otherwise be.

http://www.kernel.org/git/?p=linux/kernel/git/chrisw/linux-2.6.14.y.git;a=commitdiff;h=e4e0411221c7d4f2bd82fa5e21745f927a1bff28

diff-ms-stopmachine-ipi-deadlock

Patch from Kirill:

This patch fixes deadlock of stop_machine() vs. synchronous IPI send. The problem is that stop_machine() disables interrupts before disabling preemption on other CPUs. So if another CPU is preempted and then calls something like flush_tlb_all() it will deadlock with CPU doing stop_machine() and which can't process IPI due to disabled IRQs.

I changed stop_machine() to do the same things exactly as it does on other CPUs, i.e. it should disable preemption first on _all_ CPUs including itself and only after that disable IRQs.

diff-ubc-oom-fix-20051102

Patch from Pavel:
  • shrinked slabs counting during try_to_free_pages() (lost from 2.4);
  • do not call yield() in oom_kill() if suicide hapened (lost from 2.4);
  • oom_kill_counter correct calculations when task is set to be PF_MEMDIE-d oom_kill_counter must be incremented, when this task calls do_exit() - oom_kill_counter decrements. this logic was broken before;
  • code cleanups.

diff-ms-pagealloc-nofail-20051108

Patch from Kirill and Pavel:

When PF_MEMALLOC is set __alloc_pages() does it best to allocate a page. If even this try fails it is not good to immediately return NULL - try to wait longer.

Bug 44254.

diff-ve-ia64-fsyscalls-20051103

Patch from Pavel:
  • fsys_getpid needs new offset for tgid;
  • fsys_getppid must not be called via fsys (locking);
  • fsys_set_tid_address needs new offset for pid.

diff-ve-ia64-printk-20051010

Patch from Pavel:

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

diff-ubc-ia64-pgfaultoom-20051108

Patch from Pavel:

Ported i386 page fault OOM logic to ia64

diff-ubc-emt64-pgfaultoom-20051108

Patch from Pavel:

Ported i386 OOM logic in page fault to x86-64.

diff-ms-amderrata-20051108

diff-ms-emt64-iounmap-20051031

Patch from mainstream, ported by Pavel:

Collected ioremap fixes:

  • Call change_page_attr correctly
  • Fix a race during iounmap
  • Handle mmio holes without mem_map correctly (needed for SRAT patch)
  • Some cleanups

Plus fix of DoS (CAN-2005-3108).

This is the merge (and port) of these patches:

diff-fairsched-sleepavg-20051107

Patch from Pavel:

task->sleep_avg should be updated under rq->lock.

Bug 53273.

diff-ubc-dowppage-20051107

Patch from Dmitry:

fix of page counting on do_wp_page() error path

diff-ubc-hardsoft-cleanup-20051103

Patch from Pavel:

Use predefined constants for ub_memory_charge() to specify severity of charging.

diff-ms-ext3writepage-20051031

Patch from Denis:

This patch fixes lost reference on ext3 current handle in ext3_journalled_writepage

diff-ms-exittimeslice-20051107

Patch from Oleg Nesterov (oleg@tv-sign.ru):
sched_exit race fix from mainstream

diff-ubc-compile-20051107

Patch from Kir:

fix of ub_misc.c compilation in case CONFIG_UBC_DEBUG_KMEM is not set.

diff-ubc-resnames-20051107

Patch from Pavel:

Print ubc resource name, not just number in __charge_beancounter_locked() when resource is run out.

diff-ve-ia64-printk-20051103

Patch from Pavel:

Unaligned accesses in userspace are handled with kernel exception handler and appropriate printk() occurs. This printk must go to VE's log.

diff-ve-ip-conntrack-natmodrefs-20051031

Patch from Dmitry:

fixed iptable_nat module reference counting

OpenVZ Bug #64.

diff-ve-ip-conntrack-modrefs-20051031

Patch from Dmitry:

If we have custom iptables entries inside VPS, than on VPS stop related iptable_* modules counts decrements aren't performed. Fixed.

diff-ve-ia64-vpids-20051103

Patch from Pavel:
  • sys32_ptrace searches task by pid (must by vpid);
  • signal handling functions send signal by pid (must by vpid).

diff-ve-emt64-kernelthread-20051103

diff-ve-ia64-kernelthread-20051103

diff-schedule-taskstopped-20050919

Patches from Pavel and Alexander:
Do not alow stopped tasks sleep if they have pending SIGKILL

Bug 50052.

diff-ms-setmempolicy-20051031

Patch from mainstream:

A kernel BUG() is triggered by a call to set_mempolicy() with a negative first argument. This is because the mode is declared as an int, and the validity check doesnt check < 0 values. Alternatively, mode could be declared as unsigned int or unsigned long.

http://linux.bkbits.net:8080/linux-2.6/cset@42eef8b09C5r6iI0LuMe5Uy3k05c5g http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3053

diff-rh-irq-stack-apic-context2

Patch from Alexander:

make kernel compilable without CONFIG_4KSTACKS

OpenVZ Bug #65.

diff-ia64-headers-20051101

Patch from Andrey Mirkin:

This patch makes ia64 kernel compile.

diff-fairsched-balance-20051102

Patch from Andrey, fixed/splitted/corrected by Kirill:

This patch adds passive/active balancing in CPU scheduler.

Additionally:

  • doesn't drop rq->lock in schedule_vcpu() on fast path (same VCPU)
  • introduced 5ms VCPU to PCPU affinity
  • fixed initialization of VCPUs and scheduler domains

diff-ms-flock-hotplug-fix-20051114

Patch from mainstream:

The patch below fixes an interesting oddity we're seeing with fedora core development (where we recently started using udev heavily); basically right now filelock_init() is a module_init(), eg runs late. However that breaks down because there are earlier /sbin/hotplug callouts, which with udev, do locking operations. When that happens the kernel oopses because the slabs for file locks aren't initialized yet.

Solution: initialize this way early. It's only a kmem_cache_create after all, so can happen early.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.6.179

Bug 54025.

diff-ve-vpid-alloc-20051118

Patch from Alexey, modified by Kirill:

[PATCH] vpid allocator was broken

alloc_pidmap sometimes returned 65536. I understood its logic incorreclty, apparently pid_max does not mean a strict limit on pid value, it just prescribes to allocate pid < pid_max, if there is at least one free value in this range.

Plus, it was suboptimal because nr_free never reached 0, so if we have all low pids allocated, it always will scan bitmap.

diff-proc-locks-fix-20051111

Patch from Pavel:

unregister_sysctl_table held sysctl_lock (spinlock) and called remove_proc_entry, which in turn tried to down_write some semaphore...

fixes bad interaction of:

  • diff-CVE-2005-2709-sysctl-unreg
  • diff-proc-locks-20050930

diff-fairsched-gcc4-20051114

Patch from Kir:

fixing compilation issue of kernel/sched.c using gcc4.

diff-ubc-ia64-include-20051111

Patch from Andrey:

This patch adds forgotten by Pavel ub include in arch/ia64/mm/fault.c.

This issue appears after applying diff-ubc-hardsoft-cleanup-20051103 patch.

diff-ms-emt64-usercopy-20041020

Patch from mainstream:

[PATCH] x86_64: correct copy_user_generic return value when exception happens

Fix a bug that arch/x86_64/lib/copy_user:copy_user_generic will return a wrong value when exception happens.

In the case the address is not 8-byte aligned (i.e. go into Lbad_alignment), if exception happens in Ls11, %rdx will be wrong number of copied bytes, then copy_user_generic returns wrong value. It also fixed a bug of zeroing wrong number of bytes of destination at this situation. (In Lzero_rest)

Signed-off-by: Yanmin Zhang <yanmin.zhang@intel.com>
Signed-off-by: Nanhai Zou <nanhai.zou@intel.com>
Signed-off-by: Gordon Jin <gordon.jin@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.185.9

Bug 54154.

diff-ve-legacyptys-20051111

Patch from Dmitry:

fixed VPS operations when CONFIG_LEGACY_PTYS is not set

diff-ms-dethread-20051117

Patch from mainstream:

[PATCH] fix de_thread() vs send_group_sigqueue() race

When non-leader thread does exec, de_thread calls release_task(leader) before calling exit_itimers(). If local timer interrupt happens in between, it can oops in send_group_sigqueue() while taking ->sighand->siglock == NULL.

However, we can't change send_group_sigqueue() to check p->signal != NULL, because sys_timer_create() does get_task_struct() only in SIGEV_THREAD_ID case. So it is possible that this task_struct was already freed and we can't trust p->signal.

This patch changes de_thread() so that leader released after exit_itimers() call.

X-Git-Tag: v2.6.14.2
X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/gregkh/linux-2.6.14.y.git;a=commitdiff;h=6b85cfab9d15c70392cd79896ae1a11d88498e9f

diff-vzdq-debug-20051117

Patch from Dmitry:

print "VZDQ: unexpected creation context" debug messages only if timeout is more than 3 seconds

Bug 49285.

diff-ubc-tcpfragment-20051111

Patch from Denis pointed out by Alexey:

This patch fixes incorrect UB handling in tcp_fragment.

Bug 53926.

diff-ve-sched-rr-20051115

Patch from Dmitry, based on Solar Designer idea:

disable SCHED_FIFO and SCHED_RR in VPS (CAP_SYS_ADMIN)

Bug 53938.

diff-ms-notifyparent-20051120

Patch from mainstream:

[PATCH] Don't auto-reap traced children

If a task is being traced we never auto-reap it even if it might look like its parent doesn't care. The tracer obviously _does_ care.

X-Git-Tag: v2.6.15-rc1
X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7ed0175a462c4c30f6df6fac1cccac058f997739

Bug 54815.

diff-ms-posix-lock-race

Patch from mainstream:

Fix close() vs posix lock race

A threaded app that posix-locks and closes the same file in two threads concurrently may result in a posix lock that was never visible to the closer, and that thus needs cleanup on the final fput. Handle it together with the regular flocks.

http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.63.25
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=115031

Bug 54772.

diff-simfs-statfs-20051123

Patch from Vasiliy:

Fixes -EIO with sim_statfs and sim_statfs64, when quota is disabled.

OpenVZ Bug #70.

diff-ubc-hugetlb-compile-20051122

Patch from Kirill:

This patch fixes two typos found by a gentoo user (http://bugs.gentoo.org/show_bug.cgi?id=113214) when he tried compiling 022stab045 kernel with CONFIG_HUGETLBFS and CONFIG_HUGETLB_PAGE options turned on.

diff-ve-cmdline-20051121

Patch from Vasiliy Tarasov:

There is now /proc/cmdline file inside VPS. It's empty.

Bug 54370.

diff-ve-devpts-conf-20051121

Patch from Dmitry, issue mentioned by Alexey:

default devpts entries uid/gid are virtualized

Bug 54489.

diff-vzdq-readdir-fix-20051123

Patch from Pavel:

Due to wrong calculations of file position `ls /proc/vz/vzaquota` could show last entry 3 times. Found during testing of multiple quota partitions.

diff-ms-types-20051122

Patch from Pavel:

Adds necessary typed for aacraid and cciss drivers. Cut from diff-aacraid-addon-20051021

diff-ve-ttys-fix-20051124

Patch from Dmitry, issue found by Solar Designer:

fixed bug in VPS pty_driver initialization leading to node crashes

Bug 54874.