linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 0/7] arm64: unwind: fix broken exception stack dump
@ 2017-07-26 18:18 Mark Rutland
  2017-07-26 18:18 ` [PATCHv2 1/7] arm64: Add ASM_BUG() Mark Rutland
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: Mark Rutland @ 2017-07-26 18:18 UTC (permalink / raw)
  To: linux-arm-kernel

These patches correct our exception stack dumping code to correctly identify
frames associated with exceptions, for which there is a corresponding pt_regs.

Ard and I ran into these issues while working on vmap'd stacks, and these
patches will be a pre-requisite for overflow handling to function correctly.

This is a follow up to Ard's v1 [1]. I've pushed this out to my
arm64/exception-stack branch [2].

Since v1:
* Identify exception frames based on .entry.text
* Add ASM_BUG()
* Use BL to ensure all exception frames can be identified
* Minor fixups

Thanks,
Mark.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2017-July/520705.html
[2] git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/exception-stack

Ard Biesheuvel (3):
  arm64: unwind: disregard frame.sp when validating frame pointer
  arm64: unwind: reference pt_regs via embedded stack frame
  arm64: unwind: remove sp from struct stackframe

Mark Rutland (4):
  arm64: Add ASM_BUG()
  arm64: consistently use bl for C exception entry
  arm64: move non-entry code out of .entry.text
  arm64: unwind: avoid percpu indirection for irq stack

 arch/arm64/include/asm/asm-bug.h    |  54 +++++++++++++++++
 arch/arm64/include/asm/assembler.h  |  11 ++++
 arch/arm64/include/asm/bug.h        |  35 +----------
 arch/arm64/include/asm/irq.h        |  39 ++++--------
 arch/arm64/include/asm/ptrace.h     |   1 +
 arch/arm64/include/asm/stacktrace.h |   1 -
 arch/arm64/include/asm/traps.h      |   5 ++
 arch/arm64/kernel/asm-offsets.c     |   1 +
 arch/arm64/kernel/entry.S           | 118 +++++++++++++++++++-----------------
 arch/arm64/kernel/perf_callchain.c  |   1 -
 arch/arm64/kernel/process.c         |   5 +-
 arch/arm64/kernel/ptrace.c          |   2 +-
 arch/arm64/kernel/return_address.c  |   1 -
 arch/arm64/kernel/stacktrace.c      |  54 ++---------------
 arch/arm64/kernel/time.c            |   1 -
 arch/arm64/kernel/traps.c           |  34 +++--------
 16 files changed, 162 insertions(+), 201 deletions(-)
 create mode 100644 arch/arm64/include/asm/asm-bug.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2017-08-09 14:32 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-26 18:18 [PATCHv2 0/7] arm64: unwind: fix broken exception stack dump Mark Rutland
2017-07-26 18:18 ` [PATCHv2 1/7] arm64: Add ASM_BUG() Mark Rutland
2017-08-08 15:31   ` Mark Rutland
2017-08-08 15:58     ` Catalin Marinas
2017-08-08 16:10       ` Mark Rutland
2017-08-09 10:07         ` Catalin Marinas
2017-08-09 13:21           ` Mark Rutland
2017-08-09 14:32             ` Catalin Marinas
2017-07-26 18:18 ` [PATCHv2 2/7] arm64: consistently use bl for C exception entry Mark Rutland
2017-07-26 18:18 ` [PATCHv2 3/7] arm64: move non-entry code out of .entry.text Mark Rutland
2017-07-26 21:38   ` Stephen Boyd
2017-07-31 10:21     ` Mark Rutland
2017-07-26 18:18 ` [PATCHv2 4/7] arm64: unwind: avoid percpu indirection for irq stack Mark Rutland
2017-07-26 18:18 ` [PATCHv2 5/7] arm64: unwind: disregard frame.sp when validating frame pointer Mark Rutland
2017-07-26 18:18 ` [PATCHv2 6/7] arm64: unwind: reference pt_regs via embedded stack frame Mark Rutland
2017-07-26 18:18 ` [PATCHv2 7/7] arm64: unwind: remove sp from struct stackframe Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).