Revert "x86: Fix __get_wchan() for !STACKTRACE"

This reverts commit e1ff40b619 which is
commit 5d1ceb3969 upstream.

It has been reported to be causing problems, and is being reworked
upstream and has been dropped from the current 5.15.y stable queue until
it gets resolved.

Reported-by: Chris Rankin <rankincj@gmail.com>
Reported-by: Thorsten Leemhuis <linux@leemhuis.info>
Link: https://lore.kernel.org/r/ed000478-2a60-0066-c337-a04bffc112b1@leemhuis.info
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman
2021-11-18 13:15:35 +01:00
parent 0e62c60b3e
commit b51c1a592f

View File

@@ -43,7 +43,6 @@
#include <asm/io_bitmap.h> #include <asm/io_bitmap.h>
#include <asm/proto.h> #include <asm/proto.h>
#include <asm/frame.h> #include <asm/frame.h>
#include <asm/unwind.h>
#include "process.h" #include "process.h"
@@ -946,20 +945,10 @@ unsigned long arch_randomize_brk(struct mm_struct *mm)
*/ */
unsigned long __get_wchan(struct task_struct *p) unsigned long __get_wchan(struct task_struct *p)
{ {
struct unwind_state state; unsigned long entry = 0;
unsigned long addr = 0;
for (unwind_start(&state, p, NULL, NULL); !unwind_done(&state); stack_trace_save_tsk(p, &entry, 1, 0);
unwind_next_frame(&state)) { return entry;
addr = unwind_get_return_address(&state);
if (!addr)
break;
if (in_sched_functions(addr))
continue;
break;
}
return addr;
} }
long do_arch_prctl_common(struct task_struct *task, int option, long do_arch_prctl_common(struct task_struct *task, int option,