1. 18 Apr, 2004 6 commits
    • Andrew Morton's avatar
      [PATCH] rmap: flush_dcache revisited · c4d92e6b
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      One of the callers of flush_dcache_page is do_generic_mapping_read, where
      file is read without i_sem and without page lock: concurrent truncation may
      at any moment remove page from cache, NULLing ->mapping, making
      flush_dcache_page liable to oops.  Put result of page_mapping in a local
      variable and apply mapping_mapped to that (if we were to check for NULL
      within mapping_mapped, it's unclear whether to say yes or no).
      
      parisc and arm do have other locking unsafety in their i_mmap(_shared)
      searching, but that's a larger issue to be dealt with down the line.
      c4d92e6b
    • Andrew Morton's avatar
      [PATCH] Oprofilefs cant handle > 99 cpus · 1896ae13
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      Oprofilefs cant handle > 99 cpus. This should fix it.
      1896ae13
    • Andrew Morton's avatar
      [PATCH] Fix unix module · 17ee20ae
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      # lsmod
      Module                  Size  Used by
      1                      26060  6
      #
      
      The compiler #define's unix to 1: we use -DKBUILD_MODNAME=unix.  We used to
      #undef unix at the top of af_unix.c, but now the name is inserted by
      modpost, that doesn't help.
      
      #undef unix in modpost.c's generated C file.
      17ee20ae
    • Andrew Morton's avatar
      [PATCH] ppc64: Fix CPU hot unplug deadlock · 26214e32
      Andrew Morton authored
      From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      
      My RTAS locking fixes incorrectly added a spinlock around the function used
      to stop a CPU, that function never returns, thus the lock becomes stale.
      The correct fix is to disable interrupts instead (the RTAS params beeing
      per-CPU, this should be safe enough)
      26214e32
    • Linus Torvalds's avatar
      Allow non-LFS sendfile to work on LFS files. · f5e277c5
      Linus Torvalds authored
      But obviously only if we're not passing in any offset pointer.
      
      This is how 2.4.x worked, and vsftpd relies on it.
      
      Bug reported by Chris < chris@scary.beasts.org>
      f5e277c5
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/davem/BK/net-2.6 · a9eb9eb7
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      a9eb9eb7
  2. 17 Apr, 2004 34 commits
    • Hugh Dickins's avatar
      [PATCH] Fix vma corruption · e4cf8264
      Hugh Dickins authored
      It occurred to me that if vma and new_vma are one and the same, then
      vma_relink_file will not do a good job of linking it after itself - in
      that pretty unlikely case when move_page_tables fails.
      
      And more generally, whenever copy_vma's vma_merge succeeds, we have no
      guarantee that old vma comes before new_vma in the i_mmap lists, as we
      need to satisfy Rajesh's point: that ordering is only guaranteed in the
      newly allocated case.
      
      We have to abandon the ordering method when/if we move from lists to
      prio_trees, so this patch switches to the less glamorous use of
      i_shared_sem exclusion, as in my prio_tree mremap.
      e4cf8264
    • Alexander Viro's avatar
      [PATCH] Remove unused 'kobject' from superblock · 3ba9ac07
      Alexander Viro authored
      The field in question is
        a) unused
        b) damn next to impossible to use correctly, due to struct super_block
           lifetime and locking rules.
      3ba9ac07
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-pcmcia · f8f9945f
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      f8f9945f
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-serial · 1ea0721d
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      1ea0721d
    • Russell King's avatar
      [SERIAL] Use module_param/module_param_array · 2dff0579
      Russell King authored
      Update serial to use new module parameters rather than
      MODULE_PARM.
      2dff0579
    • Russell King's avatar
      [SERIAL] Remove check_region() · ae1b4721
      Russell King authored
      ae1b4721
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk · c7a7273c
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      c7a7273c
    • Russell King's avatar
      [ARM] Add detailed documentation concerning ARM page tables · f6e8a90d
      Russell King authored
      This adds detailed documentation concerning how we map the Linux
      page table structure onto the hardware tables on ARM.  In addition,
      it also adds documentation describing how we emulate the "dirty"
      and "young" or "accessed" page table bits.
      
      This should be of interest to Linux MM developers.
      f6e8a90d
    • Pavel Roskin's avatar
      [PCMCIA] Conversion to module_param · 32ee9eec
      Pavel Roskin authored
      Patch from: Pavel Roskin
      
      As it turns out, mixing MODULE_PARM and module_param in one module is
      wrong.  The parameters specified in module_param are ignored.  I've just
      posted a patch to LKML that will detect this condition and warn about it.
      
      The new debugging code used the new-style module_param, which means that
      all instances of MODULE_PARM should be converted.  The attached patch does
      that.
      
      An additional bonus is that module_param_array provides the number of
      array elements.  This allowed me to change tcic.c and i82365.c to use
      this number for IRQ list.  This change was tested with i82365.  If
      "irq_list" is not specified, irq_list_count is 0.
      
      I set all permissions to 0444 to be safe.  I think we have no secrets
      from the users regarding those parameters.  If some parameters can be
      changed safely at the runtime, the permissions could be changed to 0644.
      I didn't examine how safe (and how useful) it would be, so it's 0444 for
      now.
      32ee9eec
    • Andrew Morton's avatar
      [PATCH] ARM-related ptep_to_address() fix · d8fbf4f1
      Andrew Morton authored
      From: William Lee Irwin III <wli@holomorphy.com>
      
      rmk mentioned that ARM was borked as the relation, assumed by generic rmap,
      PTRS_PER_PTE*sizeof(pte_t) == PAGE_SIZE, fails to hold.  The following
      patch, developed jointly with him (or depending on POV, by him with me
      acting as codemonkey), is reported to resolve the issue.
      
      Specifically, while ARM dedicates an entire PAGE_SIZE -sized block of
      memory to each PTE table, the PTE table itself only spans half that, the
      remainder being dedicated to hardware-interpreted structures.  As the
      hardware structure must be contiguous, wider ptes can't be used.  So the
      core-visible PTE table only spans PAGE_SIZE/2 bytes, violating the
      assumption.  This corrects masking and scaling done in ptep_to_address().
      d8fbf4f1
    • Andrew Morton's avatar
      [PATCH] aty128fb dereference before null check · 5450c6c1
      Andrew Morton authored
      From: Dave Jones <davej@redhat.com>
      5450c6c1
    • Andrew Morton's avatar
      [PATCH] mqueue permission fix · 25aa73df
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      Any user can delete any entries in a mqueue mounted filesystem.  The attached
      patch prevents that.
      
      - remove the writable test from mq_unlink.
      
      - set the sticky bit in the root inode.  This affects both mq_unlink and
        sys_unlink: only the owner (and root) should be allowed to remove queues.
      25aa73df
    • Andrew Morton's avatar
      [PATCH] Fix bogus get_page() calls in hugepage code · 485583e1
      Andrew Morton authored
      From: David Gibson <david@gibson.dropbear.id.au>
      
      Some versions of follow_huge_addr() and follow_huge_pmd() are doing a
      get_page() on the target page.  They shouldn't: follow_page() returns an
      unpinned page and it is the caller's responsibility to pin the page (if
      desired) before dropping page_table_lock.
      485583e1
    • Andrew Morton's avatar
      [PATCH] ppc64: yet another hugepage cleanup · 9c59105e
      Andrew Morton authored
      From: David Gibson <david@gibson.dropbear.id.au>
      
      Trivial cleanup to flush_hash_hugepage() in the ppc64 hugepage code.
      9c59105e
    • Andrew Morton's avatar
      [PATCH] ipmi build fix · fbdae6e4
      Andrew Morton authored
      From: Geert Uytterhoeven <geert@linux-m68k.org>
      
      While compiling drivers/char/ipmi/ipmi_si_intf.c in 2.6.6-rc1 on m68k, I
      noticed a missing include (needed for disable_irq_nosync() and enable_irq())
      fbdae6e4
    • Andrew Morton's avatar
      [PATCH] floppy98.c build fixes · f36b42e7
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      floppy98.c (along with other PC-9800 files) has not been updated lately.  It
      won't build currently (2.6.5).
      
      This patch makes floppy98 build cleanly.
      f36b42e7
    • Andrew Morton's avatar
      [PATCH] reiserfs: remove final sleep_on · 13ba0403
      Andrew Morton authored
      From: Chris Mason <mason@suse.com>
      
      Get rid of the last sleep_on in the reiserfs code
      13ba0403
    • Andrew Morton's avatar
      [PATCH] reiserfs: fsync() speedup · f2a0b4d8
      Andrew Morton authored
      From: Chris Mason <mason@suse.com>
      
      Updates the reiserfs-logging improvements to use schedule_timeout instead of
      yield when letting the transaction grow a little before forcing a commit for
      fsync/O_SYNC/O_DIRECT.
      
      Also, when one process forces a transaction to end and plans on doing the
      commit (like fsync), it sets a flag on the transaction so the journal code
      knows not to bother kicking the journal work queue.
      
      queue_delayed_work is used so that if we get a bunch of tiny transactions
      ended quickly, we aren't constantly kicking the work queue.
      
      These significantly improve reiserfs performance during fsync heavy
      workloads.
      f2a0b4d8
    • Andrew Morton's avatar
      [PATCH] Add "commit=0" to reiserfs · c4373a9a
      Andrew Morton authored
      From: Bart Samwel <bart@samwel.tk>
      
      Add support for value 0 to the commit option of reiserfs.  Means "restore
      to the default value".  For the maximum commit age, this default value is
      normally read from the journal; this patch adds an extra variable to cache
      the default value for the maximum commit age.
      c4373a9a
    • Andrew Morton's avatar
      [PATCH] ppc64: hugepage cleanup · 21c2358c
      Andrew Morton authored
      From: David Gibson <david@gibson.dropbear.id.au>
      
      This is a small cleanup to the PPC64 hugepage code.  It removes an
      unhelpful function, removing some studlyCaps in the process.  It was
      originally this way to match the normal page path, but that has all been
      rewritten since.
      21c2358c
    • Andrew Morton's avatar
      [PATCH] Fix mq 32-bit compatibility · 8886bdb0
      Andrew Morton authored
      From: Jakub Jelinek <jakub@redhat.com>
      
      The first change removes just a useless put_user (si_int and si_ptr are
      part of the same union, si_ptr is on all arches covering whole union), the
      rest is fixes for signal handling of SI_MESGQ.
      8886bdb0
    • Andrew Morton's avatar
      [PATCH] remove buffer_error() · 4f990f49
      Andrew Morton authored
      From: Jeff Garzik <jgarzik@pobox.com>
      
      It was debug code, no longer required.
      4f990f49
    • Andrew Morton's avatar
      [PATCH] PCI MSI Kconfig consolidation · d012f668
      Andrew Morton authored
      From: Bjorn Helgaas <bjorn.helgaas@hp.com>
      
      This consolidates the PCI MSI configuration into drivers/pci/Kconfig,
      removing it from the i386, x86_64, and ia64 Kconfig.
      
      It also changes the default for ia64 from "y" to "n".  The default on i386
      is "n" already, and I'm not sure why ia64 should be different.
      d012f668
    • Andrew Morton's avatar
      [PATCH] kill submit_{bh,bio} return value · 01d86f02
      Andrew Morton authored
      From: Jeff Garzik <jgarzik@pobox.com>
      
      Nobody ever checks the return value of submit_bh(), and submit_bh() is the
      only caller that checks the submit_bio() return value.
      
      This changes the kernel I/O submission path -- a fast path -- so this
      cleanup is also a microoptimization.
      01d86f02
    • Andrew Morton's avatar
      [PATCH] kNFSdv4: Implement server-side reboot recovery (mostly) · cba16655
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      From: Andros: Implement server-side reboot recovery (server now handles
      open and lock reclaims).  Not completely to spec: we don't yet store the
      state in stable storage that would be required to recover correctly in
      certain situations.
      cba16655
    • Andrew Morton's avatar
      [PATCH] kNFSdv4: Set credentials properly when puutrootfh is used · b889edc7
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      The credentials (uid/gid) of a process are set when a filehandle is
      verified.  Nfsv4 allows requests without an explicit filehandle (instead,
      an implicit 'root' filehandle) so we much make sure the credentials are set
      for these requests too.
      
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      From: Andros: added a call to nfsd_setuser in nfsd4_putrootfh so that nfsd
      runs as the rpc->cred user.
      b889edc7
    • Andrew Morton's avatar
      [PATCH] kNFSdv4: Improve how locking copes with replays · 9e13fc5b
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      From: Andros: Hold state_lock longer so the stateowner doesn't diseappear
      out from under us before we get the chance to encode the replay.  Don't
      attempt to save replay if we failed to find a stateowner.
      9e13fc5b
    • Andrew Morton's avatar
      [PATCH] kNFSdv4: Allow locku replays aswell · 3145847e
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      From: Andros: locku replies should be saved for possible replay as well.
      3145847e
    • Andrew Morton's avatar
      [PATCH] kNFSdv4: Keep state to allow replays for 'close' to work. · 599692fc
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      From: Andros: Idea is to keep around a list of openowners recently released
      by closes, and make sure they stay around long enough so that replays still
      work.
      599692fc
    • Andrew Morton's avatar
      [PATCH] kNFSdv4: Fix bad error returm from svcauth_gss_accept · 020e39c5
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      Error return when the client supplies a bad service should be badcred.
      020e39c5
    • Andrew Morton's avatar
      [PATCH] kNFSdv4: nfsd4_readdir fixes · 065eae6c
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      Fix out-of-spec errors in nfs4 readdir.  Add checks for bad cookie values.
      
      (plus compile fix from akpm)
      065eae6c
    • Andrew Morton's avatar
      [PATCH] dm: Use an EMIT macro in the status function. · 44e2317e
      Andrew Morton authored
      From: Kevin Corry <kevcorry@us.ibm.com>
      
      Striped: Use an EMIT macro in the status function.
      44e2317e
    • Andrew Morton's avatar
      [PATCH] dm: avoid ioctl buffer overrun · 702a8edf
      Andrew Morton authored
      From: Kevin Corry <kevcorry@us.ibm.com>
      
      dm-ioctl.c::retrieve_status(): Prevent overrunning the ioctl buffer by making
      sure we don't call the target status routine with a buffer size limit of
      zero.  [Kevin Corry, Alasdair Kergon]
      702a8edf
    • Andrew Morton's avatar
      [PATCH] dm: fix a comment · e79ed99a
      Andrew Morton authored
      From: Kevin Corry <kevcorry@us.ibm.com>
      
      Clarify the comment regarding the "next" field in struct dm_target_spec.  The
      "next" field has different behavior if you're performing a DM_TABLE_STATUS
      command than it does if you're performing a DM_TABLE_LOAD command.
      
      See populate_table() and retrieve_status() in drivers/md/dm-ioctl.c for more
      details on how this field is used.
      e79ed99a