1. 15 Mar, 2017 2 commits
    • Eric Biggers's avatar
      fscrypt: eliminate ->prepare_context() operation · 94840e3c
      Eric Biggers authored
      The only use of the ->prepare_context() fscrypt operation was to allow
      ext4 to evict inline data from the inode before ->set_context().
      However, there is no reason why this cannot be done as simply the first
      step in ->set_context(), and in fact it makes more sense to do it that
      way because then the policy modes and flags get validated before any
      real work is done.  Therefore, merge ext4_prepare_context() into
      ext4_set_context(), and remove ->prepare_context().
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      94840e3c
    • Eric Biggers's avatar
      fscrypt: remove broken support for detecting keyring key revocation · 1b53cf98
      Eric Biggers authored
      Filesystem encryption ostensibly supported revoking a keyring key that
      had been used to "unlock" encrypted files, causing those files to become
      "locked" again.  This was, however, buggy for several reasons, the most
      severe of which was that when key revocation happened to be detected for
      an inode, its fscrypt_info was immediately freed, even while other
      threads could be using it for encryption or decryption concurrently.
      This could be exploited to crash the kernel or worse.
      
      This patch fixes the use-after-free by removing the code which detects
      the keyring key having been revoked, invalidated, or expired.  Instead,
      an encrypted inode that is "unlocked" now simply remains unlocked until
      it is evicted from memory.  Note that this is no worse than the case for
      block device-level encryption, e.g. dm-crypt, and it still remains
      possible for a privileged user to evict unused pages, inodes, and
      dentries by running 'sync; echo 3 > /proc/sys/vm/drop_caches', or by
      simply unmounting the filesystem.  In fact, one of those actions was
      already needed anyway for key revocation to work even somewhat sanely.
      This change is not expected to break any applications.
      
      In the future I'd like to implement a real API for fscrypt key
      revocation that interacts sanely with ongoing filesystem operations ---
      waiting for existing operations to complete and blocking new operations,
      and invalidating and sanitizing key material and plaintext from the VFS
      caches.  But this is a hard problem, and for now this bug must be fixed.
      
      This bug affected almost all versions of ext4, f2fs, and ubifs
      encryption, and it was potentially reachable in any kernel configured
      with encryption support (CONFIG_EXT4_ENCRYPTION=y,
      CONFIG_EXT4_FS_ENCRYPTION=y, CONFIG_F2FS_FS_ENCRYPTION=y, or
      CONFIG_UBIFS_FS_ENCRYPTION=y).  Note that older kernels did not use the
      shared fs/crypto/ code, but due to the potential security implications
      of this bug, it may still be worthwhile to backport this fix to them.
      
      Fixes: b7236e21 ("ext4 crypto: reorganize how we store keys in the inode")
      Cc: stable@vger.kernel.org # v4.2+
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Acked-by: default avatarMichael Halcrow <mhalcrow@google.com>
      1b53cf98
  2. 21 Feb, 2017 14 commits
    • 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 24 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
    • Linus Torvalds's avatar
      Merge branch 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8a9365a4
      Linus Torvalds authored
      Pull x86 cpufeature updates from Ingo Molnar:
       "The main changes in this cycle were related to enable ring-3
        MONITOR/MWAIT instructions support on supported CPUs, by Grzegorz
        Andrejczuk and Piotr Luc"
      
      * 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpufeature: Move RING3MWAIT feature to avoid conflicts
        x86/cpufeature: Enable RING3MWAIT for Knights Mill
        x86/cpufeature: Enable RING3MWAIT for Knights Landing
        x86/cpufeature: Add RING3MWAIT to CPU features
        x86/elf: Add HWCAP2 to expose ring 3 MONITOR/MWAIT
        x86/msr: Add MSR_MISC_FEATURE_ENABLES and RING3MWAIT bit
        x86/cpufeature: Add AVX512_VPOPCNTDQ feature
      8a9365a4
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2891e8e6
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Two small cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/traps: Get rid of unnecessary preempt_disable/preempt_enable_no_resched
        x86/pci-calgary: Fix iommu_free() comparison of unsigned expression >= 0
      2891e8e6
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 292d3867
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "Misc updates:
      
         - fix e820 error handling
      
         - convert page table setup code from assembly to C
      
         - fix kexec environment bug
      
         - ... plus small cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kconfig: Remove misleading note regarding hibernation and KASLR
        x86/boot: Fix KASLR and memmap= collision
        x86/e820/32: Fix e820_search_gap() error handling on x86-32
        x86/boot/32: Convert the 32-bit pgtable setup code from assembly to C
        x86/e820: Make e820_search_gap() static and remove unused variables
      292d3867
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4abaa800
      Linus Torvalds authored
      Pull x86 asm update from Ingo Molnar:
       "This adds a new SYSRET testcase"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/x86: Add a selftest for SYSRET to noncanonical addresses
      4abaa800
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4cee9fe5
      Linus Torvalds authored
      Pull x86 apic changes from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Re-activate the hw IRQ resend mechanism that was downgraded to a
           sw-resend unintentionally. (Ruslan Ruslichenko)
      
         - Avoid sporadic spurious hrtimer interrupts (Frederic Weisbecker)"
      
      [ Let's see if the io_apic retrigger ends up surviving this release, it
        got reverted last time because it found problems elsewhere  - Linus ]
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Fix a typo in a comment line
        x86/ioapic: Restore IO-APIC irq_chip retrigger callback
        x86/apic: Implement set_state_oneshot_stopped() callback
        x86/apic: Fix typos in comments
      4cee9fe5
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 42e1b14b
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Implement wraparound-safe refcount_t and kref_t types based on
           generic atomic primitives (Peter Zijlstra)
      
         - Improve and fix the ww_mutex code (Nicolai Hähnle)
      
         - Add self-tests to the ww_mutex code (Chris Wilson)
      
         - Optimize percpu-rwsems with the 'rcuwait' mechanism (Davidlohr
           Bueso)
      
         - Micro-optimize the current-task logic all around the core kernel
           (Davidlohr Bueso)
      
         - Tidy up after recent optimizations: remove stale code and APIs,
           clean up the code (Waiman Long)
      
         - ... plus misc fixes, updates and cleanups"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (50 commits)
        fork: Fix task_struct alignment
        locking/spinlock/debug: Remove spinlock lockup detection code
        lockdep: Fix incorrect condition to print bug msgs for MAX_LOCKDEP_CHAIN_HLOCKS
        lkdtm: Convert to refcount_t testing
        kref: Implement 'struct kref' using refcount_t
        refcount_t: Introduce a special purpose refcount type
        sched/wake_q: Clarify queue reinit comment
        sched/wait, rcuwait: Fix typo in comment
        locking/mutex: Fix lockdep_assert_held() fail
        locking/rtmutex: Flip unlikely() branch to likely() in __rt_mutex_slowlock()
        locking/rwsem: Reinit wake_q after use
        locking/rwsem: Remove unnecessary atomic_long_t casts
        jump_labels: Move header guard #endif down where it belongs
        locking/atomic, kref: Implement kref_put_lock()
        locking/ww_mutex: Turn off __must_check for now
        locking/atomic, kref: Avoid more abuse
        locking/atomic, kref: Use kref_get_unless_zero() more
        locking/atomic, kref: Kill kref_sub()
        locking/atomic, kref: Add kref_read()
        locking/atomic, kref: Add KREF_INIT()
        ...
      42e1b14b
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 828cad8e
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this (fairly busy) cycle were:
      
         - There was a class of scheduler bugs related to forgetting to update
           the rq-clock timestamp which can cause weird and hard to debug
           problems, so there's a new debug facility for this: which uncovered
           a whole lot of bugs which convinced us that we want to keep the
           debug facility.
      
           (Peter Zijlstra, Matt Fleming)
      
         - Various cputime related updates: eliminate cputime and use u64
           nanoseconds directly, simplify and improve the arch interfaces,
           implement delayed accounting more widely, etc. - (Frederic
           Weisbecker)
      
         - Move code around for better structure plus cleanups (Ingo Molnar)
      
         - Move IO schedule accounting deeper into the scheduler plus related
           changes to improve the situation (Tejun Heo)
      
         - ... plus a round of sched/rt and sched/deadline fixes, plus other
           fixes, updats and cleanups"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (85 commits)
        sched/core: Remove unlikely() annotation from sched_move_task()
        sched/autogroup: Rename auto_group.[ch] to autogroup.[ch]
        sched/topology: Split out scheduler topology code from core.c into topology.c
        sched/core: Remove unnecessary #include headers
        sched/rq_clock: Consolidate the ordering of the rq_clock methods
        delayacct: Include <uapi/linux/taskstats.h>
        sched/core: Clean up comments
        sched/rt: Show the 'sched_rr_timeslice' SCHED_RR timeslice tuning knob in milliseconds
        sched/clock: Add dummy clear_sched_clock_stable() stub function
        sched/cputime: Remove generic asm headers
        sched/cputime: Remove unused nsec_to_cputime()
        s390, sched/cputime: Remove unused cputime definitions
        powerpc, sched/cputime: Remove unused cputime definitions
        s390, sched/cputime: Make arch_cpu_idle_time() to return nsecs
        ia64, sched/cputime: Remove unused cputime definitions
        ia64: Convert vtime to use nsec units directly
        ia64, sched/cputime: Move the nsecs based cputime headers to the last arch using it
        sched/cputime: Remove jiffies based cputime
        sched/cputime, vtime: Return nsecs instead of cputime_t to account
        sched/cputime: Complete nsec conversion of tick based accounting
        ...
      828cad8e
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 60c906ba
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "The main changes in this cycle were:
      
        - Assign notifier chain priorities for all RAS related handlers to
          make the ordering explicit (Borislav Petkov)
      
        - Improve the AMD MCA banks sysfs output (Yazen Ghannam)
      
        - Various cleanups and restructuring of the x86 RAS code (Borislav
          Petkov)"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority
        x86/ras: Get rid of mce_process_work()
        EDAC/mce/amd: Dump TSC value
        EDAC/mce/amd: Unexport amd_decode_mce()
        x86/ras/amd/inj: Change dependency
        x86/ras: Flip the TSC-adding logic
        x86/ras/amd: Make sysfs names of banks more user-friendly
        x86/ras/therm_throt: Do not log a fake MCE for thermal events
        x86/ras/inject: Make it depend on X86_LOCAL_APIC=y
      60c906ba
    • Theodore Ts'o's avatar
      ext4: rename EXT4_IOC_GOINGDOWN to EXT4_IOC_SHUTDOWN · e9be2ac7
      Theodore Ts'o authored
      It's very likely the file system independent ioctl name will be
      FS_IOC_SHUTDOWN, so let's use the same name for the ext4 ioctl name.
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      e9be2ac7
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7f4eb0a6
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "On the kernel side the main changes in this cycle were:
      
         - Add Intel Kaby Lake CPU support (Srinivas Pandruvada)
      
         - AMD uncore driver updates for fam17 (Janakarajan Natarajan)
      
         - Intel/PT updates and core events optimizations and cleanups
           (Alexander Shishkin)
      
         - cgroups events fixes (David Carrillo-Cisneros)
      
         - kprobes improvements (Masami Hiramatsu)
      
         - ... plus misc fixes and updates.
      
        On the tooling side the main changes were:
      
         - Support clang build in tools/{perf,lib/{bpf,traceevent,api}} with
           CC=clang, to, for instance, take advantage of better warnings
           (Arnaldo Carvalho de Melo):
      
         - Introduce the 'delta-abs' 'perf diff' compute method, that orders
           the histogram entries by the absolute value of the percentage delta
           for a function in two perf.data files, i.e. the functions that
           changed the most (increase or decrease in samples) comes first
           (Namhyung Kim)
      
         - Add support for parsing Intel uncore vendor event files and add
           uncore vendor events for the Intel server processors (Haswell,
           Broadwell, IvyBridge), Xeon Phi (Knights Landing) and Broadwell DE
           (Andi Kleen)
      
         - Introduce 'perf ftrace' a perf front end to the kernel's ftrace
           function and function_graph tracer, defaulting to the
           "function_graph" tracer, more work will be done in reviving this
           effort, forward porting it from its initial patch submission
           (Namhyung Kim)
      
         - Add 'e' and 'c' hotkeys to expand/collapse call chains for a single
           hist entry in the 'perf report' and 'perf top' TUI (Jiri Olsa)
      
         - Account thread wait time (off CPU time) separately: sleep, iowait
           and preempt, based on the prev_state of the last event, show the
           breakdown when using "perf sched timehist --state" (Namhyumg Kim)
      
         - Add more triggers to switch the output file (perf.data.TIMESTAMP).
      
           Now, in addition to switching to a different output file when
           receiving a SIGUSR2, one can also specify file size and time based
           triggers:
      
                 perf record -a --switch-output=signal
      
           is equivalent to what we had before:
      
                 perf record -a --switch-output
      
           While we can also ask for the file to be "sliced" by size, taking
           into account that that will happen only when we get woken up by the
           kernel, i.e. one has to take into account the --mmap-pages (the
           size of the perf mmap ring buffer):
      
                 perf record -a --switch-output=2G
      
           will break the perf.data output into multiple files limited to 2GB
           of samples, right when generating the output.
      
           For time based samples, alert() will be used, so to have 1 minute
           limited perf.data output files:
      
                perf record -a --switch-output=1m
      
           (Jiri Olsa)
      
         - Improve 'perf trace' (Arnaldo Carvalho de Melo)
      
         - 'perf kallsyms' toy tool to look for extended symbol information on
           the running kernel and demonstrate the machine/thread/symbol APIs
           for use in other tools, such as 'perf probe' (Arnaldo Carvalho de
           Melo)
      
         - ... plus tons of other changes, see the shortlog and Git log for
           details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (131 commits)
        perf tools: Add missing parse_events_error() prototype
        perf pmu: Fix check for unset alias->unit array
        perf tools: Be consistent on the type of map->symbols[] interator
        perf intel pt decoder: clang has no -Wno-override-init
        perf evsel: Do not put a variable sized type not at the end of a struct
        perf probe: Avoid accessing uninitialized 'map' variable
        perf tools: Do not put a variable sized type not at the end of a struct
        perf record: Do not put a variable sized type not at the end of a struct
        perf tests: Synthesize struct instead of using field after variable sized type
        perf bench numa: Make sure dprintf() is not defined
        Revert "perf bench futex: Sanitize numeric parameters"
        tools lib subcmd: Make it an error to pass a signed value to OPTION_UINTEGER
        tools: Set the maximum optimization level according to the compiler being used
        tools: Suppress request for warning options not existent in clang
        samples/bpf: Reset global variables
        samples/bpf: Ignore already processed ELF sections
        samples/bpf: Add missing header
        perf symbols: dso->name is an array, no need to check it against NULL
        perf tests record: No need to test an array against NULL
        perf symbols: No need to check if sym->name is NULL
        ...
      7f4eb0a6
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 32e2d7c8
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Changes to the EFI init code to establish whether secure boot
           authentication was performed at boot time. (Josh Boyer, David
           Howells)
      
         - Wire up the UEFI memory attributes table for x86. This eliminates
           any runtime memory regions that are both writable and executable,
           on recent firmware versions. (Sai Praneeth)
      
         - Move the BGRT init code to an earlier stage so that we can still
           use efi_mem_reserve(). (Dave Young)
      
         - Preserve debug symbols in the ARM/arm64 UEFI stub (Ard Biesheuvel)
      
         - Code deduplication work and various other cleanups (Lukas Wunner)
      
         - ... plus various other fixes and cleanups"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/libstub: Make file I/O chunking x86-specific
        efi: Print the secure boot status in x86 setup_arch()
        efi: Disable secure boot if shim is in insecure mode
        efi: Get and store the secure boot status
        efi: Add SHIM and image security database GUID definitions
        arm/efi: Allow invocation of arbitrary runtime services
        x86/efi: Allow invocation of arbitrary runtime services
        efi/libstub: Preserve .debug sections after absolute relocation check
        efi/x86: Add debug code to print cooked memmap
        efi/x86: Move the EFI BGRT init code to early init code
        efi: Use typed function pointers for the runtime services table
        efi/esrt: Fix typo in pr_err() message
        x86/efi: Add support for EFI_MEMORY_ATTRIBUTES_TABLE
        efi: Introduce the EFI_MEM_ATTR bit and set it from the memory attributes table
        efi: Make EFI_MEMORY_ATTRIBUTES_TABLE initialization common across all architectures
        x86/efi: Deduplicate efi_char16_printk()
        efi: Deduplicate efi_file_size() / _read() / _close()
      32e2d7c8
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7458a5d
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The RCU changes in this cycle are:
      
         - Dynticks updates, consolidating open-coded counter accesses into a
           well-defined API
      
         - SRCU updates: Simplify algorithm, add formal verification
      
         - Documentation updates
      
         - Miscellaneous fixes
      
         - Torture-test updates
      
        Most of the diffstat comes from the relatively large documentation
        update"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
        srcu: Reduce probability of SRCU ->unlock_count[] counter overflow
        rcutorture: Add CBMC-based formal verification for SRCU
        srcu: Force full grace-period ordering
        srcu: Implement more-efficient reader counts
        rcu: Adjust FQS offline checks for exact online-CPU detection
        rcu: Check cond_resched_rcu_qs() state less often to reduce GP overhead
        rcu: Abstract extended quiescent state determination
        rcu: Abstract dynticks extended quiescent state enter/exit operations
        rcu: Add lockdep checks to synchronous expedited primitives
        rcu: Eliminate unused expedited_normal counter
        llist: Clarify comments about when locking is needed
        rcu: Fix comment in rcu_organize_nocb_kthreads()
        rcu: Enable RCU tracepoints by default to aid in debugging
        rcu: Make rcu_cpu_starting() use its "cpu" argument
        rcu: Add comment headers to expedited-grace-period counter functions
        rcu: Don't wake rcuc/X kthreads on NOCB CPUs
        rcu: Re-enable TASKS_RCU for User Mode Linux
        rcu: Once again use NMI-based stack traces in stall warnings
        rcu: Remove short-term CPU kicking
        rcu: Add long-term CPU kicking
        ...
      f7458a5d
    • Linus Torvalds's avatar
      Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 575260e3
      Linus Torvalds authored
      Pull debugobjects updates from Ingo Molnar:
       "A number of scalability improvements by Waimang Long"
      
      * 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Improve variable naming
        debugobjects: Reduce contention on the global pool_lock
        debugobjects: Scale thresholds with # of CPUs
        debugobjects: Track number of kmem_cache_alloc/kmem_cache_free done
      575260e3
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1cd4027c
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "This update provides:
      
         - Yet another two irq controller chip drivers
      
         - A few updates and fixes for GICV3
      
         - A resource managed function for interrupt allocation
      
         - Fixes, updates and enhancements all over the place"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/qcom: Fix error handling
        genirq: Clarify logic calculating bogus irqreturn_t values
        genirq/msi: Add stubs for get_cached_msi_msg/pci_write_msi_msg
        genirq/devres: Use dev_name(dev) as default for devname
        genirq: Fix /proc/interrupts output alignment
        irqdesc: Add a resource managed version of irq_alloc_descs()
        irqchip/gic-v3-its: Zero command on allocation
        irqchip/gic-v3-its: Fix command buffer allocation
        irqchip/mips-gic: Fix local interrupts
        irqchip: Add a driver for Cortina Gemini
        irqchip: DT bindings for Cortina Gemini irqchip
        irqchip/gic-v3: Remove duplicate definition of GICD_TYPER_LPIS
        irqchip/gic-v3-its: Rename MAPVI to MAPTI
        irqchip/gic-v3-its: Drop deprecated GITS_BASER_TYPE_CPU
        irqchip/gic-v3-its: Refactor command encoding
        irqchip/gic-v3-its: Enable cacheable attribute Read-allocate hints
        irqchip/qcom: Add IRQ combiner driver
        ACPI: Add support for ResourceSource/IRQ domain mapping
        ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan
        irq/platform-msi: Fix comment about maximal MSIs
      1cd4027c
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 20dcfe1b
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Nothing exciting, just the usual pile of fixes, updates and cleanups:
      
         - A bunch of clocksource driver updates
      
         - Removal of CONFIG_TIMER_STATS and the related /proc file
      
         - More posix timer slim down work
      
         - A scalability enhancement in the tick broadcast code
      
         - Math cleanups"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        hrtimer: Catch invalid clockids again
        math64, tile: Fix build failure
        clocksource/drivers/arm_arch_timer:: Mark cyclecounter __ro_after_init
        timerfd: Protect the might cancel mechanism proper
        timer_list: Remove useless cast when printing
        time: Remove CONFIG_TIMER_STATS
        clocksource/drivers/arm_arch_timer: Work around Hisilicon erratum 161010101
        clocksource/drivers/arm_arch_timer: Introduce generic errata handling infrastructure
        clocksource/drivers/arm_arch_timer: Remove fsl-a008585 parameter
        clocksource/drivers/arm_arch_timer: Add dt binding for hisilicon-161010101 erratum
        clocksource/drivers/ostm: Add renesas-ostm timer driver
        clocksource/drivers/ostm: Document renesas-ostm timer DT bindings
        clocksource/drivers/tcb_clksrc: Use 32 bit tcb as sched_clock
        clocksource/drivers/gemini: Add driver for the Cortina Gemini
        clocksource: add DT bindings for Cortina Gemini
        clockevents: Add a clkevt-of mechanism like clksrc-of
        tick/broadcast: Reduce lock cacheline contention
        timers: Omit POSIX timer stuff from task_struct when disabled
        x86/timer: Make delay() work during early bootup
        delay: Add explanation of udelay() inaccuracy
        ...
      20dcfe1b
    • Linus Torvalds's avatar
      Merge tag 'for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · c9b9f207
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "New drivers:
         - sbs-charger driver
         - max14656_charger_detector
         - axp20x_ac_power
      
        New chip/feature support"
         - axp20x_usb_power: add AXP223 support
         - tps65217: add usb charger support
         - qcom_smbb: support otg regulator
         - at91-reset: add samx7 support
      
        Dropped drivers:
         - intel_mid_battery (platform was dropped)
      
        Fixes:
         - at91-poweroff: avoid wearing off LPDDR memory
         - replace deprecated extcon API
         - lots of cleanup and style fixes
         - misc minor functionality fixes"
      
      * tag 'for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (84 commits)
        power: supply: add AC power supply driver for AXP20X and AXP22X PMICs
        dt-bindings: power: supply: add AXP20X/AXP22X AC power supply
        power: supply: axp20x_usb_power: use IIO channels when available
        power: supply: max14656: Export I2C and OF device ID as module aliases
        power: supply: bq2415x: check for NULL acpi_id to avoid null pointer dereference
        power: supply: bq24190_charger: Adjust formatting
        power: supply: bq24190_charger: Handle fault before status on interrupt
        power: supply: bq24190_charger: Don't read fault register outside irq_handle_thread()
        power: supply: bq24190_charger: Call power_supply_changed() for relevant component
        power: supply: bq24190_charger: Install irq_handler_thread() at end of probe()
        power: supply: bq24190_charger: Call set_mode_host() on pm_resume()
        power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING
        power: supply: qcom_smbb: add regulator dependency
        power: reset: at91-reset: remove leftover platform_device_id
        power: reset: at91-reset: add samx7 support
        power: supply: max14656: fix platform_no_drv_owner.cocci warnings
        power: supply: pcf50633-charger: Compress return logic into one line.
        power: supply: ab8500_btemp: Compress return logic into one line.
        power: reset: at91-poweroff: timely shutdown LPDDR memories
        ARM: at91: define LPDDR types
        ...
      c9b9f207
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 345fb0a9
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - Make amd64_edac still load on a machine with unpopulated nodes +
         cleanups (Yazen Ghannam)
      
       - Expose per-DIMM error counts in sysfs (Aaron Miller)
      
       - Add T2080 l2-cache support to mpc85xx (Chris Packham)
      
       - Random other small improvements/cleanups/fixlets
      
      * tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, mce_amd: Print IPID and Syndrome on a separate line
        EDAC, amd64: Bump driver version
        MAINTAINERS, EDAC: Update email for Thor Thayer
        EDAC, fsl_ddr: Make locally used symbols static
        EDAC, mpc85xx: Add T2080 l2-cache support
        EDAC, amd64: Add x86cpuid sanity check during init
        EDAC, amd64: Don't treat ECC disabled as failure
        EDAC: Add routine to check if MC devices list is empty
        EDAC, amd64: Remove unused printing macros
        EDAC, amd64: Rework messages in ecc_enabled()
        EDAC, amd64: Move global code out of instance functions
        EDAC, amd64: Free unused memory when init_one_instance() fails
        EDAC, mce_amd: Give more context to deferred error message
        EDAC, i7300: Test for the second channel properly
        EDAC, sb_edac: Get rid of ->show_interleave_mode()
        EDAC: Expose per-DIMM error counts in sysfs
        EDAC, amd64: Save and return err code from probe_one_instance()
        EDAC, i82975x: Add ioremap_nocache() error handling
        EDAC: Fix typos in enum mem_type comments
        EDAC: Make dev_attr_sdram_scrub_rate static
      345fb0a9
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.11' of... · 507b5007
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
      
       - new driver for stts751
      
       - it87: Added support for IT8622E and IT8792E; improved support for
         other chips
      
       - lm70: Added support for TMP122/124
      
       - use permission-specific DEVICE_ATTR variants where possible
      
       - fixed overflows in various drivers
      
       - minor improvements in various drivers
      
      * tag 'hwmon-for-linus-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (95 commits)
        hwmon: (sht15) Add device tree support
        devicetree: add lm90 thermal_zone sensor support
        hwmon: (it87) Add support for IT8792E
        hwmon: (it87) Do not overwrite bit 2..6 of pwm control registers
        hwmon: (it87) Fix pwm4 detection for IT8620 and IT8628
        hwmon: (it87) Ensure that pwm control cache is current before updating values
        hwmon: (it87) Improve IT8622 support
        hwmon: (it87) Add support for IT8622E
        hwmon: (it87) Add feature flag indicating that VIN3 is connected to 5V
        DT: add binding documentation for STTS751
        hwmon: new driver for ST stts751 thermal sensor
        hwmon: Register thermal zone only if 'dev' parameter was provided
        hwmon: Relax name attribute validation for new APIs
        hwmon: Update documentation to clarify rules for the 'name' attribute
        hwmon: Make name attribute mandatory for new APIs
        hwmon: (lm70) Add support for TI TMP122/124
        hwmon: (lm70) Utilize dev_warn instead of pr_warn
        hwmon: (ltc4151) Export OF device ID table as module aliases
        hwmon: (adc128d818) Preserve operation mode
        hwmon: (adc128d818) Support operation modes 1-3
        ...
      507b5007
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20170212' of git://git.infradead.org/linux-mtd · ce1bf979
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "MTD updates for 4.11:
      
        General:
         - new kernel API for retrieving max bad blocks per die (not used yet)
         - track (and expose via sysfs) a partition's device tree node
         - support a "label" device tree property for naming an MTD
      
        NAND:
         - sunxi: avoid busy-waiting for NAND events
         - ifc: fix ECC handling on IFC v1.0
         - OX820: add explicit dependency on ARCH_OXNAS in Kconfig
         - core: add a new manufacture ID and fix a kernel-doc warning
         - fsmc: kill pdata support
         - lpc32xx_slc: remove unneeded NULL check
         - support dynamic "max bad blocks" detection via ONFI
      
        SPI NOR:
         - add support for the 4-byte address instruction set
         - add support for new memory parts
         - add support to S3AN memories
         - add support to the Intel SPI controller
         - add support to the Aspeed AST2400 and AST2550 controllers
         - support max SPI message sizes in m25p80_read()
         - fixes for the Candence and Freescale QSPI drivers
      
        Other:
         - add support for Gemini flash probing
         - bcm47xxsflash: add support for reading outside memory-mapped window
         - bcm47xxparts: extend to support multiple TRX partitions
         - misc fixes and typos
      
        Extra note: we've pulled in an MFD subtree from Lee Jones as a
        dependency for a new Intel SPI NOR driver"
      
      [ Kudos to Brian for sending pull request a week early:
      
         "I refuse to acknowledge the existence of 4.10-rc8 and am therefore
          sending our MTD changes for 4.11 now"
      
        which is all good ]
      
      * tag 'for-linus-20170212' of git://git.infradead.org/linux-mtd: (52 commits)
        mtd: aspeed: remove redundant dev_err call in aspeed_smc_probe()
        dt-bindings: mtd: add a common label property to all mtd devices
        mtd: name the mtd device with an optional label property
        mtd: physmap_of: fixup gemini/versatile dependencies
        mtd: spi-nor: cqspi: remove redundant dead code on error return check
        Documentation: mtk-quadspi: update DT bindings
        mtd: fsl-quadspi: Rename SEQID_QUAD_READ to SEQID_READ
        mtd:fsl-quadspi:use the property fields of SPI-NOR
        mtd: spi-nor: Add support for gd25q16
        mtd: spi-nor: Fix S3AN addressing calculation
        mtd: aspeed: fix compile warning in aspeed_smc_read_from_ahb()
        mtd: spi-nor: add dt support for Everspin MRAMs
        mtd: spi-nor: Add lock/unlock support for f25l32pa
        mtd: spi-nor: add a stateless method to support memory size above 128Mib
        mtd: spi-nor: rename SPINOR_OP_* macros of the 4-byte address op codes
        mtd: m25p80: consider max message size in m25p80_read
        mtd: spi-nor: bindings for the Aspeed memory controllers
        mtd: aspeed: add memory controllers for the Aspeed AST2400 SoC
        mtd: spi-nor: add memory controllers for the Aspeed AST2500 SoC
        mtd: spi-nor: remove WARN_ONCE() message in spi_nor_write()
        ...
      ce1bf979
    • Jiri Kosina's avatar
      Merge branches 'for-4.10/upstream-fixes', 'for-4.11/intel-ish',... · 53f724b2
      Jiri Kosina authored
      Merge branches 'for-4.10/upstream-fixes', 'for-4.11/intel-ish', 'for-4.11/mayflash', 'for-4.11/microsoft', 'for-4.11/rmi', 'for-4.11/upstream' and 'for-4.11/wacom' into for-linus
      53f724b2
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-ec', 'acpi-button' and 'acpi-apei' · ac18c0c4
      Rafael J. Wysocki authored
      * acpi-ec:
        ACPI / EC: Use busy polling mode when GPE is not enabled
        ACPI / EC: Remove old CLEAR_ON_RESUME quirk
      
      * acpi-button:
        ACPI / button: Remove lid_init_state=method mode
        ACPI / button: Change default behavior to lid_init_state=open
      
      * acpi-apei:
        ACPI, APEI, EINJ: fix malformed newline escape
      ac18c0c4