Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • L linux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Smelkov
  • linux
  • Repository
  • linux
  • arch
  • arm
  • kernel
  • stacktrace.c
Find file BlameHistoryPermalink
  • Masami Hiramatsu's avatar
    ARM: clang: Do not rely on lr register for stacktrace · b3ea5d56
    Masami Hiramatsu authored Oct 21, 2021
    
    
    Currently the stacktrace on clang compiled arm kernel uses the 'lr'
    register to find the first frame address from pt_regs. However, that
    is wrong after calling another function, because the 'lr' register
    is used by 'bl' instruction and never be recovered.
    
    As same as gcc arm kernel, directly use the frame pointer (r11) of
    the pt_regs to find the first frame address.
    
    Note that this fixes kretprobe stacktrace issue only with
    CONFIG_UNWINDER_FRAME_POINTER=y. For the CONFIG_UNWINDER_ARM,
    we need another fix.
    
    Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    b3ea5d56
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7