1. 26 Sep, 2012 8 commits
    • Mikulas Patocka's avatar
      dm verity: fix overflow check · 1d55f6bc
      Mikulas Patocka authored
      This patch fixes sector_t overflow checking in dm-verity.
      
      Without this patch, the code checks for overflow only if sector_t is
      smaller than long long, not if sector_t and long long have the same size.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      1d55f6bc
    • Mike Snitzer's avatar
      dm thin: fix discard support for data devices · 0424caa1
      Mike Snitzer authored
      The discard limits that get established for a thin-pool or thin device
      may be incompatible with the pool's data device.  Avoid this by checking
      the discard limits of the pool's data device.  If an incompatibility is
      found then the pool's 'discard passdown' feature is disabled.
      
      Change thin_io_hints to ensure that a thin device always uses the same
      queue limits as its pool device.
      
      Introduce requested_pf to track whether or not the table line originally
      contained the no_discard_passdown flag and use this directly for table
      output.  We prepare the correct setting for discard_passdown directly in
      bind_control_target (called from pool_io_hints) and store it in
      adjusted_pf rather than waiting until we have access to pool->pf in
      pool_preresume.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      0424caa1
    • Mike Snitzer's avatar
      dm thin: tidy discard support · 9bc142dd
      Mike Snitzer authored
      A little thin discard code refactoring to make the next patch (dm thin:
      fix discard support for data devices) more readable.
      Pull out a couple of functions (and uses bools instead of unsigned for
      features).
      
      No functional changes.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      9bc142dd
    • Mike Snitzer's avatar
      dm: retain table limits when swapping to new table with no devices · 3ae70656
      Mike Snitzer authored
      Add a safety net that will re-use the DM device's existing limits in the
      event that DM device has a temporary table that doesn't have any
      component devices.  This is to reduce the chance that requests not
      respecting the hardware limits will reach the device.
      
      DM recalculates queue limits based only on devices which currently exist
      in the table.  This creates a problem in the event all devices are
      temporarily removed such as all paths being lost in multipath.  DM will
      reset the limits to the maximum permissible, which can then assemble
      requests which exceed the limits of the paths when the paths are
      restored.  The request will fail the blk_rq_check_limits() test when
      sent to a path with lower limits, and will be retried without end by
      multipath.  This became a much bigger issue after v3.6 commit fe86cdce
      ("block: do not artificially constrain max_sectors for stacking
      drivers").
      Reported-by: default avatarDavid Jeffery <djeffery@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      3ae70656
    • Milan Broz's avatar
      dm table: clear add_random unless all devices have it set · c3c4555e
      Milan Broz authored
      Always clear QUEUE_FLAG_ADD_RANDOM if any underlying device does not
      have it set. Otherwise devices with predictable characteristics may
      contribute entropy.
      
      QUEUE_FLAG_ADD_RANDOM specifies whether or not queue IO timings
      contribute to the random pool.
      
      For bio-based targets this flag is always 0 because such devices have no
      real queue.
      
      For request-based devices this flag was always set to 1 by default.
      
      Now set it according to the flags on underlying devices. If there is at
      least one device which should not contribute, set the flag to zero: If a
      device, such as fast SSD storage, is not suitable for supplying entropy,
      a request-based queue stacked over it will not be either.
      
      Because the checking logic is exactly same as for the rotational flag,
      share the iteration function with device_is_nonrot().
      Signed-off-by: default avatarMilan Broz <mbroz@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      c3c4555e
    • Mike Snitzer's avatar
      dm: handle requests beyond end of device instead of using BUG_ON · ba1cbad9
      Mike Snitzer authored
      The access beyond the end of device BUG_ON that was introduced to
      dm_request_fn via commit 29e4013d ("dm: implement
      REQ_FLUSH/FUA support for request-based dm") was an overly
      drastic (but simple) response to this situation.
      
      I have received a report that this BUG_ON was hit and now think
      it would be better to use dm_kill_unmapped_request() to fail the clone
      and original request with -EIO.
      
      map_request() will assign the valid target returned by
      dm_table_find_target to tio->ti.  But when the target
      isn't valid tio->ti is never assigned (because map_request isn't
      called); so add a check for tio->ti != NULL to dm_done().
      Reported-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarJun'ichi Nomura <j-nomura@ce.jp.nec.com>
      Cc: stable@vger.kernel.org # v2.6.37+
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      ba1cbad9
    • Mike Snitzer's avatar
      dm mpath: only retry ioctl when no paths if queue_if_no_path set · 7ba10aa6
      Mike Snitzer authored
      When there are no paths and multipath receives an ioctl, it waits until
      a path becomes available.  This behaviour is incorrect if the
      "queue_if_no_path" setting was not specified, as then the ioctl should
      be rejected immediately, which this patch now does.
      
      commit 35991652 ("dm mpath: allow ioctls to trigger pg init") should
      have checked if queue_if_no_path was configured before queueing IO.
      
      Checking for the queue_if_no_path feature, like is done in map_io(),
      allows the following table load to work without blocking in the
      multipath_ioctl retry loop:
      
        echo "0 1024 multipath 0 0 0 0" | dmsetup create mpath_nodevs
      
      Without this fix the multipath_ioctl will block with the following stack
      trace:
      
        blkid           D 0000000000000002     0 23936      1 0x00000000
         ffff8802b89e5cd8 0000000000000082 ffff8802b89e5fd8 0000000000012440
         ffff8802b89e4010 0000000000012440 0000000000012440 0000000000012440
         ffff8802b89e5fd8 0000000000012440 ffff88030c2aab30 ffff880325794040
        Call Trace:
         [<ffffffff814ce099>] schedule+0x29/0x70
         [<ffffffff814cc312>] schedule_timeout+0x182/0x2e0
         [<ffffffff8104dee0>] ? lock_timer_base+0x70/0x70
         [<ffffffff814cc48e>] schedule_timeout_uninterruptible+0x1e/0x20
         [<ffffffff8104f840>] msleep+0x20/0x30
         [<ffffffffa0000839>] multipath_ioctl+0x109/0x170 [dm_multipath]
         [<ffffffffa06bfb9c>] dm_blk_ioctl+0xbc/0xd0 [dm_mod]
         [<ffffffff8122a408>] __blkdev_driver_ioctl+0x28/0x30
         [<ffffffff8122a79e>] blkdev_ioctl+0xce/0x730
         [<ffffffff811970ac>] block_ioctl+0x3c/0x40
         [<ffffffff8117321c>] do_vfs_ioctl+0x8c/0x340
         [<ffffffff81166293>] ? sys_newfstat+0x33/0x40
         [<ffffffff81173571>] sys_ioctl+0xa1/0xb0
         [<ffffffff814d70a9>] system_call_fastpath+0x16/0x1b
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org # 3.5+
      Acked-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      7ba10aa6
    • Mike Snitzer's avatar
      dm thin: do not set discard_zeroes_data · 307615a2
      Mike Snitzer authored
      The dm thin pool target claims to support the zeroing of discarded
      data areas.  This turns out to be incorrect when processing discards
      that do not exactly cover a complete number of blocks, so the target
      must always set discard_zeroes_data_unsupported.
      
      The thin pool target will zero blocks when they are allocated if the
      skip_block_zeroing feature is not specified.  The block layer
      may send a discard that only partly covers a block.  If a thin pool
      block is partially discarded then there is no guarantee that the
      discarded data will get zeroed before it is accessed again.
      Due to this, thin devices cannot claim discards will always zero data.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Cc: stable@vger.kernel.org # 3.4+
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      307615a2
  2. 24 Sep, 2012 1 commit
  3. 23 Sep, 2012 8 commits
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 56bae802
      Linus Torvalds authored
      Pull kbuild fixes from Michal Marek:
       "There are two more kbuild fixes for 3.6.
      
        One fixes a race between x86's archscripts target and the rule
        (re)building scripts/basic/fixdep.  The second is a fix for the
        previous attempt at fixing make firmware_install with make 3.82.
        This new solution should work with any version of GNU make"
      
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        x86/kbuild: archscripts depends on scripts_basic
        firmware: fix directory creation rule matching with make 3.80
      56bae802
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 0737c8d7
      Linus Torvalds authored
      Pull hwmon subsystem fixes from Jean Delvare.
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (fam15h_power) Tweak runavg_range on resume
        hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug
        hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug
      0737c8d7
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 0bf7a705
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of four essential fixes: two oops related (bnx2i,
        virtio-scsi), one data corruption related (hpsa) and one failure to
        boot due to interrupt routing issues (mpt2ss).
      
        Signed-off-by: James Bottomley <JBottomley@Parallels.com>"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] hpsa: fix handling of protocol error
        [SCSI] mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA
        [SCSI] bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload
        [SCSI] scsi: virtio-scsi: Fix address translation failure of HighMem pages used by sg list
      0bf7a705
    • Shaun Ruffell's avatar
      edac_mc: edac_mc_free() cannot assume mem_ctl_info is registered in sysfs. · faa2ad09
      Shaun Ruffell authored
      Fix potential NULL pointer dereference in edac_unregister_sysfs() on
      system boot introduced in 3.6-rc1.
      
      Since commit 7a623c03 ("edac: rewrite the sysfs code to use struct
      device") edac_mc_alloc() no longer initializes embedded kobjects in
      struct mem_ctl_info.  Therefore edac_mc_free() can no longer simply
      decrement a kobject reference count to free the allocated memory unless
      the memory controller driver module had also called edac_mc_add_mc().
      
      Now edac_mc_free() will check if the newly embedded struct device has
      been registered with sysfs before using either the standard device
      release functions or freeing the data structures itself with logic
      pulled out of the error path of edac_mc_alloc().
      
      The BUG this patch resolves for me:
      
        BUG: unable to handle kernel NULL pointer dereference at   (null)
        EIP is at __wake_up_common+0x1a/0x6a
        Process modprobe (pid: 933, ti=f3dc6000 task=f3db9520 task.ti=f3dc6000)
        Call Trace:
          complete_all+0x3f/0x50
          device_pm_remove+0x23/0xa2
          device_del+0x34/0x142
          edac_unregister_sysfs+0x3b/0x5c [edac_core]
          edac_mc_free+0x29/0x2f [edac_core]
          e7xxx_probe1+0x268/0x311 [e7xxx_edac]
          e7xxx_init_one+0x56/0x61 [e7xxx_edac]
          local_pci_probe+0x13/0x15
        ...
      
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Cc: Shaohui Xie <Shaohui.Xie@freescale.com>
      Signed-off-by: default avatarShaun Ruffell <sruffell@digium.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      faa2ad09
    • Fengguang Wu's avatar
      edac_mc: fix messy kfree calls in the error path · ef6e7816
      Fengguang Wu authored
      coccinelle warns about:
      
      + drivers/edac/edac_mc.c:429:9-23: ERROR: reference preceded by free on line 429
      
         421         if (mci->csrows) {
       > 422                 for (chn = 0; chn < tot_channels; chn++) {
         423                         csr = mci->csrows[chn];
         424                         if (csr) {
       > 425                                 for (chn = 0; chn < tot_channels; chn++)
         426                                          kfree(csr->channels[chn]);
         427                                  kfree(csr);
         428                          }
       > 429                          kfree(mci->csrows[i]);
         430                  }
         431                  kfree(mci->csrows);
         432          }
      
      and that code block seem to mess things up in several ways (double free, memory
      leak, out-of-bound reads etc.):
      
      L422: The iterator "chn" and bound "tot_channels" are totally wrong. Should be
            "row" and "tot_csrows" respectively. Which means either memory leak, or
            out-of-bound reads (which if does not trigger an immediate page fault
            error, will further lead to kfree() on random addresses).
      
      L425: The inner loop is reusing the same iterator "chn" as the outer loop,
            which could lead to premature end of the outer loop, and hence memory leak.
      
      L429: The array index 'i' in mci->csrows[i] is a temporary value used in
            previous loops, and won't change at all in the current loop. Which
            means either out-of-bound read and possibly kfree(random number), or the
            same mci->csrows[i] get freed once and again, and possibly double free
            for the kfree(csr) in L427.
      
      L426/L427: a kfree(csr->channels) is needed in between to avoid leaking the memory.
      
      The buggy code was introduced by commit de3910eb ("edac: change the mem
      allocation scheme to make Documentation/kobject.txt happy") in the 3.6-rc1
      merge window. Fix it by freeing up resources in this order:
      
        free csrows[i]->channels[j]
        free csrows[i]->channels
        free csrows[i]
        free csrows
      
      CC: Mauro Carvalho Chehab <mchehab@redhat.com>
      CC: Shaun Ruffell <sruffell@digium.com>
      Signed-off-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef6e7816
    • Andreas Herrmann's avatar
      hwmon: (fam15h_power) Tweak runavg_range on resume · 5f0ecb90
      Andreas Herrmann authored
      The quirk introduced with commit
      00250ec9 (hwmon: fam15h_power: fix
      bogus values with current BIOSes) is not only required during driver
      load but also when system resumes from suspend. The BIOS might set the
      previously recommended (but unsuitable) initilization value for the
      running average range register during resume.
      Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann3@amd.com>
      Tested-by: default avatarAndreas Hartmann <andihartmann@01019freenet.de>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: stable@vger.kernel.org # 3.0+
      5f0ecb90
    • Silas Boyd-Wickizer's avatar
      hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug · 641f1456
      Silas Boyd-Wickizer authored
      coretemp_init loops with for_each_online_cpu, adding platform_devices
      and sysfs interfaces, then calls register_hotcpu_notifier.  There is a
      race if a CPU is offlined or onlined after the loop, but before
      register_hotcpu_notifier.  The race might result in the absence of a
      platform_device+sysfs interface for an online CPU, or the presence of
      a platform_device+sysfs interface for an offline CPU.  A similar race
      occurs during coretemp_exit, after the module calls
      unregister_hotcpu_notifier, but before it unregisters all devices, a
      CPU might offline and a device for an offline CPU will exist for a
      short while.
      
      This fix surrounds for_each_online_cpu and register_hotcpu_notifier
      with get_online_cpus+put_online_cpus; and surrounds
      unregister_hotcpu_notifier and device unregistering with
      get_online_cpus+put_online_cpus.
      
      Build tested.
      Signed-off-by: default avatarSilas Boyd-Wickizer <sbw@mit.edu>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      641f1456
    • Silas Boyd-Wickizer's avatar
      hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug · 1ec3ddfd
      Silas Boyd-Wickizer authored
      via_cputemp_init loops with for_each_online_cpu, adding
      platform_devices, then calls register_hotcpu_notifier.  If a CPU is
      offlined between the loop and register_hotcpu_notifier, then later
      onlined, via_cputemp_device_add will attempt to add platform devices
      with the same ID.  A similar race occurs during via_cputemp_exit,
      after the module calls unregister_hotcpu_notifier, a CPU might offline
      and a device will exist for a CPU that is offline.
      
      This fix surrounds for_each_online_cpu and register_hotcpu_notifier
      with get_online_cpus+put_online_cpus; and surrounds
      unregister_hotcpu_notifier and device unregistering with
      get_online_cpus+put_online_cpus.
      
      Build tested.
      Signed-off-by: default avatarSilas Boyd-Wickizer <sbw@mit.edu>
      Acked-by: default avatarHarald Welte <laforge@gnumonks.org>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      1ec3ddfd
  4. 22 Sep, 2012 6 commits
  5. 21 Sep, 2012 17 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · abef3bd7
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "More bug fixes, nothing gets past these guys"
      
       1) More kernel info leaks found by Mathias Krause, this time in the
          IPSEC configuration layers.
      
       2) When IPSEC policies change, we do not properly make sure that cached
          routes (which could now be stale) throughout the system will be
          revalidated.  Fix this by generalizing the generation count
          invalidation scheme used by ipv4.  From Nicolas Dichtel.
      
       3) When repairing TCP sockets, we need to allow to restore not just the
          send window scale, but the receive one too.  Extend the existing
          interface to achieve this in a backwards compatible way.  From
          Andrey Vagin.
      
       4) A fix for FCOE scatter gather feature validation erroneously caused
          scatter gather to be disabled for things like AOE too.  From Ed L
          Cashin.
      
       5) Several cases of mishandling of error pointers, from Mathias Krause,
          Wei Yongjun, and Devendra Naga.
      
       6) Fix gianfar build, from Richard Cochran.
      
       7) CAP_NET_* failures should return -EPERM not -EACCES, from Zhao
          Hongjiang.
      
       8) Hardware reset fix in janz-ican3 CAN driver, from Ira W Snyder.
      
       9) Fix oops during rmmod in ti_hecc CAN driver, from Marc Kleine-Budde.
      
      10) The removal of the conditional compilation of the clk support code
          in the stmmac driver broke things.  This is because the interfaces
          used are the ones that don't also perform the enable/disable of the
          clk.  Fix from Stefan Roese.
      
      11) The QFQ packet scheduler can record out of range virtual start
          times, resulting later in misbehavior and even crashes.  Fix from
          Paolo Valente.
      
      12) If MSG_WAITALL is used with IOAT DMA under TCP, we can wedge the
          receiver when the advertised receive window goes to zero.  Detect
          this case and force the processing of the IOAT DMA queue when it
          happens to avoid getting stuck.  Fix from Michal Kubecek.
      
      13) batman-adv assumes that test_bit() returns only 0 or 1, but this is
          not true for x86 (which returns -1 or 0, via the 'sbb' instruction).
          Fix from Linus Lussing.
      
      14) Fix small packet corruption in e1000, from Tushar Dave.
      
      15) make_blackhole() in the IPSEC policy code can do one read unlock too
          many, fix from Li RongQing.
      
      16) The new tcp_try_coalesce() code introduced a bug in TCP URG
          handling, fix from Eric Dumazet.
      
      17) Fix memory leak in __netif_receive_skb() when doing zerocopy and
          when hit an OOM condition.  From Michael S Tsirkin.
      
      18) netxen blindly deferences pdev->bus->self, which is not guarenteed
          to be non-NULL.  Fix from Nikolay Aleksandrov.
      
      19) Fix a performance regression caused by mistakes in ipv6 checksum
          validation in the bnx2x driver, fix from Michal Schmidt.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (45 commits)
        net/stmmac: Use clk_prepare_enable and clk_disable_unprepare
        net: change return values from -EACCES to -EPERM
        net/irda: sh_sir: fix return value check in sh_sir_set_baudrate()
        stmmac: fix return value check in stmmac_open_ext_timer()
        gianfar: fix phc index build failure
        ipv6: fix return value check in fib6_add()
        bnx2x: remove false warning regarding interrupt number
        can: ti_hecc: fix oops during rmmod
        can: janz-ican3: fix support for older hardware revisions
        net: do not disable sg for packets requiring no checksum
        aoe: assert AoE packets marked as requiring no checksum
        at91ether: return PTR_ERR if call to clk_get fails
        xfrm_user: don't copy esn replay window twice for new states
        xfrm_user: ensure user supplied esn replay window is valid
        xfrm_user: fix info leak in copy_to_user_tmpl()
        xfrm_user: fix info leak in copy_to_user_policy()
        xfrm_user: fix info leak in copy_to_user_state()
        xfrm_user: fix info leak in copy_to_user_auth()
        net: qmi_wwan: adding Huawei E367, ZTE MF683 and Pantech P4200
        tcp: restore rcv_wscale in a repair mode (v2)
        ...
      abef3bd7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 6219844e
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
      1) Debugging builds on 32-bit sparc need to handle the R_SPARC_DISP32
         relocation, not just 64-bit sparc.  From Andreas Larsson.
      
      2) Wei Yongjun noticed that module_alloc() on sparc can return an
         error pointer, but that's not allowed.  module_alloc() should
         return only a valid pointer, or NULL.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: fix the return value of module_alloc()
        sparc32: Enable the relocation target R_SPARC_DISP32 for sparc32
      6219844e
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d108907
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Small fixlets"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/init.c: Fix devmem_is_allowed() off by one
        x86/kconfig: Remove outdated reference to Intel CPUs in CONFIG_SWIOTLB
      9d108907
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 519b3b74
      Linus Torvalds authored
      Pull timer fix from Ingo Molnar:
       "One more timekeeping fix for v3.6"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        time: Fix timeekeping_get_ns overflow on 32bit systems
      519b3b74
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 18f5600b
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Small perf fixlets"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tracing: Don't call page_to_pfn() if page is NULL
        perf/x86: Fix Intel Ivy Bridge support
        perf/x86/ibs: Check syscall attribute flags
        perf/x86: Export Sandy Bridge uncore clockticks event in sysfs
      18f5600b
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.6-rc7' of git://oss.sgi.com/xfs/xfs · 789f95b7
      Linus Torvalds authored
      Pull xfs bugfixes from Ben Myers:
       - fix a regression related to xfs_sync_worker racing with unmount.
       - fix a race while discarding xfs buffers.
      
      * tag 'for-linus-v3.6-rc7' of git://oss.sgi.com/xfs/xfs:
        xfs: stop the sync worker before xfs_unmountfs
        xfs: fix race while discarding buffers [V4]
      789f95b7
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 36a21fe6
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Fixes for big 3 drivers:
      
        nouveau: revert earlier MBP fix, put a dmi based MBP fix in its place
        (fixes a regression we found on some Dell eDP panels doing some
        internal testing)
      
        radeon: revert pll fixes, real fix is too invasive, fix scratch leak
      
        intel: 3 minor fixes, one for HDMI audio."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/nouveau: add dmi quirk for gpio reset
        drm/radeon: Prevent leak of scratch register on resume from suspend
        Revert "drm/nv50-/gpio: initialise to vbios defaults during init"
        Revert "drm/radeon: rework pll selection (v3)"
        drm/i915: HDMI - Clear Audio Enable bit for Hot Plug
        drm/i915: Reduce a pin-leak BUG into a WARN
        drm/i915: enable lvds pin pairs before dpll on gen2
      36a21fe6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 6551d6fe
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "Updates for the input subsystem.  Just a few driver updates mostly
        dealing with recent regressions."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: edt-ft5x06 - return -EFAULT on copy_to_user() error
        Input: sentelic - filter out erratic movement when lifting finger
        Input: ambakmi - [un]prepare clocks when enabling amd disabling
        Input: i8042 - disable mux on Toshiba C850D
        Revert "input: ab8500-ponkey: Create AB8500 domain IRQ mapping"
        Input: imx_keypad - fix missing clk conversions
        Input: usbtouchscreen - initialize eGalax devices
      6551d6fe
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 868f480b
      Linus Torvalds authored
      Pull watchdog fixes from Wim Van Sebroeck:
       "Fix a kdump issue in hpwdt and a possible NULL dereference."
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: move the dereference below the NULL test
        hpwdt: Fix kdump issue in hpwdt
      868f480b
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 6d77987f
      Linus Torvalds authored
      Pull hwmon fixes from Guenter Roeck:
       - Add missing 'name' sysfs attributes to ad7314 and ads7871 drivers
       - Bump maximum wait time for applesmc driver (again)
       - Fix build warning seen with W=1 in include/linux/kernel.h, introduced
         with commit b6d86d3d ("Fix DIV_ROUND_CLOSEST to support negative
         dividends")
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        linux/kernel.h: Fix warning seen with W=1 due to change in DIV_ROUND_CLOSEST
        hwmon: (applesmc) Bump max wait
        hwmon: (ad7314) Add 'name' sysfs attribute
        hwmon: (ads7871) Add 'name' sysfs attribute
      6d77987f
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 06b050eb
      Linus Torvalds authored
      Pull slave-dmaengine fixes from Vinod Koul:
       "There are two trivial fixes in pl330 driver and two in at_hdmac
        driver."
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        DMA: PL330: Check the pointer returned by kzalloc
        DMA: PL330: Fix potential NULL pointer dereference in pl330_submit_req()
        dmaengine: at_hdmac: check that each sg data length is non-null
        dmaengine: at_hdmac: fix comment in atc_prep_slave_sg()
      06b050eb
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 63365013
      Linus Torvalds authored
      Pull arm-soc bug fixes from Olof Johansson:
       "A couple of samsung clock locking fixes, at91 device tree gpio
        configuration fix and a couple more for shmobile and i.MX.
      
        All small targeted fixes."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM i.MX25: Make timer irq work again
        ARM: imx: armadillo5x0: Fix illegal register access
        ARM: shmobile: kzm9g: bugfix: correct mmcif interrupt settings
        ARM: SAMSUNG: Use spin_lock_{irqsave,irqrestore} in clk_set_rate
        ARM: at91: fix missing #interrupt-cells on gpio-controller
        ARM: SAMSUNG: use spin_lock_irqsave() in clk_set_parent
      63365013
    • Wei Yongjun's avatar
      sparc: fix the return value of module_alloc() · a9e8d1a6
      Wei Yongjun authored
      In case of error, function module_alloc() in other platform never
      returns ERR_PTR(), and all of the user only check for NULL, so
      we'd better return NULL instead of ERR_PTR().
      
      dpatch engine is used to auto generated this patch.
      (https://github.com/weiyj/dpatch)
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a9e8d1a6
    • Andreas Larsson's avatar
      sparc32: Enable the relocation target R_SPARC_DISP32 for sparc32 · dfa520af
      Andreas Larsson authored
      GNU Binutils 2.20.1 generates .eh_frame sections that uses R_SPARC_DISP32.
      Signed-off-by: default avatarAndreas Larsson <andreas@gaisler.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dfa520af
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 267b50fe
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "Bug fixes for 3.6-rc7, including some important patches for large page
        related memory management issues."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/dasd: fix read unit address configuration loop
        s390/dasd: fix pathgroup race
        s390/mm: fix user access page-table walk code
        s390/hwcaps: do not report high gprs for 31 bit kernel
        s390/cio: invalidate cdev pointer before deregistration
        s390/cio: fix IO subchannel event race
        s390/dasd: move wake_up call
        s390/hugetlb: use direct TLB flushing for hugetlbfs pages
        s390/mm: fix deadlock in unmap_hugepage_range()
      267b50fe
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.6-rc6-tag' of... · 8ca7de91
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.6-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen bug-fixes from Konrad Rzeszutek Wilk:
       - Fix M2P batching re-using the incorrect structure field.
      
         In v3.5 we added batching for M2P override (Machine Frame Number ->
         Physical Frame Number), but the original MFN was saved in an
         incorrect structure - and we would oops/restore when restoring with
         the old MFN.
      
       - Disable BIOS SMP MP table search.
      
         A bootup issue that we had ignored until we found that on DL380 G6 it
         was needed.
      
      * tag 'stable/for-linus-3.6-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/boot: Disable BIOS SMP MP table search.
        xen/m2p: do not reuse kmap_op->dev_bus_addr
      8ca7de91
    • Stefan Roese's avatar
      net/stmmac: Use clk_prepare_enable and clk_disable_unprepare · a630844d
      Stefan Roese authored
      This patch fixes an issue introduced by commit ID 6a81c26f
      [net/stmmac: remove conditional compilation of clk code], which
      switched from the internal stmmac_clk_{en}{dis}able calls to
      clk_{en}{dis}able. By this, calling clk_prepare and clk_unprepare
      was removed.
      
      clk_{un}prepare is mandatory for platforms using common clock framework.
      Since these drivers are used by SPEAr platform, which supports common
      clock framework, add clk_{un}prepare() support for them. Otherwise
      the clocks are not correctly en-/disabled and ethernet support doesn't
      work.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Viresh Kumar <viresh.kumar@linaro.org>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a630844d