lkml.org 
[lkml]   [2008]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Subject[PATCH 00/15] Kernel memory leak detector
    From
    Date
    A new kmemleak version is available. Thanks to all who reviewed the code
    and gave feedback. Kmemleak can also be found on this git tree:

    git://linux-arm.org/linux-2.6.git kmemleak

    Please note that even though I already got the ack from the
    slab/slob/slub maintainers, I haven't included the corresponding lines
    in the patch description because the patches were slightly modified to
    pass the GFP flags to the kmemleak callbacks. I would be grateful if you
    review these changes and re-acknowledge them.

    Changes since the previous release:

    - fatal errors for kmemleak are no longer fatal for the full system.
    Kmemleak can disable and clean-up after itself at run-time if such a
    condition occurs
    - re-worked locking in the memleak.c file together with documentation on
    how it works
    - kmemleak internal allocations use the GFP flags of the caller and are
    no longer restricted to GFP_ATOMIC
    - better (hopefully) comments all over the code
    - implemented most of the comments received so far (an important
    omission here is the tracking of alloc_bootmem calls since it looks a
    bit difficult to pair them with free_bootmem, the latter being used
    with reserve_bootmem or without a corresponding alloc_bootmem)

    Still to do:

    - run-time and boot-time configuration like task stacks scanning,
    disabling kmemleak, enabling/disabling the automatic scanning

    Thanks for your comments.


    Catalin Marinas (15):
    kmemleak: Add the corresponding MAINTAINERS entry
    kmemleak: Simple testing module for kmemleak
    kmemleak: Keep the __init functions after initialization
    kmemleak: Enable the building of the memory leak detector
    kmemleak: Remove some of the kmemleak false positives
    arm: Provide _sdata and __bss_stop in the vmlinux.lds.S file
    x86: Provide _sdata in the vmlinux_*.lds.S files
    kmemleak: Add modules support
    kmemleak: Add memleak_alloc callback from alloc_large_system_hash
    kmemleak: Add the vmalloc memory allocation/freeing hooks
    kmemleak: Add the slub memory allocation/freeing hooks
    kmemleak: Add the slob memory allocation/freeing hooks
    kmemleak: Add the slab memory allocation/freeing hooks
    kmemleak: Add documentation on the memory leak detector
    kmemleak: Add the base support


    Documentation/kmemleak.txt | 127 ++++
    MAINTAINERS | 6
    arch/arm/kernel/vmlinux.lds.S | 2
    arch/x86/kernel/vmlinux_32.lds.S | 1
    arch/x86/kernel/vmlinux_64.lds.S | 1
    drivers/char/vt.c | 7
    include/linux/init.h | 6
    include/linux/memleak.h | 93 +++
    include/linux/percpu.h | 5
    include/linux/slab.h | 2
    init/main.c | 4
    kernel/module.c | 56 ++
    lib/Kconfig.debug | 46 +
    mm/Makefile | 2
    mm/memleak-test.c | 110 +++
    mm/memleak.c | 1263 ++++++++++++++++++++++++++++++++++++++
    mm/page_alloc.c | 3
    mm/slab.c | 18 -
    mm/slob.c | 15
    mm/slub.c | 5
    mm/vmalloc.c | 29 +
    21 files changed, 1790 insertions(+), 11 deletions(-)
    create mode 100644 Documentation/kmemleak.txt
    create mode 100644 include/linux/memleak.h
    create mode 100644 mm/memleak-test.c
    create mode 100644 mm/memleak.c

    --
    Catalin


    \
     
     \ /
      Last update: 2008-12-10 19:29    [W:0.023 / U:30.868 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site