1. 08 Mar, 2003 28 commits
    • Andrew Morton's avatar
      [PATCH] Larger buffer for /proc/interrupts display · 616862dc
      Andrew Morton authored
      Patch from Zwane Mwaikambo <zwane@linuxpower.ca>
      
      Scale the buffer which is used for accumulating the /proc/interrupts output.
      On large SMP it overflows.
      616862dc
    • Andrew Morton's avatar
      [PATCH] fix SMP lockup in eepro100 with ethtool on unused · 260a4381
      Andrew Morton authored
      Patch from Jason Lunz <lunz@falooley.org>
      
      When support for the GSET and SSET ethtool ioctls was added to eepro100.c in
      2.4.20, the tx lock was overloaded to serialize their use.  Unfortunately,
      this lock is only initialized in dev->open(), causing ethtool to deadlock the
      machine when used on an unconfigured eepro100 interface.
      
      The fix is to initialize the spinlock at probe time.
      260a4381
    • Andrew Morton's avatar
      [PATCH] i386 show_interrupts() fix · 29aaccfb
      Andrew Morton authored
      show_interrupts() is accidentally modifying the incoming seq_file pointer.
      It goes oops if seq_printf() returns non-zero.
      29aaccfb
    • Andrew Morton's avatar
      [PATCH] protect 'action' in show_interrupts · ac84c974
      Andrew Morton authored
      Patch from Zwane Mwaikambo <zwane@linuxpower.ca>
      
      On SMP or preemptible kernels, every instance of show_interrupts() is oopsily
      racy wrt request_irq() and free_irq().
      
      Fix that up by taking the irq_desc_t's lock while walking the action list.
      ac84c974
    • Andrew Morton's avatar
      [PATCH] Extended attribute sharing and debug macro typo fixes · f6da87ca
      Andrew Morton authored
      Patch from Andreas Gruenbacher <agruen@suse.de>
      
      Tony Dziedzic has found two bugs in the extended attributes code. Patches with
      explanations are attached.
      
      1: Extended attribute sharing on ext2/ext3 not working
      
         The mb_cache_entry_insert function constantly returns an -EBUSY error
         instead of 0, which causes the xattr cache that is needed by the xattr
         sharing mechanism on ext2/ext3 to not share anything.  This patch fixes
         the problem.  (It is possible that after applying this fix we will hit
         bugs in code that wasn't used before.)
      
      2: Oops in one of the xattr debug statements: The old_bh variable is NULL
         if an inode that previously had no EA's assigned would share an EA block
         with another inode.  (This was hidden by the xattr sharing bug).
      f6da87ca
    • Andrew Morton's avatar
      [PATCH] fix memory leak in load_elf_binary() · 3ed88a51
      Andrew Morton authored
      - Fix an error-path leak of memory and a dentry in load_elf_binary()
        (spotted by Oleg Drokin).
      
      - Tidy up the handling of bad executable images: return -ENOEXEC rather
        than 0.  (We've committed suicide anyway, so probably nobody gets to see
        this).
      
      - Fix up the logic in load_aout_interp().  It gets itself all set up to
        return -ENOEXEC but there is in fact no path by which it can do this.  Just
        return ~0UL on errors, like load_elf_interp().
      3ed88a51
    • Andrew Morton's avatar
      [PATCH] ext2: fix error-path double-free · a54785ce
      Andrew Morton authored
      Fix a double-kfree on an ext2 error path.  Reported by Oleg Drokin.
      a54785ce
    • Andrew Morton's avatar
      [PATCH] hugetlb unmap_vmas() SMP && PREEMPT fix · f4d55ef3
      Andrew Morton authored
      Patch from Kevin Pedretti <pedretti@ieee.org>
      
      The unmap_vmas() logic is designed to chew away at all the pages without
      holding off preemption for too long.  But with CONFIG_SMP=y and
      CONFIG_PREEMPT=y the number of pages which we batch up between rescheduling
      opportunities is not a multiple of HPAGE_SIZE.  So unmap_vmas() ends up
      calling unmap_hugepage_range() with a poorly aligned&sized region, and it
      goes BUG.
      
      Fix that up by ensuring that we always work across hugepage regions in
      HPAGE_SIZE chunks.
      f4d55ef3
    • Andrew Morton's avatar
      [PATCH] usercopy checks in old_readdir() · 4d580698
      Andrew Morton authored
      Fix up some unchecked copy_to_user()s
      4d580698
    • Andrew Morton's avatar
      [PATCH] fix div-by-zero in bonding.c · de88f07f
      Andrew Morton authored
      Patch from: Shmulik Hen <hshmulik@intel.com>
      
      The following patch fixes a division by zero bug in the bonding module that
      happens when transmitting through a bond with no slaves, in the XOR bonding
      mode.
      de88f07f
    • Andrew Morton's avatar
      [PATCH] move CONFIG_SWAP around · fc60971f
      Andrew Morton authored
      Patch from Tom Rini <trini@kernel.crashing.org>
      
      Take CONFIG_SWAP out of the top-level menu into the general setup menu.  Make
      it dependent on CONFIG_MMU and common to all architectures.
      fc60971f
    • Andrew Morton's avatar
      [PATCH] Fix copy_page_range()'s handling of invalid pages · e7a88057
      Andrew Morton authored
      Patch from Xavier Bru  <Xavier.Bru@bull.net>
      
      If copy_page_range encounters a pte which maps an invalid pageframe it will
      proceed to try to add an rmap entry against that page.  This causes oopses
      when an application which has mapped an IO device via /dev/mem forks.
      
      Fix that up by correctly skipping the page_add_rmap() for these pte's.
      e7a88057
    • Andrew Morton's avatar
      [PATCH] slab debug: symbolic output in caller tracking · 9f930d75
      Andrew Morton authored
      use print_symbol() to decode the offender's program counter.
      9f930d75
    • Andrew Morton's avatar
      [PATCH] slab debug: track caller program counter · 2bf34c12
      Andrew Morton authored
      Patch from Manfred Spraul <manfred@colorfullife.com>
      
      A patch that records the last kfree caller's program counter
      and prints that if a poison check fails.
      2bf34c12
    • Andrew Morton's avatar
      [PATCH] slab use-after-free detector · 9ec42f94
      Andrew Morton authored
      Patch from Petr Vandrovec <vandrove@vc.cvut.cz>
      
      Modifies check_poison function to not only verify that last byte is
      POISON_END, but also that all preceeding bytes are either POISON_BEFORE or
      POISON_AFTER bytes.
      9ec42f94
    • Andrew Morton's avatar
      [PATCH] Fix vm_area_struct slab corruption · 7a6b4e0d
      Andrew Morton authored
      Patch from Hugh Dickins <hugh@veritas.com>
      
      Hugh's patch fixes vm_area_struct slab corruption due to mremap's move_vma
      mistaking how do_munmap splits vmas in one case.
      
      Neither of us are very happy with it - it is fragile, and obscure.  Hugh will
      revisit this later, but for now it should fix up the potential memory
      corruption.
      7a6b4e0d
    • Andrew Morton's avatar
      [PATCH] Make diskstats per-cpu using kmalloc_percpu · 83bfc5dd
      Andrew Morton authored
      Patch from Ravikiran G Thirumalai <kiran@in.ibm.com>
      
      Makes the disk stats on struct gendisk per-cpu.
      83bfc5dd
    • Andrew Morton's avatar
      [PATCH] Allow VFS readahead to fall to zero · bc858911
      Andrew Morton authored
      Some workloads really, really want to have no readahead.  Databases which are
      perfoming small synchronous I/Os against a file which has extremely poor
      layout.  Any readahead at all is a lose here.
      
      But the current readahead code refuses to adapt that low.
      
      Fix it up so that we can indeed adaptively disable readahead altogether, and
      do not start it again until we have seen max_readahead()'s worth of
      consecutive reads.
      bc858911
    • Andrew Morton's avatar
      [PATCH] Implement sendfile() for NFS · 731cf67c
      Andrew Morton authored
      Patch from Trond Myklebust <trond.myklebust@fys.uio.no>
      
      Implement sendfile() for the NFS client.  This is required for loop-on-NFS
      support.
      731cf67c
    • Andrew Morton's avatar
      [PATCH] fix possible latency in balance_dirty_pages() · 96552156
      Andrew Morton authored
      Tasks which throttle in balance_dirty_pages() will loop until the amount of
      dirty memory falls below the configured dirty_ratio.
      
      This exposes the possibility that one task could be stuck in there for
      arbitrary periods of time due to page dirtying activity by other tasks.
      
      The patch changes the logic so that tasks will break out of the loop if they
      have written enough pages, regardless of the current dirty memory limits.
      
      Here "enough" pages is 1.5x the number of pages which they just dirtied.
      
      If the amount of dirty memory in the machine happens to still exceed
      dirty_ratio (say, due to MAP_SHARED activity) then the task will again
      throttle after dirtying a single page.  But there is now an upper limit on
      the time for which a single task will be captured in balance_dirty_pages().
      96552156
    • Andrew Morton's avatar
      [PATCH] register_blkdev cleanups · 9a64905a
      Andrew Morton authored
      Patch from Andries.Brouwer@cwi.nl
      
      The following patch does the following:
      
      - static const char *blkdevs[MAX_BLKDEV]; disappears
      - get_blkdev_list, (un)register_blkdev, __bdevname
        are moved from block_dev.c to genhd.c
      - the third "fops" parameter of register_blkdev was unused;
        now removed everywhere
      - zillions of places had printk("cannot get major") upon
        error return from register_blkdev; removed all of these
        and inserted a single printk in register_blkdev.
      
      Of course the reason for the patch is that one fixed size
      array is eliminated.
      9a64905a
    • Martin J. Bligh's avatar
      [PATCH] 6/6 cacheline align files_lock · 13619430
      Martin J. Bligh authored
      I'm getting a lot of cacheline bounce from .text.lock.file_table due to
      false sharing of the cahceline. The following patch just aligns the lock
      in it's own cacheline.
      13619430
    • Martin J. Bligh's avatar
      [PATCH] 5/6 Provide basic documentation for profiling · 39773b6e
      Martin J. Bligh authored
      People keep asking for this info, and Andrew asked me to put it under the
      Documentation directory ... provides really simple instructions for taking
      a profile so that users can report performance changes in a useful way.
      39773b6e
    • Martin J. Bligh's avatar
      [PATCH] 4/6 Fix the type of get_zholes_size for NUMA-Q · 1e5cf911
      Martin J. Bligh authored
      From Andy Whitcroft
      
      Fix the type of get_zholes_size for NUMA-Q
      1e5cf911
    • Martin J. Bligh's avatar
      [PATCH] 3/6 Convert physnode_map to u8 · 6842f6e4
      Martin J. Bligh authored
      From Andy Whitcroft
      
      Convert physnode_map from an int to a u8 to save cachelines.
      6842f6e4
    • Martin J. Bligh's avatar
      [PATCH] 2/6 Make CONFIG_NUMA work on non-numa machines. · 1e37e89c
      Martin J. Bligh authored
      From Andy Whitcroft
      
      A few very simple changes in order to make CONFIG_NUMA work everywhere, so
      the distros can build one common binary kernel for distributions.
      1e37e89c
    • Martin J. Bligh's avatar
      [PATCH] 1/6 Share common physnode_map code between NUMA-Q and Summit · 82d82900
      Martin J. Bligh authored
      From Andy Whitcroft
      
      Share a common physnode_map structure between NUMA-Q and Summit.
      82d82900
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/sparc-2.5 · a785c298
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      a785c298
  2. 07 Mar, 2003 1 commit
  3. 08 Mar, 2003 1 commit
  4. 07 Mar, 2003 10 commits