1. 24 Jan, 2016 11 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.5-2' of... · e1c10879
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v4.5-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver updates from Darren Hart:
       "Emergency travel prevented me from completing my final testing on this
        until today.  Nothing here that couldn't wait until RC1 fixes, but I
        thought it best to get it out sooner rather than later as it does
        contain a build warning fix.
      
        Summary:
      
        A build warning fix, MAINTAINERS cleanup, and a new DMI quirk:
      
        ideapad-laptop:
         - Add Lenovo Yoga 700 to no_hw_rfkill dmi list
      
        MAINTAINERS:
         - Combine multiple telemetry entries
      
        intel_telemetry_debugfs:
         - Fix unused warnings in telemetry debugfs"
      
      * tag 'platform-drivers-x86-v4.5-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
        ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi list
        MAINTAINERS: Combine multiple telemetry entries
        intel_telemetry_debugfs: Fix unused warnings in telemetry debugfs
      e1c10879
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 81f05fee
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
       "The top merge commit was re-generated yesterday because two topic
        branches were dropped from this pull request in the last minute due to
        some unaddressed comments.  All the other material has been in
        linux-next for quite a while.
      
        Specifics:
      
         - Enhance thermal core to handle unexpected device cooling states
           after fresh boot and system resume.  From Zhang Rui and Chen Yu.
      
         - Several fixes and cleanups on Rockchip and RCAR thermal drivers.
           From Caesar Wang and Kuninori Morimoto.
      
         - Add Broxton support for Intel processor thermal reporting device
           driver.  From Amy Wiles"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        thermal: trip_point_temp_store() calls thermal_zone_device_update()
        thermal: rcar: rcar_thermal_get_temp() return error if strange temp
        thermal: rcar: check irq possibility in rcar_thermal_irq_xxx()
        thermal: rcar: check every rcar_thermal_update_temp() return value
        thermal: rcar: move rcar_thermal_dt_ids to upside
        thermal: rockchip: Support the RK3399 SoCs in thermal driver
        thermal: rockchip: Support the RK3228 SoCs in thermal driver
        dt-bindings: rockchip-thermal: Support the RK3228/RK3399 SoCs compatible
        thermal: rockchip: fix a trivial typo
        Thermal: Enable Broxton SoC thermal reporting device
        thermal: constify pch_dev_ops structure
        Thermal: do thermal zone update after a cooling device registered
        Thermal: handle thermal zone device properly during system sleep
        Thermal: initialize thermal zone device correctly
      81f05fee
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.5-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · c52cb431
      Linus Torvalds authored
      Pull 9p updates from Eric Van Hensbergen:
       "Sorry for the last minute pull request, there's was a change that
        didn't get pulled into for-next until two weeks ago and I wanted to
        give it some bake time.
      
        Summary:
      
        Rework and error handling fixes, primarily in the fscatch and fd
        transports"
      
      * tag 'for-linus-4.5-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        fs/9p: use fscache mutex rather than spinlock
        9p: trans_fd, bail out if recv fcall if missing
        9p: trans_fd, read rework to use p9_parse_header
        net/9p: Add device name details on error
      c52cb431
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 00e3f5cc
      Linus Torvalds authored
      Pull Ceph updates from Sage Weil:
       "The two main changes are aio support in CephFS, and a series that
        fixes several issues in the authentication key timeout/renewal code.
      
        On top of that are a variety of cleanups and minor bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        libceph: remove outdated comment
        libceph: kill off ceph_x_ticket_handler::validity
        libceph: invalidate AUTH in addition to a service ticket
        libceph: fix authorizer invalidation, take 2
        libceph: clear messenger auth_retry flag if we fault
        libceph: fix ceph_msg_revoke()
        libceph: use list_for_each_entry_safe
        ceph: use i_size_{read,write} to get/set i_size
        ceph: re-send AIO write request when getting -EOLDSNAP error
        ceph: Asynchronous IO support
        ceph: Avoid to propagate the invalid page point
        ceph: fix double page_unlock() in page_mkwrite()
        rbd: delete an unnecessary check before rbd_dev_destroy()
        libceph: use list_next_entry instead of list_entry_next
        ceph: ceph_frag_contains_value can be boolean
        ceph: remove unused functions in ceph_frag.h
      00e3f5cc
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 772950ed
      Linus Torvalds authored
      Pull SMB3 fixes from Steve French:
       "A collection of CIFS/SMB3 fixes.
      
        It includes a couple bug fixes, a few for improved debugging of
        cifs.ko and some improvements to the way cifs does key generation.
      
        I do have some additional bug fixes I expect in the next week or two
        (to address a problem found by xfstest, and some fixes for SMB3.11
        dialect, and a couple patches that just came in yesterday that I am
        reviewing)"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        cifs_dbg() outputs an uninitialized buffer in cifs_readdir()
        cifs: fix race between call_async() and reconnect()
        Prepare for encryption support (first part). Add decryption and encryption key generation. Thanks to Metze for helping with this.
        cifs: Allow using O_DIRECT with cache=loose
        cifs: Make echo interval tunable
        cifs: Check uniqueid for SMB2+ and return -ESTALE if necessary
        Print IP address of unresponsive server
        cifs: Ratelimit kernel log messages
      772950ed
    • Josh Boyer's avatar
      ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi list · 6b31de3e
      Josh Boyer authored
      Like the Yoga 900 models the Lenovo Yoga 700 does not have a
      hw rfkill switch, and trying to read the hw rfkill switch through the
      ideapad module causes it to always reported blocking breaking wifi.
      
      This commit adds the Lenovo Yoga 700 to the no_hw_rfkill dmi list, fixing
      the wifi breakage.
      
      BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1295272
      Tested-by: <dinyar.rabady+spam@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      6b31de3e
    • Souvik Kumar Chakravarty's avatar
      MAINTAINERS: Combine multiple telemetry entries · f1fc3cd8
      Souvik Kumar Chakravarty authored
      This patch combines all the telemetry file entries in MAINTAINERS via
      wildcard.
      Signed-off-by: default avatarSouvik Kumar Chakravarty <souvik.k.chakravarty@intel.com>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      f1fc3cd8
    • Souvik Kumar Chakravarty's avatar
      intel_telemetry_debugfs: Fix unused warnings in telemetry debugfs · 7885f2f9
      Souvik Kumar Chakravarty authored
      This patch fixes compile time warnings when CONFIG_PM_SLEEP
      is undefined. In this case sleep related counters are unused.
      Signed-off-by: default avatarSouvik Kumar Chakravarty <souvik.k.chakravarty@intel.com>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      7885f2f9
    • Christoph Lameter's avatar
      vmstat: Remove BUG_ON from vmstat_update · 587198ba
      Christoph Lameter authored
      If we detect that there is nothing to do just set the flag and do not
      check if it was already set before.  Races really do not matter.  If the
      flag is set by any code then the shepherd will start dealing with the
      situation and reenable the vmstat workers when necessary again.
      
      Since commit 0eb77e98 ("vmstat: make vmstat_updater deferrable again
      and shut down on idle") quiet_vmstat might update cpu_stat_off and mark
      a particular cpu to be handled by vmstat_shepherd.  This might trigger a
      VM_BUG_ON in vmstat_update because the work item might have been
      sleeping during the idle period and see the cpu_stat_off updated after
      the wake up.  The VM_BUG_ON is therefore misleading and no more
      appropriate.  Moreover it doesn't really suite any protection from real
      bugs because vmstat_shepherd will simply reschedule the vmstat_work
      anytime it sees a particular cpu set or vmstat_update would do the same
      from the worker context directly.  Even when the two would race the
      result wouldn't be incorrect as the counters update is fully idempotent.
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      587198ba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 048ccca8
      Linus Torvalds authored
      Pull rdma updates from Doug Ledford:
       "Initial roundup of 4.5 merge window patches
      
         - Remove usage of ib_query_device and instead store attributes in
           ib_device struct
      
         - Move iopoll out of block and into lib, rename to irqpoll, and use
           in several places in the rdma stack as our new completion queue
           polling library mechanism.  Update the other block drivers that
           already used iopoll to use the new mechanism too.
      
         - Replace the per-entry GID table locks with a single GID table lock
      
         - IPoIB multicast cleanup
      
         - Cleanups to the IB MR facility
      
         - Add support for 64bit extended IB counters
      
         - Fix for netlink oops while parsing RDMA nl messages
      
         - RoCEv2 support for the core IB code
      
         - mlx4 RoCEv2 support
      
         - mlx5 RoCEv2 support
      
         - Cross Channel support for mlx5
      
         - Timestamp support for mlx5
      
         - Atomic support for mlx5
      
         - Raw QP support for mlx5
      
         - MAINTAINERS update for mlx4/mlx5
      
         - Misc ocrdma, qib, nes, usNIC, cxgb3, cxgb4, mlx4, mlx5 updates
      
         - Add support for remote invalidate to the iSER driver (pushed
           through the RDMA tree due to dependencies, acknowledged by nab)
      
         - Update to NFSoRDMA (pushed through the RDMA tree due to
           dependencies, acknowledged by Bruce)"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (169 commits)
        IB/mlx5: Unify CQ create flags check
        IB/mlx5: Expose Raw Packet QP to user space consumers
        {IB, net}/mlx5: Move the modify QP operation table to mlx5_ib
        IB/mlx5: Support setting Ethernet priority for Raw Packet QPs
        IB/mlx5: Add Raw Packet QP query functionality
        IB/mlx5: Add create and destroy functionality for Raw Packet QP
        IB/mlx5: Refactor mlx5_ib_qp to accommodate other QP types
        IB/mlx5: Allocate a Transport Domain for each ucontext
        net/mlx5_core: Warn on unsupported events of QP/RQ/SQ
        net/mlx5_core: Add RQ and SQ event handling
        net/mlx5_core: Export transport objects
        IB/mlx5: Expose CQE version to user-space
        IB/mlx5: Add CQE version 1 support to user QPs and SRQs
        IB/mlx5: Fix data validation in mlx5_ib_alloc_ucontext
        IB/sa: Fix netlink local service GFP crash
        IB/srpt: Remove redundant wc array
        IB/qib: Improve ipoib UD performance
        IB/mlx4: Advertise RoCE v2 support
        IB/mlx4: Create and use another QP1 for RoCEv2
        IB/mlx4: Enable send of RoCE QP1 packets with IP/UDP headers
        ...
      048ccca8
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.5' of git://github.com/jonmason/ntb · b3e27d5d
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "A new driver to support AMD NTB, a NTB performance test driver, NTB
        bugs fixes, and the ability to recover from running out of DMA
        descriptors"
      
      * tag 'ntb-4.5' of git://github.com/jonmason/ntb:
        NTB: Fix macro parameter conflict with field name
        NTB: Add support for AMD PCI-Express Non-Transparent Bridge
        ntb: ntb perf tool
        NTB: Address out of DMA descriptor issue with NTB
        NTB: Clear property bits in BAR value
        NTB: ntb_process_tx error path bug
      b3e27d5d
  2. 23 Jan, 2016 22 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · cc673757
      Linus Torvalds authored
      Pull final vfs updates from Al Viro:
      
       - The ->i_mutex wrappers (with small prereq in lustre)
      
       - a fix for too early freeing of symlink bodies on shmem (they need to
         be RCU-delayed) (-stable fodder)
      
       - followup to dedupe stuff merged this cycle
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: abort dedupe loop if fatal signals are pending
        make sure that freeing shmem fast symlinks is RCU-delayed
        wrappers for ->i_mutex access
        lustre: remove unused declaration
      cc673757
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · fa7d9a1d
      Linus Torvalds authored
      Pull NFS client bugfixes and cleanups from Trond Myklebust:
       "Bugfixes:
         - pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn
         - pNFS/flexfiles: Improve merging of errors in LAYOUTRETURN
      
        Cleanups:
         - NFS: Simplify nfs_request_add_commit_list() arguments"
      
      * tag 'nfs-for-4.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn
        NFS: Simplify nfs_request_add_commit_list() arguments
        pNFS/flexfiles: Improve merging of errors in LAYOUTRETURN
      fa7d9a1d
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 20c759ca
      Linus Torvalds authored
      Merge small final update from Andrew Morton:
      
       - DAX feature work: add fsync/msync support
      
       - kfree cleanup, MAINTAINERS update
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        MAINTAINERS: return arch/sh to maintained state, with new maintainers
        tree wide: use kvfree() than conditional kfree()/vfree()
        dax: never rely on bh.b_dev being set by get_block()
        xfs: call dax_pfn_mkwrite() for DAX fsync/msync
        ext4: call dax_pfn_mkwrite() for DAX fsync/msync
        ext2: call dax_pfn_mkwrite() for DAX fsync/msync
        dax: add support for fsync/sync
        mm: add find_get_entries_tag()
        dax: support dirty DAX entries in radix tree
        pmem: add wb_cache_pmem() to the PMEM API
        dax: fix conversion of holes to PMDs
        dax: fix NULL pointer dereference in __dax_dbg()
      20c759ca
    • Zhang Rui's avatar
    • Linus Torvalds's avatar
      Merge tag 'please-pull-copy_file_range' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · b82dde02
      Linus Torvalds authored
      Pull ia64 copy_file_range syscall update from Tony Luck:
       "Another release, another new syscall to wire up"
      
      * tag 'please-pull-copy_file_range' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        [IA64] Enable copy_file_range syscall for ia64
      b82dde02
    • Linus Torvalds's avatar
      Merge tag 'armsoc-tegra' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 79d24532
      Linus Torvalds authored
      Pull ARM SoC support for Tegra platforms from Olof Johansson:
       "Here's a single-SoC topic branch that we've staged separately.  Mainly
        because it was hard to sort the branch contents in a way that fit our
        existing branches due to some refactorings.
      
        The code has been in -next for quite a while, but we staged it in
        arm-soc a bit late, which is why we've kept it separate from the other
        updates and are sending it separately here"
      
      * tag 'armsoc-tegra' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: tegra: Add NVIDIA Jetson TX1 Developer Kit support
        arm64: tegra: Add NVIDIA P2597 I/O board support
        arm64: tegra: Add NVIDIA Jetson TX1 support
        arm64: tegra: Add NVIDIA P2571 board support
        arm64: tegra: Add NVIDIA P2371 board support
        arm64: tegra: Add NVIDIA P2595 I/O board support
        arm64: tegra: Add NVIDIA P2530 main board support
        arm64: tegra: Add Tegra210 support
        arm64: tegra: Add NVIDIA Tegra132 Norrin support
        arm64: tegra: Add Tegra132 support
        ARM: tegra: select USB_ULPI from EHCI rather than platform
        ARM: tegra: Ensure entire dcache is flushed on entering LP0/1
        amba: Hide TEGRA_AHB symbol
        soc/tegra: Add Tegra210 support
        soc/tegra: Provide per-SoC Kconfig symbols
      79d24532
    • Darrick J. Wong's avatar
      vfs: abort dedupe loop if fatal signals are pending · e62e560f
      Darrick J. Wong authored
      If the program running dedupe receives a fatal signal during the
      dedupe loop, we should bail out to avoid tying up the system.
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e62e560f
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 1b8ee1ec
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A few fixes for fallout that we didn't catch in time in -next, or
        smaller warning fixes that have been discovered since"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        soc: qcom/spm: shut up uninitialized variable warning
        ARM: realview: fix device tree build
        ARM: debug-ll: fix BCM63xx entry for multiplatform
        ARM: dts: armadillo800eva Correct extal1 frequency to 24 MHz
      1b8ee1ec
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 5430dfe9
      Linus Torvalds authored
      Pull more input updates from Dmitry Torokhov:
       "The second round of updates for the input subsystem, mainly changes to
        xpad driver to better hanlde Xbox One controllers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: gpio-keys - allow disabling individual buttons in DT
        Input: gpio-keys - allow setting input device name in DT
        Input: xpad - correct xbox one pad device name
        Input: atmel_mxt_ts - improve touchscreen size/orientation handling
        Input: xpad - use LED API when identifying wireless controllers
        Input: xpad - workaround dead irq_out after suspend/ resume
        Input: xpad - update Xbox One Force Feedback Support
        Input: xpad - correctly handle concurrent LED and FF requests
        Input: xpad - handle "present" and "gone" correctly
        Input: xpad - remove spurious events of wireless xpad 360 controller
      5430dfe9
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 4adea1fd
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "This is mostly stuff which missed the first pull request because it
        needed to incubate longer.  It's mainly made up of the ncr 5380 rework
        but also has a few assorted bug fixes"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (88 commits)
        imm: Use new parport device model
        megaraid: Fix possible NULL pointer deference in mraid_mm_ioctl
        storvsc: Fix typo in MODULE_PARM_DESC
        cxgbi: Typo in MODULE_PARM_DESC
        3w-xxxx: Pass through compat mode ioctls
        hisi_sas: Use u64 for qw0 in free_device_v1_hw()
        hisi_sas: Fix typo in setup_itct_v1_hw()
        hisi_sas: Fix v1 itct masks
        ipr: Fix out-of-bounds null overwrite
        scsi: add Synology to 1024 sector blacklist
        ncr5380: Add support for HP C2502
        ncr5380: Fix wait for 53C80 registers registers after PDMA
        ncr5380: Enable PDMA for DTC chips
        ncr5380: Enable PDMA for NCR53C400A
        ncr5380: Use runtime register mapping
        ncr5380: Fix pseudo DMA transfers on 53C400
        ncr5380: Cleanup whitespace and parentheses
        atari_NCR5380: Merge changes from NCR5380.c
        ncr5380: Merge changes from atari_NCR5380.c
        ncr5380: Fix whitespace in comments using regexp
        ...
      4adea1fd
    • Rich Felker's avatar
      MAINTAINERS: return arch/sh to maintained state, with new maintainers · 114bf37e
      Rich Felker authored
      Add Yoshinori Sato and Rich Felker as maintainers for arch/sh
      (SUPERH).
      Signed-off-by: default avatarRich Felker <dalias@libc.org>
      Signed-off-by: default avatarYoshinori Sato <ysato@users.sourceforge.jp>
      Acked-by: default avatarD. Jeff Dionne <jeff@uClinux.org>
      Acked-by: default avatarRob Landley <rob@landley.net>
      Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Acked-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      114bf37e
    • Tetsuo Handa's avatar
      tree wide: use kvfree() than conditional kfree()/vfree() · 1d5cfdb0
      Tetsuo Handa authored
      There are many locations that do
      
        if (memory_was_allocated_by_vmalloc)
          vfree(ptr);
        else
          kfree(ptr);
      
      but kvfree() can handle both kmalloc()ed memory and vmalloc()ed memory
      using is_vmalloc_addr().  Unless callers have special reasons, we can
      replace this branch with kvfree().  Please check and reply if you found
      problems.
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarJan Kara <jack@suse.com>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
      Acked-by: default avatar"Rafael J. Wysocki" <rjw@rjwysocki.net>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Oleg Drokin <oleg.drokin@intel.com>
      Cc: Boris Petkov <bp@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d5cfdb0
    • Ross Zwisler's avatar
      dax: never rely on bh.b_dev being set by get_block() · eab95db6
      Ross Zwisler authored
      Previously in DAX we assumed that calls to get_block() would set
      bh.b_bdev, and we would then use that value even in error cases for
      debugging.  This caused a NULL pointer dereference in __dax_dbg() which
      was fixed by a previous commit, but that commit only changed the one
      place where we were hitting an error.
      
      Instead, update dax.c so that we always initialize bh.b_bdev as best we
      can based on the information that DAX has.  get_block() may or may not
      update to a new value, but this at least lets us get something helpful
      from bh.b_bdev for error messages and not have to worry about whether it
      was set by get_block() or not.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Reported-by: default avatarJan Kara <jack@suse.cz>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eab95db6
    • Ross Zwisler's avatar
      xfs: call dax_pfn_mkwrite() for DAX fsync/msync · 5eb88dca
      Ross Zwisler authored
      To properly support the new DAX fsync/msync infrastructure filesystems
      need to call dax_pfn_mkwrite() so that DAX can track when user pages are
      dirtied.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5eb88dca
    • Ross Zwisler's avatar
      ext4: call dax_pfn_mkwrite() for DAX fsync/msync · d5be7a03
      Ross Zwisler authored
      To properly support the new DAX fsync/msync infrastructure filesystems
      need to call dax_pfn_mkwrite() so that DAX can track when user pages are
      dirtied.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d5be7a03
    • Ross Zwisler's avatar
      ext2: call dax_pfn_mkwrite() for DAX fsync/msync · 80b4adca
      Ross Zwisler authored
      To properly support the new DAX fsync/msync infrastructure filesystems
      need to call dax_pfn_mkwrite() so that DAX can track when user pages are
      dirtied.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      80b4adca
    • Ross Zwisler's avatar
      dax: add support for fsync/sync · 9973c98e
      Ross Zwisler authored
      To properly handle fsync/msync in an efficient way DAX needs to track
      dirty pages so it is able to flush them durably to media on demand.
      
      The tracking of dirty pages is done via the radix tree in struct
      address_space.  This radix tree is already used by the page writeback
      infrastructure for tracking dirty pages associated with an open file,
      and it already has support for exceptional (non struct page*) entries.
      We build upon these features to add exceptional entries to the radix
      tree for DAX dirty PMD or PTE pages at fault time.
      
      [dan.j.williams@intel.com: fix dax_pmd_dbg build warning]
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9973c98e
    • Ross Zwisler's avatar
      mm: add find_get_entries_tag() · 7e7f7749
      Ross Zwisler authored
      Add find_get_entries_tag() to the family of functions that include
      find_get_entries(), find_get_pages() and find_get_pages_tag().  This is
      needed for DAX dirty page handling because we need a list of both page
      offsets and radix tree entries ('indices' and 'entries' in this
      function) that are marked with the PAGECACHE_TAG_TOWRITE tag.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e7f7749
    • Ross Zwisler's avatar
      dax: support dirty DAX entries in radix tree · f9fe48be
      Ross Zwisler authored
      Add support for tracking dirty DAX entries in the struct address_space
      radix tree.  This tree is already used for dirty page writeback, and it
      already supports the use of exceptional (non struct page*) entries.
      
      In order to properly track dirty DAX pages we will insert new
      exceptional entries into the radix tree that represent dirty DAX PTE or
      PMD pages.  These exceptional entries will also contain the writeback
      addresses for the PTE or PMD faults that we can use at fsync/msync time.
      
      There are currently two types of exceptional entries (shmem and shadow)
      that can be placed into the radix tree, and this adds a third.  We rely
      on the fact that only one type of exceptional entry can be found in a
      given radix tree based on its usage.  This happens for free with DAX vs
      shmem but we explicitly prevent shadow entries from being added to radix
      trees for DAX mappings.
      
      The only shadow entries that would be generated for DAX radix trees
      would be to track zero page mappings that were created for holes.  These
      pages would receive minimal benefit from having shadow entries, and the
      choice to have only one type of exceptional entry in a given radix tree
      makes the logic simpler both in clear_exceptional_entry() and in the
      rest of DAX.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f9fe48be
    • Ross Zwisler's avatar
      pmem: add wb_cache_pmem() to the PMEM API · 3f4a2670
      Ross Zwisler authored
      __arch_wb_cache_pmem() was already an internal implementation detail of
      the x86 PMEM API, but this functionality needs to be exported as part of
      the general PMEM API to handle the fsync/msync case for DAX mmaps.
      
      One thing worth noting is that we really do want this to be part of the
      PMEM API as opposed to a stand-alone function like clflush_cache_range()
      because of ordering restrictions.  By having wb_cache_pmem() as part of
      the PMEM API we can leave it unordered, call it multiple times to write
      back large amounts of memory, and then order the multiple calls with a
      single wmb_pmem().
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3f4a2670
    • Ross Zwisler's avatar
      dax: fix conversion of holes to PMDs · de14b9cb
      Ross Zwisler authored
      When we get a DAX PMD fault for a write it is possible that there could
      be some number of 4k zero pages already present for the same range that
      were inserted to service reads from a hole.  These 4k zero pages need to
      be unmapped from the VMAs and removed from the struct address_space
      radix tree before the real DAX PMD entry can be inserted.
      
      For PTE faults this same use case also exists and is handled by a
      combination of unmap_mapping_range() to unmap the VMAs and
      delete_from_page_cache() to remove the page from the address_space radix
      tree.
      
      For PMD faults we do have a call to unmap_mapping_range() (protected by
      a buffer_new() check), but nothing clears out the radix tree entry.  The
      buffer_new() check is also incorrect as the current ext4 and XFS
      filesystem code will never return a buffer_head with BH_New set, even
      when allocating new blocks over a hole.  Instead the filesystem will
      zero the blocks manually and return a buffer_head with only BH_Mapped
      set.
      
      Fix this situation by removing the buffer_new() check and adding a call
      to truncate_inode_pages_range() to clear out the radix tree entries
      before we insert the DAX PMD.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Reported-by: default avatarDan Williams <dan.j.williams@intel.com>
      Tested-by: default avatarDan Williams <dan.j.williams@intel.com>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      de14b9cb
    • Ross Zwisler's avatar
      dax: fix NULL pointer dereference in __dax_dbg() · d4bbe706
      Ross Zwisler authored
      In __dax_pmd_fault() we currently assume that get_block() will always
      set bh.b_bdev and we unconditionally dereference it in __dax_dbg().
      
      This assumption isn't always true - when called for reads of holes
      ext4_dax_mmap_get_block() returns a buffer head where bh->b_bdev is
      never set.  I hit this BUG while testing the DAX PMD fault path.
      
      Instead, initialize bh.b_bdev before passing bh into get_block().  It is
      possible that the filesystem's get_block() will update bh.b_bdev, and
      this is fine - we just want to initialize bh.b_bdev to something
      reasonable so that the calls to __dax_dbg() work and print something
      useful.
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Reported-by: default avatarDan Williams <dan.j.williams@intel.com>
      Cc: Jan Kara <jack@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d4bbe706
  3. 22 Jan, 2016 7 commits
    • Al Viro's avatar
      make sure that freeing shmem fast symlinks is RCU-delayed · 3ed47db3
      Al Viro authored
      Cc: stable@vger.kernel.org # v4.2+
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3ed47db3
    • Al Viro's avatar
      wrappers for ->i_mutex access · 5955102c
      Al Viro authored
      parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested},
      inode_foo(inode) being mutex_foo(&inode->i_mutex).
      
      Please, use those for access to ->i_mutex; over the coming cycle
      ->i_mutex will become rwsem, with ->lookup() done with it held
      only shared.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      5955102c
    • Tony Luck's avatar
      [IA64] Enable copy_file_range syscall for ia64 · 884a12a5
      Tony Luck authored
      New system call added in:
        29732938
        vfs: add copy_file_range syscall and vfs helper
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      884a12a5
    • Al Viro's avatar
      lustre: remove unused declaration · 57b8f112
      Al Viro authored
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      57b8f112
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.5-rc1' of git://git.linaro.org/people/ulf.hansson/mmc · 2c9b3ebd
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "Here are some mmc fixes intended for v4.5 rc1.
      
        MMC core:
         - Restore reset-gpios to be optional in pwrseq_simple
         - Allow SDIO tuple for CISTPL_SDIO_STD
         - Print correct voltage value in debugfs
         - Enable tuning according to the actual timing
         - Limit SD card power limit according to cards capabilities
      
        MMC host:
         - tmio_mmc_dma: don't print invalid DMA cookie
         - mmci: Pick the correct variant and allow 8-bit mode for Nomadik"
      
      * tag 'mmc-v4.5-rc1' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: pwrseq_simple: Make reset-gpios optional to match doc
        mmc: sdio_cis: fix unknown tuple for CISTPL_SDIO_STD
        mmc: debugfs: correct wrong voltage value
        mmc: tmio_mmc_dma: don't print invalid DMA cookie
        mmc: core: Enable tuning according to the actual timing
        mmc: mmci: support 8bit mode on the Nomadik
        mmc: mmci: fix an ages old detection error
        mmc: sd: limit SD card power limit according to cards capabilities
      2c9b3ebd
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 48162a20
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes the following issues:
      
        API:
         - A large number of bug fixes for the af_alg interface, credit goes
           to Dmitry Vyukov for discovering and reporting these issues.
      
        Algorithms:
         - sw842 needs to select crc32.
         - The soft dependency on crc32c is now in the correct spot.
      
        Drivers:
         - The atmel AES driver needs HAS_DMA.
         - The atmel AES driver was a missing break statement, fortunately
           it's only a debug function.
         - A number of bug fixes for the Intel qat driver"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (24 commits)
        crypto: algif_skcipher - sendmsg SG marking is off by one
        crypto: crc32c - Fix crc32c soft dependency
        crypto: algif_skcipher - Load TX SG list after waiting
        crypto: atmel-aes - Add missing break to atmel_aes_reg_name
        crypto: algif_skcipher - Fix race condition in skcipher_check_key
        crypto: algif_hash - Fix race condition in hash_check_key
        crypto: CRYPTO_DEV_ATMEL_AES should depend on HAS_DMA
        lib: sw842: select crc32
        crypto: af_alg - Forbid bind(2) when nokey child sockets are present
        crypto: algif_skcipher - Remove custom release parent function
        crypto: algif_hash - Remove custom release parent function
        crypto: af_alg - Allow af_af_alg_release_parent to be called on nokey path
        crypto: qat - update init_esram for C3xxx dev type
        crypto: qat - fix timeout issues
        crypto: qat - remove to call get_sram_bar_id for qat_c3xxx
        crypto: algif_skcipher - Add key check exception for cipher_null
        crypto: skcipher - Add crypto_skcipher_has_setkey
        crypto: algif_hash - Require setkey before accept(2)
        crypto: hash - Add crypto_ahash_has_setkey
        crypto: algif_skcipher - Add nokey compatibility path
        ...
      48162a20
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · e7cc3edd
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are lots of small fixes that have been collected since the
        previous pull.  This time, not only trivial ones but fixes for some
        serious bugs are included:
      
         - Fix for CPU lockups by snd-hrtimer accesses
         - Fix for unsafe disconnection handling in ALSA timer code
         - Fix for Oops due to race at HD-audio module removal
         - Fixes for possible memory corruption via 32bit PCM and sequencer
           compat ioctls
         - Fix for regression in HD-audio generic model handling
         - Suppress kernel warnings for invalid TLV ioctls that may flood up
         - Fix the missing SSC clock handling for at73c213
         - A pin fixup for ASUS N550JX"
      
      * tag 'sound-fix-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: timer: Introduce disconnect op to snd_timer_instance
        ALSA: timer: Handle disconnection more safely
        ALSA: hda - Flush the pending probe work at remove
        ALSA: hda - Fix missing module loading with model=generic option
        ALSA: hda - Degrade i915 binding failure message
        ALSA: at73c213: manage SSC clock
        ALSA: control: Avoid kernel warnings from tlv ioctl with numid 0
        ALSA: seq: Fix snd_seq_call_port_info_ioctl in compat mode
        ALSA: pcm: Fix snd_pcm_hw_params struct copy in compat mode
        ALSA: hrtimer: Fix stall by hrtimer_cancel()
        ALSA: hda - Fix bass pin fixup for ASUS N550JX
      e7cc3edd