From: Greg Kroah-Hartman Date: Fri, 14 May 2010 20:43:32 +0000 (-0700) Subject: take out .32 patch that broke the build X-Git-Tag: v2.6.27.47~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=869b3b7e927a379f8b0e555157a8650ea8880945;p=thirdparty%2Fkernel%2Fstable-queue.git take out .32 patch that broke the build --- diff --git a/queue-2.6.32/revert-procfs-provide-stack-information-for-threads-and-its-fixup-commits.patch b/queue-2.6.32/revert-procfs-provide-stack-information-for-threads-and-its-fixup-commits.patch deleted file mode 100644 index bc711585f3b..00000000000 --- a/queue-2.6.32/revert-procfs-provide-stack-information-for-threads-and-its-fixup-commits.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 34441427aab4bdb3069a4ffcda69a99357abcb2e Mon Sep 17 00:00:00 2001 -From: Robin Holt -Date: Tue, 11 May 2010 14:06:46 -0700 -Subject: revert "procfs: provide stack information for threads" and its fixup commits - -From: Robin Holt - -commit 34441427aab4bdb3069a4ffcda69a99357abcb2e upstream. - -Originally, commit d899bf7b ("procfs: provide stack information for -threads") attempted to introduce a new feature for showing where the -threadstack was located and how many pages are being utilized by the -stack. - -Commit c44972f1 ("procfs: disable per-task stack usage on NOMMU") was -applied to fix the NO_MMU case. - -Commit 89240ba0 ("x86, fs: Fix x86 procfs stack information for threads on -64-bit") was applied to fix a bug in ia32 executables being loaded. - -Commit 9ebd4eba7 ("procfs: fix /proc//stat stack pointer for kernel -threads") was applied to fix a bug which had kernel threads printing a -userland stack address. - -Commit 1306d603f ('proc: partially revert "procfs: provide stack -information for threads"') was then applied to revert the stack pages -being used to solve a significant performance regression. - -This patch nearly undoes the effect of all these patches. - -The reason for reverting these is it provides an unusable value in -field 28. For x86_64, a fork will result in the task->stack_start -value being updated to the current user top of stack and not the stack -start address. This unpredictability of the stack_start value makes -it worthless. That includes the intended use of showing how much stack -space a thread has. - -Other architectures will get different values. As an example, ia64 -gets 0. The do_fork() and copy_process() functions appear to treat the -stack_start and stack_size parameters as architecture specific. - -I only partially reverted c44972f1 ("procfs: disable per-task stack usage -on NOMMU") . If I had completely reverted it, I would have had to change -mm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is -configured. Since I could not test the builds without significant effort, -I decided to not change mm/Makefile. - -I only partially reverted 89240ba0 ("x86, fs: Fix x86 procfs stack -information for threads on 64-bit") . I left the KSTK_ESP() change in -place as that seemed worthwhile. - -Signed-off-by: Robin Holt -Cc: Stefani Seibold -Cc: KOSAKI Motohiro -Cc: Michal Simek -Cc: Ingo Molnar -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - Documentation/filesystems/proc.txt | 3 +-- - fs/compat.c | 2 -- - fs/exec.c | 2 -- - fs/proc/array.c | 3 +-- - fs/proc/task_mmu.c | 19 ------------------- - include/linux/sched.h | 1 - - kernel/fork.c | 2 -- - 7 files changed, 2 insertions(+), 30 deletions(-) - ---- a/Documentation/filesystems/proc.txt -+++ b/Documentation/filesystems/proc.txt -@@ -309,7 +309,7 @@ address perms offset dev in - 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test - 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] - a7cb1000-a7cb2000 ---p 00000000 00:00 0 --a7cb2000-a7eb2000 rw-p 00000000 00:00 0 [threadstack:001ff4b4] -+a7cb2000-a7eb2000 rw-p 00000000 00:00 0 - a7eb2000-a7eb3000 ---p 00000000 00:00 0 - a7eb3000-a7ed5000 rw-p 00000000 00:00 0 - a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 -@@ -345,7 +345,6 @@ is not associated with a file: - [stack] = the stack of the main process - [vdso] = the "virtual dynamic shared object", - the kernel system call handler -- [threadstack:xxxxxxxx] = the stack of the thread, xxxxxxxx is the stack size - - or if empty, the mapping is anonymous. - ---- a/fs/compat.c -+++ b/fs/compat.c -@@ -1532,8 +1532,6 @@ int compat_do_execve(char * filename, - if (retval < 0) - goto out; - -- current->stack_start = current->mm->start_stack; -- - /* execve succeeded */ - current->fs->in_exec = 0; - current->in_execve = 0; ---- a/fs/exec.c -+++ b/fs/exec.c -@@ -1379,8 +1379,6 @@ int do_execve(char * filename, - if (retval < 0) - goto out; - -- current->stack_start = current->mm->start_stack; -- - /* execve succeeded */ - current->fs->in_exec = 0; - current->in_execve = 0; ---- a/fs/proc/array.c -+++ b/fs/proc/array.c -@@ -82,7 +82,6 @@ - #include - #include - #include --#include - - #include - #include -@@ -571,7 +570,7 @@ static int do_task_stat(struct seq_file - rsslim, - mm ? mm->start_code : 0, - mm ? mm->end_code : 0, -- (permitted && mm) ? task->stack_start : 0, -+ (permitted && mm) ? mm->start_stack : 0, - esp, - eip, - /* The signal information here is obsolete. ---- a/fs/proc/task_mmu.c -+++ b/fs/proc/task_mmu.c -@@ -243,25 +243,6 @@ static void show_map_vma(struct seq_file - } else if (vma->vm_start <= mm->start_stack && - vma->vm_end >= mm->start_stack) { - name = "[stack]"; -- } else { -- unsigned long stack_start; -- struct proc_maps_private *pmp; -- -- pmp = m->private; -- stack_start = pmp->task->stack_start; -- -- if (vma->vm_start <= stack_start && -- vma->vm_end >= stack_start) { -- pad_len_spaces(m, len); -- seq_printf(m, -- "[threadstack:%08lx]", --#ifdef CONFIG_STACK_GROWSUP -- vma->vm_end - stack_start --#else -- stack_start - vma->vm_start --#endif -- ); -- } - } - } else { - name = "[vdso]"; ---- a/include/linux/sched.h -+++ b/include/linux/sched.h -@@ -1541,7 +1541,6 @@ struct task_struct { - /* bitmask of trace recursion */ - unsigned long trace_recursion; - #endif /* CONFIG_TRACING */ -- unsigned long stack_start; - }; - - /* Future-safe accessor for struct task_struct's cpus_allowed. */ ---- a/kernel/fork.c -+++ b/kernel/fork.c -@@ -1123,8 +1123,6 @@ static struct task_struct *copy_process( - - p->bts = NULL; - -- p->stack_start = stack_start; -- - /* Perform scheduler related setup. Assign this task to a CPU. */ - sched_fork(p, clone_flags); - diff --git a/queue-2.6.32/series b/queue-2.6.32/series index 13404c8417d..e207471aecc 100644 --- a/queue-2.6.32/series +++ b/queue-2.6.32/series @@ -3,7 +3,6 @@ hp_accel-fix-race-in-device-removal.patch fbdev-bfin-t350mcqb-fb-fix-fbmem-allocation-with-blanking-lines.patch hugetlbfs-kill-applications-that-use-map_noreserve-with-sigbus-instead-of-oom-killer.patch dma-mapping-fix-dma_sync_single_range_.patch -revert-procfs-provide-stack-information-for-threads-and-its-fixup-commits.patch acpi-sleep-eliminate-duplicate-entries-in-acpisleep_dmi_table.patch mmc-atmel-mci-fix-two-parameters-swapped.patch mmc-atmel-mci-prevent-kernel-oops-while-removing-card.patch