1. 08 May, 2008 24 commits
  2. 07 May, 2008 5 commits
  3. 06 May, 2008 11 commits
    • David S. Miller's avatar
      sparc64: Fix initrd regression. · d45100f7
      David S. Miller authored
      We die because we forget to convert initrd_start and
      initrd_end to virtual addresses.
      
      Reported by Mikael Pettersson
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d45100f7
    • David S. Miller's avatar
      usb: Sparc build fix, make USB_ISP1760_OF depend on PPC_OF · 3eb6753e
      David S. Miller authored
      Sparc doesn't have some of the OF interfaces this driver
      wants to use.
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3eb6753e
    • OGAWA Hirofumi's avatar
      Fix bogus warning in sysdev_driver_register() · db176c6e
      OGAWA Hirofumi authored
              if ((drv->entry.next != drv->entry.prev) ||
                  (drv->entry.next != NULL)) {
      
      warns list_empty(&drv->entry).
      Signed-off-by: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Cc: Greg KH <gregkh@suse.de>
      Cc: Len Brown <lenb@kernel.org>
      [ Version 2 totally redone based on suggestions from Linus & Greg ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      db176c6e
    • Linus Torvalds's avatar
      VFS: fix unused variable warning · 6ce07c7b
      Linus Torvalds authored
      Commit 33dcdac2 ("kill ->put_inode")
      removed the final use of i_op->put_inode, but left the now totally
      unused "op" variable in iput().
      
      Get rid of it.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6ce07c7b
    • Hugh Dickins's avatar
      x86: fix PAE pmd_bad bootup warning · aeed5fce
      Hugh Dickins authored
      Fix warning from pmd_bad() at bootup on a HIGHMEM64G HIGHPTE x86_32.
      
      That came from 9fc34113 x86: debug pmd_bad();
      but we understand now that the typecasting was wrong for PAE in the previous
      version: pagetable pages above 4GB looked bad and stopped Arjan from booting.
      
      And revert that cded932b x86: fix pmd_bad
      and pud_bad to support huge pages.  It was the wrong way round: we shouldn't
      weaken every pmd_bad and pud_bad check to let huge pages slip through - in
      part they check that we _don't_ have a huge page where it's not expected.
      
      Put the x86 pmd_bad() and pud_bad() definitions back to what they have long
      been: they can be improved (x86_32 should use PTE_MASK, to stop PAE thinking
      junk in the upper word is good; and x86_64 should follow x86_32's stricter
      comparison, to stop thinking any subset of required bits is good); but that
      should be a later patch.
      
      Fix Hans' good observation that follow_page() will never find pmd_huge()
      because that would have already failed the pmd_bad test: test pmd_huge in
      between the pmd_none and pmd_bad tests.  Tighten x86's pmd_huge() check?
      No, once it's a hugepage entry, it can get quite far from a good pmd: for
      example, PROT_NONE leaves it with only ACCESSED of the KERN_PGTABLE bits.
      
      However... though follow_page() contains this and another test for huge
      pages, so it's nice to keep it working on them, where does it actually get
      called on a huge page?  get_user_pages() checks is_vm_hugetlb_page(vma) to
      to call alternative hugetlb processing, as does unmap_vmas() and others.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Earlier-version-tested-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jeff Chua <jeff.chua.linux@gmail.com>
      Cc: Hans Rosenfeld <hans.rosenfeld@amd.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      aeed5fce
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · bb78be83
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        [PATCH] fix SMP ordering hole in fcntl_setlk()
        [PATCH] kill ->put_inode
        [PATCH] fix reservation discarding in affs
      bb78be83
    • Al Viro's avatar
      [PATCH] fix SMP ordering hole in fcntl_setlk() · 0b2bac2f
      Al Viro authored
      fcntl_setlk()/close() race prevention has a subtle hole - we need to
      make sure that if we *do* have an fcntl/close race on SMP box, the
      access to descriptor table and inode->i_flock won't get reordered.
      
      As it is, we get STORE inode->i_flock, LOAD descriptor table entry vs.
      STORE descriptor table entry, LOAD inode->i_flock with not a single
      lock in common on both sides.  We do have BKL around the first STORE,
      but check in locks_remove_posix() is outside of BKL and for a good
      reason - we don't want BKL on common path of close(2).
      
      Solution is to hold ->file_lock around fcheck() in there; that orders
      us wrt removal from descriptor table that preceded locks_remove_posix()
      on close path and we either come first (in which case eviction will be
      handled by the close side) or we'll see the effect of close and do
      eviction ourselves.  Note that even though it's read-only access,
      we do need ->file_lock here - rcu_read_lock() won't be enough to
      order the things.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0b2bac2f
    • Christoph Hellwig's avatar
      [PATCH] kill ->put_inode · 33dcdac2
      Christoph Hellwig authored
      And with that last patch to affs killing the last put_inode instance we
      can finally, after many years of transition kill this racy and awkward
      interface.
      
      (It's kinda funny that even the description in
      Documentation/filesystems/vfs.txt was entirely wrong..)
      
      Also remove a very misleading comment above the defintion of
      struct super_operations.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      33dcdac2
    • Roman Zippel's avatar
      [PATCH] fix reservation discarding in affs · dca3c336
      Roman Zippel authored
      - remove affs_put_inode, so preallocations aren't discared unnecessarily
        often.
      - remove affs_drop_inode, it's called with a spinlock held, so it can't
        use a mutex.
      - make i_opencnt atomic
      - avoid direct b_count manipulations
      - a few allocation failure fixes, so that these are more gracefully
        handled now.
      Signed-off-by: default avatarRoman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      dca3c336
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 31d9168d
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (27 commits)
        pata_atiixp: Don't disable
        sata_inic162x: update intro comment, up the version and drop EXPERIMENTAL
        sata_inic162x: add cardbus support
        sata_inic162x: kill now unused SFF related stuff
        sata_inic162x: use IDMA for ATAPI commands
        sata_inic162x: use IDMA for non DMA ATA commands
        sata_inic162x: kill now unused bmdma related stuff
        sata_inic162x: use IDMA for ATA_PROT_DMA
        sata_inic162x: update TF read handling
        sata_inic162x: add / update constants
        sata_inic162x: misc clean ups
        sata_mv use hweight16() for bit counting (V2)
        sata_mv NCQ-EH for FIS-based switching
        sata_mv delayed eh handling
        libata: export ata_eh_analyze_ncq_error
        sata_mv new mv_port_intr function
        sata_mv fix mv_host_intr bug for hc_irq_cause
        sata_mv NCQ and SError fixes for mv_err_intr
        sata_mv rearrange mv_config_fbs
        sata_mv errata workaround for sata25 part 1
        ...
      31d9168d
    • Alan Cox's avatar
      pata_atiixp: Don't disable · 05177f17
      Alan Cox authored
      A couple of distributions (Fedora, Ubuntu) were having weird problems with the
      ATI IXP series PATA controllers being reported as simplex.  At the heart of
      the problem is that both distros ignored the recommendations to load pata_acpi
      and ata_generic *AFTER* specific host drivers.
      
      The underlying cause however is that if you D3 and then D0 an ATI IXP it
      helpfully throws away some configuration and won't let you rewrite it.
      
      Add checks to ata_generic and pata_acpi to pin ATIIXP devices.  Possibly the
      real answer here is to quirk them and pin them, but right now we can't do that
      before they've been pcim_enable()'d by a driver.
      
      I'm indebted to David Gero for this.  His bug report not only reported the
      problem but identified the cause correctly and he had tested the right values
      to prove what was going on
      
      [If you backport this for 2.6.24 you will need to pull in the 2.6.25
      removal of the bogus WARN_ON() in pcim_enagle]
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Tested-by: default avatarDavid Gero <davidg@havidave.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      05177f17