26 Sep, 2006

1 commit

  • This patch moves the entry.S:error_entry to .kprobes.text section,
    since code marked unsafe for kprobes jumps directly to entry.S::error_entry,
    that must be marked unsafe as well.
    This patch also moves all the ".previous.text" asm directives to ".previous"
    for kprobes section.

    AK: Following a similar i386 patch from Chuck Ebbert
    AK: Also merged Jeremy's fix in.

    +From: Jeremy Fitzhardinge

    KPROBE_ENTRY does a .section .kprobes.text, and expects its users to
    do a .previous at the end of the function.

    Unfortunately, if any code within the function switches sections, for
    example .fixup, then the .previous ends up putting all subsequent code
    into .fixup. Worse, any subsequent .fixup code gets intermingled with
    the code its supposed to be fixing (which is also in .fixup). It's
    surprising this didn't cause more havok.

    The fix is to use .pushsection/.popsection, so this stuff nests
    properly. A further cleanup would be to get rid of all
    .section/.previous pairs, since they're inherently fragile.

    +From: Chuck Ebbert

    Because code marked unsafe for kprobes jumps directly to
    entry.S::error_code, that must be marked unsafe as well.
    The easiest way to do that is to move the page fault entry
    point to just before error_code and let it inherit the same
    section.

    Also moved all the ".previous" asm directives for kprobes
    sections to column 1 and removed ".text" from them.

    Signed-off-by: Chuck Ebbert
    Signed-off-by: Andi Kleen

    Prasanna S.P
     

26 Apr, 2006

1 commit


24 Mar, 2006

1 commit

  • Provide abstraction for generating type and size information of assembly
    routines and data, while permitting architectures to override these
    defaults.

    Signed-off-by: Jan Beulich
    Cc: "Russell King"
    Cc: Ralf Baechle
    Cc: "Andi Kleen"
    Cc: "Luck, Tony"
    Cc: Miles Bader
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

08 Sep, 2005

1 commit

  • There are possible race conditions if probes are placed on routines within the
    kprobes files and routines used by the kprobes. For example if you put probe
    on get_kprobe() routines, the system can hang while inserting probes on any
    routine such as do_fork(). Because while inserting probes on do_fork(),
    register_kprobes() routine grabs the kprobes spin lock and executes
    get_kprobe() routine and to handle probe of get_kprobe(), kprobes_handler()
    gets executed and tries to grab kprobes spin lock, and spins forever. This
    patch avoids such possible race conditions by preventing probes on routines
    within the kprobes file and routines used by kprobes.

    I have modified the patches as per Andi Kleen's suggestion to move kprobes
    routines and other routines used by kprobes to a seperate section
    .kprobes.text.

    Also moved page fault and exception handlers, general protection fault to
    .kprobes.text section.

    These patches have been tested on i386, x86_64 and ppc64 architectures, also
    compiled on ia64 and sparc64 architectures.

    Signed-off-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prasanna S Panchamukhi
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds