1. 22 Jul, 2003 10 commits
  2. 21 Jul, 2003 2 commits
  3. 20 Jul, 2003 2 commits
  4. 19 Jul, 2003 12 commits
  5. 18 Jul, 2003 14 commits
    • David S. Miller's avatar
      [SPARC64]: Update defconfig. · c8c70605
      David S. Miller authored
      c8c70605
    • David S. Miller's avatar
    • David S. Miller's avatar
      Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5 · dce5ee27
      David S. Miller authored
      into nuts.ninka.net:/home/davem/src/BK/sparc-2.5
      dce5ee27
    • Christoph Hellwig's avatar
      [PATCH] Use before initialisation in devfs_mk_cdev() · 2c420d4a
      Christoph Hellwig authored
      As noted by Gergely Nagy:
      
        "devfs_mk_cdev() first checks the mode passed to it, and if it thinks
         it is not a char device, it prints a warning and aborts.  Now, this
         printing involves the local variable `buf' (char buf[64]), which is
         not initialised at that point."
      
      The same problem also affects devfs_mk_bdev.
      
      Fixed thus.
      2c420d4a
    • Rusty Russell's avatar
      [PATCH] Make percpu_modcopy a macro · a26698b4
      Rusty Russell authored
      davidm@hpl.hp.com writes:
        "I'm working on updating the ia64 tree with local_t etc.  One
         thing that would really help me: could you make
         asm-generic/percpu_modcopy() a macro?  The routine depends on
         cpu_possible(), but I can't including smp.h in percpu.h since
         that would lead to recusive header-file dependencies (and in my
         opinion, percpu.h should be more "primitive" than smp.h, so that
         it can be included virtually everywhere)."
      a26698b4
    • Rusty Russell's avatar
      [PATCH] Delete init/cleanup_module prototypes in obscure places. · 38fe9ed4
      Rusty Russell authored
      A few places pre-declare "int module_init(void);" and "void
      module_cleanup(void);".  Other than being obsolete, this is
      unneccessary (it's in init.h anyway).
      
      There are still about 100 places which still use the
      obsolete-since-2.2 "a function named module_init() magically gets
      called": this change frees us up implement that via a macro.
      38fe9ed4
    • Rusty Russell's avatar
      [PATCH] module_put_and_exit · f965803d
      Rusty Russell authored
      Author: Neil Brown
      
      Define module_put_and_exit() and use it for nfsd/lockd
      
      Both nfsd and lockd have threads which expect to hold a reference
      to the module while the thread is running.  In order for the thread
      to be able to put_module() the module before exiting, the
      put_module code must be call from outside the module.
      
      This patch provides module_put_and_exit in non-modular code which a
      thread-in-a-module can call.  It also gets nfsd and lockd to use it
      as appropriate.
      
      Note that in lockd, we can __get_module in the thread itself as the
      creator of the thread is waiting for the thread to startup.
      
      In nfsd and for the 'reclaimer' threaded started by locked, we
      __get_module first and put_module if the thread failed to start.
      f965803d
    • Rusty Russell's avatar
      [PATCH] Make rmmod -f taint kernel. · dc33faea
      Rusty Russell authored
      Somehow, the code which taints the kernel when rmmod -f is used got
      lost.  Restore it.
      dc33faea
    • Rusty Russell's avatar
      [PATCH] Sparc64 local_t support · 5a4aab32
      Rusty Russell authored
      These are the local_t bits for sparc64.
      
      Other platforms such as PPC64 and Alpha (and in fact any "load locked/
      store conditional" like platform other than IA64), probably want to do
      something similar.
      5a4aab32
    • Rusty Russell's avatar
      [PATCH] Resolve module local_t conflict · 518538b3
      Rusty Russell authored
      Uses local_t for module reference counts.
      518538b3
    • Rusty Russell's avatar
      [PATCH] introduce "local_t" - cpu-local atomic variables · f9feecc3
      Rusty Russell authored
      Introduces local_t, a type which is like atomic_t, but the
      operations are only atomic from a single CPU's point of view
      (ie. atomic against interrupts and softirqs). Some architectures
      (eg. i386) can implement these very efficiently.
      
      There are special operations for the case of a local operation on a
      per-cpu variable (which is common), which some architectures can
      implement efficiently (eg. IA64 keeps all per-cpu variables mapped
      at the same address, so no address arithmetic is needed).
      
      The generic implementation given here simply uses atomics on 32-bit
      archs, three variables on others.  x86 is already implemented specially.
      f9feecc3
    • Rusty Russell's avatar
      [PATCH] Centralize Linker Symbols · a232e5e1
      Rusty Russell authored
      Richard Henderson point out a while back that linker generated symbols
      should be declared as: "char _text[]" so that the compiler can't make
      assumptions about them sitting in small sections, etc.
      
      Centralize these defintions in asm/sections.h (where some already
      are on x86).
      a232e5e1
    • Rusty Russell's avatar
      [PATCH] Allow struct members inside percpu macros · d3e6935a
      Rusty Russell authored
      The current percpu macros do not allow __get_cpu_var(foo.val1)
      which makes building macros on top of them really difficult.  The
      reason for this is the __per_cpu postfix appended to per-cpu
      variables, designed to catch direct uses.  Prepend it instead.
      d3e6935a
    • Linus Torvalds's avatar
      Fix vfat shortname character logic that had wrong signedness · 2f88984e
      Linus Torvalds authored
      tests.
      
      From Dennis Vshivkov: 
      
        "whenever I was trying to create a file using only national
         characters for its name, it was always created with an
         uppercased shortname (provided that the name was not too
         long for 8.3, of course). Everything was fine with latin
         filenames, though."
      
      The bug is that we check "buf[0]" as an unsigned character, but
      "buf" is just "char *", which (depending on architecture and
      compiler options) tends to be signed.
      2f88984e