• Borislav Petkov's avatar
    scripts/decodecode: add the capability to supply the program counter · d72e720a
    Borislav Petkov authored
    
    
    So that comparing with objdump output from vmlinux can ease pinpointing
    where the trapping instruction actually is.  An example is better than a
    thousand words:
    
      $ PC=0xffffffff8329a927 ./scripts/decodecode < ~/tmp/syz/gfs2.splat
      [ 477.379104][T23917] Code: 48 83 ec 28 48 89 3c 24 48 89 54 24 08 e8 c1 b4 4a fe 48 8d bb 00 01 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 97 05 00 00 48 8b 9b 00 01 00 00 48 85 db 0f 84
      All code
      ========
      ffffffff8329a8fd:       48 83 ec 28             sub    $0x28,%rsp
      ffffffff8329a901:       48 89 3c 24             mov    %rdi,(%rsp)
      ffffffff8329a905:       48 89 54 24 08          mov    %rdx,0x8(%rsp)
      ffffffff8329a90a:       e8 c1 b4 4a fe          callq  0xffffffff81745dd0
      ffffffff8329a90f:       48 8d bb 00 01 00 00    lea    0x100(%rbx),%rdi
      ffffffff8329a916:       48 b8 00 00 00 00 00    movabs $0xdffffc0000000000,%rax
      ffffffff8329a91d:       fc ff df
      ffffffff8329a920:       48 89 fa                mov    %rdi,%rdx
      ffffffff8329a923:       48 c1 ea 03             shr    $0x3,%rdx
      ffffffff8329a927:*      80 3c 02 00             cmpb   $0x0,(%rdx,%rax,1)               <-- trapping instruction
      ffffffff8329a92b:       0f 85 97 05 00 00       jne    0xffffffff8329aec8
      ffffffff8329a931:       48 8b 9b 00 01 00 00    mov    0x100(%rbx),%rbx
      ffffffff8329a938:       48 85 db                test   %rbx,%rbx
      ffffffff8329a93b:       0f                      .byte 0xf
      ffffffff8329a93c:       84                      .byte 0x84
    
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Cc: Marc Zyngier <maz@misterjones.org>
    Cc: Will Deacon <will@kernel.org>
    Cc: Rabin Vincent <rabin@rab.in>
    Link: https://lkml.kernel.org/r/20200930111416.GF6810@zn.tnic
    Link: https://lkml.kernel.org/r/20200929113238.GC21110@zn.tnic
    
    
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d72e720a