1. 20 Jun, 2003 21 commits
    • Andrew Morton's avatar
      [PATCH] hugetlbfs:update statfs · b8a105ff
      Andrew Morton authored
      update hugetlbfs_statfs for the statfs64() changes.
      b8a105ff
    • Andrew Morton's avatar
      [PATCH] hugetlbfs: specify size & inodes at mount · 7872c516
      Andrew Morton authored
      From: "Seth, Rohit" <rohit.seth@intel.com>
      
      - Add support for setting the filesystem's maximum size and maximum inode
        count on the mount command line.
      
        This is needed because the system admin can now set the ownership of teh
        fs to non-root users.  We don't want those users to be able to use all of
        the hugepage pool.
      
      - Prroperly update the inode creation/modification time.
      
      - Set the blocksize to HPAGE_SIZE (instead of PAGE_CACHE_SIZE).
      
      - Update Documentation/vm/hugetlbpage.txt.
      7872c516
    • Andrew Morton's avatar
      [PATCH] raw.c devfs support · 0056b34a
      Andrew Morton authored
      From: Andrey Borzenkov <arvidjaar@mail.ru>
      
      Add devfs support to raw.c.
      0056b34a
    • Andrew Morton's avatar
      [PATCH] sysv semundo fixes · 1327ca85
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      The CLONE_SYSVSEM implementation is racy: it does an (atomic_read(->refcnt)
      ==1) instead of atomic_dec_and_test calls in the exit handling.  The patch
      fixes that.
      
      Additionally, the patch contains the following changes:
      
      - lock_undo() locks the list of undo structures.  The lock is held
        throughout the semop() syscall, but that's unnecessary - we can drop it
        immediately after the lookup.
      
      - undo structures are only allocated when necessary.  The need for undo
        structures is only noticed in the middle of the semop operation, while
        holding the semaphore array spinlock.  The result is a convoluted
        unlock&revalidate implementation.  I've reordered the code, and now the
        undo allocation can happen before acquiring the semaphore array spinlock.
         As a bonus, less code runs under the semaphore array spinlock.
      
      - sysvsem.sleep_list looks like code to handle oopses: if an oops kills a
        thread that sleeps in sys_timedsemop(), then sem_exit tries to recover.
        I've removed that - too fragile.
      1327ca85
    • Andrew Morton's avatar
      [PATCH] show_stack() portability and cleanup patch · 0d5ff9d0
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      This is an attempt at sanitizing the interface for stack trace dumping
      somewhat.  It's basically the last thing which prevents 2.5.x from working
      out-of-the-box for ia64.  ia64 apparently cannot reasonably implement the
      show_stack interface declared in sched.h.
      
      Here is the rationale: modern calling conventions don't maintain a frame
      pointer and it's not possible to get a reliable stack trace with only a stack
      pointer as the starting point.  You really need more machine state to start
      with.  For a while, I thought the solution is to pass a task pointer to
      show_stack(), but it turns out that this would negatively impact x86 because
      it's sometimes useful to show only portions of a stack trace (e.g., starting
      from the point at which a trap occurred).  Thus, this patch _adds_ the task
      pointer instead:
      
       extern void show_stack(struct task_struct *tsk, unsigned long *sp);
      
      The idea here is that show_stack(tsk, sp) will show the backtrace of task
      "tsk", starting from the stack frame that "sp" is pointing to.  If tsk is
      NULL, the trace will be for the current task.  If "sp" is NULL, all stack
      frames of the task are shown.  If both are NULL, you'll get the full trace of
      the current task.
      
      I _think_ this should make everyone happy.
      
      The patch also removes the declaration of show_trace() in linux/sched.h (it
      never was a generic function; some platforms, in particular x86, may want to
      update accordingly).
      
      Finally, the patch replaces the one call to show_trace_task() with the
      equivalent call show_stack(task, NULL).
      
      The patch below is for Alpha and i386, since I can (compile-)test those (I'll
      provide the ia64 update through my regular updates).  The other arches will
      break visibly and updating the code should be trivial:
      
      - add a task pointer argument to show_stack() and pass NULL as the first
        argument where needed
      
      - remove show_trace_task()
      
      - declare show_trace() in a platform-specific header file if you really
        want to keep it around
      0d5ff9d0
    • Andrew Morton's avatar
      [PATCH] revert adjtimex changes · 660a7358
      Andrew Morton authored
      From: John Stultz, George Anzinger, Eric Piel
      
      There was confusion over the definition of TICK_USEC.  TICK_USEC is
      supposed to be based on USER_HZ, however a recent change caused TICK_USEC
      to be based on HZ.  This broke the adjtimex() interface on systems where
      USER_HZ != HZ.  This patch reverts the change to TICK_USEC, removes an
      added mis-use of the value and fixes some incorrect comments that could
      lead to this sort of confusion.
      
      Also this patch resolves the related LTP adjtimex failures.
      660a7358
    • Andrew Morton's avatar
      [PATCH] Fix potential set_child_tid/clear_child_tid bug · b3cc42df
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      At the moment, if you don't set CLONE_CHILD_SETTID/CLONE_CHILD_CLEARTID,
      the {set,clear}_child_tid values get inherited from the parent task.  I may
      be missing something, but I suspect that's not the intended behavior.  The
      patch below instead clears the respective members.
      b3cc42df
    • Andrew Morton's avatar
      [PATCH] slab poisoning fix · 237d5bd7
      Andrew Morton authored
      The slab debugging code is supposed to poison freshly-allocated obejcts with
      0x5a and freed ones with 0x6b, so we can distinguish use-uninitialised from
      use-after-free.
      
      It wasn't working right for recycled objects.  Fix.
      237d5bd7
    • Andrew Morton's avatar
      [PATCH] kmem_cache_destroy(): use slab_error() · 919a670d
      Andrew Morton authored
      Use slab_error for printing the error message from kmem_cache_destroy
      919a670d
    • Andrew Morton's avatar
      [PATCH] Add system calls statfs64 and fstatfs64 · 244f3626
      Andrew Morton authored
      From: Peter Chubb <peter@chubb.wattle.id.au>
      
      Add two new system calls, statfs64 and fstatfs64.  This has been needed
      sincew the 64-bit sector_t merge - the current structures will overflow.
      
      - Use a common interface (vfs_statfs) with the rest of the kernel,
      
      - convert to 32-bit at (f)statfs time.
      
      - New field f_frsize gives underlying fragment size for the filesystem.
        (Solaris has this, and the Open Group describe it).
      
      - The old statfs syscalls will now return -EOVERFLOW if the device was
        too large to be represented inthe old data structures.
      
      The new system calls take a size_t argument, which is the size of the
      structure to be filled in (as requested by Ben LaHaise), to `futureproof' the
      interface.
      
      Has been reviewed by the arch maintainers and by Ulrich Drepper.
      244f3626
    • Andrew Morton's avatar
      [PATCH] /proc/kcore: handle unmapped areas · d717623a
      Andrew Morton authored
      From: Andi Kleen <ak@suse.de>
      
      On i386 and most other ports kern_addr_valid is hardcoded to 1.
      
      This works fine as long as only mapped areas are accessed.  When you have
      something partially mapped in the kclist it is possible that start points to
      an unmapped address.  The correct behaviour in this case is to zero the user
      space.  We shouldn't return -EFAULT because the fault is against the mmapped
      range, not against the user's address.
      
      copy_to_user usually even checks for exceptions on both source and
      destination, but it does not zero the destination in this case and worse
      results in EFAULT, which is user visible.
      
      This patch just tries to clear_user in this case again to actually zero the
      user data and catch real user side EFAULTs.
      
      Another way to fix this is to have kern_addr_valid do a real page table
      lookup (I did that on AMD64), but having this fallback is a bit more
      reliable in case there is a race somewhere.
      
      On i386 it could happen for example if the direct space to max_low_pfn
      contains something unmapped.  This normally isn't the case, but e.g.  the
      slab debugging patches in -mm* do this so it's better to handle it.
      
      Drawback is that it relies on a somewhat undocumented copy_to_user behaviour
      (fault on both source and destination).  It is true for i386 and amd64, but I
      don't know if it is for other port.  In the worst case they just don't have
      the race protection and may see bogus EFAULTs.
      d717623a
    • Andrew Morton's avatar
      [PATCH] Fix /proc/kcore for i386 · 98c94255
      Andrew Morton authored
      From: Andi Kleen <ak@suse.de>
      
      The recent IA64 changes for /proc/kcore broke the access on i386.
      Currently no notes are written for the direct mapped or vmalloced memory,
      which makes gdb reject it.
      
      This patch fixes it.  Other ports probably need to do the same changes.
      98c94255
    • Andrew Morton's avatar
      [PATCH] range checking in rd_open() · 25a8424c
      Andrew Morton authored
      If you open /dev/ram7 when the kernel is configured for 4 ramdisks, things
      blow up.  Teach rd_open() to check that the minor is in range.
      25a8424c
    • Andrew Morton's avatar
      [PATCH] kjournald shutdown fix · 561516c8
      Andrew Morton authored
      If someome tries to unmount the fs while kjournald is performing a commit,
      kjournald forgets to look for the termination request and goes into permanent
      sleep.
      561516c8
    • Andrew Morton's avatar
      [PATCH] ia32 copy_from_user() fix · 53f35f47
      Andrew Morton authored
      The memset which is performed if access_ok() fails got lost in the
      copy_*_user() rework.  Put it back.
      
      Bloats the kernel by 8k :(
      
      Also contains a few related #includes and whitespace fixlets from
      Joshua Kwan <joshk@triplehelix.org>
      53f35f47
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/gregkh/linux/pci-2.5 · 3119cfff
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      3119cfff
    • Lionel Bouton's avatar
      [PATCH] Enhanced SiS96x support · e6d3a689
      Lionel Bouton authored
      This is an update for the SiS IDE driver.
      
      This is a 99% Vojtech work :
      - Independant southbridge detection (no need to add current and future
        MuTIOL northbridge PCI ids knowledge to the driver),
      - Lots of code cleanup,
      - Debug code removed (unused for a while, I will maintain it in my tree
        if needed),
      
      I changed some things:
      - the new config_xfer_rate is commented out until ide_find_best_mode is
        patched for bad drive handling (until then I reverted to the old one
        using the config_drive_xfer_rate helper function).
      e6d3a689
    • Greg Kroah-Hartman's avatar
    • Matthew Wilcox's avatar
      [PATCH] reimplement pci proc name · b7245e82
      Matthew Wilcox authored
      Hi Greg.  Ivan's not happy with the solution I came up with for naming
      /proc/bus/pci and Anton would prefer something slightly different too,
      so I abstracted the name out so each architecture can do its own thing.
      
      This is against 2.5.72 so won't apply cleanly to your tree (it
      applies to bitkeeper as of a few minutes ago with only minor offsets).
      I've implemented the original name for non-PCI-domain machines; done what
      ia64 and alpha need, respectively (assuming I didn't misunderstand Ivan),
      and plopped in the Old Way of doing things for Sparc64, PPC and PPC64.
      Maintainers may alter this to whatever degree of complexity they wish.
      b7245e82
    • Greg Kroah-Hartman's avatar
    • Greg Kroah-Hartman's avatar
      Merge kroah.com:/home/greg/linux/BK/bleed-2.5 · 1a92d38b
      Greg Kroah-Hartman authored
      into kroah.com:/home/greg/linux/BK/pci-2.5
      1a92d38b
  2. 19 Jun, 2003 19 commits