1. 30 Apr, 2013 5 commits
  2. 29 Apr, 2013 1 commit
    • Borislav Petkov's avatar
      scripts/decodecode: make faulting insn ptr more robust · 18ff44b1
      Borislav Petkov authored
      
      
      It can accidentally happen that the faulting insn (the exact instruction
      bytes) is repeated a little further on in the trace.  This causes that
      same instruction to be tagged twice, see example below.
      
      What we want to do, however, is to track back from the end of the whole
      disassembly so many lines as the slice which starts with the faulting
      instruction is long.  This leads us to the actual faulting instruction
      and *then* we tag it.
      
      While we're at it, we can drop the sed "g" flag because we address only
      this one line.
      
      Also, if we point to an instruction which changes decoding depending on
      the slice being objdumped, like a Jcc insn, for example, we do not even
      tag it as a faulting instruction because the instruction decode changes
      in the second slice but we use that second format as a regex on the
      fsrst disassembled buffer and more often than not that instruction
      doesn't match.
      
      Again, simply tag the line which is deduced from the original "<>"
      marking we've received from the kernel.
      
      This also solves the pathologic issue of multiple tagging like this:
      
        29:*  0f 0b                   ud2         <-- trapping instruction
        2b:*  0f 0b                   ud2         <-- trapping instruction
        2d:*  0f 0b                   ud2         <-- trapping instruction
      
      Double tagging example:
      
      Code: 34 dd 40 30 ad 81 48 c7 c0 80 f6 00 00 48 8b 3c 30 48 01 c6 b8 ff ff ff ff 48 8d 57 f0 48 39 f7 74 2f 49 8b 4c 24 08 48 8b 47 f0 <48> 39 48 08 75 0e eb 2a 66 90 48 8b 40 f0 48 39 48 08 74 1e 48
      All code
      ========
         0:   34 dd                   xor    $0xdd,%al
         2:   40 30 ad 81 48 c7 c0    xor    %bpl,-0x3f38b77f(%rbp)
         9:   80 f6 00                xor    $0x0,%dh
         c:   00 48 8b                add    %cl,-0x75(%rax)
         f:   3c 30                   cmp    $0x30,%al
        11:   48 01 c6                add    %rax,%rsi
        14:   b8 ff ff ff ff          mov    $0xffffffff,%eax
        19:   48 8d 57 f0             lea    -0x10(%rdi),%rdx
        1d:   48 39 f7                cmp    %rsi,%rdi
        20:   74 2f                   je     0x51
        22:   49 8b 4c 24 08          mov    0x8(%r12),%rcx
        27:   48 8b 47 f0             mov    -0x10(%rdi),%rax
        2b:*  48 39 48 08             cmp    %rcx,0x8(%rax)     <-- trapping instruction
        2f:   75 0e                   jne    0x3f
        31:   eb 2a                   jmp    0x5d
        33:   66 90                   xchg   %ax,%ax
        35:   48 8b 40 f0             mov    -0x10(%rax),%rax
        39:*  48 39 48 08             cmp    %rcx,0x8(%rax)     <-- trapping instruction
        3d:   74 1e                   je     0x5d
        3f:   48                      rex.W
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18ff44b1
  3. 17 Apr, 2013 1 commit
  4. 29 Mar, 2013 1 commit
  5. 05 Mar, 2013 1 commit
  6. 02 Mar, 2013 3 commits
  7. 28 Feb, 2013 3 commits
  8. 25 Feb, 2013 1 commit
  9. 22 Feb, 2013 16 commits
  10. 19 Feb, 2013 1 commit
  11. 14 Feb, 2013 1 commit
  12. 13 Feb, 2013 1 commit
    • Stephen Warren's avatar
      kbuild: limit dtc+cpp include path · e570d7c1
      Stephen Warren authored
      
      
      Device tree source files may now include header files. The intent is
      that those header files define/name constants used as part of the DT
      bindings. Currently this feature is open to abuse, since any kernel
      header file at all can be included, This could allow device tree files
      to become dependant on kernel headers files, and thus make them no
      longer OS-independent. This would also prevent separating the device
      tree source files from the kernel repository.
      
      Solve this by limiting the cpp include path for device tree files to
      separate directories.
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      e570d7c1
  13. 09 Feb, 2013 2 commits
  14. 08 Feb, 2013 1 commit
  15. 05 Feb, 2013 1 commit
  16. 30 Jan, 2013 1 commit