An error occurred fetching the project authors.
  1. 06 Jun, 2003 2 commits
    • Rusty Russell's avatar
      [PATCH] kallsyms in proc · 51726557
      Rusty Russell authored
       This adds a /proc/kallsyms if you have CONFIG_KALLSYMS in your
      kernel.  The output is nm-like, with symbols in caps (global) if
      exported using EXPORT_SYMBOL, rather than the normal static
      vs. non-static differentiation.
      
      This is useful for things like performance monitoring tools (profiling
      etc) that want to match addresses to names in user space.
      51726557
    • Andrew Morton's avatar
      [PATCH] per-cpu support inside modules (minimal) · 21af2f02
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      OK, this does the *minimum* required to support DEFINE_PER_CPU inside
      modules.  If we decide to change kmalloc_percpu later, great, we can turf
      this out.
      
      Basically, overallocates the amount of per-cpu data at boot to at least
      PERCPU_ENOUGH_ROOM if CONFIG_MODULES=y (arch-specific by default 32k: I have
      only 7744 bytes of percpu data in my kernel here, so makes sense), and a
      special allocator in module.c dishes it out.
      21af2f02
  2. 12 May, 2003 2 commits
    • Andrew Morton's avatar
      [PATCH] Bump module ref during init. · db378f4d
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      __module_get is theoretically allowed on module inside init, since we
      already hold an implicit reference.  Currently this BUG()s: make the
      reference count explicit, which also simplifies delete path.  Also cleans
      up unload path, such that it only drops semaphore when it's actually
      sleeping for rmmod --wait.
      db378f4d
    • Andrew Morton's avatar
      [PATCH] implement module_arch_cleanup() in all architectures · b7df5197
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>, David Mosberger
      
      The patch below updates the other platforms with module_arch_cleanup().
      Also, I added more debug output to kernel/module.c since I found it useful
      to be able to see the final section layout.
      b7df5197
  3. 30 Apr, 2003 2 commits
    • Rusty Russell's avatar
      [PATCH] __module_get · fbf7eda6
      Rusty Russell authored
      Introduces __module_get for places where we know we already hold
      a reference and ignoring the fact that the module is being "rmmod --wait"ed
      is simpler.
      fbf7eda6
    • Rusty Russell's avatar
      [PATCH] complete modinfo section · 67ac5b86
      Rusty Russell authored
      Restores .modinfo section, and uses it to store license and vermagic.
      67ac5b86
  4. 15 Apr, 2003 1 commit
    • David Mosberger's avatar
      [PATCH] module symbol fix · f5d27787
      David Mosberger authored
      Fix for trivial typo.  Without it, you can't insert anything on top of
      agpgart.ko because the agp_register_driver() will erroneously pick up
      the symbol version from agp_backend_acquire().
      f5d27787
  5. 08 Apr, 2003 1 commit
  6. 04 Apr, 2003 1 commit
  7. 03 Apr, 2003 1 commit
  8. 02 Apr, 2003 2 commits
    • Kai Germaschewski's avatar
      modules: Fix exporting symbols from modules · 494c779a
      Kai Germaschewski authored
      This patch fixes two issues:
      o The CONFIG_MODVERSIONING=y case broke at compile time since some
        functions were not updated with the latest module changes
      o Exporting symbols from modules stopped working due to confusion of
        mod->num_syms and mod->num_ksyms. Rename mod->num_ksyms to mod->num_syms,
        which is more logical since the associated array is called ->syms, and
        for the kallsyms member use "num_symtab", since the associated array is
        ->symtab.
      494c779a
    • Linus Torvalds's avatar
      Fix naming confusion: number of symbol kallsyms is "num_kallsyms", · 797886bf
      Linus Torvalds authored
      while number of symbols is "num_syms". It used to be "num_syms" and
      "num_ksyms" respectively (ie the "k" was the wrong way around).
      
      The previous naming was not just confusing, it had caused one actual
      bug (ie the normal symbol code had used "num_syms", which was wrong
      in the old confusing naming scheme).
      797886bf
  9. 01 Apr, 2003 4 commits
    • John Levon's avatar
      [PATCH] module load notification · 84486c2e
      John Levon authored
      This implements a simple notifier so oprofile can notice removed and
      added modules properly
      84486c2e
    • Rusty Russell's avatar
      [PATCH] Extable list removal · c17794bb
      Rusty Russell authored
      This removes the extable list, and the struct exception_table, in
      favour of just iterating through the modules.  Now all iteration is
      within kernel/module.c, this is a fairly trivial cleanup.
      c17794bb
    • Rusty Russell's avatar
      [PATCH] Symbol list removal · 265300c6
      Rusty Russell authored
      This removes the symbol list, and the concept of kernel symbol groups,
      in favour of just iterating through the modules.  Now all iteration is
      within kernel/module.c, this is a fairly trivial cleanup.
      265300c6
    • Rusty Russell's avatar
      [PATCH] module_text_address returns the module pointer · 72ea6af5
      Rusty Russell authored
      By making module_text_address return the module it found, we
      simplify symbol_put_addr significantly.
      72ea6af5
  10. 25 Feb, 2003 3 commits
    • Linus Torvalds's avatar
      1a1b6495
    • Rusty Russell's avatar
      [PATCH] Modules code tidy up · 26c91ca0
      Rusty Russell authored
      Now that we search for 11 different sections by name, the if/else was
      getting unwieldy.  Also, handle_section just does relocs, so it's a bit
      of a misnomer, and it's best simply moved into the main code.
      
      This open-codes handle_section, which simply does relocations now.
      
      Also adds "find_sec" and uses it to find the various sections.
      26c91ca0
    • Rusty Russell's avatar
      [PATCH] Modules race fix · 69508a7c
      Rusty Russell authored
      Bob Miller points out that the try_module_get in use_module() can, of
      course, fail.  Secondly, there is a race between setting the module
      live, and a simultaneous removal of it.
      69508a7c
  11. 14 Feb, 2003 3 commits
    • Rusty Russell's avatar
      kbuild: Do modversions checks on module structure · ccada2df
      Rusty Russell authored
      Checks the module structure itself when CONFIG_MODVERSIONS is set.
      ccada2df
    • Kai Germaschewski's avatar
      kbuild: Add dependency info to modules · 0571739c
      Kai Germaschewski authored
      During postprocessing, we get the information which modules we depend on 
      (i.e. which modules export symbols we need to import) for free, so we
      record it in .modinfo. This may allow us to remove the "depmod" program
      at a later time, though for now it remains working as usual.
      0571739c
    • Kai Germaschewski's avatar
      kbuild: Move the version magic generation into module postprocessing · 2ec54bc1
      Kai Germaschewski authored
      Since we'll have to always do module postprocessing shortly, we can as well
      get rid of the special cased init/vermagic.o which needed to be compiled
      before descending, and instead include the current version magic string
      during post processing. For that purpose, the generation of the string is
      moved from init/vermagic.c to include/linux/vermagic.h.
      
      People who externally maintain modules will also be happy about that.
      2ec54bc1
  12. 09 Feb, 2003 1 commit
  13. 03 Feb, 2003 4 commits
    • Kai Germaschewski's avatar
      kbuild: Assorted fixlets · 03e7dcfb
      Kai Germaschewski authored
      o Build modules with CONFIG_MODVERSIONS when just saying "make"
      o Ignore generated *.ver.c files
      o Fix a typo (Sam Ravnborg)
      o Fix another typo (Paul Marinceu)
      03e7dcfb
    • Rusty Russell's avatar
      kbuild: Ignore kernel version part of vermagic if CONFIG_MODVERSIONS · e24c9231
      Rusty Russell authored
      Skip over the first part of __vermagic in modversioning is on: otherwise
      you'll have to force it when changing from 2.6.0 to 2.6.1.
      e24c9231
    • Rusty Russell's avatar
      kbuild: Modversions fixes · 2fe90be7
      Rusty Russell authored
      Fix the case where no CRCs are supplied (OK, but taints kernel), and
      only print one tainted message (otherwise --force gives hundreds of them).
      2fe90be7
    • Kai Germaschewski's avatar
      kbuild: Rename CONFIG_MODVERSIONING -> CONFIG_MODVERSIONS · d5ea3bb5
      Kai Germaschewski authored
      CONFIG_MODVERSIONING was a temporary name introduced to distinguish
      between the old and new module version implementation. Since the
      traces of the old implementation are now gone from the build system,
      we rename the config option back in order to not confuse users more
      than necessary in 2.6.
       
      Also, remove some historic modversions cruft throughout the tree.
      d5ea3bb5
  14. 24 Jan, 2003 6 commits
    • Kai Germaschewski's avatar
      kbuild/modules: Check module symbol versions on insmod · d2fdc759
      Kai Germaschewski authored
      Yeah, the final step!
        
      Now that we've got the checksums for the exported symbols and the
      checksums of the unresolved symbols for the module we're loading,
      let's compare and see.
        
      Again, we allow to load a module which has the version info stripped,
      but taint the kernel in that case.
      d2fdc759
    • Kai Germaschewski's avatar
      kbuild/modules: Return the index of the symbol from __find_symbol() · 82455d2e
      Kai Germaschewski authored
      We'll need that index to find the version checksum for the symbol in
      a bit.
      82455d2e
    • Kai Germaschewski's avatar
      kbuild/modules: Track versions of exported symbols · 1336f151
      Kai Germaschewski authored
      Store the information on the checksum alongside the rest of the 
      information on exported symbols. To actually use them, we need
      something to check them against first, though ;)
      
      Also, fix some conditional debug code to actually compile.
      1336f151
    • Kai Germaschewski's avatar
      kbuild/modules: Don't save the license string · e805cfe6
      Kai Germaschewski authored
      Again, the license string is only used at load time, so no need
      to store it permanently in kernel memory.
      e805cfe6
    • Kai Germaschewski's avatar
      kbuild/modules: Check __vermagic for validity · c8b4778d
      Kai Germaschewski authored
      modprobe --force allows to load modules without a matching version
      magic string. This invalidation is done by clearing the SHF_ALLOC
      flag, so check it in the kernel. Also, clear the SHF_ALLOC flag
      unconditionally, since we don't need to store the __vermagic section
      in the kernel, it's only checked once at load time. 
      c8b4778d
    • Kai Germaschewski's avatar
      kbuild: Add CONFIG_MODVERSIONING and __kcrctab · a6b99776
      Kai Germaschewski authored
      This patch adds the new config option CONFIG_MODVERSIONING which will
      be the new way of checking for ABI changes between kernel and module
      code.
      
      This and the following patches are in part based on an initial
      implementation by Rusty Russell and I believe some of the ideas go back
      to discussions on linux-kbuild, Keith Owens and Rusty.
      
      though I'm not sure I think credit for the basic idea of
      storing version info in sections goes to Keith Owens and Rusty.
      
      o Rename __gpl_ksymtab to __ksymtab_gpl since that looks more consistent
        and appending _gpl instead of putting it into the middle simplifies
        sharing code for EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL()
      o Add CONFIG_MODVERSIONING
      o If CONFIG_MODVERSIONING is set, add a section __kcrctab{,_gpl}, which
        contains the ABI checksums for the exported symbols listed in 
        __ksymtab{,_crc} Since we don't know the checksums yet at compilation
        time, just make them an unresolved symbol which gets filled in by the
        linker later.
      a6b99776
  15. 16 Jan, 2003 1 commit
    • Christoph Hellwig's avatar
      [PATCH] remove GET_USE_COUNT · 91f5fe70
      Christoph Hellwig authored
      This is a left-over from the old modules code, Rusty stubbed it out
      to always return 0.  Three scsi pcmcia driver check it for beeing non-NULL,
      trying to work around their unload races.  I've added #warnings there
      and stubbed out the GET_USE_COUNT so we can remove it from the core.
      91f5fe70
  16. 14 Jan, 2003 1 commit
    • Kai Germaschewski's avatar
      Module Sanity Check · 1d411b80
      Kai Germaschewski authored
      This patch, based on Rusty's implementation, adds a special section
      to vmlinux and all modules, which contain the kernel version
      string, values of some particularly important config options
      (SMP,preempt,proc family) and the gcc version.
      
      When inserting a module, the version string is checked against the
      kernel version string and loading is rejected if they don't match.
      
      The version string is actually added to the modules during the
      final .ko generation, so that a changed version string does only
      cause relinking, not recompilation, which is a major performance
      improvement over the old 2.4 way of doing things.
      1d411b80
  17. 13 Jan, 2003 2 commits
  18. 12 Jan, 2003 2 commits
  19. 06 Jan, 2003 1 commit
    • Rusty Russell's avatar
      [PATCH] Remove mod_bound macro and unify kernel_text_address(). · 8e4f2cd3
      Rusty Russell authored
      Various archs (i386, m68k, s390, s390x, m68k, parisc, um, x86_64)
      implement kernel_text_address.  Put this in kernel/extable.c, and the
      module iteration inside module.c.
      
      Other than cleanliness, this finally allows the module list and lock
      to be static to kernel/module.c (you didn't think I actually cared
      about those archs did you?)
      
      It also drops the module->init_size to zero when it's discarded, so
      bounds checking is simplified (and the /proc/modules size statistic
      will be more accurate, too).
      8e4f2cd3