08 Mar, 2010

1 commit


02 Feb, 2010

1 commit


06 Jan, 2010

1 commit

  • Commit 35dead4 "modules: don't export section names of empty sections
    via sysfs" changed the set of sections that have attributes, but did
    not change the iteration over these attributes in add_notes_attrs().
    This can lead to add_notes_attrs() creating attributes with the wrong
    names or with null name pointers.

    Introduce a sect_empty() function and use it in both add_sect_attrs()
    and add_notes_attrs().

    Reported-by: Martin Michlmayr
    Signed-off-by: Ben Hutchings
    Tested-by: Martin Michlmayr
    Cc: stable@kernel.org
    Signed-off-by: Rusty Russell
    Signed-off-by: Linus Torvalds

    Ben Hutchings
     

05 Jan, 2010

1 commit

  • Use cpu ops to deal with the per cpu data instead of a local_t. Reduces memory
    requirements, cache footprint and decreases cycle counts.

    The this_cpu_xx operations are also used for !SMP mode. Otherwise we could
    not drop the use of __module_ref_addr() which would make per cpu data handling
    complicated. this_cpu_xx operations have their own fallback for !SMP.

    V8-V9:
    - Leave include asm/module.h since ringbuffer.c depends on it. Nothing else
    does though. Another patch will deal with that.
    - Remove spurious free.

    Signed-off-by: Christoph Lameter
    Acked-by: Rusty Russell
    Signed-off-by: Tejun Heo

    Christoph Lameter
     

18 Dec, 2009

1 commit

  • * 'kmemleak' of git://linux-arm.org/linux-2.6:
    kmemleak: fix kconfig for crc32 build error
    kmemleak: Reduce the false positives by checking for modified objects
    kmemleak: Show the age of an unreferenced object
    kmemleak: Release the object lock before calling put_object()
    kmemleak: Scan the _ftrace_events section in modules
    kmemleak: Simplify the kmemleak_scan_area() function prototype
    kmemleak: Do not use off-slab management with SLAB_NOLEAKTRACE

    Linus Torvalds
     

15 Dec, 2009

2 commits

  • powerpc applies relocations to the kcrctab. They're absolute symbols,
    but it's not completely unreasonable: other archs may too, but the
    relocation is often 0.

    http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-November/077972.html

    Inspired-by: Neil Horman
    Signed-off-by: Rusty Russell
    Tested-by: Neil Horman
    Acked-by: Paul Mackerras

    Rusty Russell
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)
    m68k: rename global variable vmalloc_end to m68k_vmalloc_end
    percpu: add missing per_cpu_ptr_to_phys() definition for UP
    percpu: Fix kdump failure if booted with percpu_alloc=page
    percpu: make misc percpu symbols unique
    percpu: make percpu symbols in ia64 unique
    percpu: make percpu symbols in powerpc unique
    percpu: make percpu symbols in x86 unique
    percpu: make percpu symbols in xen unique
    percpu: make percpu symbols in cpufreq unique
    percpu: make percpu symbols in oprofile unique
    percpu: make percpu symbols in tracer unique
    percpu: make percpu symbols under kernel/ and mm/ unique
    percpu: remove some sparse warnings
    percpu: make alloc_percpu() handle array types
    vmalloc: fix use of non-existent percpu variable in put_cpu_var()
    this_cpu: Use this_cpu_xx in trace_functions_graph.c
    this_cpu: Use this_cpu_xx for ftrace
    this_cpu: Use this_cpu_xx in nmi handling
    this_cpu: Use this_cpu operations in RCU
    this_cpu: Use this_cpu ops for VM statistics
    ...

    Fix up trivial (famous last words) global per-cpu naming conflicts in
    arch/x86/kvm/svm.c
    mm/slab.c

    Linus Torvalds
     

03 Dec, 2009

1 commit

  • On the parisc architecture we face for each and every loaded kernel module
    this kernel "badness warning":
    sysfs: cannot create duplicate filename '/module/ac97_bus/sections/.text'
    Badness at fs/sysfs/dir.c:487

    Reason for that is, that on parisc all kernel modules do have multiple
    .text sections due to the usage of the -ffunction-sections compiler flag
    which is needed to reach all jump targets on this platform.

    An objdump on such a kernel module gives:
    Sections:
    Idx Name Size VMA LMA File off Algn
    0 .note.gnu.build-id 00000024 00000000 00000000 00000034 2**2
    CONTENTS, ALLOC, LOAD, READONLY, DATA
    1 .text 00000000 00000000 00000000 00000058 2**0
    CONTENTS, ALLOC, LOAD, READONLY, CODE
    2 .text.ac97_bus_match 0000001c 00000000 00000000 00000058 2**2
    CONTENTS, ALLOC, LOAD, READONLY, CODE
    3 .text 00000000 00000000 00000000 000000d4 2**0
    CONTENTS, ALLOC, LOAD, READONLY, CODE
    ...
    Since the .text sections are empty (size of 0 bytes) and won't be
    loaded by the kernel module loader anyway, I don't see a reason
    why such sections need to be listed under
    /sys/module//sections/ either.

    The attached patch does solve this issue by not exporting section
    names which are empty.

    This fixes bugzilla http://bugzilla.kernel.org/show_bug.cgi?id=14703

    Signed-off-by: Helge Deller
    CC: rusty@rustcorp.com.au
    CC: akpm@linux-foundation.org
    CC: James.Bottomley@HansenPartnership.com
    CC: roland@redhat.com
    CC: dave@hiauly1.hia.nrc.ca
    Signed-off-by: Linus Torvalds

    Helge Deller
     

29 Oct, 2009

1 commit


28 Oct, 2009

1 commit


02 Oct, 2009

2 commits

  • With ia64 converted, there's no arch left which still uses legacy
    percpu allocator. Kill it.

    Signed-off-by: Tejun Heo
    Delightedly-acked-by: Rusty Russell
    Cc: Ingo Molnar
    Cc: Christoph Lameter

    Tejun Heo
     
  • Starting from commit 4a4962263f07d14660849ec134ee42b63e95ea9a "reduce
    symbol table for loaded modules (v2)", the kernel/module.c build is broken
    with CONFIG_KALLSYMS disabled.

    CC kernel/module.o
    kernel/module.c:1995: warning: type defaults to 'int' in declaration of 'Elf_Hdr'
    kernel/module.c:1995: error: expected ';', ',' or ')' before '*' token
    kernel/module.c: In function 'load_module':
    kernel/module.c:2203: error: 'strmap' undeclared (first use in this function)
    kernel/module.c:2203: error: (Each undeclared identifier is reported only once
    kernel/module.c:2203: error: for each function it appears in.)
    kernel/module.c:2239: error: 'symoffs' undeclared (first use in this function)
    kernel/module.c:2239: error: implicit declaration of function 'layout_symtab'
    kernel/module.c:2240: error: 'stroffs' undeclared (first use in this function)
    make[1]: *** [kernel/module.o] Error 1
    make: *** [kernel/module.o] Error 2

    There are three different issues:

    - layout_symtab() takes a const Elf_Ehdr

    - layout_symtab() needs to return a value

    - symoffs/stroffs/strmap are referenced by the load_module() code
    despite being ifdefed out, which seems unnecessary given the noop
    behaviour of layout_symtab()/add_kallsyms() in the case of
    CONFIG_KALLSYMS=n.

    Signed-off-by: Paul Mundt
    Acked-by: Jan Beulich
    Acked-by: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     

27 Sep, 2009

1 commit

  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    modules, tracing: Remove stale struct marker signature from module_layout()
    tracing/workqueue: Use %pf in workqueue trace events
    tracing: Fix a comment and a trivial format issue in tracepoint.h
    tracing: Fix failure path in ftrace_regex_open()
    tracing: Fix failure path in ftrace_graph_write()
    tracing: Check the return value of trace_get_user()
    tracing: Fix off-by-one in trace_get_user()

    Linus Torvalds
     

24 Sep, 2009

4 commits

  • The general one handles NULL, the static obsolescent
    (CONFIG_HAVE_LEGACY_PER_CPU_AREA) one in module.c doesn't; Eric's
    commit 720eba31 assumed it did, and various frobbings since then kept
    that assumption.

    All other callers in module.c all protect it with an if; this effectively
    does the same as free_init is only goto if we fail percpu_modalloc().

    Reported-by: Kamalesh Babulal
    Signed-off-by: Rusty Russell
    Cc: Eric Dumazet
    Cc: Masami Hiramatsu
    Cc: Américo Wang
    Tested-by: Kamalesh Babulal

    Rusty Russell
     
  • Normally the twisty paths of sysfs will free the attributes, but not if
    we fail before we hook it into sysfs (which is the last thing we do in
    load_module).

    (This sysfs code is a turd, no doubt there are other issues lurking too).

    Reported-by: Tetsuo Handa
    Signed-off-by: Rusty Russell
    Cc: Catalin Marinas
    Tested-by: Tetsuo Handa

    Rusty Russell
     
  • Also remove all parts of the string table (referenced by the symbol
    table) that are not needed for kallsyms use (i.e. which were only
    referenced by symbols discarded by the previous patch, or not
    referenced at all for whatever reason).

    Signed-off-by: Jan Beulich
    Signed-off-by: Rusty Russell

    Jan Beulich
     
  • Discard all symbols not interesting for kallsyms use: absolute,
    section, and in the common case (!KALLSYMS_ALL) data ones.

    Signed-off-by: Jan Beulich
    Signed-off-by: Rusty Russell

    Jan Beulich
     

23 Sep, 2009

1 commit

  • Linus reported this new build warning:

    kernel/module.c:2951: warning: ?struct marker? declared inside parameter list
    kernel/module.c:2951: warning: its scope is only this definition or declaration, which is probably not what you want

    Caused by:

    fc53776: tracing: Remove markers

    module_layout() is an artificial symbol with 'significant' symbols
    listed in its argument list so that it gets a proper argument types
    signature that modversions can pick up to decide whether a
    module is version-compatible or not. If these dont match then we
    wont even look at a module.

    Remove the stale marker symbol.

    Reported-by: Linus Torvalds
    LKML-Reference:
    Cc: Christoph Hellwig
    Cc: Mathieu Desnoyers
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    Cc: Rusty Russell
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

22 Sep, 2009

1 commit

  • Some architectures (like the Blackfin arch) implement some of the
    "simpler" features that one would expect out of a MMU such as memory
    protection.

    In our case, we actually get read/write/exec protection down to the page
    boundary so processes can't stomp on each other let alone the kernel.

    There is a performance decrease (which depends greatly on the workload)
    however as the hardware/software interaction was not optimized at design
    time.

    Signed-off-by: Bernd Schmidt
    Signed-off-by: Bryan Wu
    Signed-off-by: Mike Frysinger
    Acked-by: David Howells
    Acked-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernd Schmidt
     

19 Sep, 2009

1 commit

  • Now that the last users of markers have migrated to the event
    tracer we can kill off the (now orphan) support code.

    Signed-off-by: Christoph Hellwig
    Acked-by: Mathieu Desnoyers
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Christoph Hellwig
     

16 Sep, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)
    powerpc64: convert to dynamic percpu allocator
    sparc64: use embedding percpu first chunk allocator
    percpu: kill lpage first chunk allocator
    x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA
    percpu: update embedding first chunk allocator to handle sparse units
    percpu: use group information to allocate vmap areas sparsely
    vmalloc: implement pcpu_get_vm_areas()
    vmalloc: separate out insert_vmalloc_vm()
    percpu: add chunk->base_addr
    percpu: add pcpu_unit_offsets[]
    percpu: introduce pcpu_alloc_info and pcpu_group_info
    percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward
    percpu: add @align to pcpu_fc_alloc_fn_t
    percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()
    percpu: drop @static_size from first chunk allocators
    percpu: generalize first chunk allocator selection
    percpu: build first chunk allocators selectively
    percpu: rename 4k first chunk allocator to page
    percpu: improve boot messages
    percpu: fix pcpu_reclaim() locking
    ...

    Fix trivial conflict as by Tejun Heo in kernel/sched.c

    Linus Torvalds
     

06 Sep, 2009

1 commit


29 Aug, 2009

1 commit

  • > James Bottomley (1):
    > module: workaround duplicate section names

    -tip testing found that this patch breaks the build on x86 if
    CONFIG_KALLSYMS is disabled:

    kernel/module.c: In function ‘load_module’:
    kernel/module.c:2367: error: ‘struct module’ has no member named ‘sect_attrs’
    distcc[8269] ERROR: compile kernel/module.c on ph/32 failed
    make[1]: *** [kernel/module.o] Error 1
    make: *** [kernel] Error 2
    make: *** Waiting for unfinished jobs....

    Commit 1b364bf misses the fact that section attributes are only
    built and dealt with if kallsyms is enabled. The patch below fixes
    this.

    ( note, technically speaking this should depend on CONFIG_SYSFS as
    well but this patch is correct too and keeps the #ifdef less
    intrusive - in the KALLSYMS && !SYSFS case the code is a NOP. )

    Signed-off-by: Ingo Molnar
    [ Replaced patch with a slightly cleaner variation by James Bottomley ]
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

28 Aug, 2009

2 commits

  • The root cause is a duplicate section name (.text); is this legal?
    [ Amerigo Wang: "AFAIK, yes." ]

    However, there's a problem with commit
    6d76013381ed28979cd122eb4b249a88b5e384fa in that if you fail to allocate
    a mod->sect_attrs (in this case it's null because of the duplication),
    it still gets used without checking in add_notes_attrs()

    This should fix it

    [ This patch leaves other problems, particularly the sections directory,
    but recent parisc toolchains seem to produce these modules and this
    prevents a crash and is a minimal change -- RR ]

    Signed-off-by: James Bottomley
    Signed-off-by: Rusty Russell
    Tested-by: Helge Deller
    Signed-off-by: Linus Torvalds

    James Bottomley
     
  • The rarely-used symbol_put_addr() needs to use dereference_function_descriptor
    on powerpc.

    Reported-by: Paul Mackerras
    Signed-off-by: Rusty Russell

    Rusty Russell
     

17 Aug, 2009

1 commit

  • Add trace points to trace module_load, module_free, module_get,
    module_put and module_request, and use trace_event facility to
    get the trace output.

    Here's the sample output:

    TASK-PID CPU# TIMESTAMP FUNCTION
    | | | | |
    -42 [000] 1.758380: module_request: fb0 wait=1 call_site=fb_open
    ...
    -60 [000] 3.269403: module_load: scsi_wait_scan
    -60 [000] 3.269432: module_put: scsi_wait_scan call_site=sys_init_module refcnt=0
    -61 [001] 3.273168: module_free: scsi_wait_scan
    ...
    -1021 [000] 13.836081: module_load: sunrpc
    -1021 [000] 13.840589: module_put: sunrpc call_site=sys_init_module refcnt=-1
    -1027 [000] 13.848098: module_get: sunrpc call_site=try_module_get refcnt=0
    -1027 [000] 13.848308: module_get: sunrpc call_site=get_filesystem refcnt=1
    -1027 [000] 13.848692: module_put: sunrpc call_site=put_filesystem refcnt=0
    ...
    modprobe-2587 [001] 1088.437213: module_load: trace_events_sample F
    modprobe-2587 [001] 1088.437786: module_put: trace_events_sample call_site=sys_init_module refcnt=0

    Note:

    - the taints flag can be 'F', 'C' and/or 'P' if mod->taints != 0

    - the module refcnt is percpu, so it can be negative in a
    specific cpu

    Signed-off-by: Li Zefan
    Acked-by: Rusty Russell
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    Cc: Rusty Russell
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     

14 Aug, 2009

1 commit

  • Conflicts:
    arch/sparc/kernel/smp_64.c
    arch/x86/kernel/cpu/perf_counter.c
    arch/x86/kernel/setup_percpu.c
    drivers/cpufreq/cpufreq_ondemand.c
    mm/percpu.c

    Conflicts in core and arch percpu codes are mostly from commit
    ed78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many
    num_possible_cpus() with nr_cpu_ids. As for-next branch has moved all
    the first chunk allocators into mm/percpu.c, the changes are moved
    from arch code to mm/percpu.c.

    Signed-off-by: Tejun Heo

    Tejun Heo
     

28 Jul, 2009

1 commit

  • The check_modstruct_version() needs to look up the symbol "module_layout"
    in the kernel, but it does so literally and not by a C identifier. The
    trouble is that it does not include a symbol prefix for those ports that
    need it (like the Blackfin and H8300 port). So make sure we tack on the
    MODULE_SYMBOL_PREFIX define to the front of it.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Rusty Russell
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

09 Jul, 2009

1 commit

  • Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean up
    handling of log-levels and newlines") changed printk semantics. printk
    lines with multiple KERN_ prefixes are no longer emitted as
    before the patch.

    is now included in the output on each additional use.

    Remove all uses of multiple KERN_s in formats.

    Signed-off-by: Joe Perches
    Signed-off-by: Linus Torvalds

    Joe Perches
     

24 Jun, 2009

1 commit

  • This patch makes most !CONFIG_HAVE_SETUP_PER_CPU_AREA archs use
    dynamic percpu allocator. The first chunk is allocated using
    embedding helper and 8k is reserved for modules. This ensures that
    the new allocator behaves almost identically to the original allocator
    as long as static percpu variables are concerned, so it shouldn't
    introduce much breakage.

    s390 and alpha use custom SHIFT_PERCPU_PTR() to work around addressing
    range limit the addressing model imposes. Unfortunately, this breaks
    if the address is specified using a variable, so for now, the two
    archs aren't converted.

    The following architectures are affected by this change.

    * sh
    * arm
    * cris
    * mips
    * sparc(32)
    * blackfin
    * avr32
    * parisc (broken, under investigation)
    * m32r
    * powerpc(32)

    As this change makes the dynamic allocator the default one,
    CONFIG_HAVE_DYNAMIC_PER_CPU_AREA is replaced with its invert -
    CONFIG_HAVE_LEGACY_PER_CPU_AREA, which is added to yet-to-be converted
    archs. These archs implement their own setup_per_cpu_areas() and the
    conversion is not trivial.

    * powerpc(64)
    * sparc(64)
    * ia64
    * alpha
    * s390

    Boot and batch alloc/free tests on x86_32 with debug code (x86_32
    doesn't use default first chunk initialization). Compile tested on
    sparc(32), powerpc(32), arm and alpha.

    Kyle McMartin reported that this change breaks parisc. The problem is
    still under investigation and he is okay with pushing this patch
    forward and fixing parisc later.

    [ Impact: use dynamic allocator for most archs w/o custom percpu setup ]

    Signed-off-by: Tejun Heo
    Acked-by: Rusty Russell
    Acked-by: David S. Miller
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Martin Schwidefsky
    Reviewed-by: Christoph Lameter
    Cc: Paul Mundt
    Cc: Russell King
    Cc: Mikael Starvik
    Cc: Ralf Baechle
    Cc: Bryan Wu
    Cc: Kyle McMartin
    Cc: Matthew Wilcox
    Cc: Grant Grundler
    Cc: Hirokazu Takata
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Heiko Carstens
    Cc: Ingo Molnar

    Tejun Heo
     

19 Jun, 2009

1 commit

  • Call constructors (gcc-generated initcall-like functions) during kernel
    start and module load. Constructors are e.g. used for gcov data
    initialization.

    Disable constructor support for usermode Linux to prevent conflicts with
    host glibc.

    Signed-off-by: Peter Oberparleiter
    Acked-by: Rusty Russell
    Acked-by: WANG Cong
    Cc: Sam Ravnborg
    Cc: Jeff Dike
    Cc: Andi Kleen
    Cc: Huang Ying
    Cc: Li Wei
    Cc: Michael Ellerman
    Cc: Ingo Molnar
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Oberparleiter
     

17 Jun, 2009

1 commit

  • Several WARN_ON() messages omit the '\n' at the end of the string, which
    is a simple (and understandable) error. The next line printed after
    that warning line is usually the current module list, and that printk
    does not have a log-level marker - resulting in one long mixed-up line.

    Adding this loglevel marker will now avoid this unreadable mess.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

12 Jun, 2009

4 commits

  • It's theoretically possible that there are exception table entries
    which point into the (freed) init text of modules. These could cause
    future problems if other modules get loaded into that memory and cause
    an exception as we'd see the wrong fixup. The only case I know of is
    kvm-intel.ko (when CONFIG_CC_OPTIMIZE_FOR_SIZE=n).

    Amerigo fixed this long-standing FIXME in the x86 version, but this
    patch is more general.

    This implements trim_init_extable(); most archs are simple since they
    use the standard lib/extable.c sort code. Alpha and IA64 use relative
    addresses in their fixups, so thier trimming is a slight variation.

    Sparc32 is unique; it doesn't seem to define ARCH_HAS_SORT_EXTABLE,
    yet it defines its own sort_extable() which overrides the one in lib.
    It doesn't sort, so we have to mark deleted entries instead of
    actually trimming them.

    Inspired-by: Amerigo Wang
    Signed-off-by: Rusty Russell
    Cc: linux-alpha@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org

    Rusty Russell
     
  • * 'for-linus' of git://linux-arm.org/linux-2.6:
    kmemleak: Add the corresponding MAINTAINERS entry
    kmemleak: Simple testing module for kmemleak
    kmemleak: Enable the building of the memory leak detector
    kmemleak: Remove some of the kmemleak false positives
    kmemleak: Add modules support
    kmemleak: Add kmemleak_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

    Manual conflict resolution (with the slab/earlyboot changes) in:
    drivers/char/vt.c
    init/main.c
    mm/slab.c

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (44 commits)
    nommu: Provide mmap_min_addr definition.
    TOMOYO: Add description of lists and structures.
    TOMOYO: Remove unused field.
    integrity: ima audit dentry_open failure
    TOMOYO: Remove unused parameter.
    security: use mmap_min_addr indepedently of security models
    TOMOYO: Simplify policy reader.
    TOMOYO: Remove redundant markers.
    SELinux: define audit permissions for audit tree netlink messages
    TOMOYO: Remove unused mutex.
    tomoyo: avoid get+put of task_struct
    smack: Remove redundant initialization.
    integrity: nfsd imbalance bug fix
    rootplug: Remove redundant initialization.
    smack: do not beyond ARRAY_SIZE of data
    integrity: move ima_counts_get
    integrity: path_check update
    IMA: Add __init notation to ima functions
    IMA: Minimal IMA policy and boot param for TCB IMA policy
    selinux: remove obsolete read buffer limit from sel_read_bool
    ...

    Linus Torvalds
     
  • This patch handles the kmemleak operations needed for modules loading so
    that memory allocations from inside a module are properly tracked.

    Signed-off-by: Catalin Marinas

    Catalin Marinas
     

08 May, 2009

1 commit


17 Apr, 2009

1 commit

  • The hooks in the module code for the function tracer must be called
    before any of that module code runs. The function tracer hooks
    modify the module (replacing calls to mcount to nops). If the code
    is executed while the change occurs, then the CPU can take a GPF.

    To handle the above with a bit of paranoia, I originally implemented
    the hooks as calls directly from the module code.

    After examining the notifier calls, it looks as though the start up
    notify is called before any of the module's code is executed. This makes
    the use of the notify safe with ftrace.

    Only the startup notify is required to be "safe". The shutdown simply
    removes the entries from the ftrace function list, and does not modify
    any code.

    This change has another benefit. It removes a issue with a reverse dependency
    in the mutexes of ftrace_lock and module_mutex.

    [ Impact: fix lock dependency bug, cleanup ]

    Cc: Rusty Russell
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

15 Apr, 2009

2 commits

  • Commit 3d43321b7015387cfebbe26436d0e9d299162ea1 ("modules: sysctl to
    block module loading") introduces a modules_disabled variable that is
    only defined if CONFIG_MODULE_UNLOAD is enabled, despite being used in
    other places. This moves it up and fixes up the build.

    CC kernel/module.o
    kernel/module.c: In function 'sys_init_module':
    kernel/module.c:2401: error: 'modules_disabled' undeclared (first use in this function)
    kernel/module.c:2401: error: (Each undeclared identifier is reported only once
    kernel/module.c:2401: error: for each function it appears in.)
    make[1]: *** [kernel/module.o] Error 1
    make: *** [kernel/module.o] Error 2

    Signed-off-by: Paul Mundt
    Signed-off-by: James Morris

    Stephen Rothwell
     
  • Impact: allow modules to add TRACE_EVENTS on load

    This patch adds the final hooks to allow modules to use the TRACE_EVENT
    macro. A notifier and a data structure are used to link the TRACE_EVENTs
    defined in the module to connect them with the ftrace event tracing system.

    It also adds the necessary automated clean ups to the trace events when a
    module is removed.

    Cc: Rusty Russell
    Signed-off-by: Steven Rostedt

    Steven Rostedt