1. 04 Jul, 2003 6 commits
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/jgarzik/irda-2.5 · ee389f0a
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      ee389f0a
    • Linus Torvalds's avatar
      Carl-Daniel Hailfinger suggest adding a paranoid incoming · 87d890b8
      Linus Torvalds authored
      trigger as per the "bk help triggers" suggestion, so that
      we'll see any new triggers showing up in the tree.
      
      Make it so.
      87d890b8
    • Trond Myklebust's avatar
      [PATCH] Use the intents in 'nameidata' to improve NFS close-to-open consistency · 52d1430d
      Trond Myklebust authored
        - Make use of the open intents to improve close-to-open
          cache consistency. Only force data cache revalidation when
          we're doing an open().
      
        - Add true exclusive create to NFSv3.
      
        - Optimize away the redundant ->lookup() to check for an
          existing file when we know that we're doing NFSv3 exclusive
          create.
      
        - Optimize away all ->permission() checks other than those for
          path traversal, open(), and sys_access().
      52d1430d
    • Trond Myklebust's avatar
      [PATCH] Pass 'nameidata' to ->permission() · a574f324
      Trond Myklebust authored
         - Make the VFS pass the struct nameidata as an optional parameter
           to the permission() inode operation.
      
         - Patch may_create()/may_open() so it passes the struct nameidata from
           vfs_create()/open_namei() as an argument to permission().
      
         - Add an intent flag for the sys_access() function.
      a574f324
    • Trond Myklebust's avatar
      [PATCH] Pass 'nameidata' to ->create() · 675b5da0
      Trond Myklebust authored
        - Make the VFS pass the struct nameidata as an optional argument
          to the create inode operation.
        - Patch vfs_create() to take a struct nameidata as an optional
          argument.
      675b5da0
    • Trond Myklebust's avatar
      [PATCH] Add open intent information to the 'struct nameidata' · fc8b427e
      Trond Myklebust authored
       - Add open intent information to the 'struct nameidata'.
       - Pass the struct nameidata as an optional parameter to the
         lookup() inode operation.
       - Pass the struct nameidata as an optional parameter to the
         d_revalidate() dentry operation.
       - Make link_path_walk() set the LOOKUP_CONTINUE flag in nd->flags instead
         of passing it as an extra parameter to d_revalidate().
       - Make open_namei(), and sys_uselib() set the open()/create() intent
         data.
      fc8b427e
  2. 03 Jul, 2003 24 commits
  3. 02 Jul, 2003 10 commits
    • Linus Torvalds's avatar
      The sbp2 driver needs <linux/pci.h>, but didn't include it. It apparently · bf948e74
      Linus Torvalds authored
      used to work due to some random magic indirect include, but broke lately.
      
      Do the obvious fix.
      bf948e74
    • Rusty Russell's avatar
      [PATCH] Make ksoftirqd a normal per-cpu variable. · 3ac57d34
      Rusty Russell authored
      This moves the ksoftirqd pointers out of the irq_stat struct, and uses a
      normal per-cpu variable.  It's not that time critical, nor referenced in
      assembler.  This moves us closer to making irq_stat a per-cpu variable.
      
      Because some archs have hardcoded asm references to offsets in this
      structure, I haven't touched non-x86.  The __ksoftirqd_task field is
      unused in other archs, too.
      3ac57d34
    • Rusty Russell's avatar
      [PATCH] Remove unused __syscall_count · 7b957b78
      Rusty Russell authored
      Noone seems to use __syscall_count.  Remove the field from i386
      irq_cpustat_t struct, and the generic accessor macros.
      
      Because some archs have hardcoded asm references to offsets in this
      structure, I haven't touched non-x86, but doing so is usually
      trivial.
      7b957b78
    • Rusty Russell's avatar
      [PATCH] Per-cpu variable in mm/slab.c · 6f9199b5
      Rusty Russell authored
      Rather trivial conversion.  Tested on SMP.
      6f9199b5
    • Rusty Russell's avatar
      [PATCH] Remove cpu arg from cpu_raise_irq · 26e48e57
      Rusty Russell authored
      The function cpu_raise_softirq() takes a softirq number, and a cpu number,
      but cannot be used with cpu != smp_processor_id(), because there's no
      locking around the pending softirq lists.  Since noone does this, remove
      that arg.
      
      As per Linus' suggestion, names changed:
      	raise_softirq(int nr)
      	cpu_raise_softirq(int cpu, int nr) -> raise_softirq_irqoff(int nr)
      	__cpu_raise_softirq(int cpu, int nr) -> __raise_softirq_irqoff(int nr)
      26e48e57
    • Andrew Morton's avatar
      [PATCH] e100 use-after-free fix · b9d6ea3c
      Andrew Morton authored
      I though Scott had recently merged this but it seems not.  We'll be
      needing this patch if you merge Manfred's page unmapping debug patch.
      b9d6ea3c
    • Andrew Morton's avatar
      [PATCH] Fix cciss hang · 403d24bf
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      It fixes a hang when performing large I/O's.  Has been tested and acked by
      the maintainer, "Wiran, Francis" <francis.wiran@hp.com>.
      403d24bf
    • Andrew Morton's avatar
      [PATCH] Set limits on CONFIG_LOG_BUF_SHIFT · e46e0cf2
      Andrew Morton authored
      From: bert hubert <ahu@ds9a.nl>
      
      Attached patch adds a range check to LOG_BUF_SHIFT and clarifies the
      configuration somewhat.  I managed to build a non-booting kernel because I
      thought 64 was a nice power of two, which lead to the kernel blocking when
      it tried to actually use or allocate a 2^64 buffer.
      e46e0cf2
    • Andrew Morton's avatar
      [PATCH] ext3: fix journal_release_buffer() race · 90153a16
      Andrew Morton authored
      		CPU0				CPU1
      
      	journal_get_write_access(bh)
      	 (Add buffer to t_reserved_list)
      
      					journal_get_write_access(bh)
      					 (It's already on t_reserved_list:
      					  nothing to do)
      
      	 (We decide we don't want to
      	  journal the buffer after all)
      	journal_release_buffer()
      	 (It gets pulled off the transaction)
      
      
      					journal_dirty_metadata()
      					 (The buffer isn't on the reserved
      					  list!  The kernel explodes)
      
      
      Simple fix: just leave the buffer on t_reserved_list in
      journal_release_buffer().  If nobody ends up claiming the buffer then it will
      get thrown away at start of transaction commit.
      90153a16
    • Andrew Morton's avatar
      [PATCH] fix double mmdrop() on exec path · 610a61e0
      Andrew Morton authored
      If load_elf_binary() (and the other binary handlers) fail after
      flush_old_exec() (for example, in setup_arg_pages()) then do_execve() will go
      through and do mmdrop(bprm.mm).
      
      But bprm.mm is now current->mm.  We've just freed the current process's mm.
      The kernel dies in a most ghastly manner.
      
      Fix that up by nulling out bprm.mm in flush_old_exec(), at the point where we
      consumed the mm.  Handle the null pointer in the do_execve() error path.
      
      Also: don't open-code free_arg_pages() in do_execve(): call it instead.
      610a61e0