Difference between revisions of "Download/kernel/2.6.8/022stab050.1/changes"
m (→diff-ms-gcc4-prio-tree-20051101: add missing empty line) |
m (Protected "Download/kernel/2.6.8/022stab050.1/changes": Robot: Protecting a list of files. [edit=autoconfirmed:move=autoconfirmed]) |
||
(3 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: | + | <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 97: | 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 123: | Line 128: | ||
==== diff-ms-stopmachine-ipi-deadlock ==== | ==== diff-ms-stopmachine-ipi-deadlock ==== | ||
− | <div class="change">Patch from Kirill: | + | <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. | + | 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 136: | Line 142: | ||
==== diff-ubc-oom-fix-20051102 ==== | ==== diff-ubc-oom-fix-20051102 ==== | ||
− | <div class="change">Patch from Pavel: | + | <div class="change">Patch from Pavel: |
− | + | ||
* 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); | ||
− | + | * 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. | * code cleanups. | ||
− | |||
</div> | </div> | ||
==== diff-ms-pagealloc-nofail-20051108 ==== | ==== diff-ms-pagealloc-nofail-20051108 ==== | ||
− | <div class="change">Patch from Kirill and Pavel: | + | <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. | ||
− | + | ||
+ | Bug 44254. | ||
</div> | </div> | ||
==== diff-ve-ia64-fsyscalls-20051103 ==== | ==== diff-ve-ia64-fsyscalls-20051103 ==== | ||
− | <div class="change">Patch from Pavel: | + | <div class="change">Patch from Pavel: |
− | + | ||
* 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. | ||
− | |||
</div> | </div> | ||
==== diff-ve-ia64-printk-20051010 ==== | ==== diff-ve-ia64-printk-20051010 ==== | ||
− | <div class="change">Patch from Pavel: | + | <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 182: | Line 186: | ||
==== diff-ms-amderrata-20051108 ==== | ==== diff-ms-amderrata-20051108 ==== | ||
− | <div class="change">Patch from mainstream, prepared by Pavel: | + | <div class="change"> |
+ | Patch from mainstream, prepared by Pavel: | ||
+ | |||
This is a merge of | This is a merge of | ||
− | + | * http://linux.bkbits.net:8080/linux-2.6/cset@1.3845.24.52 | |
− | + | * http://linux.bkbits.net:8080/linux-2.6/cset@1.3895.1.53 | |
− | + | * 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: | + | <div class="change">Patch from mainstream, ported by Pavel: |
+ | |||
Collected ioremap fixes: | Collected ioremap fixes: | ||
− | |||
* 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 | ||
− | |||
− | Plus fix of DoS (CAN-2005-3108). | + | 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 | |
− | + | * http://linux.bkbits.net:8080/linux-2.6/cset@1.1938.500.76 | |
− | |||
</div> | </div> | ||
Line 210: | Line 214: | ||
<div class="change">Patch from Pavel:<br/> | <div class="change">Patch from Pavel:<br/> | ||
task->sleep_avg should be updated under rq->lock. | task->sleep_avg should be updated under rq->lock. | ||
− | + | ||
+ | Bug 53273. | ||
</div> | </div> | ||
Line 235: | Line 240: | ||
==== diff-ubc-compile-20051107 ==== | ==== diff-ubc-compile-20051107 ==== | ||
− | <div class="change">Patch from Kir: | + | <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: | + | <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 248: | Line 254: | ||
==== diff-ve-ia64-printk-20051103 ==== | ==== diff-ve-ia64-printk-20051103 ==== | ||
− | <div class="change">Patch from Pavel: | + | <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 255: | Line 262: | ||
==== diff-ve-ip-conntrack-natmodrefs-20051031 ==== | ==== diff-ve-ip-conntrack-natmodrefs-20051031 ==== | ||
− | <div class="change">Patch from Dmitry: | + | <div class="change">Patch from Dmitry: |
+ | |||
fixed iptable_nat module reference counting | fixed iptable_nat module reference counting | ||
− | + | ||
+ | {{Bug|64}}. | ||
</div> | </div> | ||
==== diff-ve-ip-conntrack-modrefs-20051031 ==== | ==== diff-ve-ip-conntrack-modrefs-20051031 ==== | ||
− | <div class="change">Patch from Dmitry: | + | <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 267: | Line 277: | ||
==== diff-ve-ia64-vpids-20051103 ==== | ==== diff-ve-ia64-vpids-20051103 ==== | ||
− | <div class="change">Patch from Pavel: | + | <div class="change">Patch from Pavel: |
− | + | ||
* 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). | ||
− | |||
</div> | </div> | ||
Line 277: | 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 | ||
− | + | ||
+ | Bug 50052. | ||
</div> | </div> | ||
==== diff-ms-setmempolicy-20051031 ==== | ==== diff-ms-setmempolicy-20051031 ==== | ||
− | <div class="change">Patch from mainstream: | + | <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 290: | Line 302: | ||
declared as unsigned int or unsigned long. | 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 | |
</div> | </div> | ||
Line 297: | 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 | ||
− | + | ||
+ | {{Bug|65}}. | ||
</div> | </div> | ||
Line 306: | Line 319: | ||
==== diff-fairsched-balance-20051102 ==== | ==== diff-fairsched-balance-20051102 ==== | ||
− | <div class="change">Patch from Andrey, fixed/splitted/corrected by Kirill: | + | <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: | ||
− | |||
* doesn't drop rq->lock in schedule_vcpu() on fast path (same VCPU) | * doesn't drop rq->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 | ||
− | |||
</div> | </div> | ||
==== diff-ms-flock-hotplug-fix-20051114 ==== | ==== diff-ms-flock-hotplug-fix-20051114 ==== | ||
− | <div class="change">Patch from mainstream: | + | <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 324: | 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 <akpm@osdl.org> | + | |
+ | Signed-off-by: Andrew Morton <akpm@osdl.org><br/> | ||
Signed-off-by: Linus Torvalds <torvalds@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. | ||
</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 | + | [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 < pid_max, if there is at least one | it just prescribes to allocate pid < pid_max, if there is at least one | ||
− | free value in this range. | + | 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 347: | Line 364: | ||
==== diff-proc-locks-fix-20051111 ==== | ==== diff-proc-locks-fix-20051111 ==== | ||
− | <div class="change">Patch from Pavel: | + | <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... | + | semaphore... |
− | fixes bad interaction of: | + | |
− | diff-CVE-2005-2709-sysctl-unreg | + | fixes bad interaction of: |
− | diff-proc-locks-20050930 | + | * diff-CVE-2005-2709-sysctl-unreg |
+ | * diff-proc-locks-20050930 | ||
</div> | </div> | ||
Line 362: | Line 381: | ||
==== diff-ubc-ia64-include-20051111 ==== | ==== diff-ubc-ia64-include-20051111 ==== | ||
− | <div class="change">Patch from Andrey: | + | <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 370: | 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 | + | 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. | + | 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 379: | 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) | + | Lzero_rest) |
Signed-off-by: Yanmin Zhang <yanmin.zhang@intel.com><br/> | Signed-off-by: Yanmin Zhang <yanmin.zhang@intel.com><br/> | ||
Line 388: | Line 409: | ||
Signed-off-by: Linus Torvalds <torvalds@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. | ||
</div> | </div> | ||
Line 399: | 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 | + | [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 ->sighand->siglock == NULL. | + | in send_group_sigqueue() while taking ->sighand->siglock == NULL. |
However, we can't change send_group_sigqueue() to check p->signal != 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 | 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->signal. | + | trust p->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. | + | call. |
− | X-Git-Tag: v2.6.14.2 | + | X-Git-Tag: v2.6.14.2<br/> |
− | <br/> | + | X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/gregkh/linux-2.6.14.y.git;a=commitdiff;h=6b85cfab9d15c70392cd79896ae1a11d88498e9f |
− | |||
</div> | </div> | ||
==== diff-vzdq-debug-20051117 ==== | ==== diff-vzdq-debug-20051117 ==== | ||
− | <div class="change">Patch from Dmitry: | + | <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 | ||
− | + | ||
+ | Bug 49285. | ||
</div> | </div> | ||
Line 427: | 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. | ||
− | + | ||
+ | Bug 53926. | ||
</div> | </div> | ||
Line 433: | 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) | ||
− | + | ||
+ | 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 | + | [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. | + | 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/> | + | X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7ed0175a462c4c30f6df6fac1cccac058f997739 |
− | + | ||
− | + | Bug 54815. | |
</div> | </div> | ||
Line 451: | 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 456: | 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<br/> |
− | + | https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=115031 | |
− | + | ||
+ | Bug 54772. | ||
</div> | </div> | ||
Line 466: | 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. | ||
− | + | ||
+ | {{Bug|70}}. | ||
</div> | </div> | ||
==== diff-ubc-hugetlb-compile-20051122 ==== | ==== diff-ubc-hugetlb-compile-20051122 ==== | ||
− | <div class="change">Patch from Kirill: | + | <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 480: | 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. | ||
− | + | ||
+ | Bug 54370. | ||
</div> | </div> | ||
Line 486: | 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 | ||
− | + | ||
+ | Bug 54489. | ||
</div> | </div> | ||
==== diff-vzdq-readdir-fix-20051123 ==== | ==== diff-vzdq-readdir-fix-20051123 ==== | ||
− | <div class="change">Patch from Pavel: | + | <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 497: | Line 531: | ||
==== diff-ms-types-20051122 ==== | ==== diff-ms-types-20051122 ==== | ||
− | <div class="change">Patch from Pavel: | + | <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 506: | Line 541: | ||
fixed bug in VPS pty_driver initialization | fixed bug in VPS pty_driver initialization | ||
leading to node crashes | leading to node crashes | ||
− | + | ||
+ | Bug 54874. | ||
</div> | </div> | ||
</noinclude> | </noinclude> |
Latest revision as of 18:24, 22 October 2009
Contents
- 1 Changes
- 1.1 Configs
- 1.2 Driver updates
- 1.3 Patches
- 1.3.1 diff-fairsched-gcc4-20051110
- 1.3.2 diff-ms-gcc4-emt64-fakestack-20051107
- 1.3.3 diff-ms-gcc4-tss-20051101
- 1.3.4 diff-fairsched-balance-fix-20051110
- 1.3.5 diff-ms-gcc4-framebuf-20051103
- 1.3.6 diff-security-ptrace-thread-20051110
- 1.3.7 diff-ms-gcc4-prio-tree-20051101
- 1.3.8 diff-ms-gcc4-sendipi-20051101
- 1.3.9 diff-ms-gcc4-mtrr-20051101
- 1.3.10 diff-ms-gcc4-oldconfig-20051101
- 1.3.11 diff-CVE-2005-2709-sysctl-unreg
- 1.3.12 diff-ms-stopmachine-ipi-deadlock
- 1.3.13 diff-ubc-oom-fix-20051102
- 1.3.14 diff-ms-pagealloc-nofail-20051108
- 1.3.15 diff-ve-ia64-fsyscalls-20051103
- 1.3.16 diff-ve-ia64-printk-20051010
- 1.3.17 diff-ubc-ia64-pgfaultoom-20051108
- 1.3.18 diff-ubc-emt64-pgfaultoom-20051108
- 1.3.19 diff-ms-amderrata-20051108
- 1.3.20 diff-ms-emt64-iounmap-20051031
- 1.3.21 diff-fairsched-sleepavg-20051107
- 1.3.22 diff-ubc-dowppage-20051107
- 1.3.23 diff-ubc-hardsoft-cleanup-20051103
- 1.3.24 diff-ms-ext3writepage-20051031
- 1.3.25 diff-ms-exittimeslice-20051107
- 1.3.26 diff-ubc-compile-20051107
- 1.3.27 diff-ubc-resnames-20051107
- 1.3.28 diff-ve-ia64-printk-20051103
- 1.3.29 diff-ve-ip-conntrack-natmodrefs-20051031
- 1.3.30 diff-ve-ip-conntrack-modrefs-20051031
- 1.3.31 diff-ve-ia64-vpids-20051103
- 1.3.32 diff-ve-emt64-kernelthread-20051103
- 1.3.33 diff-ve-ia64-kernelthread-20051103
- 1.3.34 diff-schedule-taskstopped-20050919
- 1.3.35 diff-ms-setmempolicy-20051031
- 1.3.36 diff-rh-irq-stack-apic-context2
- 1.3.37 diff-ia64-headers-20051101
- 1.3.38 diff-fairsched-balance-20051102
- 1.3.39 diff-ms-flock-hotplug-fix-20051114
- 1.3.40 diff-ve-vpid-alloc-20051118
- 1.3.41 diff-proc-locks-fix-20051111
- 1.3.42 diff-fairsched-gcc4-20051114
- 1.3.43 diff-ubc-ia64-include-20051111
- 1.3.44 diff-ms-emt64-usercopy-20041020
- 1.3.45 diff-ve-legacyptys-20051111
- 1.3.46 diff-ms-dethread-20051117
- 1.3.47 diff-vzdq-debug-20051117
- 1.3.48 diff-ubc-tcpfragment-20051111
- 1.3.49 diff-ve-sched-rr-20051115
- 1.3.50 diff-ms-notifyparent-20051120
- 1.3.51 diff-ms-posix-lock-race
- 1.3.52 diff-simfs-statfs-20051123
- 1.3.53 diff-ubc-hugetlb-compile-20051122
- 1.3.54 diff-ve-cmdline-20051121
- 1.3.55 diff-ve-devpts-conf-20051121
- 1.3.56 diff-vzdq-readdir-fix-20051123
- 1.3.57 diff-ms-types-20051122
- 1.3.58 diff-ve-ttys-fix-20051124
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_HP8200
e=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
This patches fixes sched.c compilation with gcc4
diff-ms-gcc4-emt64-fakestack-20051107
fixes gcc4 compilation of arch/x86_64/kernel/entry.S
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
fixing compilation issue with gcc4.
diff-security-ptrace-thread-20051110
[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
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.
diff-ms-gcc4-oldconfig-20051101
Patch fixing make oldconfig to not fail with gcc-3.5/gcc-4.
diff-CVE-2005-2709-sysctl-unreg
[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.
diff-ms-stopmachine-ipi-deadlock
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
- 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
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
- 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
Some info-printk can be triggered by userspace process. No need to spoil main logbuf.
diff-ubc-ia64-pgfaultoom-20051108
Ported i386 page fault OOM logic to ia64
diff-ubc-emt64-pgfaultoom-20051108
Ported i386 OOM logic in page fault to x86-64.
diff-ms-amderrata-20051108
Patch from mainstream, prepared by Pavel:
This is a merge of
diff-ms-emt64-iounmap-20051031
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
task->sleep_avg should be updated under rq->lock.
Bug 53273.
diff-ubc-dowppage-20051107
fix of page counting on do_wp_page() error path
diff-ubc-hardsoft-cleanup-20051103
Use predefined constants for ub_memory_charge() to specify severity of charging.
diff-ms-ext3writepage-20051031
This patch fixes lost reference on ext3 current handle in ext3_journalled_writepage
diff-ms-exittimeslice-20051107
sched_exit race fix from mainstream
diff-ubc-compile-20051107
fix of ub_misc.c compilation in case CONFIG_UBC_DEBUG_KMEM is not set.
diff-ubc-resnames-20051107
Print ubc resource name, not just number in __charge_beancounter_locked() when resource is run out.
diff-ve-ia64-printk-20051103
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
fixed iptable_nat module reference counting
diff-ve-ip-conntrack-modrefs-20051031
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
- 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
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
diff-ia64-headers-20051101
This patch makes ia64 kernel compile.
diff-fairsched-balance-20051102
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
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] 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
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
fixing compilation issue of kernel/sched.c using gcc4.
diff-ubc-ia64-include-20051111
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] 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
fixed VPS operations when CONFIG_LEGACY_PTYS is not set
diff-ms-dethread-20051117
[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
print "VZDQ: unexpected creation context" debug messages only if timeout is more than 3 seconds
Bug 49285.
diff-ubc-tcpfragment-20051111
This patch fixes incorrect UB handling in tcp_fragment.
Bug 53926.
diff-ve-sched-rr-20051115
disable SCHED_FIFO and SCHED_RR in VPS (CAP_SYS_ADMIN)
Bug 53938.
diff-ms-notifyparent-20051120
[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
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
Fixes -EIO with sim_statfs and sim_statfs64, when quota is disabled.
diff-ubc-hugetlb-compile-20051122
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
There is now /proc/cmdline file inside VPS. It's empty.
Bug 54370.
diff-ve-devpts-conf-20051121
default devpts entries uid/gid are virtualized
Bug 54489.
diff-vzdq-readdir-fix-20051123
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
Adds necessary typed for aacraid and cciss drivers. Cut from diff-aacraid-addon-20051021
diff-ve-ttys-fix-20051124
fixed bug in VPS pty_driver initialization leading to node crashes
Bug 54874.