1. 09 2月, 2013 1 次提交
  2. 05 2月, 2013 1 次提交
  3. 03 4月, 2012 1 次提交
    • C
      arch/tile: various bugs in stack backtracer · 5f639fdc
      Chris Metcalf 提交于
      Fix a long-standing bug in the stack backtracer where we would print
      garbage to the console instead of kernel function names, if the kernel
      wasn't built with symbol support (e.g. mboot).
      
      Make sure to tag every line of userspace backtrace output if we actually
      have the mmap_sem, since that way if there's no tag, we know that it's
      because we couldn't trylock the semaphore.
      
      Stop doing a TLB flush and examining page tables during backtrace.
      Instead, just trust that __copy_from_user_inatomic() will properly fault
      and return a failure, which it should do in all cases.
      
      Fix a latent bug where the backtracer would directly examine a signal
      context in user space, rather than copying it safely to kernel memory
      first.  This meant that a race with another thread could potentially
      have caused a kernel panic.
      
      Guard against unaligned sp when trying to restart backtrace at an
      interrupt or signal handler point in the kernel backtracer.
      
      Report kernel symbolic information for the call instruction rather
      than for the following instruction.  We still report the actual numeric
      address corresponding to the instruction after the call, for the sake
      of consistency with the normal expectations for stack backtracers.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      5f639fdc
  4. 02 4月, 2012 1 次提交
  5. 03 5月, 2011 1 次提交
    • C
      arch/tile: refactor backtracing code · 93013a0f
      Chris Metcalf 提交于
      This change is the result of some work to make the backtrace code more
      shareable between kernel, libc, and gdb.
      
      For the kernel, some good effects are to eliminate the hacky
      "VirtualAddress" typedef in favor of "unsigned long", to eliminate a
      bunch of spurious kernel doc comments, to remove the dead "bt_read_memory"
      function, and to use "__tilegx__" in #ifdefs instead of "TILE_CHIP".
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      93013a0f
  6. 02 3月, 2011 1 次提交
    • C
      arch/tile: fix two bugs in the backtracer code · 3cebbafd
      Chris Metcalf 提交于
      The first is that we were using an incorrect hand-rolled variant
      of __kernel_text_address() which didn't handle module PCs.  We now
      just use the standard API.
      
      The second was that we weren't accounting for the three-level
      page table when we were trying to pre-verify the addresses on
      the 64-bit TILE-Gx processor; we now do that correctly.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      3cebbafd
  7. 15 10月, 2010 1 次提交
  8. 15 9月, 2010 1 次提交
    • C
      arch/tile: Change struct sigcontext to be more useful · 74fca9da
      Chris Metcalf 提交于
      Rather than just using pt_regs, it now contains the actual saved
      state explicitly, similar to pt_regs.  By doing it this way, we
      provide a cleaner API for userspace (or equivalently, we avoid the
      need for libc to provide its own definition of sigcontext).
      
      While we're at it, move PT_FLAGS_xxx to where they are not visible
      from userspace.  And always pass siginfo and mcontext to signal
      handlers, even if they claim they don't need it, since sometimes
      they actually try to use it anyway in practice.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      74fca9da
  9. 13 8月, 2010 1 次提交
  10. 07 7月, 2010 1 次提交
    • C
      arch/tile: Miscellaneous cleanup changes. · 0707ad30
      Chris Metcalf 提交于
      This commit is primarily changes caused by reviewing "sparse"
      and "checkpatch" output on our sources, so is somewhat noisy, since
      things like "printk() -> pr_err()" (or whatever) throughout the
      codebase tend to get tedious to read.  Rather than trying to tease
      apart precisely which things changed due to which type of code
      review, this commit includes various cleanups in the code:
      
      - sparse: Add declarations in headers for globals.
      - sparse: Fix __user annotations.
      - sparse: Using gfp_t consistently instead of int.
      - sparse: removing functions not actually used.
      - checkpatch: Clean up printk() warnings by using pr_info(), etc.;
        also avoid partial-line printks except in bootup code.
        - checkpatch: Use exposed structs rather than typedefs.
        - checkpatch: Change some C99 comments to C89 comments.
      
      In addition, a couple of minor other changes are rolled in
      to this commit:
      
      - Add support for a "raise" instruction to cause SIGFPE, etc., to be raised.
      - Remove some compat code that is unnecessary when we fully eliminate
        some of the deprecated syscalls from the generic syscall ABI.
      - Update the tile_defconfig to reflect current config contents.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      0707ad30
  11. 05 6月, 2010 1 次提交