Skip to content
  1. Aug 16, 2014
    • Linus Torvalds's avatar
      Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · e64df3eb
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "These are all fixes I'd like to get out to a broader audience.
      
        The biggest of the bunch is Mark's quota fix, which is also in the
        SUSE kernel, and makes our subvolume quotas dramatically more
        accurate.
      
        I've been running xfstests with these against your current git
        overnight, but I'm queueing up longer tests as well"
      
      * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        btrfs: disable strict file flushes for renames and truncates
        Btrfs: fix csum tree corruption, duplicate and outdated checksums
        Btrfs: Fix memory corruption by ulist_add_merge() on 32bit arch
        Btrfs: fix compressed write corruption on enospc
        btrfs: correctly handle return from ulist_add
        btrfs: qgroup: account shared subtrees during snapshot delete
        Btrfs: read lock extent buffer while walking backrefs
        Btrfs: __btrfs_mod_ref should always use no_quota
        btrfs: adjust statfs calculations according to raid profiles
      e64df3eb
    • Linus Torvalds's avatar
      Merge tag 'locks-v3.17-2' of git://git.samba.org/jlayton/linux · 53b95d63
      Linus Torvalds authored
      Pull file locking bugfixes from Jeff Layton:
       "Most of these patches are to fix a long-standing regression that crept
        in when the BKL was removed from the file-locking code.  The code was
        converted to use a conventional spinlock, but some fl_release_private
        ops can block and you can end up sleeping inside the lock.
      
        There's also a patch to make /proc/locks show delegations as 'DELEG'"
      
      * tag 'locks-v3.17-2' of git://git.samba.org/jlayton/linux:
        locks: update Locking documentation to clarify fl_release_private behavior
        locks: move locks_free_lock calls in do_fcntl_add_lease outside spinlock
        locks: defer freeing locks in locks_delete_lock until after i_lock has been dropped
        locks: don't reuse file_lock in __posix_lock_file
        locks: don't call locks_release_private from locks_copy_lock
        locks: show delegations as "DELEG" in /proc/locks
      53b95d63
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-next · da06df54
      Linus Torvalds authored
      Pull aio updates from Ben LaHaise.
      
      * git://git.kvack.org/~bcrl/aio-next:
        aio: use iovec array rather than the single one
        aio: fix some comments
        aio: use the macro rather than the inline magic number
        aio: remove the needless registration of ring file's private_data
        aio: remove no longer needed preempt_disable()
        aio: kill the misleading rcu read locks in ioctx_add_table() and kill_ioctx()
        aio: change exit_aio() to load mm->ioctx_table once and avoid rcu_read_lock()
      da06df54
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 88ec63d6
      Linus Torvalds authored
      Pull more SCSI changes from James Bottomley:
       "This is a small set of updates which missed the first pull.  It's more
        msix updates, some iscsi and qla4xxx fixes, we also have some string
        null termination fixes a return value fix and a couple of pm8001
        firmware fixes.
      
        Just a note, we do have a couple of bug fixes coming under separate
        cover, but they don't have to be part of the merge window"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        iscsi class: Fix freeing of skb in get host error path
        scsi: fix u14-34f printk format warnings
        pm8001: fix pm8001_store_update_fw
        pm8001: Fix erratic calculation in update_flash
        pm8001: Update MAINTAINERS list
        libiscsi: return new error code when nop times out
        iscsi class: fix get_host_stats return code when not supported
        iscsi class: fix get_host_stats error handling
        qla4xxx: fix get_host_stats error propagation
        qla4xxx: check the return value of dma_alloc_coherent()
        scsi: qla4xxx: ql4_mbx.c: Cleaning up missing null-terminate in conjunction with strncpy
        scsi: qla4xxx: ql4_os.c: Cleaning up missing null-terminate in conjunction with strncpy
        qla4xxx: Use pci_enable_msix_exact() instead of pci_enable_msix()
        pm8001: Use pci_enable_msix_exact() instead of pci_enable_msix()
      88ec63d6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 2f39691f
      Linus Torvalds authored
      Pull input layer fixes from Dmitry Torokhov:
       "Second round of updates for the input subsystem.  Mostly small fixups
        to the code merged in the first round (atmel_mxt_ts, wacom) but also a
        smallish patch to xbox driver to support Xbox One controllers and a
        patch to better handle Synaptics profile sensors found in Cr-48
        Chromebooks that should not affect any other devices"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: edt-ft5x06 - remove superfluous assignment
        Input: xpad - add support for Xbox One controllers
        Input: atmel_mxt_ts - fix a few issues reported by Coverity
        Input: atmel_mxt_ts - split config update a bit
        Input: atmel_mxt_ts - simplify mxt_initialize a bit
        Input: joystick - use get_cycles on ARMv8
        Input: wacom - fix compiler warning if !CONFIG_PM
        Input: cap1106 - allow changing key mapping from userspace
        Input: synaptics - use firmware data for Cr-48
        Input: synaptics - properly initialize slots for semi-MT
        Input: MT - make slot cleanup callable outside mt_sync_frame()
        Input: atmel_mxt_ts - mXT224 DMA quirk was fixed in firmware v2.0.AA
      2f39691f
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · ffb29b42
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here is the additional fix patches that have been queued up since the
        previous pull request.  A few HD-audio fixes, a USB-audio quirk
        addition, and a couple of trivial cleanup for the legacy OSS codes"
      
      * tag 'sound-fix-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Set TLV_DB_SCALE_MUTE bit for cx5051 vmaster
        ALSA: hda/ca0132 - Don't try loading firmware at resume when already failed
        ALSA: hda - Fix pop noises on reboot for Dell XPS 13 9333
        ALSA: hda - Set internal mic as default input source on Dell XPS 13 9333
        ALSA: usb-audio: fix BOSS ME-25 MIDI regression
        ALSA: hda - Fix parsing of CMI8888 codec
        ALSA: hda - Fix probing and stuttering on CMI8888 HD-audio controller
        ALSA: hda/realtek - Fixed ALC286/ALC288 recording delay for Headset Mic
        sound: oss: Remove typedefs wanc_info and wavnc_port_info
        sound: oss: uart401: Remove typedef uart401_devc
      ffb29b42
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · d22af68b
      Linus Torvalds authored
      Pull drm fixes (mostly nouveau) from Dave Airlie:
       "One doc buidling fixes for a file that moved, along with a bunch of
        nouveau fixes, one a build problem on ARM"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/doc: Refer to proper source file
        drm/nouveau/platform: fix compilation error
        drm/nouveau/gk20a: add LTC device
        drm/nouveau: warn if we fail to re-pin fb on resume
        drm/nouveau/nvif: fix dac load detect method definition
        drm/gf100-/gr: fix -ENOSPC detection when allocating zbc table entries
        drm/nouveau/nvif: return null pointers on failure, in addition to ret != 0
        drm/nouveau/ltc: fix tag base address getting truncated if above 4GiB
        drm/nvc0-/fb/ram: fix use of non-existant ram if partitions aren't uniform
        drm/nouveau/bar: behave better if ioremap failed
        drm/nouveau/kms: nouveau_fbcon_accel_fini can be static
        drm/nouveau: kill unused variable warning if !__OS_HAS_AGP
        drm/nouveau/nvif: fix a number of notify thinkos
      d22af68b
    • Linus Torvalds's avatar
      Merge branch 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac · 68ffeca4
      Linus Torvalds authored
      Pull EDAC updates from Mauro Carvalho Chehab.
      
      * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac:
        sb_edac: add support for Haswell based systems
        sb_edac: Fix mix tab/spaces alignments
        edac: add DDR4 and RDDR4
        sb_edac: remove bogus assumption on mc ordering
        sb_edac: make minimal use of channel_mask
        sb_edac: fix socket detection on Ivy Bridge controllers
        sb_edac: update Kconfig description
        sb_edac: search devices using product id
        sb_edac: make RIR limit retrieval per model
        sb_edac: make node id retrieval per model
        sb_edac: make memory type detection per memory controller
      68ffeca4
  2. Aug 15, 2014
    • Chris Mason's avatar
      btrfs: disable strict file flushes for renames and truncates · 8d875f95
      Chris Mason authored
      
      
      Truncates and renames are often used to replace old versions of a file
      with new versions.  Applications often expect this to be an atomic
      replacement, even if they haven't done anything to make sure the new
      version is fully on disk.
      
      Btrfs has strict flushing in place to make sure that renaming over an
      old file with a new file will fully flush out the new file before
      allowing the transaction commit with the rename to complete.
      
      This ordering means the commit code needs to be able to lock file pages,
      and there are a few paths in the filesystem where we will try to end a
      transaction with the page lock held.  It's rare, but these things can
      deadlock.
      
      This patch removes the ordered flushes and switches to a best effort
      filemap_flush like ext4 uses. It's not perfect, but it should fix the
      deadlocks.
      
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      8d875f95
    • Filipe Manana's avatar
      Btrfs: fix csum tree corruption, duplicate and outdated checksums · 27b9a812
      Filipe Manana authored
      
      
      Under rare circumstances we can end up leaving 2 versions of a checksum
      for the same file extent range.
      
      The reason for this is that after calling btrfs_next_leaf we process
      slot 0 of the leaf it returns, instead of processing the slot set in
      path->slots[0]. Most of the time (by far) path->slots[0] is 0, but after
      btrfs_next_leaf() releases the path and before it searches for the next
      leaf, another task might cause a split of the next leaf, which migrates
      some of its keys to the leaf we were processing before calling
      btrfs_next_leaf(). In this case btrfs_next_leaf() returns again the
      same leaf but with path->slots[0] having a slot number corresponding
      to the first new key it got, that is, a slot number that didn't exist
      before calling btrfs_next_leaf(), as the leaf now has more keys than
      it had before. So we must really process the returned leaf starting at
      path->slots[0] always, as it isn't always 0, and the key at slot 0 can
      have an offset much lower than our search offset/bytenr.
      
      For example, consider the following scenario, where we have:
      
      sums->bytenr: 40157184, sums->len: 16384, sums end: 40173568
      four 4kb file data blocks with offsets 40157184, 40161280, 40165376, 40169472
      
        Leaf N:
      
          slot = 0                           slot = btrfs_header_nritems() - 1
        |-------------------------------------------------------------------|
        | [(CSUM CSUM 39239680), size 8] ... [(CSUM CSUM 40116224), size 4] |
        |-------------------------------------------------------------------|
      
        Leaf N + 1:
      
            slot = 0                          slot = btrfs_header_nritems() - 1
        |--------------------------------------------------------------------|
        | [(CSUM CSUM 40161280), size 32] ... [((CSUM CSUM 40615936), size 8 |
        |--------------------------------------------------------------------|
      
      Because we are at the last slot of leaf N, we call btrfs_next_leaf() to
      find the next highest key, which releases the current path and then searches
      for that next key. However after releasing the path and before finding that
      next key, the item at slot 0 of leaf N + 1 gets moved to leaf N, due to a call
      to ctree.c:push_leaf_left() (via ctree.c:split_leaf()), and therefore
      btrfs_next_leaf() will returns us a path again with leaf N but with the slot
      pointing to its new last key (CSUM CSUM 40161280). This new version of leaf N
      is then:
      
          slot = 0                        slot = btrfs_header_nritems() - 2  slot = btrfs_header_nritems() - 1
        |----------------------------------------------------------------------------------------------------|
        | [(CSUM CSUM 39239680), size 8] ... [(CSUM CSUM 40116224), size 4]  [(CSUM CSUM 40161280), size 32] |
        |----------------------------------------------------------------------------------------------------|
      
      And incorrecly using slot 0, makes us set next_offset to 39239680 and we jump
      into the "insert:" label, which will set tmp to:
      
          tmp = min((sums->len - total_bytes) >> blocksize_bits,
              (next_offset - file_key.offset) >> blocksize_bits) =
          min((16384 - 0) >> 12, (39239680 - 40157184) >> 12) =
          min(4, (u64)-917504 = 18446744073708634112 >> 12) = 4
      
      and
      
         ins_size = csum_size * tmp = 4 * 4 = 16 bytes.
      
      In other words, we insert a new csum item in the tree with key
      (CSUM_OBJECTID CSUM_KEY 40157184 = sums->bytenr) that contains the checksums
      for all the data (4 blocks of 4096 bytes each = sums->len). Which is wrong,
      because the item with key (CSUM CSUM 40161280) (the one that was moved from
      leaf N + 1 to the end of leaf N) contains the old checksums of the last 12288
      bytes of our data and won't get those old checksums removed.
      
      So this leaves us 2 different checksums for 3 4kb blocks of data in the tree,
      and breaks the logical rule:
      
         Key_N+1.offset >= Key_N.offset + length_of_data_its_checksums_cover
      
      An obvious bad effect of this is that a subsequent csum tree lookup to get
      the checksum of any of the blocks with logical offset of 40161280, 40165376
      or 40169472 (the last 3 4kb blocks of file data), will get the old checksums.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      27b9a812
    • Takashi Iwai's avatar
      Btrfs: Fix memory corruption by ulist_add_merge() on 32bit arch · 4eb1f66d
      Takashi Iwai authored
      We've got bug reports that btrfs crashes when quota is enabled on
      32bit kernel, typically with the Oops like below:
       BUG: unable to handle kernel NULL pointer dereference at 00000004
       IP: [<f9234590>] find_parent_nodes+0x360/0x1380 [btrfs]
       *pde = 00000000
       Oops: 0000 [#1] SMP
       CPU: 0 PID: 151 Comm: kworker/u8:2 Tainted: G S      W 3.15.2-1.gd43d97e-default #1
       Workqueue: btrfs-qgroup-rescan normal_work_helper [btrfs]
       task: f1478130 ti: f147c000 task.ti: f147c000
       EIP: 0060:[<f9234590>] EFLAGS: 00010213 CPU: 0
       EIP is at find_parent_nodes+0x360/0x1380 [btrfs]
       EAX: f147dda8 EBX: f147ddb0 ECX: 00000011 EDX: 00000000
       ESI: 00000000 EDI: f147dda4 EBP: f147ddf8 ESP: f147dd38
        DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
       CR0: 8005003b CR2: 00000004 CR3: 00bf3000 CR4: 00000690
       Stack:
        00000000 00000000 f147dda4 00000050 00000001 00000000 00000001 00000050
        00000001 00000000 d3059000 00000001 00000022 000000a8 00000000 00000000
        00000000 000000a1 00000000 00000000 00000001 00000000 00000000 11800000
       Call Trace:
        [<f923564d>] __btrfs_find_all_roots+0x9d/0xf0 [btrfs]
        [<f9237bb1>] btrfs_qgroup_rescan_worker+0x401/0x760 [btrfs]
        [<f9206148>] normal_work_helper+0xc8/0x270 [btrfs]
        [<c025e38b>] process_one_work+0x11b/0x390
        [<c025eea1>] worker_thread+0x101/0x340
        [<c026432b>] kthread+0x9b/0xb0
        [<c0712a71>] ret_from_kernel_thread+0x21/0x30
        [<c0264290>] kthread_create_on_node+0x110/0x110
      
      This indicates a NULL corruption in prefs_delayed list.  The further
      investigation and bisection pointed that the call of ulist_add_merge()
      results in the corruption.
      
      ulist_add_merge() takes u64 as aux and writes a 64bit value into
      old_aux.  The callers of this function in backref.c, however, pass a
      pointer of a pointer to old_aux.  That is, the function overwrites
      64bit value on 32bit pointer.  This caused a NULL in the adjacent
      variable, in this case, prefs_delayed.
      
      Here is a quick attempt to band-aid over this: a new function,
      ulist_add_merge_ptr() is introduced to pass/store properly a pointer
      value instead of u64.  There are still ugly void ** cast remaining
      in the callers because void ** cannot be taken implicitly.  But, it's
      safer than explicit cast to u64, anyway.
      
      Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=887046
      
      
      Cc: <stable@vger.kernel.org> [v3.11+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      4eb1f66d
    • Liu Bo's avatar
      Btrfs: fix compressed write corruption on enospc · ce62003f
      Liu Bo authored
      
      
      When failing to allocate space for the whole compressed extent, we'll
      fallback to uncompressed IO, but we've forgotten to redirty the pages
      which belong to this compressed extent, and these 'clean' pages will
      simply skip 'submit' part and go to endio directly, at last we got data
      corruption as we write nothing.
      
      Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
      Tested-By: default avatarMartin Steigerwald <martin@lichtvoll.de>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      ce62003f
    • Mark Fasheh's avatar
      btrfs: correctly handle return from ulist_add · f90e579c
      Mark Fasheh authored
      
      
      ulist_add() can return '1' on sucess, which qgroup_subtree_accounting()
      doesn't take into account. As a result, that value can be bubbled up to
      callers, causing an error to be printed. Fix this by only returning the
      value of ulist_add() when it indicates an error.
      
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.de>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      f90e579c
    • Mark Fasheh's avatar
      btrfs: qgroup: account shared subtrees during snapshot delete · 1152651a
      Mark Fasheh authored
      
      
      During its tree walk, btrfs_drop_snapshot() will skip any shared
      subtrees it encounters. This is incorrect when we have qgroups
      turned on as those subtrees need to have their contents
      accounted. In particular, the case we're concerned with is when
      removing our snapshot root leaves the subtree with only one root
      reference.
      
      In those cases we need to find the last remaining root and add
      each extent in the subtree to the corresponding qgroup exclusive
      counts.
      
      This patch implements the shared subtree walk and a new qgroup
      operation, BTRFS_QGROUP_OPER_SUB_SUBTREE. When an operation of
      this type is encountered during qgroup accounting, we search for
      any root references to that extent and in the case that we find
      only one reference left, we go ahead and do the math on it's
      exclusive counts.
      
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.de>
      Reviewed-by: default avatarJosef Bacik <jbacik@fb.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      1152651a
    • Filipe Manana's avatar
      Btrfs: read lock extent buffer while walking backrefs · 6f7ff6d7
      Filipe Manana authored
      
      
      Before processing the extent buffer, acquire a read lock on it, so
      that we're safe against concurrent updates on the extent buffer.
      
      Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      6f7ff6d7
    • Josef Bacik's avatar
      Btrfs: __btrfs_mod_ref should always use no_quota · e339a6b0
      Josef Bacik authored
      
      
      Before I extended the no_quota arg to btrfs_dec/inc_ref because I didn't
      understand how snapshot delete was using it and assumed that we needed the
      quota operations there.  With Mark's work this has turned out to be not the
      case, we _always_ need to use no_quota for btrfs_dec/inc_ref, so just drop the
      argument and make __btrfs_mod_ref call it's process function with no_quota set
      always.  Thanks,
      
      Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      e339a6b0
    • David Sterba's avatar
      btrfs: adjust statfs calculations according to raid profiles · ba7b6e62
      David Sterba authored
      This has been discussed in thread:
      http://thread.gmane.org/gmane.comp.file-systems.btrfs/32528
      
      and this patch implements this proposal:
      http://thread.gmane.org/gmane.comp.file-systems.btrfs/32536
      
      
      
      Works fine for "clean" raid profiles where the raid factor correction
      does the right job. Otherwise it's pessimistic and may show low space
      although there's still some left.
      
      The df nubmers are lightly wrong in case of mixed block groups, but this
      is not a major usecase and can be addressed later.
      
      The RAID56 numbers are wrong almost the same way as before and will be
      addressed separately.
      
      CC: Hugo Mills <hugo@carfax.org.uk>
      CC: cwillu <cwillu@cwillu.com>
      CC: Josef Bacik <jbacik@fb.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.cz>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      ba7b6e62
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · 91167e19
      Dmitry Torokhov authored
      Prepare second round of input updates for 3.17.
      91167e19
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c9d26423
      Linus Torvalds authored
      Pull more ACPI and power management updates from Rafael Wysocki:
       "These are a couple of regression fixes, cpuidle menu governor
        optimizations, fixes for ACPI proccessor and battery drivers,
        hibernation fix to avoid problems related to the e820 memory map,
        fixes for a few cpufreq drivers and a new version of the suspend
        profiling tool analyze_suspend.py.
      
        Specifics:
      
         - Fix for an ACPI-based device hotplug regression introduced in 3.14
           that causes a kernel panic to trigger when memory hot-remove is
           attempted with CONFIG_ACPI_HOTPLUG_MEMORY unset from Tang Chen
      
         - Fix for a cpufreq regression introduced in 3.16 that triggers a
           "sleeping function called from invalid context" bug in
           dev_pm_opp_init_cpufreq_table() from Stephen Boyd
      
         - ACPI battery driver fix for a warning message added in 3.16 that
           prints silly stuff sometimes from Mariusz Ceier
      
         - Hibernation fix for safer handling of mismatches in the 820 memory
           map between the configurations during image creation and during the
           subsequent restore from Chun-Yi Lee
      
         - ACPI processor driver fix to handle CPU hotplug notifications
           correctly during system suspend/resume from Lan Tianyu
      
         - Series of four cpuidle menu governor cleanups that also should
           speed it up a bit from Mel Gorman
      
         - Fixes for the speedstep-smi, integrator, cpu0 and arm_big_little
           cpufreq drivers from Hans Wennborg, Himangi Saraogi, Markus
           Pargmann and Uwe Kleine-König
      
         - Version 3.0 of the analyze_suspend.py suspend profiling tool from
           Todd E Brandt"
      
      * tag 'pm+acpi-3.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / battery: Fix warning message in acpi_battery_get_state()
        PM / tools: analyze_suspend.py: update to v3.0
        cpufreq: arm_big_little: fix module license spec
        cpufreq: speedstep-smi: fix decimal printf specifiers
        ACPI / hotplug: Check scan handlers in acpi_scan_hot_remove()
        cpufreq: OPP: Avoid sleeping while atomic
        cpufreq: cpu0: Do not print error message when deferring
        cpufreq: integrator: Use set_cpus_allowed_ptr
        PM / hibernate: avoid unsafe pages in e820 reserved regions
        ACPI / processor: Make acpi_cpu_soft_notify() process CPU FROZEN events
        cpuidle: menu: Lookup CPU runqueues less
        cpuidle: menu: Call nr_iowait_cpu less times
        cpuidle: menu: Use ktime_to_us instead of reinventing the wheel
        cpuidle: menu: Use shifts when calculating averages where possible
      c9d26423
    • Linus Torvalds's avatar
      Merge tag 'pci-v3.17-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · a11c5c9e
      Linus Torvalds authored
      Pull DEFINE_PCI_DEVICE_TABLE removal from Bjorn Helgaas:
       "Part two of the PCI changes for v3.17:
      
          - Remove DEFINE_PCI_DEVICE_TABLE macro use (Benoit Taine)
      
        It's a mechanical change that removes uses of the
        DEFINE_PCI_DEVICE_TABLE macro.  I waited until later in the merge
        window to reduce conflicts, but it's possible you'll still see a few"
      
      * tag 'pci-v3.17-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use
      a11c5c9e
    • Thierry Reding's avatar
      drm/doc: Refer to proper source file · 25196484
      Thierry Reding authored
      Commit 21d70354
      
       ("drm: move drm_stub.c to drm_drv.c") moves the code
      from drm_stub.c into drm_drv.c. Update DocBook to include that instead.
      
      This also came in via other people, but all the same.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Reviewed-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      25196484
    • Dave Airlie's avatar
      Merge branch 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes · 83d45f23
      Dave Airlie authored
      A couple of thinkos from the -next merge, some random fixes from a
      coverity scan, fix for (at least) GK106 accidentally using
      non-existent vram on some board configurations, and better behaviour
      of the instmem allocations if vmalloc space runs out.
      
      * 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nouveau/platform: fix compilation error
        drm/nouveau/gk20a: add LTC device
        drm/nouveau: warn if we fail to re-pin fb on resume
        drm/nouveau/nvif: fix dac load detect method definition
        drm/gf100-/gr: fix -ENOSPC detection when allocating zbc table entries
        drm/nouveau/nvif: return null pointers on failure, in addition to ret != 0
        drm/nouveau/ltc: fix tag base address getting truncated if above 4GiB
        drm/nvc0-/fb/ram: fix use of non-existant ram if partitions aren't uniform
        drm/nouveau/bar: behave better if ioremap failed
        drm/nouveau/kms: nouveau_fbcon_accel_fini can be static
        drm/nouveau: kill unused variable warning if !__OS_HAS_AGP
        drm/nouveau/nvif: fix a number of notify thinkos
      83d45f23
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 179c0ac6
      Linus Torvalds authored
      Pull Sparc fixes from David Miller:
       "Hook up the memfd syscall, and properly claim all PCI resources
        discovered when building the PCI device tree"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: Hook up memfd_create system call.
        sparc64: Properly claim resources as each PCI bus is probed.
        sparc64: Skip bogus PCI bridge ranges.
        sparc64: Expand PCI bridge probing debug logging.
      179c0ac6
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ad15afb8
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "I'm sending this out, in particular, to get the iwlwifi fix
        propagated:
      
         1) Fix build due to missing include in i40e driver, from Lucas
            Tanure.
      
         2) Memory leak in openvswitch port allocation, from Chirstoph Jaeger.
      
         3) Check DMA mapping errors in myri10ge, from Stanislaw Gruszka.
      
         4) Fix various deadlock scenerios in sunvnet driver, from Sowmini
            Varadhan.
      
         5) Fix cxgb4i build failures with incompatible Kconfig settings of
            the driver vs ipv6, from Anish Bhatt.
      
         6) Fix generation of ACK packet timestamps in the presence of TSO
            which will be split up, from Willem de Bruijn.
      
         7) Don't enable sched scan in iwlwifi driver, it causes firmware
            crashes in some revisions.  From Emmanuel Grumbach.
      
         8) Revert a macvlan simplification that causes crashes.
      
         9) Handle RTT calculations properly in the presence of repair'd SKBs,
            from Andrey Vagin.
      
        10) SIT tunnel lookup uses wrong device index in compares, from
            Shmulik Ladkani.
      
        11) Handle MTU reductions in TCP properly for ipv4 mapped ipv6
            sockets, from Neal Cardwell.
      
        12) Add missing annotations in rhashtable code, from Thomas Graf.
      
        13) Fix false interpretation of two RTOs as being from the same TCP
            loss event in the FRTO code, from Neal Cardwell"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (42 commits)
        netlink: Annotate RCU locking for seq_file walker
        rhashtable: fix annotations for rht_for_each_entry_rcu()
        rhashtable: unexport and make rht_obj() static
        rhashtable: RCU annotations for next pointers
        tcp: fix ssthresh and undo for consecutive short FRTO episodes
        tcp: don't allow syn packets without timestamps to pass tcp_tw_recycle logic
        tcp: fix tcp_release_cb() to dispatch via address family for mtu_reduced()
        sit: Fix ipip6_tunnel_lookup device matching criteria
        net: ethernet: ibm: ehea: Remove duplicate object from Makefile
        net: xgene: Check negative return value of xgene_enet_get_ring_size()
        tcp: don't use timestamp from repaired skb-s to calculate RTT (v2)
        net: xilinx: Remove .owner field for driver
        Revert "macvlan: simplify the structure port"
        iwlwifi: mvm: disable scheduled scan to prevent firmware crash
        xen-netback: remove loop waiting function
        xen-netback: don't stop dealloc kthread too early
        xen-netback: move NAPI add/remove calls
        xen-netback: fix debugfs entry creation
        xen-netback: fix debugfs write length check
        net-timestamp: fix missing tcp fragmentation cases
        ...
      ad15afb8
    • David S. Miller's avatar
      Merge tag 'master-2014-08-14' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · a61ebdfd
      David S. Miller authored
      
      
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-08-14
      
      Please pull this batch of fixes intended for the 3.17 stream...
      
      Arend van Spriel brings two brcmfmac fixes, one which fixes a memory
      leak and one which corrects some merge damage.
      
      Emmanuel Grumbach fixes Linus's iwlwifi firmware-related log spam.
      
      Rickard Strandqvist does some proper NULL termination after a call
      to strncpy.
      
      Ronald Wahl corrects a carl9170 problem with sending URBs with the
      wrong endpoint type (resulting in log spam).
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a61ebdfd
    • Thomas Graf's avatar
      netlink: Annotate RCU locking for seq_file walker · 9ce12eb1
      Thomas Graf authored
      
      
      Silences the following sparse warnings:
      net/netlink/af_netlink.c:2926:21: warning: context imbalance in 'netlink_seq_start' - wrong count at exit
      net/netlink/af_netlink.c:2972:13: warning: context imbalance in 'netlink_seq_stop' - unexpected unlock
      
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9ce12eb1
    • Thomas Graf's avatar
      rhashtable: fix annotations for rht_for_each_entry_rcu() · 93f56081
      Thomas Graf authored
      Call rcu_deference_raw() directly from within rht_for_each_entry_rcu()
      as list_for_each_entry_rcu() does.
      
      Fixes the following sparse warnings:
      net/netlink/af_netlink.c:2906:25:    expected struct rhash_head const *__mptr
      net/netlink/af_netlink.c:2906:25:    got struct rhash_head [noderef] <asn:4>*<noident>
      
      Fixes: e341694e
      
       ("netlink: Convert netlink_lookup() to use RCU protected hash table")
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      93f56081
    • Thomas Graf's avatar
      rhashtable: unexport and make rht_obj() static · c91eee56
      Thomas Graf authored
      
      
      No need to export rht_obj(), all inner to outer object translations
      occur internally. It was intended to be used with rht_for_each() which
      now primarily serves as the iterator for rhashtable_remove_pprev() to
      effectively flush and free the full table.
      
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c91eee56
    • Thomas Graf's avatar
      rhashtable: RCU annotations for next pointers · 5300fdcb
      Thomas Graf authored
      
      
      Properly annotate next pointers as access is RCU protected in
      the lookup path.
      
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5300fdcb
    • Alexandre Courbot's avatar
      drm/nouveau/platform: fix compilation error · 4898ac04
      Alexandre Courbot authored
      
      
      nouveau_platform.c was still using the old nouveau_dev() macro,
      triggering a compilation error. Fix this.
      
      Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      4898ac04
    • Alexandre Courbot's avatar
      drm/nouveau/gk20a: add LTC device · 5d6d94f7
      Alexandre Courbot authored
      
      
      LTC device is now required for PGRAPH to work, add it.
      
      Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      5d6d94f7
    • Ben Skeggs's avatar
      drm/nouveau: warn if we fail to re-pin fb on resume · c9a6fd97
      Ben Skeggs authored
      
      
      Spotted by Coverity.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      c9a6fd97
    • Ben Skeggs's avatar
      drm/nouveau/nvif: fix dac load detect method definition · 8bd62a83
      Ben Skeggs authored
      
      
      A thinko made me turn this into a u16 when cleaning up.
      
      Spotted by coverity.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      8bd62a83
    • Ben Skeggs's avatar
      drm/gf100-/gr: fix -ENOSPC detection when allocating zbc table entries · da7c74ea
      Ben Skeggs authored
      
      
      Spotted by Coverity.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      da7c74ea
    • Ben Skeggs's avatar
      drm/nouveau/nvif: return null pointers on failure, in addition to ret != 0 · ef07ceae
      Ben Skeggs authored
      
      
      Reported by Coverity.  The intention is that the return value is
      checked, but let's be more paranoid and make it extremely obvious
      if something forgets to.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      ef07ceae
    • Ben Skeggs's avatar
    • Ben Skeggs's avatar
      drm/nvc0-/fb/ram: fix use of non-existant ram if partitions aren't uniform · 3d9e3921
      Ben Skeggs authored
      
      
      Likely a large part of the GK106 woes..
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      3d9e3921
    • Ben Skeggs's avatar
      e7d96929
    • Fengguang Wu's avatar
    • Ben Skeggs's avatar