1. 22 Feb, 2017 10 commits
  2. 21 Feb, 2017 27 commits
    • Omar Sandoval's avatar
      scsi_transport_sas: fix BSG ioctl memory corruption · bd1599d9
      Omar Sandoval authored
      The end_device and sas_host devices support BSG ioctls, but the
      request_queue allocated for them isn't set up to allocate the struct
      scsi_request payload. This leads to memory corruption in the call to
      scsi_req_init() in bsg_map_hdr(), since it will memset past the end of
      the allocated request. Fix it by setting ->cmd_size on the allocated
      request_queue.
      
      Fixes: 82ed4db4
      
       ("block: split scsi_request out of struct request")
      Signed-off-by: default avatarOmar Sandoval <osandov@fb.com>
      Acked-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      bd1599d9
    • Jan Kara's avatar
      block: Revalidate i_bdev reference in bd_aquire() · cccd9fb9
      Jan Kara authored
      
      
      When a device gets removed, block device inode unhashed so that it is not
      used anymore (bdget() will not find it anymore). Later when a new device
      gets created with the same device number, we create new block device
      inode. However there may be file system device inodes whose i_bdev still
      points to the original block device inode and thus we get two active
      block device inodes for the same device. They will share the same
      gendisk so the only visible differences will be that page caches will
      not be coherent and BDIs will be different (the old block device inode
      still points to unregistered BDI).
      
      Fix the problem by checking in bd_acquire() whether i_bdev still points
      to active block device inode and re-lookup the block device if not. That
      way any open of a block device happening after the old device has been
      removed will get correct block device inode.
      Tested-by: default avatarLekshmi Pillai <lekshmicpillai@in.ibm.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      cccd9fb9
    • Jan Kara's avatar
      block: Unhash also block device inode for the whole device · d06e05c0
      Jan Kara authored
      
      
      Iteration over partitions in del_gendisk() omits part0. Add
      bdev_unhash_inode() call for the whole device. Otherwise if the device
      number gets reused, bdev inode will be still associated with the old
      (stale) bdi.
      Tested-by: default avatarLekshmi Pillai <lekshmicpillai@in.ibm.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      d06e05c0
    • Jan Kara's avatar
      block: Move bdev_unhash_inode() after invalidate_partition() · 4b8c861a
      Jan Kara authored
      
      
      Move bdev_unhash_inode() after invalidate_partition() as
      invalidate_partition() looks up bdev and it cannot find the right bdev
      inode after bdev_unhash_inode() is called. Thus invalidate_partition()
      would not invalidate page cache of the previously used bdev. Also use
      part_devt() when calling bdev_unhash_inode() instead of manually
      creating the device number.
      Tested-by: default avatarLekshmi Pillai <lekshmicpillai@in.ibm.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      4b8c861a
    • Josef Bacik's avatar
      nbd: cleanup workqueue on error properly · 6330a2d0
      Josef Bacik authored
      
      
      If we fail to register the blockdev we need to make sure to destroy the
      recv workqueue.
      Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      6330a2d0
    • Josef Bacik's avatar
      nbd: set the logical and physical blocksize properly · e544541b
      Josef Bacik authored
      
      
      We noticed when trying to do O_DIRECT to an export on the server side
      that we were getting requests smaller than the 4k sectorsize of the
      device.  This is because the client isn't setting the logical and
      physical blocksizes properly for the underlying device.  Fix this up by
      setting the queue blocksizes and then calling bd_set_size.
      Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      e544541b
    • Josef Bacik's avatar
      nbd: cleanup ioctl handling · 9442b739
      Josef Bacik authored
      
      
      Break the ioctl handling out into helper functions, some of these things
      are getting pretty big and unwieldy.
      Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      9442b739
    • Christoph Hellwig's avatar
      scsi: zero per-cmd driver data before each I/O · ee524236
      Christoph Hellwig authored
      Without this drivers that don't clear the state themselves can see off
      effects.  For example Hyper-V VMs using the storvsc driver will often
      hang during boot due to uncleared Test Unit Ready failures.
      
      Fixes: e9c787e6
      
       ("scsi: allocate scsi_cmnd structures as part of struct request")
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reported-by: default avatarDexuan Cui <decui@microsoft.com>
      Tested-by: default avatarDexuan Cui <decui@microsoft.com>
      Reviewed-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      ee524236
    • Linus Torvalds's avatar
      Merge tag 'for-4.11/linus-merge-signed' of git://git.kernel.dk/linux-block · 772c8f6f
      Linus Torvalds authored
      Pull block layer updates from Jens Axboe:
      
       - blk-mq scheduling framework from me and Omar, with a port of the
         deadline scheduler for this framework. A port of BFQ from Paolo is in
         the works, and should be ready for 4.12.
      
       - Various fixups and improvements to the above scheduling framework
         from Omar, Paolo, Bart, me, others.
      
       - Cleanup of the exported sysfs blk-mq data into debugfs, from Omar.
         This allows us to export more information that helps debug hangs or
         performance issues, without cluttering or abusing the sysfs API.
      
       - Fixes for the sbitmap code, the scalable bitmap code that was
         migrated from blk-mq, from Omar.
      
       - Removal of the BLOCK_PC support in struct request, and refactoring of
         carrying SCSI payloads in the block layer. This cleans up the code
         nicely, and enables us to kill the SCSI specific parts of struct
         request, shrinking it down nicely. From Christoph mainly, with help
         from Hannes.
      
       - Support for ranged discard requests and discard merging, also from
         Christoph.
      
       - Support for OPAL in the block layer, and for NVMe as well. Mainly
         from Scott Bauer, with fixes/updates from various others folks.
      
       - Error code fixup for gdrom from Christophe.
      
       - cciss pci irq allocation cleanup from Christoph.
      
       - Making the cdrom device operations read only, from Kees Cook.
      
       - Fixes for duplicate bdi registrations and bdi/queue life time
         problems from Jan and Dan.
      
       - Set of fixes and updates for lightnvm, from Matias and Javier.
      
       - A few fixes for nbd from Josef, using idr to name devices and a
         workqueue deadlock fix on receive. Also marks Josef as the current
         maintainer of nbd.
      
       - Fix from Josef, overwriting queue settings when the number of
         hardware queues is updated for a blk-mq device.
      
       - NVMe fix from Keith, ensuring that we don't repeatedly mark and IO
         aborted, if we didn't end up aborting it.
      
       - SG gap merging fix from Ming Lei for block.
      
       - Loop fix also from Ming, fixing a race and crash between setting loop
         status and IO.
      
       - Two block race fixes from Tahsin, fixing request list iteration and
         fixing a race between device registration and udev device add
         notifiations.
      
       - Double free fix from cgroup writeback, from Tejun.
      
       - Another double free fix in blkcg, from Hou Tao.
      
       - Partition overflow fix for EFI from Alden Tondettar.
      
      * tag 'for-4.11/linus-merge-signed' of git://git.kernel.dk/linux-block: (156 commits)
        nvme: Check for Security send/recv support before issuing commands.
        block/sed-opal: allocate struct opal_dev dynamically
        block/sed-opal: tone down not supported warnings
        block: don't defer flushes on blk-mq + scheduling
        blk-mq-sched: ask scheduler for work, if we failed dispatching leftovers
        blk-mq: don't special case flush inserts for blk-mq-sched
        blk-mq-sched: don't add flushes to the head of requeue queue
        blk-mq: have blk_mq_dispatch_rq_list() return if we queued IO or not
        block: do not allow updates through sysfs until registration completes
        lightnvm: set default lun range when no luns are specified
        lightnvm: fix off-by-one error on target initialization
        Maintainers: Modify SED list from nvme to block
        Move stack parameters for sed_ioctl to prevent oversized stack with CONFIG_KASAN
        uapi: sed-opal fix IOW for activate lsp to use correct struct
        cdrom: Make device operations read-only
        elevator: fix loading wrong elevator type for blk-mq devices
        cciss: switch to pci_irq_alloc_vectors
        block/loop: fix race between I/O and set_status
        blk-mq-sched: don't hold queue_lock when calling exit_icq
        block: set make_request_fn manually in blk_mq_update_nr_hw_queues
        ...
      772c8f6f
    • Mark Brown's avatar
      sched/core: Fix build paravirt build on arm and arm64 · fd4a61e0
      Mark Brown authored
      Commit 004172bd
      
       ("sched/core: Remove unnecessary #include headers")
      removed the inclusion of asm/paravirt.h which is used to get
      declarations of paravirt_steal_rq_enabled and paravirt_steal_clock.
      
      It is implicitly included on x86 but not on arm and arm64 breaking the
      build if paravirtualization is used.  Since things from that header are
      used directly fix the build by putting the direct inclusion back.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fd4a61e0
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.11.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 9763dd6f
      Linus Torvalds authored
      Pull GFS2 updates from Robert Peterson:
       "We've got eight GFS2 patches for this merge window:
      
         - Andy Price submitted a patch to make gfs2_write_full_page a static
           function.
      
         - Dan Carpenter submitted a patch to fix a ERR_PTR thinko.
      
        Three patches fix bugs related to deleting very large files, which
        cause GFS2 to run out of journal space:
      
         - The first one prevents GFS2 delete operation from requesting too
           much journal space.
      
         - The second one fixes a problem whereby GFS2 can hang because it
           wasn't taking journal space demand into its calculations.
      
         - The third one wakes up IO waiters when a flush is done to restart
           processes stuck waiting for journal space to become available.
      
        The final three patches are a performance improvement related to
        spin_lock contention between multiple writers:
      
         - The "tr_touched" variable was switched to a flag to be more atomic
           and eliminate the possibility of some races.
      
         - Function meta_lo_add was moved inline with its only caller to make
           the code more readable and efficient.
      
         - Contention on the gfs2_log_lock spinlock was greatly reduced by
           avoiding the lock altogether in cases where we don't really need
           it: buffers that already appear in the appropriate metadata list
           for the journal. Many thanks to Steve Whitehouse for the ideas and
           principles behind these patches"
      
      * tag 'gfs2-4.11.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Make gfs2_write_full_page static
        GFS2: Reduce contention on gfs2_log_lock
        GFS2: Inline function meta_lo_add
        GFS2: Switch tr_touched to flag in transaction
        GFS2: Wake up io waiters whenever a flush is done
        GFS2: Made logd daemon take into account log demand
        GFS2: Limit number of transaction blocks requested for truncates
        GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
      9763dd6f
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 70fcf5c3
      Linus Torvalds authored
      Pull UDF fixes and cleanups from Jan Kara:
       "Several small UDF fixes and cleanups and a small cleanup of fanotify
        code"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: simplify the code of fanotify_merge
        udf: simplify udf_ioctl()
        udf: fix ioctl errors
        udf: allow implicit blocksize specification during mount
        udf: check partition reference in udf_read_inode()
        udf: atomically read inode size
        udf: merge module informations in super.c
        udf: remove next_epos from udf_update_extent_cache()
        udf: Factor out trimming of crtime
        udf: remove empty condition
        udf: remove unneeded line break
        udf: merge bh free
        udf: use pointer for kernel_long_ad argument
        udf: use __packed instead of __attribute__ ((packed))
        udf: Make stat on symlink report symlink length as st_size
        fs/udf: make #ifdef UDF_PREALLOCATE unconditional
        fs: udf: Replace CURRENT_TIME with current_time()
      70fcf5c3
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 2bfe01ef
      Linus Torvalds authored
      Pull CIFS/SMB3 updates from Steve French:
       "Includes support for a critical SMB3 security feature: per-share
        encryption from Pavel, and a cleanup from Jean Delvare.
      
        Will have another cifs/smb3 merge next week"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        CIFS: Allow to switch on encryption with seal mount option
        CIFS: Add capability to decrypt big read responses
        CIFS: Decrypt and process small encrypted packets
        CIFS: Add copy into pages callback for a read operation
        CIFS: Add mid handle callback
        CIFS: Add transform header handling callbacks
        CIFS: Encrypt SMB3 requests before sending
        CIFS: Enable encryption during session setup phase
        CIFS: Add capability to transform requests before sending
        CIFS: Separate RFC1001 length processing for SMB2 read
        CIFS: Separate SMB2 sync header processing
        CIFS: Send RFC1001 length in a separate iov
        CIFS: Make send_cancel take rqst as argument
        CIFS: Make SendReceive2() takes resp iov
        CIFS: Separate SMB2 header structure
        CIFS: Fix splice read for non-cached files
        cifs: Add soft dependencies
        cifs: Only select the required crypto modules
        cifs: Simplify SMB2 and SMB311 dependencies
      2bfe01ef
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · cab7076a
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "For this cycle we add support for the shutdown ioctl, which is
        primarily used for testing, but which can be useful on production
        systems when a scratch volume is being destroyed and the data on it
        doesn't need to be saved.
      
        This found (and we fixed) a number of bugs with ext4's recovery to
        corrupted file system --- the bugs increased the amount of data that
        could be potentially lost, and in the case of the inline data feature,
        could cause the kernel to BUG.
      
        Also included are a number of other bug fixes, including in ext4's
        fscrypt, DAX, inline data support"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (26 commits)
        ext4: rename EXT4_IOC_GOINGDOWN to EXT4_IOC_SHUTDOWN
        ext4: fix fencepost in s_first_meta_bg validation
        ext4: don't BUG when truncating encrypted inodes on the orphan list
        ext4: do not use stripe_width if it is not set
        ext4: fix stripe-unaligned allocations
        dax: assert that i_rwsem is held exclusive for writes
        ext4: fix DAX write locking
        ext4: add EXT4_IOC_GOINGDOWN ioctl
        ext4: add shutdown bit and check for it
        ext4: rename s_resize_flags to s_ext4_flags
        ext4: return EROFS if device is r/o and journal replay is needed
        ext4: preserve the needs_recovery flag when the journal is aborted
        jbd2: don't leak modified metadata buffers on an aborted journal
        ext4: fix inline data error paths
        ext4: move halfmd4 into hash.c directly
        ext4: fix use-after-iput when fscrypt contexts are inconsistent
        jbd2: fix use after free in kjournald2()
        ext4: fix data corruption in data=journal mode
        ext4: trim allocation requests to group size
        ext4: replace BUG_ON with WARN_ON in mb_find_extent()
        ...
      cab7076a
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt · 6c24337f
      Linus Torvalds authored
      Pull fscrypt updates from Ted Ts'o:
       "Various cleanups for the file system encryption feature"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt:
        fscrypt: constify struct fscrypt_operations
        fscrypt: properly declare on-stack completion
        fscrypt: split supp and notsupp declarations into their own headers
        fscrypt: remove redundant assignment of res
        fscrypt: make fscrypt_operations.key_prefix a string
        fscrypt: remove unused 'mode' member of fscrypt_ctx
        ext4: don't allow encrypted operations without keys
        fscrypt: make test_dummy_encryption require a keyring key
        fscrypt: factor out bio specific functions
        fscrypt: pass up error codes from ->get_context()
        fscrypt: remove user-triggerable warning messages
        fscrypt: use EEXIST when file already uses different policy
        fscrypt: use ENOTDIR when setting encryption policy on nondirectory
        fscrypt: use ENOKEY when file cannot be created w/o key
      6c24337f
    • Linus Torvalds's avatar
      Merge tag 'device-properties-4.11-rc1' of... · 786856b6
      Linus Torvalds authored
      Merge tag 'device-properties-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
      
      Pull device property updates from Rafael J. Wysocki:
       "Generic device properties framework updates for v4.11-rc1
      
        Allow built-in (static) device properties to be declared as constant,
        make it possible to save memory by discarding alternative (but unused)
        built-in (static) property sets and add support for automatic handling
        of built-in properties to the I2C code"
      
      * tag 'device-properties-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        i2c: allow specify device properties in i2c_board_info
        device property: export code duplicating array of property entries
        device property: constify property arrays values
        device property: allow to constify properties
      786856b6
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 43e31e40
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to upstream revision
        20170119, which among other things updates copyright notices in all of
        the ACPICA files, fix a couple of issues in the ACPI EC and button
        drivers, fix modalias handling for non-discoverable devices with
        DT-compatible identification strings, add a suspend quirk for one
        platform and fix a message in the APEI code.
      
        Specifics:
      
         - Update of the ACPICA code in the kernel to upstream revision
           20170119 including:
      
            + Fixes related to the handling of the bit width and bit offset
              fields in Generic Address Structure (Lv Zheng)
            + ACPI resources handling fix related to invalid resource
              descriptors (Bob Moore)
            + Fix to enable implicit result conversion for several ASL library
              functions (Bob Moore)
            + Support for method invocations as target operands in AML (Bob
              Moore)
            + Fix to use a correct operand type for DeRefOf() in some
              situations (Bob Moore)
            + Utilities updates (Bob Moore, Lv Zheng)
            + Disassembler/debugger updates (David Box, Lv Zheng)
            + Build fixes (Colin Ian King, Lv Zheng)
            + Update of copyright notices in all files (Bob Moore)
      
         - Fix for modalias handling for SPI and I2C devices with
           DT-compatible identification strings (Dan O'Donovan)
      
         - Fixes for the ACPI EC and button drivers (Lv Zheng)
      
         - ACPI processor handling fix related to CPU hotplug (online/offline)
           on x86 (Vitaly Kuznetsov)
      
         - Suspend quirk to save/restore NVS memory over S3 transitions for
           Lenovo G50-45 (Zhang Rui)
      
         - Message formatting fix for the ACPI APEI code (Colin Ian King)"
      
      * tag 'acpi-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
        ACPICA: Update version to 20170119
        ACPICA: Tools: Update common signon, remove compilation bit width
        ACPICA: Source tree: Update copyright notices to 2017
        ACPICA: Linuxize: Restore and fix Intel compiler build
        x86/ACPI: keep x86_cpu_to_acpiid mapping valid on CPU hotplug
        spi: acpi: Initialize modalias from of_compatible
        i2c: acpi: Initialize info.type from of_compatible
        ACPI / bus: Introduce acpi_of_modalias() equiv of of_modalias_node()
        ACPI: save NVS memory for Lenovo G50-45
        ACPI, APEI, EINJ: fix malformed newline escape
        ACPI / button: Remove lid_init_state=method mode
        ACPI / button: Change default behavior to lid_init_state=open
        ACPI / EC: Use busy polling mode when GPE is not enabled
        ACPI / EC: Remove old CLEAR_ON_RESUME quirk
        ACPICA: Update version to 20161222
        ACPICA: Parser: Update parse info table for some operators
        ACPICA: Fix a problem with recent extra support for control method invocations
        ACPICA: Parser: Allow method invocations as target operands
        ACPICA: Fix for implicit result conversion for the ToXXX functions
        ACPICA: Resources: Not a valid resource if buffer length too long
        ..
      43e31e40
    • Linus Torvalds's avatar
      Merge tag 'pm-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 02c3de11
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "The majority of changes go into the Operating Performance Points (OPP)
        framework and cpufreq this time, followed by devfreq and some
        scattered updates all over.
      
        The OPP changes are mostly related to switching over from RCU-based
        synchronization, that turned out to be overly complicated and
        problematic, to reference counting using krefs.
      
        In the cpufreq land there are core cleanups, documentation updates, a
        new driver for Broadcom BMIPS SoCs, a new cpufreq-dt sub-driver for TI
        SoCs that require special handling, ARM64 SoCs support for the qoriq
        driver, intel_pstate updates, powernv driver update and assorted
        fixes.
      
        The devfreq changes are mostly fixes related to the sysfs interface
        and some Exynos drivers updates.
      
        Apart from that, the cpuidle menu governor will support per-CPU PM QoS
        constraints for the wakeup latency now, some bugs in the wakeup IRQs
        framework are fixed, the generic power domains framework should handle
        asynchronous invocations of *noirq suspend/resume callbacks from now
        on, the analyze_suspend.py script is updated and there is a new tool
        for intel_pstate diagnostics.
      
        Specifics:
      
         - Operating Performance Points (OPP) framework fixes, cleanups and
           switch over from RCU-based synchronization to reference counting
           using krefs (Viresh Kumar, Wei Yongjun, Dave Gerlach)
      
         - cpufreq core cleanups and documentation updates (Viresh Kumar,
           Rafael Wysocki)
      
         - New cpufreq driver for Broadcom BMIPS SoCs (Markus Mayer)
      
         - New cpufreq-dt sub-driver for TI SoCs requiring special handling,
           like in the AM335x, AM437x, DRA7x, and AM57x families, along with
           new DT bindings for it (Dave Gerlach, Paul Gortmaker)
      
         - ARM64 SoCs support for the qoriq cpufreq driver (Tang Yuantian)
      
         - intel_pstate driver updates including a new sysfs knob to control
           the driver's operation mode and fixes related to the no_turbo sysfs
           knob and the hardware-managed P-states feature support (Rafael
           Wysocki, Srinivas Pandruvada)
      
         - New interface to export ultra-turbo frequencies for the powernv
           cpufreq driver (Shilpasri Bhat)
      
         - Assorted fixes for cpufreq drivers (Arnd Bergmann, Dan Carpenter,
           Wei Yongjun)
      
         - devfreq core fixes, mostly related to the sysfs interface exported
           by it (Chanwoo Choi, Chris Diamand)
      
         - Updates of the exynos-bus and exynos-ppmu devfreq drivers (Chanwoo
           Choi)
      
         - Device PM QoS extension to support CPUs and support for per-CPU
           wakeup (device resume) latency constraints in the cpuidle menu
           governor (Alex Shi)
      
         - Wakeup IRQs framework fixes (Grygorii Strashko)
      
         - Generic power domains framework update including a fix to make it
           handle asynchronous invocations of *noirq suspend/resume callbacks
           correctly (Ulf Hansson, Geert Uytterhoeven)
      
         - Assorted fixes and cleanups in the core suspend/hibernate code, PM
           QoS framework and x86 ACPI idle support code (Corentin Labbe, Geert
           Uytterhoeven, Geliang Tang, John Keeping, Nick Desaulniers)
      
         - Update of the analyze_suspend.py script is updated to version 4.5
           offering multiple improvements (Todd Brandt)
      
         - New tool for intel_pstate diagnostics using the pstate_sample
           tracepoint (Doug Smythies)"
      
      * tag 'pm-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (85 commits)
        MAINTAINERS: cpufreq: add bmips-cpufreq.c
        PM / QoS: Fix memory leak on resume_latency.notifiers
        PM / Documentation: Spelling s/wrtie/write/
        PM / sleep: Fix test_suspend after sleep state rework
        cpufreq: CPPC: add ACPI_PROCESSOR dependency
        cpufreq: make ti-cpufreq explicitly non-modular
        cpufreq: Do not clear real_cpus mask on policy init
        tools/power/x86: Debug utility for intel_pstate driver
        AnalyzeSuspend: fix drag and zoom bug in javascript
        PM / wakeirq: report a wakeup_event on dedicated wekup irq
        PM / wakeirq: Fix spurious wake-up events for dedicated wakeirqs
        PM / wakeirq: Enable dedicated wakeirq for suspend
        cpufreq: dt: Don't use generic platdev driver for ti-cpufreq platforms
        cpufreq: ti: Add cpufreq driver to determine available OPPs at runtime
        Documentation: dt: add bindings for ti-cpufreq
        PM / OPP: Expose _of_get_opp_desc_node as dev_pm_opp API
        cpufreq: qoriq: Don't look at clock implementation details
        cpufreq: qoriq: add ARM64 SoCs support
        PM / Domains: Provide dummy governors if CONFIG_PM_GENERIC_DOMAINS=n
        cpufreq: brcmstb-avs-cpufreq: remove unnecessary platform_set_drvdata()
        ...
      02c3de11
    • Linus Torvalds's avatar
      Merge tag 'leds_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds · 7aa7d608
      Linus Torvalds authored
      Pull LED updates from Jacek Anaszewski:
       "New features and improvements:
      
         - add new optional brightness_hw_changed attribute for the LEDs that
           may have their brightness level changed autonomously (outside of
           kernel control) by hardware / firmware. The attribute supports
           userspace notifications through POLLPRI events
      
         - add led_brightness_hw_mon tool that demonstrates how to use the
           aforementioned feature
      
         - add LED_ON enum for LEDs that can be only turned on/off, and don't
           allow setting other brightness levels
      
         - allow for adjusting heartbeat trigger blink brightness level
      
        Fixes and cleanups:
      
         - avoid harmless maybe-uninitialized warning in leds-ktd2692.c
      
         - add context to the existing example entries in common LED bindings
           to make the documentation more clear"
      
      * tag 'leds_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        leds: ledtrig-heartbeat: Make top brightness adjustable
        tools/leds: Add led_hw_brightness_mon program
        leds: class: Add new optional brightness_hw_changed attribute
        leds: ktd2692: avoid harmless maybe-uninitialized warning
        leds: add LED_ON brightness as boolean value
        DT: leds: Improve examples by adding some context
      7aa7d608
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 85adbcd5
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "This release is mainly a collection of driver specific updates,
        including a few nice cleanups to make drivers use more core features.
      
         - automatically use the parent device to allocate DMA buffers if
           there wasn't an explicitly configured device.
      
         - fixes for leaks on allocation.
      
         - a small piece of the start of SPI slave support, a feature that's
           been on the cards for over a decade!"
      
      * tag 'spi-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (55 commits)
        spi: spi-ti-qspi: Fix error handling
        spi: spi-ti-qspi: Fix error handling
        spi: lantiq-ssc: activate under COMPILE_TEST
        spi: armada-3700: Remove spi_master_put in a3700_spi_remove()
        spi: ti-qspi: revise ti_qspi_probe() failure flow
        spi: spi-ep93xx: simplify GPIO chip selects
        spi: rspi: Replaces "n" by "len" in qspi_transfer_*()
        spi: rspi: Fixes bogus received byte in qspi_transfer_in()
        spi: bcm-qspi: Remove unnecessary platform_set_drvdata()
        spi: bcm-qspi: Fix bcm_qspi_bspi_read() performance
        spi: lantiq-ssc: add support for Lantiq SSC SPI controller
        spi: s3c64xx: fix inconsistency between binding and driver
        spi: armada-3700: Remove .owner field for driver
        spi: bcm-qspi: Added mspi read fallback in bcm_qspi_flash_read()
        spi: fix device-node leaks
        spi: mediatek: Only do dma for 4-byte aligned buffers
        spi: When no dma_chan map buffers with spi_master's parent
        spi: pca2xx-pci: Allow MSI
        spi: pxa2xx: Prepare for edge-triggered interrupts
        spi: pxa2xx: Add support for Intel Gemini Lake
        ...
      85adbcd5
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · f790bd9c
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Quite a lot of work going on the core this release, mainly around
        system initialization, but a quiet release for drivers:
      
         - fixes for registration of multiple regulators on a PMIC from Javier
           Martinez Canillas and Jon Hunter.
      
         - cleanups to the regulator_get() code from Dmitry Torokhov
      
         - lots of constifcation of structs from Bhumika Goyal
      
         - support for Motorola CPCAP regulators from Tony Lindgren"
      
      * tag 'regulator-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (52 commits)
        regulator: core: Resolve supplies before disabling unused regulators
        regulator: Fix regulator_summary for deviceless consumers
        regulator: tps65086: Fix DT node referencing in of_parse_cb
        regulator: tps65086: Fix expected switch DT node names
        regulator: core: simplify _regulator_get()
        regulator: core: have regulator_dev_lookup() return ERR_PTR-encoded errors
        regulator: gpio: correct default type
        regulator: cpcap: Add basic regulator support
        regulator: core: fix typo in regulator_bulk_disable()
        regulator: core: optimize devm_regulator_bulk_get()
        regulator: core: simplify regulator_bulk_force_disable()
        regulator: core: have _regulator_get() accept get_type argument
        regulator: core: remove dead code in _regulator_get()
        regulator: rn5t618: constify regulator_ops structure
        regulator: rc5t583-regulator: constify regulator_ops structure
        regulator: pv88090-regulator: constify regulator_ops structure
        regulator: pv88080-regulator: constify regulator_ops structure
        regulator: pv88060-regulator: constify regulator_ops structure
        regulator: pfuze100-regulator: constify regulator_ops structure
        regulator: pcf50633-regulator: constify regulator_ops structure
        ...
      f790bd9c
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b3de5ad6
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "For v4.11 activity on the regmap API has literally doubled, there are
        two patches this release:
      
         - fixes from Charles Keepax to make the kerneldoc generate correctly
      
         - a cleanup from Geliang Tang using rb_entry() rather than open
           coding it with container_of()"
      
      * tag 'regmap-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fixup the kernel-doc comments on functions/structures
        regmap: use rb_entry()
      b3de5ad6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 27a67e0f
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - a lot of Wacom driver updates; most notably second generation Intuos
         Pro is now supported, code from Aaron Armstrong Skomra and Jason
         Gerecke
      
       - Surface 3 and 4 Type Cover Pro support from Daniel Keller, Dennis
         Chen and Yuta Kobayashi
      
       - hid-rmi is now generic transport driver, used by synaptics-rmi4;
         Support the Lenovo Thinkpad X1 Tablet dock follows on top, from
         Andrew Duggan
      
       - a few misc bugfixes and improvements here and there
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (29 commits)
        HID: intel-ish-hid: constify device_type structure
        HID: wacom: Bluetooth IRQ for Intuos Pro should handle prox/range
        HID: intel-ish-hid: ipc: check FW status to distinguish ISH resume paths
        HID: multitouch: fix LG Melfas touchscreen
        HID: wacom: don't apply generic settings to old devices
        HID: wacom: generic: support LEDs
        HID: wacom: generic: support generic touch switch
        HID: wacom: generic: add vendor defined touch
        HID: wacom: generic: add support for touchring
        HID: wacom: generic: remove input_event_flag
        HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface
        HID: wacom: Move WAC_CMD_* into wacom_wac.h
        HID: wacom: Enable HID_GENERIC codepath for Bluetooth devices
        HID: wacom: do not attempt to switch mode while in probe
        HID: wacom: remove warning while disconnecting devices
        HID: wacom: release the resources before leaving despite devm
        HID: whitespace cleanup
        HID: multitouch: enable Surface 3 Type Cover Pro to report multitouch data
        HID: rmi: Support the Lenovo Thinkpad X1 Tablet dock using hid-rmi
        HID: rmi: Handle all Synaptics touchpads using hid-rmi
        ...
      27a67e0f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching · 59da2a06
      Linus Torvalds authored
      Pull livepatching updates from Jiri Kosina:
      
       - removal of dead code (Kamalesh Babulal)
      
       - documentation update (Miroslav Benes)
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
        livepatch: doc: remove the limitation for schedule() patching
        powerpc/livepatch: Remove klp_write_module_reloc() stub
      59da2a06
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · ebb4949e
      Linus Torvalds authored
      Pull IOMMU UPDATES from Joerg Roedel:
      
       - KVM PCIe/MSI passthrough support on ARM/ARM64
      
       - introduction of a core representation for individual hardware iommus
      
       - support for IOMMU privileged mappings as supported by some ARM IOMMUS
      
       - 16-bit SID support for ARM-SMMUv2
      
       - stream table optimization for ARM-SMMUv3
      
       - various fixes and other small improvements
      
      * tag 'iommu-updates-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (61 commits)
        vfio/type1: Fix error return code in vfio_iommu_type1_attach_group()
        iommu: Remove iommu_register_instance interface
        iommu/exynos: Make use of iommu_device_register interface
        iommu/mediatek: Make use of iommu_device_register interface
        iommu/msm: Make use of iommu_device_register interface
        iommu/arm-smmu: Make use of the iommu_register interface
        iommu: Add iommu_device_set_fwnode() interface
        iommu: Make iommu_device_link/unlink take a struct iommu_device
        iommu: Add sysfs bindings for struct iommu_device
        iommu: Introduce new 'struct iommu_device'
        iommu: Rename struct iommu_device
        iommu: Rename iommu_get_instance()
        iommu: Fix static checker warning in iommu_insert_device_resv_regions
        iommu: Avoid unnecessary assignment of dev->iommu_fwspec
        iommu/mediatek: Remove bogus 'select' statements
        iommu/dma: Remove bogus dma_supported() implementation
        iommu/ipmmu-vmsa: Restrict IOMMU Domain Geometry to 32-bit address space
        iommu/vt-d: Don't over-free page table directories
        iommu/vt-d: Tylersburg isoch identity map check is done too late.
        iommu/vt-d: Fix some macros that are incorrectly specified in intel-iommu
        ...
      ebb4949e
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 937b5b5d
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
        - kernel message modernizations and cleanups
      
        - defconfig updates
      
        - cleanups
      
      * tag 'm68k-for-v4.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/sun3: Remove dead code in paging_init()
        m68k/include: Modernize printing of kernel messages
        m68k/mm: Modernize printing of kernel messages
        m68k/mm: sun3 - Modernize printing of kernel messages
        m68k/kernel: Modernize printing of kernel messages
        m68k/sun3x: Modernize printing of kernel messages
        m68k/sun3: Modernize printing of kernel messages
        m68k/q40: Modernize printing of kernel messages
        m68k/mvme16x: Modernize printing of kernel messages
        m68k/mvme147: Modernize printing of kernel messages
        m68k/bvme6000: Modernize printing of kernel messages
        m68k/68000: Modernize printing of kernel messages
        m68k/atari: Modernize printing of kernel messages
        m68k: Delete an unnecessary variable assignment in sys_cacheflush()
        m68k/mac: Clean up interrupt debug macros and printk statements
        m68k/mac: Remove SHUTUP_SONIC interrupt hack
        m68k/mac: Improve NMI handler
        m68k/defconfig: Update defconfigs for v4.10-rc1
        m68k/mac: Remove unneeded linux/miscdevice.h include
      937b5b5d
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c945d022
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "Misc platform updates: SGI UV4 support additions, intel-mid Merrifield
        enhancements and purge of old code"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        x86/platform/UV/NMI: Fix uneccessary kABI breakage
        x86/platform/UV: Clean up the NMI code to match current coding style
        x86/platform/UV: Ensure uv_system_init is called when necessary
        x86/platform/UV: Initialize PCH GPP_D_0 NMI Pin to be NMI source
        x86/platform/UV: Verify NMI action is valid, default is standard
        x86/platform/UV: Add basic CPU NMI health check
        x86/platform/UV: Add Support for UV4 Hubless NMIs
        x86/platform/UV: Add Support for UV4 Hubless systems
        x86/platform/UV: Clean up the UV APIC code
        x86/platform/intel-mid: Move watchdog registration to arch_initcall()
        x86/platform/intel-mid: Don't shadow error code of mp_map_gsi_to_irq()
        x86/platform/intel-mid: Allocate RTC interrupt for Merrifield
        x86/ioapic: Return suitable error code in mp_map_gsi_to_irq()
        x86/platform/UV: Fix 2 socket config problem
        x86/platform/UV: Fix panic with missing UVsystab support
        x86/platform/intel-mid: Enable RTC on Intel Merrifield
        x86/platform/intel: Remove PMIC GPIO block support
        x86/platform/intel-mid: Make intel_scu_device_register() static
        x86/platform/intel-mid: Enable GPIO keys on Merrifield
        x86/platform/intel-mid: Get rid of duplication of IPC handler
        ...
      c945d022
  3. 20 Feb, 2017 3 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b5abde1
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "A laundry list of changes: KASAN improvements/fixes for ptdump, a
        self-test fix, PAT cleanup and wbinvd() avoidance, removal of stale
        code and documentation updates"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/ptdump: Add address marker for KASAN shadow region
        x86/mm/ptdump: Optimize check for W+X mappings for CONFIG_KASAN=y
        x86/mm/pat: Use rb_entry()
        x86/mpx: Re-add MPX to selftests Makefile
        x86/mm: Remove CONFIG_DEBUG_NX_TEST
        x86/mm/cpa: Avoid wbinvd() for PREEMPT
        x86/mm: Improve documentation for low-level device I/O functions
      8b5abde1
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a25a1d6c
      Linus Torvalds authored
      Pull x86 microcode updates from Ingo Molnar:
       "The main changes are further simplification and unification of the
        code between the AMD and Intel microcode loaders, plus other
        simplifications - by Borislav Petkov"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/AMD: Remove struct cont_desc.eq_id
        x86/microcode/AMD: Remove AP scanning optimization
        x86/microcode/AMD: Simplify saving from initrd
        x86/microcode/AMD: Unify load_ucode_amd_ap()
        x86/microcode/AMD: Check patch level only on the BSP
        x86/microcode: Remove local vendor variable
        x86/microcode/AMD: Use find_microcode_in_initrd()
        x86/microcode/AMD: Get rid of global this_equiv_id
        x86/microcode: Decrease CPUID use
        x86/microcode/AMD: Rework container parsing
        x86/microcode/AMD: Extend the container struct
        x86/microcode/AMD: Shorten function parameter's name
        x86/microcode/AMD: Clean up find_equiv_id()
        x86/microcode: Convert to bare minimum MSR accessors
        x86/MSR: Carve out bare minimum accessors
      a25a1d6c
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 280d7a1e
      Linus Torvalds authored
      Pull x86 fpu updates from Ingo Molnar:
       "The main changes relate to fixes between (lack of) CPUID and FPU
        detection that should only affect old or weird CPUs, by Andy
        Lutomirski"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Fix the "Giving up, no FPU found" test
        x86/fpu: Fix CPUID-less FPU detection
        x86/fpu: Fix "x86/fpu: Legacy x87 FPU detected" message
        x86/cpu: Re-apply forced caps every time CPU caps are re-read
        x86/cpu: Factor out application of forced CPU caps
        x86/cpu: Add X86_FEATURE_CPUID
        x86/fpu/xstate: Move XSAVES state init to a function
      280d7a1e