diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-22 14:06:37 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-22 14:06:37 -0700 | 
| commit | 45b74a65b9934d5e1520d97aa4e09cf2b8c69ac0 (patch) | |
| tree | 7c451271a6c274da9b7f37fcb2592d4cfc972644 /arch/parisc/kernel/stacktrace.c | |
| parent | 433bcf67370bc170a345634aa1be4ee8ac905de9 (diff) | |
| parent | dbf2a4b1ffab2867505be3b24221d5efa2200c91 (diff) | |
Merge branch 'parisc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull more parisc updates from Helge Deller:
 - fix boot failure of 64-bit kernel. It got broken by the unwind
   optimization commit in merge window.
 - fix 64-bit userspace support (static 64-bit applications only, e.g.
   we don't yet have 64-bit userspace support in glibc).
 - consolidate unwind initialization code.
 - add machine model description to stack trace.
* 'parisc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: Add hardware description to stack traces
  parisc: Fix boot failure of 64-bit kernel
  parisc: Consolidate unwind initialization calls
  parisc: Update comments in syscall.S regarding wide userland
  parisc: Fix ptraced 64-bit applications to call 64-bit syscalls
  parisc: Restore possibility to execute 64-bit applications
Diffstat (limited to 'arch/parisc/kernel/stacktrace.c')
| -rw-r--r-- | arch/parisc/kernel/stacktrace.c | 15 | 
1 files changed, 1 insertions, 14 deletions
| diff --git a/arch/parisc/kernel/stacktrace.c b/arch/parisc/kernel/stacktrace.c index 2fe914c5f533..ec5835e83a7a 100644 --- a/arch/parisc/kernel/stacktrace.c +++ b/arch/parisc/kernel/stacktrace.c @@ -16,20 +16,7 @@ static void dump_trace(struct task_struct *task, struct stack_trace *trace)  {  	struct unwind_frame_info info; -	/* initialize unwind info */ -	if (task == current) { -		unsigned long sp; -		struct pt_regs r; -HERE: -		asm volatile ("copy %%r30, %0" : "=r"(sp)); -		memset(&r, 0, sizeof(struct pt_regs)); -		r.iaoq[0] = (unsigned long)&&HERE; -		r.gr[2] = (unsigned long)__builtin_return_address(0); -		r.gr[30] = sp; -		unwind_frame_init(&info, task, &r); -	} else { -		unwind_frame_init_from_blocked_task(&info, task); -	} +	unwind_frame_init_task(&info, task, NULL);  	/* unwind stack and save entries in stack_trace struct */  	trace->nr_entries = 0; | 
