1. 15 Apr, 2012 5 commits
    • Linus Torvalds's avatar
      x86-32: fix up strncpy_from_user() sign error · 12e993b8
      Linus Torvalds authored
      The 'max' range needs to be unsigned, since the size of the user address
      space is bigger than 2GB.
      
      We know that 'count' is positive in 'long' (that is checked in the
      caller), so we will truncate 'max' down to something that fits in a
      signed long, but before we actually do that, that comparison needs to be
      done in unsigned.
      
      Bug introduced in commit 92ae03f2
      
       ("x86: merge 32/64-bit versions of
      'strncpy_from_user()' and speed it up").  On x86-64 you can't trigger
      this, since the user address space is much smaller than 63 bits, and on
      x86-32 it works in practice, since you would seldom hit the strncpy
      limits anyway.
      
      I had actually tested the corner-cases, I had only tested them on
      x86-64.  Besides, I had only worried about the case of a pointer *close*
      to the end of the address space, rather than really far away from it ;)
      
      This also changes the "we hit the user-specified maximum" to return
      'res', for the trivial reason that gcc seems to generate better code
      that way.  'res' and 'count' are the same in that case, so it really
      doesn't matter which one we return.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      12e993b8
    • Rafael J. Wysocki's avatar
      PCI: Fix regression in pci_restore_state(), v3 · ebfc5b80
      Rafael J. Wysocki authored
      Commit 26f41062
      
       ("PCI: check for pci bar restore completion and
      retry") attempted to address problems with PCI BAR restoration on
      systems where FLR had not been completed before pci_restore_state() was
      called, but it did that in an utterly wrong way.
      
      First off, instead of retrying the writes for the BAR registers only, it
      did that for all of the PCI config space of the device, including the
      status register (whose value after the write quite obviously need not be
      the same as the written one).  Second, it added arbitrary delay to
      pci_restore_state() even for systems where the PCI config space
      restoration was successful at first attempt.  Finally, the mdelay(10) it
      added to every iteration of the writing loop was way too much of a delay
      for any reasonable device.
      
      All of this actually caused resume failures for some devices on Mikko's
      system.
      
      To fix the regression, make pci_restore_state() only retry the writes
      for BAR registers and only wait if the first read from the register
      doesn't return the written value.  Additionaly, make it wait for 1 ms,
      instead of 10 ms, after every failing attempt to write into config
      space.
      Reported-by: default avatarMikko Vinni <mmvinni@yahoo.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ebfc5b80
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6c23b8e9
      Linus Torvalds authored
      Pull "ARM: a few more SoC fixes for 3.4-rc" from Olof Johansson:
       - A handful of warning and build fixes for Qualcomm MSM
       - Build/warning and bug fixes for Samsung Exynos
       - A fix from Rob Herring that removes misplaced interrupt-parent
         properties from a few device trees
       - A fix to OMAP dealing with cpufreq build errors, removing some of the
         offending code since it was redundant anyway
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: OMAP: clock: cleanup CPUfreq leftovers, fix build errors
        ARM: dts: remove blank interrupt-parent properties
        ARM: EXYNOS: Fix Kconfig dependencies for device tree enabled machine files
        ARM: EXYNOS: Remove broken config values for touchscren for NURI board
        ARM: EXYNOS: set fix xusbxti clock for NURI and Universal210 boards
        ARM: EXYNOS: fix regulator name for NURI board
        ARM: SAMSUNG: make SAMSUNG_PM_DEBUG select DEBUG_LL
        ARM: msm: Fix section mismatches in proc_comm.c
        video: msm: Fix section mismatches in mddi.c
        arm: msm: trout: fix compile failure
        arm: msm: halibut: remove unneeded fixup
        ARM: EXYNOS: Add PDMA and MDMA physical base address defines
        ARM: S5PV210: Fix compiler warning in dma.c file
        ARM: EXYNOS: Fix compile error in exynos5250-cpufreq.c
        ARM: EXYNOS: Add missing definition for IRQ_I2S0
        ARM: S5PV210: fix unused LDO supply field from wm8994_pdata
      6c23b8e9
    • Linus Torvalds's avatar
      Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 218a8c2b
      Linus Torvalds authored
      Pull another round of sound fixes from Takashi Iwai:
       "A few regression fixes for Realtek HD-audio codecs, mainly specific to
        some laptop models."
      
      * tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek - Fix mem leak (and rid us of trailing whitespace).
        ALSA: hda/realtek - Add quirk for Mac Pro 5,1 machines
        ALSA: hda/realtek - Add a fixup entry for Acer Aspire 8940G
        ALSA: hda/realtek - Fix GPIO1 setup for Acer Aspire 4930 & co
        ALSA: hda/realtek - Add a few ALC882 model strings back
      218a8c2b
    • Martin K. Petersen's avatar
      SCSI: Fix error handling when no ULD is attached · 919f797a
      Martin K. Petersen authored
      Commit 18a4d0a2
      
       ("[SCSI] Handle disk devices which can not process
      medium access commands") introduced a bug in which we would attempt to
      dereference the scsi driver even when the device had no ULD attached.
      
      Ensure that a driver is registered and make the driver accessor function
      more resilient to errors during device discovery.
      Reported-by: default avatarElric Fu <elricfu1@gmail.com>
      Reported-by: default avatarBart Van Assche <bvanassche@acm.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      919f797a
  2. 14 Apr, 2012 11 commits
  3. 13 Apr, 2012 20 commits
    • Linus Torvalds's avatar
      Merge branch 'systemh-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 668ce0ac
      Linus Torvalds authored
      Pull system.h fixups for less common arch's from Paul Gortmaker:
       "Here is what is hopefully the last of the system.h related fixups.
      
        The fixes for Alpha and ia64 are code relocations consistent with what
        was done for the more mainstream architectures.  Note that the
        diffstat lines removed vs lines added are not the same since I've
        fixed some of the whitespace issues in the relocated code blocks.
        However they are functionally the same.  Compile tested locally, plus
        these two have been in linux-next for a while.
      
        There is also a trivial one line system.h related fix for the Tilera
        arch from Chris Metcalf to fix an implict include.."
      
      * 'systemh-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        irq_work: fix compile failure on tile from missing include
        ia64: populate the cmpxchg header with appropriate code
        alpha: fix build failures from system.h dismemberment
      668ce0ac
    • Linus Torvalds's avatar
      Merge tag 'fbdev-fixes-for-3.4-1' of git://github.com/schandinat/linux-2.6 · a1c0cad3
      Linus Torvalds authored
      Pull fbdev fixes from Florian Tobias Schandinat:
       - a compile fix for au1*fb
       - a fix to make kyrofb usable on x86_64
       - a fix for uvesafb to prevent an oops due to NX-protection
      
       "The fix for kyrofb is a bit large but it's just replacing "unsigned
        long" by "u32" for 64 bit compatibility."
      
      * tag 'fbdev-fixes-for-3.4-1' of git://github.com/schandinat/linux-2.6:
        video:uvesafb: Fix oops that uvesafb try to execute NX-protected page
        fbdev: fix au1*fb builds
        kyrofb: fix on x86_64
      a1c0cad3
    • Linus Torvalds's avatar
      Merge branch 'for-linus-min' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 659e45d8
      Linus Torvalds authored
      Pull the minimal btrfs branch from Chris Mason:
       "We have a use-after-free in there, along with errors when mount -o
        discard is enabled, and a BUG_ON(we should compile with UP more
        often)."
      
      * 'for-linus-min' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: use commit root when loading free space cache
        Btrfs: fix use-after-free in __btrfs_end_transaction
        Btrfs: check return value of bio_alloc() properly
        Btrfs: remove lock assert from get_restripe_target()
        Btrfs: fix eof while discarding extents
        Btrfs: fix uninit variable in repair_eb_io_failure
        Revert "Btrfs: increase the global block reserve estimates"
      659e45d8
    • Linus Torvalds's avatar
      Merge branch 'for-3.4/drivers' of git://git.kernel.dk/linux-block · c104f1fa
      Linus Torvalds authored
      Pull block driver bits from Jens Axboe:
      
       - A series of fixes for mtip32xx.  Most from Asai at Micron, but also
         one from Greg, getting rid of the dependency on PCIE_HOTPLUG.
      
       - A few bug fixes for xen-blkfront, and blkback.
      
       - A virtio-blk fix for Vivek, making resize actually work.
      
       - Two fixes from Stephen, making larger transfers possible on cciss.
         This is needed for tape drive support.
      
      * 'for-3.4/drivers' of git://git.kernel.dk/linux-block:
        block: mtip32xx: remove HOTPLUG_PCI_PCIE dependancy
        mtip32xx: dump tagmap on failure
        mtip32xx: fix handling of commands in various scenarios
        mtip32xx: Shorten macro names
        mtip32xx: misc changes
        mtip32xx: Add new sysfs entry 'status'
        mtip32xx: make setting comp_time as common
        mtip32xx: Add new bitwise flag 'dd_flag'
        mtip32xx: fix error handling in mtip_init()
        virtio-blk: Call revalidate_disk() upon online disk resize
        xen/blkback: Make optional features be really optional.
        xen/blkback: Squash the discard support for 'file' and 'phy' type.
        mtip32xx: fix incorrect value set for drv_cleanup_done, and re-initialize and start port in mtip_restart_port()
        cciss: Fix scsi tape io with more than 255 scatter gather elements
        cciss: Initialize scsi host max_sectors for tape drive support
        xen-blkfront: make blkif_io_lock spinlock per-device
        xen/blkfront: don't put bdev right after getting it
        xen-blkfront: use bitmap_set() and bitmap_clear()
        xen/blkback: Enable blkback on HVM guests
        xen/blkback: use grant-table.c hypercall wrappers
      c104f1fa
    • Linus Torvalds's avatar
      Merge branch 'for-3.4/core' of git://git.kernel.dk/linux-block · d8dd0b6d
      Linus Torvalds authored
      Pull block core bits from Jens Axboe:
       "It's a nice and quiet round this time, since most of the tricky stuff
        has been pushed to 3.5 to give it more time to mature.  After a few
        hectic block IO core changes for 3.3 and 3.2, I'm quite happy with a
        slow round.
      
        Really minor stuff in here, the only real functional change is making
        the auto-unplug threshold a per-queue entity.  The threshold is set so
        that it's low enough that we don't hold off IO for too long, but still
        big enough to get a nice benefit from the batched insert (and hence
        queue lock cost reduction).  For raid configurations, this currently
        breaks down."
      
      * 'for-3.4/core' of git://git.kernel.dk/linux-block:
        block: make auto block plug flush threshold per-disk based
        Documentation: Add sysfs ABI change for cfq's target latency.
        block: Make cfq_target_latency tunable through sysfs.
        block: use lockdep_assert_held for queue locking
        block: blk_alloc_queue_node(): use caller's GFP flags instead of GFP_KERNEL
      d8dd0b6d
    • Kevin Hilman's avatar
      cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS · 2d59dcfb
      Kevin Hilman authored
      The OMAP driver needs a 'depends on ARCH_OMAP2PLUS' since it only
      builds for OMAP2+ platforms.
      
      This 'depends on' was in the original patch from Russell King, but was
      erroneously removed by me when making this option user-selectable in
      commit b09db45c
      
       (cpufreq: OMAP driver depends CPUfreq tables.)  This
      patch remedies that.
      
      Apologies to Russell King for breaking his originally working patch.
      
      Also, thanks to Grazvydas Ignotas for reporting the same problem.
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Grazvydas Ignotas <notasas@gmail.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2d59dcfb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 7d93101f
      Linus Torvalds authored
      Pull sparc fixes from David Miller.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Eliminate obsolete __handle_softirq() function
        sparc64: Fix bootup crash on sun4v.
      7d93101f
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 6e117339
      Linus Torvalds authored
      Pull hwmon patches from Guenter Roeck:
       "Fix build warnings in four drivers"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (pmbus_core) Fix compiler warning
        hwmon: (smsc47m1) Fix compiler warning
        hwmon: (acpi_power_meter) Fix compiler warning seen in some configurations
        hwmon: (smsc47b397) Fix compiler warning
      6e117339
    • Linus Torvalds's avatar
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6 · 461c1491
      Linus Torvalds authored
      Pull GPIO bug fixes from Grant Likely:
       "Miscellaneous bug fixes to GPIO drivers and for a corner case in the
        gpio device tree parsing code."
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6:
        gpio/exynos: Fix compiler warning in gpio-samsung.c file
        gpio: Fix range check in of_gpio_simple_xlate()
        gpio: Fix uninitialized variable bit in adp5588_irq_handler
        gpio/sodaville: Convert sodaville driver to new irqdomain API
      461c1491
    • Linus Torvalds's avatar
      Merge tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6 · cf7d8a55
      Linus Torvalds authored
      Pull SPI bug fixes from Grant Likely:
       "Miscellaneous driver bug fixes.  No major changes in this branch."
      
      * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6:
        spi/imx: prevent NULL pointer dereference in spi_imx_probe()
        spi/imx: mark base member in spi_imx_data as __iomem
        spi/mpc83xx: fix NULL pdata dereference bug
        spi/davinci: Fix DMA API usage in davinci
        spi/pL022: include types.h to remove compilation warnings
      cf7d8a55
    • Paul E. McKenney's avatar
      sparc64: Eliminate obsolete __handle_softirq() function · 3d3eeb2e
      Paul E. McKenney authored
      
      
      The invocation of softirq is now handled by irq_exit(), so there is no
      need for sparc64 to invoke it on the trap-return path.  In fact, doing so
      is a bug because if the trap occurred in the idle loop, this invocation
      can result in lockdep-RCU failures.  The problem is that RCU ignores idle
      CPUs, and the sparc64 trap-return path to the softirq handlers fails to
      tell RCU that the CPU must be considered non-idle while those handlers
      are executing.  This means that RCU is ignoring any RCU read-side critical
      sections in those handlers, which in turn means that RCU-protected data
      can be yanked out from under those read-side critical sections.
      
      The shiny new lockdep-RCU ability to detect RCU read-side critical sections
      that RCU is ignoring located this problem.
      
      The fix is straightforward: Make sparc64 stop manually invoking the
      softirq handlers.
      Reported-by: default avatarMeelis Roos <mroos@linux.ee>
      Suggested-by: default avatarDavid Miller <davem@davemloft.net>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: default avatarMeelis Roos <mroos@linux.ee>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3d3eeb2e
    • David S. Miller's avatar
      sparc64: Fix bootup crash on sun4v. · 9e0daff3
      David S. Miller authored
      
      
      The DS driver registers as a subsys_initcall() but this can be too
      early, in particular this risks registering before we've had a chance
      to allocate and setup module_kset in kernel/params.c which is
      performed also as a subsyts_initcall().
      
      Register DS using device_initcall() insteal.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Cc: stable@vger.kernel.org
      9e0daff3
    • David Brown's avatar
      ARM: msm: Fix section mismatches in proc_comm.c · af33eadc
      David Brown authored
      The change
          commit 4416e9eb
      
      
          Author: Gregory Bean <gbean@codeaurora.org>
          Date:   Wed Jul 28 10:22:12 2010 -0700
      
              arm: msm: Fix section mismatch in smd.c.
      
      fixes a section mismatch between the board file and the smd driver's
      probe function, however, it misses the additional mismatches between
      the probe function and some routines it calls.  Fix these up as well.
      Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
      af33eadc
    • David Brown's avatar
      video: msm: Fix section mismatches in mddi.c · e89c0e43
      David Brown authored
      The change
          commit 461cbe77
      
      
          Author: Gregory Bean <gbean@codeaurora.org>
          Date:   Wed Jul 28 10:22:13 2010 -0700
      
              video: msm: Fix section mismatch in mddi.c.
      
      fixes a section mismatch between the board file and the driver's probe
      function, however, it misses the additional mismatches between the
      probe function and some routines it calls.  Fix these up as well.
      Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
      e89c0e43
    • Daniel Walker's avatar
      arm: msm: trout: fix compile failure · 204241c2
      Daniel Walker authored
      Fixes the following warnings,
      
      arch/arm/mach-msm/board-trout.c: In function 'trout_init':
      arch/arm/mach-msm/board-trout.c:71: error: 'system_rev' undeclared (first use in this function)
      arch/arm/mach-msm/board-trout.c:71: error: (Each undeclared identifier is reported only once
      arch/arm/mach-msm/board-trout.c:71: error: for each function it appears in.)
      
      and
      
      arch/arm/mach-msm/board-trout-panel.c: In function 'trout_init_panel':
      arch/arm/mach-msm/board-trout-panel.c:267: error: 'system_rev' undeclared (first use in this function)
      arch/arm/mach-msm/board-trout-panel.c:267: error: (Each undeclared identifier is reported only once
      arch/arm/mach-msm/board-trout-panel.c:267: error: for each function it appears in.)
      
      This came in with the following commit 9f97da78
      
      
      which removes asm/system.h
      Signed-off-by: default avatarDaniel Walker <dwalker@fifo99.com>
      cc: David Howells <dhowells@redhat.com>
      cc: Bryan Huntsman <bryanh@codeaurora.org>
      cc: linux-arm-msm@vger.kernel.org
      cc: linux-arm-kernel@lists.infradead.org
      Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
      204241c2
    • Daniel Walker's avatar
      arm: msm: halibut: remove unneeded fixup · 1c07ae43
      Daniel Walker authored
      
      
      This old fixup causes a build failure, so I remove it just like in
      trout.
      Signed-off-by: default avatarDaniel Walker <dwalker@fifo99.com>
      Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
      1c07ae43
    • Chris Metcalf's avatar
      irq_work: fix compile failure on tile from missing include · ef1f0982
      Chris Metcalf authored
      
      
      Building with IRQ_WORK configured results in
      
      kernel/irq_work.c: In function ‘irq_work_run’:
      kernel/irq_work.c:110: error: implicit declaration of function ‘irqs_disabled’
      
      The appropriate header just needs to be included.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      ef1f0982
    • Paul Gortmaker's avatar
      ia64: populate the cmpxchg header with appropriate code · 85f8f775
      Paul Gortmaker authored
      commit 93f37888
      
      
      
          "Fix ia64 build errors (fallout from system.h disintegration)"
      
      introduced arch/ia64/include/asm/cmpxchg.h as a temporary
      build fix and stated:
      
          "... leave the migration of xchg() and cmpxchg() to this new
           header file for a future patch."
      
      Migrate the appropriate chunks from asm/intrinsics.h and fix
      the whitespace issues in the migrated chunk.
      
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: David Howells <dhowells@redhat.com>
      Acked-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      85f8f775
    • Paul Gortmaker's avatar
      alpha: fix build failures from system.h dismemberment · 5ba840f9
      Paul Gortmaker authored
      commit ec221208
      
          "Disintegrate asm/system.h for Alpha"
      
      combined with commit b4816afa
      
      
      
          "Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h"
      
      introduced the concept of asm/cmpxchg.h but the alpha arch
      never got one.  Fork the cmpxchg content out of the asm/atomic.h
      file to create one.
      
      Some minor whitespace fixups were done on the block of code that
      created the new file.
      
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: David Howells <dhowells@redhat.com>
      Acked-by: default avatarMatt Turner <mattst88@gmail.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      5ba840f9
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo' of... · a7ca0803
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull various perf tooling fixes from Arnaldo Carvalho de Melo.
      a7ca0803
  4. 12 Apr, 2012 4 commits