1. 29 Feb, 2012 2 commits
  2. 25 Feb, 2012 6 commits
    • Linus Torvalds's avatar
      Linux 3.3-rc5 · 6b21d18e
      Linus Torvalds authored
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 00b10ecf
      Linus Torvalds authored
      Couple of minor driver fixes.
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (max34440) Fix resetting temperature history
        hwmon: (f75375s) Fix register write order when setting fans to full speed
        hwmon: (ads1015) Fix file leak in probe function
        hwmon: (max6639) Fix PPR register initialization to set both channels
        hwmon: (max6639) Fix FAN_FROM_REG calculation
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 1e73fde5
      Linus Torvalds authored
      three kbuild fixes for 3.3:
       - make deb-pkg symlink race fix.
       - make coccicheck fix.
       - Dropping the check for modutils.  This is not a regression, but
         allows the module-init-tools replacement kmod work with the 3.3
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        coccicheck: change handling of C={1,2} when M= is set
        builddeb: Don't create files in /tmp with predictable names
        kbuild: do not check for ancient modutils tools
    • Ian Kent's avatar
      autofs: work around unhappy compat problem on x86-64 · a32744d4
      Ian Kent authored
      When the autofs protocol version 5 packet type was added in commit
       ("autofs4: add new packet type for v5 communications"), it
      obvously tried quite hard to be word-size agnostic, and uses explicitly
      sized fields that are all correctly aligned.
      However, with the final "char name[NAME_MAX+1]" array at the end, the
      actual size of the structure ends up being not very well defined:
      because the struct isn't marked 'packed', doing a "sizeof()" on it will
      align the size of the struct up to the biggest alignment of the members
      it has.
      And despite all the members being the same, the alignment of them is
      different: a "__u64" has 4-byte alignment on x86-32, but native 8-byte
      alignment on x86-64.  And while 'NAME_MAX+1' ends up being a nice round
      number (256), the name[] array starts out a 4-byte aligned.
      End result: the "packed" size of the structure is 300 bytes: 4-byte, but
      not 8-byte aligned.
      As a result, despite all the fields being in the same place on all
      architectures, sizeof() will round up that size to 304 bytes on
      architectures that have 8-byte alignment for u64.
      Note that this is *not* a problem for 32-bit compat mode on POWER, since
      there __u64 is 8-byte aligned even in 32-bit mode.  But on x86, 32-bit
      and 64-bit alignment is different for 64-bit entities, and as a result
      the structure that has exactly the same layout has different sizes.
      So on x86-64, but no other architecture, we will just subtract 4 from
      the size of the structure when running in a compat task.  That way we
      will write the properly sized packet that user mode expects.
      Not pretty.  Sadly, this very subtle, and unnecessary, size difference
      has been encoded in user space that wants to read packets of *exactly*
      the right size, and will refuse to touch anything else.
      Reported-and-tested-by: default avatarThomas Meyer <thomas@m3y3r.de>
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · b52b8002
      Linus Torvalds authored
      One InfiniBand/RDMA regression fix for 3.3:
       - mlx4 SR-IOV changes added static exported functions, which doesn't
         build on powerpc at least.  Fix from Doug Ledford for this.
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        mlx4_core: Exported functions can't be static
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 16bca1d5
      Linus Torvalds authored
      SCSI fixes on 20120224:
       "This is a set of assorted bug fixes for power management, mpt2sas,
        ipr, the rdac device handler and quite a big chunk for qla2xxx (plus a
        use after free of scsi_host in scsi_scan.c). "
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] scsi_dh_rdac: Fix for unbalanced reference count
        [SCSI] scsi_pm: Fix bug in the SCSI power management handler
        [SCSI] scsi_scan: Fix 'Poison overwritten' warning caused by using freed 'shost'
        [SCSI] qla2xxx: Update version number to
        [SCSI] qla2xxx: Proper detection of firmware abort error code for ISP82xx.
        [SCSI] qla2xxx: Remove resetting memory during device initialization for ISP82xx.
        [SCSI] qla2xxx: Complete mailbox command timedout to avoid initialization failures during next reset cycle.
        [SCSI] qla2xxx: Remove check for null fcport from host reset handler.
        [SCSI] qla2xxx: Correct out of bounds read of ISP2200 mailbox registers.
        [SCSI] qla2xxx: Remove errant clearing of MBX_INTERRUPT flag during CT-IOCB processing.
        [SCSI] qla2xxx: Clear options-flags while issuing stop-firmware mbx command.
        [SCSI] qla2xxx: Add an "is reset active" helper.
        [SCSI] qla2xxx: Add check for null fcport references in qla2xxx_queuecommand.
        [SCSI] qla2xxx: Propagate up abort failures.
        [SCSI] isci: Fix NULL ptr dereference when no firmware is being loaded
        [SCSI] ipr: fix eeh recovery for 64-bit adapters
        [SCSI] mpt2sas: Fix mismatch in mpt2sas_base_hard_reset_handler() mutex lock-unlock
  3. 24 Feb, 2012 22 commits
  4. 23 Feb, 2012 10 commits
    • Anton Altaparmakov's avatar
      Restore direct_io / truncate locking API · 37fbf4bf
      Anton Altaparmakov authored
      With kernel 3.1, Christoph removed i_alloc_sem and replaced it with
      calls (namely inode_dio_wait() and inode_dio_done()) which are
      EXPORT_SYMBOL_GPL() thus they cannot be used by non-GPL file systems and
      further inode_dio_wait() was pushed from notify_change() into the file
      system ->setattr() method but no non-GPL file system can make this call.
      That means non-GPL file systems cannot exist any more unless they do not
      use any VFS functionality related to reading/writing as far as I can
      tell or at least as long as they want to implement direct i/o.
      Both Linus and Al (and others) have said on LKML that this breakage of
      the VFS API should not have happened and that the change was simply
      missed as it was not documented in the change logs of the patches that
      did those changes.
      This patch changes the two function exports in question to be
      EXPORT_SYMBOL() thus restoring the VFS API as it used to be - accessible
      for all modules.
      Christoph, who introduced the two functions and exported them GPL-only
      is CC-ed on this patch to give him the opportunity to object to the
      symbols being changed in this manner if he did indeed intend them to be
      GPL-only and does not want them to become available to all modules.
      Signed-off-by: default avatarAnton Altaparmakov <anton@tuxera.com>
      CC: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · bb4c7e9a
      Linus Torvalds authored
      A fix from Jesper Juhl removes an assignment in an ASSERT when a compare
      is intended.  Two fixes from Mitsuo Hayasaka address off-by-ones in XFS
      quota enforcement.
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: make inode quota check more general
        xfs: change available ranges of softlimit and hardlimit in quota check
        XFS: xfs_trans_add_item() - don't assign in ASSERT() when compare is intended
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 73c8e679
      Linus Torvalds authored
      BenH says:
       'Here are a few more powerpc bits for you.  A stupid regression I
        introduced with my previous commit to "fix" program check exceptions
        (brown paper bag for me), fix the cpuidle default, a bug fix for
        something that isn't strictly speaking a regression but some upstream
        changes causes it to show in lockdep now while it didn't before, and
        finally a trivial one for rusty to make his life easier later on
        removing the old cpumask cruft. '
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Fix various issues with return to userspace
        cpuidle: Default y on powerpc pSeries
        powerpc: Fix program check handling when lockdep is enabled
        powerpc: Remove references to cpu_*_map
    • Linus Torvalds's avatar
      Merge tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 0200971d
      Linus Torvalds authored
      sound fixes for 3.3-rc5
      Just a collection of boring small fixes for ASoC, HD-audio Realtek
      and USB-audio drivers.
      * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: snd-usb-caiaq: Fix the return of XRUN
        ASoC: ak4642: fixup HeadPhone L/R dapm settings
        ALSA: hda/realtek - Fix surround output regression on Acer Aspire 5935
        ALSA: hda/realtek - Fix overflow of vol/sw check bitmap
        ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk()
        ASoC: wm8962: Fix sidetone enumeration texts
    • Liu Bo's avatar
      Btrfs: increase the global block reserve estimates · 5500cdbe
      Liu Bo authored
      When doing IO with large amounts of data fragmentation, the global block
      reserve calulations are too low.  This increases them to avoid
      ENOSPC crashes.
      Signed-off-by: default avatarLiu Bo <liubo2009@cn.fujitsu.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Chris Mason's avatar
      Btrfs: clear the extent uptodate bits during parent transid failures · 50653190
      Chris Mason authored
      If btrfs reads a block and finds a parent transid mismatch, it clears
      the uptodate flags on the extent buffer, and the pages inside it.  But
      we only clear the uptodate bits in the state tree if the block straddles
      more than one page.
      This is from an old optimization from to reduce contention on the extent
      state tree.  But it is buggy because the code that retries a read from
      a different copy of the block is going to find the uptodate state bits
      set and skip the IO.
      The end result of the bug is that we'll never actually read the good
      copy (if there is one).
      The fix here is to always clear the uptodate state bits, which is safe
      because this code is only called when the parent transid fails.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Chris Mason's avatar
    • Chris Mason's avatar
      Btrfs: make sure we update latest_bdev · a6b0d5c8
      Chris Mason authored
      When we are setting up the mount, we close all the
      devices that were not actually part of the metadata we found.
      But, we don't make sure that one of those devices wasn't
      fs_devices->latest_bdev, which means we can do a use after free
      on the one we closed.
      This updates latest_bdev as it goes.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Chris Mason's avatar
      Btrfs: improve error handling for btrfs_insert_dir_item callers · fe66a05a
      Chris Mason authored
      This allows us to gracefully continue if we aren't able to insert
      directory items, both for normal files/dirs and snapshots.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Nikolaus Schulz's avatar
      hwmon: (f75375s) Fix register write order when setting fans to full speed · c1c1a3d0
      Nikolaus Schulz authored
      By hwmon sysfs interface convention, setting pwm_enable to zero sets a fan
      to full speed.  In the f75375s driver, this need be done by enabling
      manual fan control, plus duty mode for the F875387 chip, and then setting
      the maximum duty cycle.  Fix a bug where the two necessary register writes
      were swapped, effectively discarding the setting to full-speed.
      Signed-off-by: default avatarNikolaus Schulz <mail@microschulz.de>
      Cc: Riku Voipio <riku.voipio@iki.fi>
      Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>