06 Aug, 2016

1 commit

  • Instead of a ramoops-specific node, use a child node of /reserved-memory.
    This requires that of_platform_device_create() be explicitly called
    for the node, though, since "/reserved-memory" does not have its own
    "compatible" property.

    Suggested-by: Rob Herring
    Signed-off-by: Kees Cook
    Acked-by: Rob Herring

    Kees Cook
     

02 Aug, 2016

2 commits

  • Pull crypto fixes from Herbert Xu:
    "This fixes a number of regressions in the marvell cesa driver caused
    by the chaining work, and a regression in lib/mpi that leads to a
    GFP_KERNEL allocation with preemption disabled"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: marvell - Don't copy IV vectors from the _process op for ciphers
    lib/mpi: Fix SG miter leak
    crypto: marvell - Update cache with input sg only when it is unmapped
    crypto: marvell - Don't chain at DMA level when backlog is disabled
    crypto: marvell - Fix memory leaks in TDMA chain for cipher requests

    Linus Torvalds
     
  • Pull x86 header cleanups from Ingo Molnar:
    "This tree is a cleanup of the x86 tree reducing spurious uses of
    module.h - which should improve build performance a bit"

    * 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, crypto: Restore MODULE_LICENSE() to glue_helper.c so it loads
    x86/apic: Remove duplicated include from probe_64.c
    x86/ce4100: Remove duplicated include from ce4100.c
    x86/headers: Include spinlock_types.h in x8664_ksyms_64.c for missing spinlock_t
    x86/platform: Delete extraneous MODULE_* tags fromm ts5500
    x86: Audit and remove any remaining unnecessary uses of module.h
    x86/kvm: Audit and remove any unnecessary uses of module.h
    x86/xen: Audit and remove any unnecessary uses of module.h
    x86/platform: Audit and remove any unnecessary uses of module.h
    x86/lib: Audit and remove any unnecessary uses of module.h
    x86/kernel: Audit and remove any unnecessary uses of module.h
    x86/mm: Audit and remove any unnecessary uses of module.h
    x86: Don't use module.h just for AUTHOR / LICENSE tags

    Linus Torvalds
     

01 Aug, 2016

7 commits

  • Pull backlight updates from Lee Jones:
    "Add support for an enable regulator to lp855x_bl"

    * tag 'backlight-for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
    backlight: lp855x: Add enable regulator

    Linus Torvalds
     
  • Pull MFD updates from Lee Jones:
    "Core Framework:
    - New API to call bespoke pre/post IRQ handlers; Regmap

    New Device Support:
    - Add support for RN5T567 to rn5t618
    - Add support for COMe-cSL6 and COMe-mAL10 to kempld-core

    New Functionality:
    - Add support for USB Power Supply to axp20x
    - Add support for Power Key to hi655x-pmic

    Fix-ups:
    - Update MAINTAINERS; Dialog, Altera
    - Remove module support; max77843, max77620, max8998, max8997, max8925-i2c
    - Add module support; max14577
    - Constifying; max77620
    - Allow bespoke IRQ masking/unmasking; max77620
    - Remove superfluous code; arizona, qcom_rpm, smsc-ece1099
    - Power Management fixups; arizona-core
    - Error-path improvement; twl-core, dm355evm_msp, smsc-ece1099, hi655x
    - Clocking fixups; twl6040
    - Trivial (spelling, headers, coding-style, whitespace, (re)naming);
    si476x-i2c, omap-usb-tll, ti_am335x_tscadc, tps6507, hi655x-pmic

    Bug Fixes:
    - Fix offset error for MSM8660; qcom_rpm
    - Fix possible spurious IRQs; arizona, hi655x-pmic"

    * tag 'mfd-for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (42 commits)
    mfd: qcom_rpm: Parametrize also ack selector size
    mfd: twl6040: Handle mclk used for HPPLL and optional internal clock source
    mfd: Add support for COMe-cSL6 and COMe-mAL10 to Kontron PLD driver
    mfd: hi655x: Fix return value check in hi655x_pmic_probe()
    mfd: smsc-ece1099: Return directly after a function failure in smsc_i2c_probe()
    mfd: smsc-ece1099: Delete an unnecessary variable initialisation in smsc_i2c_probe()
    mfd: dm355evm_msp: Return directly after a failed platform_device_alloc() in add_child()
    mfd: twl-core: Refactoring for add_numbered_child()
    mfd: twl-core: Return directly after a failed platform_device_alloc() in add_numbered_child()
    mfd: arizona: Add missing disable of PM runtime on probe error path
    mfd: stmpe: Move platform data into MFD driver
    mfd: max14577: Allow driver to be built as a module
    mfd: max14577: Use module_init() instead of subsys_initcall()
    mfd: arizona: Remove some duplicate defines
    mfd: qcom_rpm: Remove unused define
    mfd: hi655x-pmic: Add powerkey device to hi655x PMIC driver
    mfd: hi655x-pmic: Rename some interrupt macro names
    mfd: hi655x-pmic: Fixup issue with un-acked interrupts
    mfd: arizona: Check if AOD interrupts are pending before dispatching
    mfd: qcom_rpm: Fix offset error for msm8660
    ...

    Linus Torvalds
     
  • Pull IOMMU updates from Joerg Roedel:

    - big-endian support and preparation for defered probing for the Exynos
    IOMMU driver

    - simplifications in iommu-group id handling

    - support for Mediatek generation one IOMMU hardware

    - conversion of the AMD IOMMU driver to use the generic IOVA allocator.
    This driver now also benefits from the recent scalability
    improvements in the IOVA code.

    - preparations to use generic DMA mapping code in the Rockchip IOMMU
    driver

    - device tree adaption and conversion to use generic page-table code
    for the MSM IOMMU driver

    - an iova_to_phys optimization in the ARM-SMMU driver to greatly
    improve page-table teardown performance with VFIO

    - various other small fixes and conversions

    * tag 'iommu-updates-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (59 commits)
    iommu/amd: Initialize dma-ops domains with 3-level page-table
    iommu/amd: Update Alias-DTE in update_device_table()
    iommu/vt-d: Return error code in domain_context_mapping_one()
    iommu/amd: Use container_of to get dma_ops_domain
    iommu/amd: Flush iova queue before releasing dma_ops_domain
    iommu/amd: Handle IOMMU_DOMAIN_DMA in ops->domain_free call-back
    iommu/amd: Use dev_data->domain in get_domain()
    iommu/amd: Optimize map_sg and unmap_sg
    iommu/amd: Introduce dir2prot() helper
    iommu/amd: Implement timeout to flush unmap queues
    iommu/amd: Implement flush queue
    iommu/amd: Allow NULL pointer parameter for domain_flush_complete()
    iommu/amd: Set up data structures for flush queue
    iommu/amd: Remove align-parameter from __map_single()
    iommu/amd: Remove other remains of old address allocator
    iommu/amd: Make use of the generic IOVA allocator
    iommu/amd: Remove special mapping code for dma_ops path
    iommu/amd: Pass gfp-flags to iommu_map_page()
    iommu/amd: Implement apply_dm_region call-back
    iommu/amd: Create a list of reserved iova addresses
    ...

    Linus Torvalds
     
  • Pull mailbox updates from Jussi Brar:
    "Broadcom:
    - New PDC controller driver and bindings

    Misc:
    - PL320 - Convert from 'raw' IO to 'relaxed' version
    - Test - fix dangling pointer"

    * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
    mailbox: Fix format and type mismatches in Broadcom PDC driver
    mailbox: Add Broadcom PDC mailbox driver
    dt-bindings: add bindings documentation for PDC driver.
    mailbox: pl320: remove __raw IO
    mailbox: mailbox-test: set tdev->signal to NULL after freeing

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - A couple of changes to improve the support for erase/discard/trim cmds
    - Add eMMC HS400 enhanced strobe support
    - Show OCR and DSR registers in SYSFS for MMC/SD cards
    - Correct and improve busy detection logic for MMC switch (CMD6) cmds
    - Disable HPI cmds for certain broken Hynix eMMC cards
    - Allow MMC hosts to specify non-support for SD and MMC cmds
    - Some minor additional fixes

    MMC host:
    - sdhci: Re-works, fixes and clean-ups
    - sdhci: Add HW auto re-tuning support
    - sdhci: Re-factor code to prepare for adding support for eMMC CMDQ
    - sdhci-esdhc-imx: Fixes and clean-ups
    - sdhci-esdhc-imx: Update system PM support
    - sdhci-esdhc-imx: Enable HW auto re-tuning
    - sdhci-bcm2835: Remove driver as sdhci-iproc is used instead
    - sdhci-brcmstb: Add new driver for Broadcom BRCMSTB SoCs
    - sdhci-msm: Add support for UHS cards
    - sdhci-tegra: Improve support for UHS cards
    - sdhci-of-arasan: Update phy support for Rockchip SoCs
    - sdhci-of-arasan: Deploy enhanced strobe support
    - dw_mmc: Some fixes and clean-ups
    - dw_mmc: Enable support for erase/discard/trim cmds
    - dw_mmc: Enable CMD23 support
    - mediatek: Some fixes related to the eMMC HS400 support
    - sh_mmcif: Improve support for HW busy detection
    - rtsx_pci: Enable support for erase/discard/trim cmds"

    * tag 'mmc-v4.8' of git://git.linaro.org/people/ulf.hansson/mmc: (135 commits)
    mmc: rtsx_pci: Remove deprecated create_singlethread_workqueue
    mmc: rtsx_pci: Enable MMC_CAP_ERASE to allow erase/discard/trim requests
    mmc: rtsx_pci: Use the provided busy timeout from the mmc core
    mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS
    mmc: sdhci-pltfm: Convert to use the SET_SYSTEM_SLEEP_PM_OPS
    mmc: sdhci-pltfm: Make sdhci_pltfm_suspend|resume() static
    mmc: sdhci-esdhc-imx: Use common sdhci_suspend|resume_host()
    mmc: sdhci-esdhc-imx: Assign system PM ops within #ifdef CONFIG_PM_SLEEP
    mmc: sdhci-sirf: Remove non needed #ifdef CONFIG_PM* for dev_pm_ops
    mmc: sdhci-s3c: Remove non needed #ifdef CONFIG_PM for dev_pm_ops
    mmc: sdhci-pxav3: Remove non needed #ifdef CONFIG_PM for dev_pm_ops
    mmc: sdhci-of-esdhc: Simplify code by using SIMPLE_DEV_PM_OPS
    mmc: sdhci-acpi: Simplify code by using SET_SYSTEM_SLEEP_PM_OPS
    mmc: sdhci-pci-core: Simplify code by using SET_SYSTEM_SLEEP_PM_OPS
    mmc: Change the max discard sectors and erase response when HW busy detect
    phy: rockchip-emmc: Wait even longer for the DLL to lock
    phy: rockchip-emmc: Be tolerant to card clock of 0 in power on
    mmc: sdhci-of-arasan: Revert: Always power the PHY off/on when clock changes
    mmc: sdhci-msm: Add support for UHS cards
    mmc: sdhci-msm: Add set_uhs_signaling() implementation
    ...

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:
    "Core:
    - min and max timeout improvements, WDOG_HW_RUNNING improvements,
    status funtionality
    - Add a device managed API for watchdog_register_device()

    New watchdog drivers:
    - Aspeed SoCs
    - Maxim PMIC MAX77620
    - Amlogic Meson GXBB SoC

    Enhancements:
    - support for the r8a7796 watchdog device
    - support for F81866 watchdog device
    - support for 5th variation of Apollo Lake
    - support for MCP78S chipset
    - clean-up of softdog.c watchdog device driver
    - pic32-wdt and pic32-dmt fixes
    - Documentation/watchdog: watchdog-test improvements
    - several other fixes and improvements"

    * git://www.linux-watchdog.org/linux-watchdog: (50 commits)
    watchdog: gpio_wdt: Fix missing platform_set_drvdata() in gpio_wdt_probe()
    watchdog: core: Clear WDOG_HW_RUNNING before calling the stop function
    watchdog: core: Fix error handling of watchdog_dev_init()
    watchdog: pic32-wdt: Fix return value check in pic32_wdt_drv_probe()
    watchdog: pic32-dmt: Remove .owner field for driver
    watchdog: pic32-wdt: Remove .owner field for driver
    watchdog: renesas-wdt: Add support for the r8a7796 wdt
    Documentation/watchdog: check return value for magic close
    watchdog: sbsa: Drop status function
    watchdog: Implement status function in watchdog core
    watchdog: tangox: Set max_hw_heartbeat_ms instead of max_timeout
    watchdog: change watchdog_need_worker logic
    watchdog: add support for MCP78S chipset in nv_tco
    watchdog: bcm2835_wdt: remove redundant ->set_timeout callback
    watchdog: bcm2835_wdt: constify _ops and _info structures
    dt-bindings: watchdog: Add Meson GXBB Watchdog bindings
    watchdog: Add Meson GXBB Watchdog Driver
    watchdog: qcom: configure BARK time in addition to BITE time
    watchdog: qcom: add option for standalone watchdog not in timer block
    watchdog: qcom: update device tree bindings
    ...

    Linus Torvalds
     
  • Pull btrfs updates from Chris Mason:
    "This pull is dedicated to Josef's enospc rework, which we've been
    testing for a few releases now. It fixes some early enospc problems
    and is dramatically faster.

    This also includes an updated fix for the delalloc accounting that
    happens after a fault in copy_from_user. My patch in v4.7 was almost
    but not quite enough"

    * 'for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix delalloc accounting after copy_from_user faults
    Btrfs: avoid deadlocks during reservations in btrfs_truncate_block
    Btrfs: use FLUSH_LIMIT for relocation in reserve_metadata_bytes
    Btrfs: fill relocation block rsv after allocation
    Btrfs: always use trans->block_rsv for orphans
    Btrfs: change how we calculate the global block rsv
    Btrfs: use root when checking need_async_flush
    Btrfs: don't bother kicking async if there's nothing to reclaim
    Btrfs: fix release reserved extents trace points
    Btrfs: add fsid to some tracepoints
    Btrfs: add tracepoints for flush events
    Btrfs: fix delalloc reservation amount tracepoint
    Btrfs: trace pinned extents
    Btrfs: introduce ticketed enospc infrastructure
    Btrfs: add tracepoint for adding block groups
    Btrfs: warn_on for unaccounted spaces
    Btrfs: change delayed reservation fallback behavior
    Btrfs: always reserve metadata for delalloc extents
    Btrfs: fix callers of btrfs_block_rsv_migrate
    Btrfs: add bytes_readonly to the spaceinfo at once

    Linus Torvalds
     

31 Jul, 2016

10 commits

  • Pull sound updates from Takashi Iwai:
    "The majority of this update is about ASoC, including a few new
    drivers, and the rest are mostly minor changes. The only substantial
    change in ALSA core is about the additional error handling in the
    compress-offload API. Below are highlights:

    - Add the error propagating support in compress-offload API

    - HD-audio: a usual Dell headset fixup, an Intel HDMI/DP fix, and the
    default mixer setup change ot turn off the loopback

    - Lots of updates for ASoC Intel drivers, mostly board support and
    bug fixing, and to the NAU8825 driver

    - Work on generalizing bits of simple-card to allow more code sharing
    with the Renesas rsrc-card (which can't use simple-card due to DPCM)

    - Removal of the Odroid X2 driver due to replacement with simple-card

    - Support for several new Mediatek platforms and associated boards

    - New ASoC drivers for Allwinner A10, Analog Devices ADAU7002,
    Broadcom Cygnus, Cirrus Logic CS35L33 and CS53L30, Maxim MAX8960
    and MAX98504, Realtek RT5514 and Wolfson WM8758"

    * tag 'sound-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (278 commits)
    sound: oss: Use kernel_read_file_from_path() for mod_firmware_load()
    ASoC: Intel: Skylake: Delete an unnecessary check before the function call "release_firmware"
    ASoC: Intel: Skylake: Fix NULL Pointer exception in dynamic_debug.
    ASoC: samsung: Specify DMA channels through struct snd_dmaengine_pcm_config
    ASoC: samsung: Fix error paths in the I2S driver's probe()
    ASoC: cs53l30: Fix bit shift issue of TDM mode
    ASoC: cs53l30: Fix a bug for TDM slot location validation
    ASoC: rockchip: correct the spdif clk
    ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members
    ASoC: rsrc-card: use asoc_simple_card_parse_card_name()
    ASoC: rsrc-card: use asoc_simple_dai instead of rsrc_card_dai
    ASoC: rsrc-card: use asoc_simple_card_parse_dailink_name()
    ASoC: simple-card: use asoc_simple_card_parse_card_name()
    ASoC: simple-card-utils: add asoc_simple_card_parse_card_name()
    ASoC: simple-card: use asoc_simple_card_parse_dailink_name()
    ASoC: simple-card-utils: add asoc_simple_card_set_dailink_name()
    ASoC: nau8825: drop redundant idiom when converting integer to boolean
    ASoC: nau8825: jack connection decision with different insertion logic
    ASoC: mediatek: Add HDMI dai-links to the mt8173-rt5650 machine driver
    ASoC: mediatek: mt2701: fix non static symbol warning
    ...

    Linus Torvalds
     
  • Pull powerpc updates from Michael Ellerman:
    "Highlights:
    - PowerNV PCI hotplug support.
    - Lots more Power9 support.
    - eBPF JIT support on ppc64le.
    - Lots of cxl updates.
    - Boot code consolidation.

    Bug fixes:
    - Fix spin_unlock_wait() from Boqun Feng
    - Fix stack pointer corruption in __tm_recheckpoint() from Michael
    Neuling
    - Fix multiple bugs in memory_hotplug_max() from Bharata B Rao
    - mm: Ensure "special" zones are empty from Oliver O'Halloran
    - ftrace: Separate the heuristics for checking call sites from
    Michael Ellerman
    - modules: Never restore r2 for a mprofile-kernel style mcount() call
    from Michael Ellerman
    - Fix endianness when reading TCEs from Alexey Kardashevskiy
    - start rtasd before PCI probing from Greg Kurz
    - PCI: rpaphp: Fix slot registration for multiple slots under a PHB
    from Tyrel Datwyler
    - powerpc/mm: Add memory barrier in __hugepte_alloc() from Sukadev
    Bhattiprolu

    Cleanups & fixes:
    - Drop support for MPIC in pseries from Rashmica Gupta
    - Define and use PPC64_ELF_ABI_v2/v1 from Michael Ellerman
    - Remove unused symbols in asm-offsets.c from Rashmica Gupta
    - Fix SRIOV not building without EEH enabled from Russell Currey
    - Remove kretprobe_trampoline_holder from Thiago Jung Bauermann
    - Reduce log level of PCI I/O space warning from Benjamin
    Herrenschmidt
    - Add array bounds checking to crash_shutdown_handlers from Suraj
    Jitindar Singh
    - Avoid -maltivec when using clang integrated assembler from Anton
    Blanchard
    - Fix array overrun in ppc_rtas() syscall from Andrew Donnellan
    - Fix error return value in cmm_mem_going_offline() from Rasmus
    Villemoes
    - export cpu_to_core_id() from Mauricio Faria de Oliveira
    - Remove old symbols from defconfigs from Andrew Donnellan
    - Update obsolete comments in setup_32.c about entry conditions from
    Benjamin Herrenschmidt
    - Add comment explaining the purpose of setup_kdump_trampoline() from
    Benjamin Herrenschmidt
    - Merge the RELOCATABLE config entries for ppc32 and ppc64 from Kevin
    Hao
    - Remove RELOCATABLE_PPC32 from Kevin Hao
    - Fix .long's in tlb-radix.c to more meaningful from Balbir Singh

    Minor cleanups & fixes:
    - Andrew Donnellan, Anna-Maria Gleixner, Anton Blanchard, Benjamin
    Herrenschmidt, Bharata B Rao, Christophe Leroy, Colin Ian King,
    Geliang Tang, Greg Kurz, Madhavan Srinivasan, Michael Ellerman,
    Michael Ellerman, Stephen Rothwell, Stewart Smith.

    Freescale updates from Scott:
    - "Highlights include more 8xx optimizations, device tree updates,
    and MVME7100 support."

    PowerNV PCI hotplug from Gavin Shan:
    - PCI: Add pcibios_setup_bridge()
    - Override pcibios_setup_bridge()
    - Remove PCI_RESET_DELAY_US
    - Move pnv_pci_ioda_setup_opal_tce_kill() around
    - Increase PE# capacity
    - Allocate PE# in reverse order
    - Create PEs in pcibios_setup_bridge()
    - Setup PE for root bus
    - Extend PCI bridge resources
    - Make pnv_ioda_deconfigure_pe() visible
    - Dynamically release PE
    - Update bridge windows on PCI plug
    - Delay populating pdn
    - Support PCI slot ID
    - Use PCI slot reset infrastructure
    - Introduce pnv_pci_get_slot_id()
    - Functions to get/set PCI slot state
    - PCI/hotplug: PowerPC PowerNV PCI hotplug driver
    - Print correct PHB type names

    Power9 idle support from Shreyas B. Prabhu:
    - set power_save func after the idle states are initialized
    - Use PNV_THREAD_WINKLE macro while requesting for winkle
    - make hypervisor state restore a function
    - Rename idle_power7.S to idle_book3s.S
    - Rename reusable idle functions to hardware agnostic names
    - Make pnv_powersave_common more generic
    - abstraction for saving SPRs before entering deep idle states
    - Add platform support for stop instruction
    - cpuidle/powernv: Use CPUIDLE_STATE_MAX instead of MAX_POWERNV_IDLE_STATES
    - cpuidle/powernv: cleanup cpuidle-powernv.c
    - cpuidle/powernv: Add support for POWER ISA v3 idle states
    - Use deepest stop state when cpu is offlined

    Power9 PMU from Madhavan Srinivasan:
    - factor out power8 pmu macros and defines
    - factor out power8 pmu functions
    - factor out power8 __init_pmu code
    - Add power9 event list macros for generic and cache events
    - Power9 PMU support
    - Export Power9 generic and cache events to sysfs

    Power9 preliminary interrupt & PCI support from Benjamin Herrenschmidt:
    - Add XICS emulation APIs
    - Move a few exception common handlers to make room
    - Add support for HV virtualization interrupts
    - Add mechanism to force a replay of interrupts
    - Add ICP OPAL backend
    - Discover IODA3 PHBs
    - pci: Remove obsolete SW invalidate
    - opal: Add real mode call wrappers
    - Rename TCE invalidation calls
    - Remove SWINV constants and obsolete TCE code
    - Rework accessing the TCE invalidate register
    - Fallback to OPAL for TCE invalidations
    - Use the device-tree to get available range of M64's
    - Check status of a PHB before using it
    - pci: Don't try to allocate resources that will be reassigned

    Other Power9:
    - Send SIGBUS on unaligned copy and paste from Chris Smart
    - Large Decrementer support from Oliver O'Halloran
    - Load Monitor Register Support from Jack Miller

    Performance improvements from Anton Blanchard:
    - Avoid load hit store in __giveup_fpu() and __giveup_altivec()
    - Avoid load hit store in setup_sigcontext()
    - Remove assembly versions of strcpy, strcat, strlen and strcmp
    - Align hot loops of some string functions

    eBPF JIT from Naveen N. Rao:
    - Fix/enhance 32-bit Load Immediate implementation
    - Optimize 64-bit Immediate loads
    - Introduce rotate immediate instructions
    - A few cleanups
    - Isolate classic BPF JIT specifics into a separate header
    - Implement JIT compiler for extended BPF

    Operator Panel driver from Suraj Jitindar Singh:
    - devicetree/bindings: Add binding for operator panel on FSP machines
    - Add inline function to get rc from an ASYNC_COMP opal_msg
    - Add driver for operator panel on FSP machines

    Sparse fixes from Daniel Axtens:
    - make some things static
    - Introduce asm-prototypes.h
    - Include headers containing prototypes
    - Use #ifdef __BIG_ENDIAN__ #else for REG_BYTE
    - kvm: Clarify __user annotations
    - Pass endianness to sparse
    - Make ppc_md.{halt, restart} __noreturn

    MM fixes & cleanups from Aneesh Kumar K.V:
    - radix: Update LPCR HR bit as per ISA
    - use _raw variant of page table accessors
    - Compile out radix related functions if RADIX_MMU is disabled
    - Clear top 16 bits of va only on older cpus
    - Print formation regarding the the MMU mode
    - hash: Update SDR1 size encoding as documented in ISA 3.0
    - radix: Update PID switch sequence
    - radix: Update machine call back to support new HCALL.
    - radix: Add LPID based tlb flush helpers
    - radix: Add a kernel command line to disable radix
    - Cleanup LPCR defines

    Boot code consolidation from Benjamin Herrenschmidt:
    - Move epapr_paravirt_early_init() to early_init_devtree()
    - cell: Don't use flat device-tree after boot
    - ge_imp3a: Don't use the flat device-tree after boot
    - mpc85xx_ds: Don't use the flat device-tree after boot
    - mpc85xx_rdb: Don't use the flat device-tree after boot
    - Don't test for machine type in rtas_initialize()
    - Don't test for machine type in smp_setup_cpu_maps()
    - dt: Add of_device_compatible_match()
    - Factor do_feature_fixup calls
    - Move 64-bit feature fixup earlier
    - Move 64-bit memory reserves to setup_arch()
    - Use a cachable DART
    - Move FW feature probing out of pseries probe()
    - Put exception configuration in a common place
    - Remove early allocation of the SMU command buffer
    - Move MMU backend selection out of platform code
    - pasemi: Remove IOBMAP allocation from platform probe()
    - mm/hash: Don't use machine_is() early during boot
    - Don't test for machine type to detect HEA special case
    - pmac: Remove spurrious machine type test
    - Move hash table ops to a separate structure
    - Ensure that ppc_md is empty before probing for machine type
    - Move 64-bit probe_machine() to later in the boot process
    - Move 32-bit probe() machine to later in the boot process
    - Get rid of ppc_md.init_early()
    - Move the boot time info banner to a separate function
    - Move setting of {i,d}cache_bsize to initialize_cache_info()
    - Move the content of setup_system() to setup_arch()
    - Move cache info inits to a separate function
    - Re-order the call to smp_setup_cpu_maps()
    - Re-order setup_panic()
    - Make a few boot functions __init
    - Merge 32-bit and 64-bit setup_arch()

    Other new features:
    - tty/hvc: Use IRQF_SHARED for OPAL hvc consoles from Sam Mendoza-Jonas
    - tty/hvc: Use opal irqchip interface if available from Sam Mendoza-Jonas
    - powerpc: Add module autoloading based on CPU features from Alastair D'Silva
    - crypto: vmx - Convert to CPU feature based module autoloading from Alastair D'Silva
    - Wake up kopald polling thread before waiting for events from Benjamin Herrenschmidt
    - xmon: Dump ISA 2.06 SPRs from Michael Ellerman
    - xmon: Dump ISA 2.07 SPRs from Michael Ellerman
    - Add a parameter to disable 1TB segs from Oliver O'Halloran
    - powerpc/boot: Add OPAL console to epapr wrappers from Oliver O'Halloran
    - Assign fixed PHB number based on device-tree properties from Guilherme G. Piccoli
    - pseries: Add pseries hotplug workqueue from John Allen
    - pseries: Add support for hotplug interrupt source from John Allen
    - pseries: Use kernel hotplug queue for PowerVM hotplug events from John Allen
    - pseries: Move property cloning into its own routine from Nathan Fontenot
    - pseries: Dynamic add entires to associativity lookup array from Nathan Fontenot
    - pseries: Auto-online hotplugged memory from Nathan Fontenot
    - pseries: Remove call to memblock_add() from Nathan Fontenot

    cxl:
    - Add set and get private data to context struct from Michael Neuling
    - make base more explicitly non-modular from Paul Gortmaker
    - Use for_each_compatible_node() macro from Wei Yongjun
    - Frederic Barrat
    - Abstract the differences between the PSL and XSL
    - Make vPHB device node match adapter's
    - Philippe Bergheaud
    - Add mechanism for delivering AFU driver specific events
    - Ignore CAPI adapters misplaced in switched slots
    - Refine slice error debug messages
    - Andrew Donnellan
    - static-ify variables to fix sparse warnings
    - PCI/hotplug: pnv_php: export symbols and move struct types needed by cxl
    - PCI/hotplug: pnv_php: handle OPAL_PCI_SLOT_OFFLINE power state
    - Add cxl_check_and_switch_mode() API to switch bi-modal cards
    - remove dead Kconfig options
    - fix potential NULL dereference in free_adapter()
    - Ian Munsie
    - Update process element after allocating interrupts
    - Add support for CAPP DMA mode
    - Fix allowing bogus AFU descriptors with 0 maximum processes
    - Fix allocating a minimum of 2 pages for the SPA
    - Fix bug where AFU disable operation had no effect
    - Workaround XSL bug that does not clear the RA bit after a reset
    - Fix NULL pointer dereference on kernel contexts with no AFU interrupts
    - powerpc/powernv: Split cxl code out into a separate file
    - Add cxl_slot_is_supported API
    - Enable bus mastering for devices using CAPP DMA mode
    - Move cxl_afu_get / cxl_afu_put to base
    - Allow a default context to be associated with an external pci_dev
    - Do not create vPHB if there are no AFU configuration records
    - powerpc/powernv: Add support for the cxl kernel api on the real phb
    - Add support for using the kernel API with a real PHB
    - Add kernel APIs to get & set the max irqs per context
    - Add preliminary workaround for CX4 interrupt limitation
    - Add support for interrupts on the Mellanox CX4
    - Workaround PE=0 hardware limitation in Mellanox CX4
    - powerpc/powernv: Fix pci-cxl.c build when CONFIG_MODULES=n

    selftests:
    - Test unaligned copy and paste from Chris Smart
    - Load Monitor Register Tests from Jack Miller
    - Cyril Bur
    - exec() with suspended transaction
    - Use signed long to read perf_event_paranoid
    - Fix usage message in context_switch
    - Fix generation of vector instructions/types in context_switch
    - Michael Ellerman
    - Use "Delta" rather than "Error" in normal output
    - Import Anton's mmap & futex micro benchmarks
    - Add a test for PROT_SAO"

    * tag 'powerpc-4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (263 commits)
    powerpc/mm: Parenthesise IS_ENABLED() in if condition
    tty/hvc: Use opal irqchip interface if available
    tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
    selftests/powerpc: exec() with suspended transaction
    powerpc: Improve comment explaining why we modify VRSAVE
    powerpc/mm: Drop unused externs for hpte_init_beat[_v3]()
    powerpc/mm: Rename hpte_init_lpar() and move the fallback to a header
    powerpc/mm: Fix build break when PPC_NATIVE=n
    crypto: vmx - Convert to CPU feature based module autoloading
    powerpc: Add module autoloading based on CPU features
    powerpc/powernv/ioda: Fix endianness when reading TCEs
    powerpc/mm: Add memory barrier in __hugepte_alloc()
    powerpc/modules: Never restore r2 for a mprofile-kernel style mcount() call
    powerpc/ftrace: Separate the heuristics for checking call sites
    powerpc: Merge 32-bit and 64-bit setup_arch()
    powerpc/64: Make a few boot functions __init
    powerpc: Re-order setup_panic()
    powerpc: Re-order the call to smp_setup_cpu_maps()
    powerpc/32: Move cache info inits to a separate function
    powerpc/64: Move the content of setup_system() to setup_arch()
    ...

    Linus Torvalds
     
  • On a system with sparse node ids, eg. a powerpc system with 4 nodes
    numbered like so:

    node 0: [mem 0x0000000000000000-0x00000007ffffffff]
    node 1: [mem 0x0000000800000000-0x0000000fffffffff]
    node 16: [mem 0x0000001000000000-0x00000017ffffffff]
    node 17: [mem 0x0000001800000000-0x0000001fffffffff]

    The code in rand_initialize() will allocate 4 pointers for the pool
    array, and initialise them correctly.

    However when go to use the pool, in eg. extract_crng(), we use the
    numa_node_id() to index into the array. For the higher numbered node ids
    this leads to random memory corruption, depending on what was kmalloc'ed
    adjacent to the pool array.

    Fix it by using nr_node_ids to size the pool array.

    Fixes: 1e7f583af67b ("random: make /dev/urandom scalable for silly userspace programs")
    Signed-off-by: Michael Ellerman
    Signed-off-by: Linus Torvalds

    Michael Ellerman
     
  • Pull NFS client updates from Trond Myklebust:
    "Highlights include:

    Stable bugfixes:
    - nfs: don't create zero-length requests

    - several LAYOUTGET bugfixes

    Features:
    - several performance related features

    - more aggressive caching when we can rely on close-to-open
    cache consistency

    - remove serialisation of O_DIRECT reads and writes

    - optimise several code paths to not flush to disk unnecessarily.

    However allow for the idiosyncracies of pNFS for those layout
    types that need to issue a LAYOUTCOMMIT before the metadata can
    be updated on the server.

    - SUNRPC updates to the client data receive path

    - pNFS/SCSI support RH/Fedora dm-mpath device nodes

    - pNFS files/flexfiles can now use unprivileged ports when
    the generic NFS mount options allow it.

    Bugfixes:
    - Don't use RDMA direct data placement together with data
    integrity or privacy security flavours

    - Remove the RDMA ALLPHYSICAL memory registration mode as
    it has potential security holes.

    - Several layout recall fixes to improve NFSv4.1 protocol
    compliance.

    - Fix an Oops in the pNFS files and flexfiles connection
    setup to the DS

    - Allow retry of operations that used a returned delegation
    stateid

    - Don't mark the inode as revalidated if a LAYOUTCOMMIT is
    outstanding

    - Fix writeback races in nfs4_copy_range() and
    nfs42_proc_deallocate()"

    * tag 'nfs-for-4.8-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (104 commits)
    pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding
    NFSv4: Clean up lookup of SECINFO_NO_NAME
    NFSv4.2: Fix warning "variable ‘stateids’ set but not used"
    NFSv4: Fix warning "no previous prototype for ‘nfs4_listxattr’"
    SUNRPC: Fix a compiler warning in fs/nfs/clnt.c
    pNFS: Remove redundant smp_mb() from pnfs_init_lseg()
    pNFS: Cleanup - do layout segment initialisation in one place
    pNFS: Remove redundant stateid invalidation
    pNFS: Remove redundant pnfs_mark_layout_returned_if_empty()
    pNFS: Clear the layout metadata if the server changed the layout stateid
    pNFS: Cleanup - don't open code pnfs_mark_layout_stateid_invalid()
    NFS: pnfs_mark_matching_lsegs_return() should match the layout sequence id
    pNFS: Do not set plh_return_seq for non-callback related layoutreturns
    pNFS: Ensure layoutreturn acts as a completion for layout callbacks
    pNFS: Fix CB_LAYOUTRECALL stateid verification
    pNFS: Always update the layout barrier seqid on LAYOUTGET
    pNFS: Always update the layout stateid if NFS_LAYOUT_INVALID_STID is set
    pNFS: Clear the layout return tracking on layout reinitialisation
    pNFS: LAYOUTRETURN should only update the stateid if the layout is valid
    nfs: don't create zero-length requests
    ...

    Linus Torvalds
     
  • Pull x86 microcode updates from Thomas Gleixner:

    - more work to make the microcode loader robust

    - a fix for the micro code load precedence

    - fixes for initrd loading with randomized memory

    - less printk noise on SMP machines

    * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/asm, x86/microcode: Add __PAGE_OFFSET_BASE define on 32-bit
    x86/microcode/intel: Fix initrd loading with CONFIG_RANDOMIZE_MEMORY=y
    x86/microcode: Remove unused symbol exports
    x86/microcode/intel: Do not issue microcode updates messages on each CPU
    Documentation/microcode: Document some aspects for more clarity
    x86/microcode/AMD: Make amd_ucode_patch[] static
    x86/microcode/intel: Unexport save_mc_for_early()
    x86/microcode/intel: Rename load_microcode_early() to find_microcode_patch()
    x86/microcode: Propagate save_microcode_in_initrd() retval
    x86/microcode: Get rid of find_cpio_data()'s dummy offset arg
    lib/cpio: Make find_cpio_data()'s offset arg optional
    x86/microcode: Fix suspend to RAM with builtin microcode
    x86/microcode: Fix loading precedence

    Linus Torvalds
     
  • Pull x86 cpufeature updates from Thomas Gleixner:

    - a workaround for the MONITOR instruction erratum of Goldmont CPUs

    - small fixes and cleanups here and there

    * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/cpu: Add workaround for MONITOR instruction erratum on Goldmont based CPUs
    x86/cpu: Rename "WESTMERE2" family to "NEHALEM_G"
    x86/amd_nb: Clean up init path
    x86/cpufeature: Add helper macro for mask check macros
    x86/cpufeature: Make sure DISABLED/REQUIRED macros are updated
    x86/cpufeature: Update cpufeaure macros

    Linus Torvalds
     
  • Pull perf fixes from Thomas Gleixner:
    "This update contains:

    - a fix for the bpf tools to use the new EM_BPF code

    - a fix for the module parser of perf to retrieve the
    proper text start address

    - add str_error_c to libapi to avoid linking against
    tools/lib/str_error_r.o"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools lib api: Add str_error_c to libapi
    perf s390: Fix 'start' address of module's map
    tools lib bpf: Use official ELF e_machine value

    Linus Torvalds
     
  • Pull misc fixes from Thomas Gleixner:
    "This update contains:

    - a fix for stomp-machine so the nmi_watchdog wont trigger on the cpu
    waiting for the others to execute the callback

    - various fixes and updates to objtool including an resync of the
    instruction decoder to match the kernel's decoder"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    objtool: Un-capitalize "Warning" for out-of-sync instruction decoder
    objtool: Resync x86 instruction decoder with the kernel's
    objtool: Support new GCC 6 switch jump table pattern
    stop_machine: Touch_nmi_watchdog() after MULTI_STOP_PREPARE
    objtool: Add 'fixdep' to objtool/.gitignore

    Linus Torvalds
     
  • Pull DeviceTree updates from Rob Herring:

    - remove most of_platform_populate() calls in arch code. Now the DT
    core code calls it in the default case and platforms only need to
    call it if they have special needs

    - use pr_fmt on all the DT core print statements

    - CoreSight binding doc improvements to block name descriptions

    - add dt_to_config script which can parse dts files and list
    corresponding kernel config options

    - fix memory leak hit with a PowerMac DT

    - correct a bunch of STMicro compatible strings to use the correct
    vendor prefix

    - fix DA9052 PMIC binding doc to match what is actually used in dts
    files

    * tag 'devicetree-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (35 commits)
    documentation: da9052: Update regulator bindings names to match DA9052/53 DTS expectations
    xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
    xtensa: Fix build error due to missing include file
    MIPS: ath79: Add missing include file
    Fix spelling errors in Documentation/devicetree
    ARM: dts: fix STMicroelectronics compatible strings
    powerpc/dts: fix STMicroelectronics compatible strings
    Documentation: dt: i2c: use correct STMicroelectronics vendor prefix
    scripts/dtc: dt_to_config - kernel config options for a devicetree
    of: fdt: mark unflattened tree as detached
    of: overlay: add resolver error prints
    coresight: document binding acronyms
    Documentation/devicetree: document cavium-pip rx-delay/tx-delay properties
    of: use pr_fmt prefix for all console printing
    of/irq: Mark initialised interrupt controllers as populated
    of: fix memory leak related to safe_name()
    Revert "of/platform: export of_default_bus_match_table"
    of: unittest: use of_platform_default_populate() to populate default bus
    memory: omap-gpmc: use of_platform_default_populate() to populate default bus
    bus: uniphier-system-bus: use of_platform_default_populate() to populate default bus
    ...

    Linus Torvalds
     
  • Pull clk updates from Michael Turquette:
    "The bulk of the changes are updates and fixes to existing clk provider
    drivers, along with a pretty standard number of new drivers. The core
    recieved a small number of updates as well.

    Core changes of note:
    - removed CLK_IS_ROOT flag

    New clk provider drivers:
    - Renesas r8a7796 clock pulse generator / module standby and
    software reset
    - Allwinner sun8i H3 clock controller unit
    - AmLogic meson8b clock controller (rewritten)
    - AmLogic gxbb clock controller
    - support for some new ICs was added by simple changes to static
    data tables for chips sharing the same family

    Driver updates of note:
    - the Allwinner sunxi clock driver infrastucture was rewritten to
    comform to the state of the art at drivers/clk/sunxi-ng. The old
    implementation is still supported for backwards compatibility with
    the DT ABI"

    * tag 'clk-for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (162 commits)
    clk: Makefile: re-sort and clean up
    Revert "clk: gxbb: expose CLKID_MMC_PCLK"
    clk: samsung: Allow modular build of the Audio Subsystem CLKCON driver
    clk: samsung: make clk-s5pv210-audss explicitly non-modular
    clk: exynos5433: remove CLK_IGNORE_UNUSED flag from SPI clocks
    clk: oxnas: Add hardware dependencies
    clk: imx7d: do not set parent of ethernet time/ref clocks
    ARM: dt: sun8i: switch the H3 to the new CCU driver
    clk: sunxi-ng: h3: Fix Kconfig symbol typo
    clk: sunxi-ng: h3: Fix audio clock divider offset
    clk: sunxi-ng: Add H3 clocks
    clk: sunxi-ng: Add N-K-M-P factor clock
    clk: sunxi-ng: Add N-K-M Factor clock
    clk: sunxi-ng: Add N-M-factor clock support
    clk: sunxi-ng: Add N-K-factor clock support
    clk: sunxi-ng: Add M-P factor clock support
    clk: sunxi-ng: Add divider
    clk: sunxi-ng: Add phase clock support
    clk: sunxi-ng: Add mux clock support
    clk: sunxi-ng: Add gate clock support
    ...

    Linus Torvalds
     

30 Jul, 2016

20 commits

  • Freescale updates from Scott:

    "Highlights include more 8xx optimizations, device tree updates,
    and MVME7100 support."

    Michael Ellerman
     
  • Pull audit updates from Paul Moore:
    "Six audit patches for 4.8.

    There are a couple of style and minor whitespace tweaks for the logs,
    as well as a minor fixup to catch errors on user filter rules, however
    the major improvements are a fix to the s390 syscall argument masking
    code (reviewed by the nice s390 folks), some consolidation around the
    exclude filtering (less code, always a win), and a double-fetch fix
    for recording the execve arguments"

    * 'stable-4.8' of git://git.infradead.org/users/pcmoore/audit:
    audit: fix a double fetch in audit_log_single_execve_arg()
    audit: fix whitespace in CWD record
    audit: add fields to exclude filter by reusing user filter
    s390: ensure that syscall arguments are properly masked on s390
    audit: fix some horrible switch statement style crimes
    audit: fixup: log on errors from filter user rules

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "Highlights:

    - TPM core and driver updates/fixes
    - IPv6 security labeling (CALIPSO)
    - Lots of Apparmor fixes
    - Seccomp: remove 2-phase API, close hole where ptrace can change
    syscall #"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (156 commits)
    apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
    tpm: Add TPM 2.0 support to the Nuvoton i2c driver (NPCT6xx family)
    tpm: Factor out common startup code
    tpm: use devm_add_action_or_reset
    tpm2_i2c_nuvoton: add irq validity check
    tpm: read burstcount from TPM_STS in one 32-bit transaction
    tpm: fix byte-order for the value read by tpm2_get_tpm_pt
    tpm_tis_core: convert max timeouts from msec to jiffies
    apparmor: fix arg_size computation for when setprocattr is null terminated
    apparmor: fix oops, validate buffer size in apparmor_setprocattr()
    apparmor: do not expose kernel stack
    apparmor: fix module parameters can be changed after policy is locked
    apparmor: fix oops in profile_unpack() when policy_db is not present
    apparmor: don't check for vmalloc_addr if kvzalloc() failed
    apparmor: add missing id bounds check on dfa verification
    apparmor: allow SYS_CAP_RESOURCE to be sufficient to prlimit another task
    apparmor: use list_next_entry instead of list_entry_next
    apparmor: fix refcount race when finding a child profile
    apparmor: fix ref count leak when profile sha1 hash is read
    apparmor: check that xindex is in trans_table bounds
    ...

    Linus Torvalds
     
  • Pull userns vfs updates from Eric Biederman:
    "This tree contains some very long awaited work on generalizing the
    user namespace support for mounting filesystems to include filesystems
    with a backing store. The real world target is fuse but the goal is
    to update the vfs to allow any filesystem to be supported. This
    patchset is based on a lot of code review and testing to approach that
    goal.

    While looking at what is needed to support the fuse filesystem it
    became clear that there were things like xattrs for security modules
    that needed special treatment. That the resolution of those concerns
    would not be fuse specific. That sorting out these general issues
    made most sense at the generic level, where the right people could be
    drawn into the conversation, and the issues could be solved for
    everyone.

    At a high level what this patchset does a couple of simple things:

    - Add a user namespace owner (s_user_ns) to struct super_block.

    - Teach the vfs to handle filesystem uids and gids not mapping into
    to kuids and kgids and being reported as INVALID_UID and
    INVALID_GID in vfs data structures.

    By assigning a user namespace owner filesystems that are mounted with
    only user namespace privilege can be detected. This allows security
    modules and the like to know which mounts may not be trusted. This
    also allows the set of uids and gids that are communicated to the
    filesystem to be capped at the set of kuids and kgids that are in the
    owning user namespace of the filesystem.

    One of the crazier corner casees this handles is the case of inodes
    whose i_uid or i_gid are not mapped into the vfs. Most of the code
    simply doesn't care but it is easy to confuse the inode writeback path
    so no operation that could cause an inode write-back is permitted for
    such inodes (aka only reads are allowed).

    This set of changes starts out by cleaning up the code paths involved
    in user namespace permirted mounts. Then when things are clean enough
    adds code that cleanly sets s_user_ns. Then additional restrictions
    are added that are possible now that the filesystem superblock
    contains owner information.

    These changes should not affect anyone in practice, but there are some
    parts of these restrictions that are changes in behavior.

    - Andy's restriction on suid executables that does not honor the
    suid bit when the path is from another mount namespace (think
    /proc/[pid]/fd/) or when the filesystem was mounted by a less
    privileged user.

    - The replacement of the user namespace implicit setting of MNT_NODEV
    with implicitly setting SB_I_NODEV on the filesystem superblock
    instead.

    Using SB_I_NODEV is a stronger form that happens to make this state
    user invisible. The user visibility can be managed but it caused
    problems when it was introduced from applications reasonably
    expecting mount flags to be what they were set to.

    There is a little bit of work remaining before it is safe to support
    mounting filesystems with backing store in user namespaces, beyond
    what is in this set of changes.

    - Verifying the mounter has permission to read/write the block device
    during mount.

    - Teaching the integrity modules IMA and EVM to handle filesystems
    mounted with only user namespace root and to reduce trust in their
    security xattrs accordingly.

    - Capturing the mounters credentials and using that for permission
    checks in d_automount and the like. (Given that overlayfs already
    does this, and we need the work in d_automount it make sense to
    generalize this case).

    Furthermore there are a few changes that are on the wishlist:

    - Get all filesystems supporting posix acls using the generic posix
    acls so that posix_acl_fix_xattr_from_user and
    posix_acl_fix_xattr_to_user may be removed. [Maintainability]

    - Reducing the permission checks in places such as remount to allow
    the superblock owner to perform them.

    - Allowing the superblock owner to chown files with unmapped uids and
    gids to something that is mapped so the files may be treated
    normally.

    I am not considering even obvious relaxations of permission checks
    until it is clear there are no more corner cases that need to be
    locked down and handled generically.

    Many thanks to Seth Forshee who kept this code alive, and putting up
    with me rewriting substantial portions of what he did to handle more
    corner cases, and for his diligent testing and reviewing of my
    changes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (30 commits)
    fs: Call d_automount with the filesystems creds
    fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns
    evm: Translate user/group ids relative to s_user_ns when computing HMAC
    dquot: For now explicitly don't support filesystems outside of init_user_ns
    quota: Handle quota data stored in s_user_ns in quota_setxquota
    quota: Ensure qids map to the filesystem
    vfs: Don't create inodes with a uid or gid unknown to the vfs
    vfs: Don't modify inodes with a uid or gid unknown to the vfs
    cred: Reject inodes with invalid ids in set_create_file_as()
    fs: Check for invalid i_uid in may_follow_link()
    vfs: Verify acls are valid within superblock's s_user_ns.
    userns: Handle -1 in k[ug]id_has_mapping when !CONFIG_USER_NS
    fs: Refuse uid/gid changes which don't map into s_user_ns
    selinux: Add support for unprivileged mounts from user namespaces
    Smack: Handle labels consistently in untrusted mounts
    Smack: Add support for unprivileged mounts from user namespaces
    fs: Treat foreign mounts as nosuid
    fs: Limit file caps to the user namespace of the super block
    userns: Remove the now unnecessary FS_USERNS_DEV_MOUNT flag
    userns: Remove implicit MNT_NODEV fragility.
    ...

    Linus Torvalds
     
  • Buck and LDO binding name changes.

    The binding names for the regulators have been changed to match the current
    expectation from existing device tree source files.

    This fix rectifies the disparity between what currently exists in some
    .dts[i] board files and what is listed in this binding document. This
    change re-aligns those differences and also brings the binding document
    in-line with the expectations of the product datasheet from Dialog
    Semiconductor.

    Bucks and LDOs now follow the expected notation:
    { buck1, buck2, buck3, buck4 }
    { ldo1, ldo2, ldo3, ldo4, ldo5, ldo6, ldo7, ldo8, ldo9, ldo10 }

    Signed-off-by: Steve Twiss
    Signed-off-by: Rob Herring

    Steve Twiss
     
  • Pull power management fix from Rafael Wysocki:
    "Fix a nasty (and really hard to debug) memory corruption during resume
    from hibernation on x86-64 (that leads to a kernel panic most of the
    time) due to the use of a stale stack pointer value in FRAME_BEGIN
    (Josh Poimboeuf)"

    * tag 'pm-urgent-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    x86/power/64: Fix hibernation return address corruption

    Linus Torvalds
     
  • Pull more cgroup updates from Tejun Heo:
    "I forgot to include the patches which got applied to for-4.7-fixes
    late during last cycle.

    Eric's three patches fix bugs introduced with the namespace support"

    * 'for-4.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroupns: Only allow creation of hierarchies in the initial cgroup namespace
    cgroupns: Close race between cgroup_post_fork and copy_cgroup_ns
    cgroupns: Fix the locking in copy_cgroup_ns

    Linus Torvalds
     
  • Pull smp hotplug updates from Thomas Gleixner:
    "This is the next part of the hotplug rework.

    - Convert all notifiers with a priority assigned

    - Convert all CPU_STARTING/DYING notifiers

    The final removal of the STARTING/DYING infrastructure will happen
    when the merge window closes.

    Another 700 hundred line of unpenetrable maze gone :)"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
    timers/core: Correct callback order during CPU hot plug
    leds/trigger/cpu: Move from CPU_STARTING to ONLINE level
    powerpc/numa: Convert to hotplug state machine
    arm/perf: Fix hotplug state machine conversion
    irqchip/armada: Avoid unused function warnings
    ARC/time: Convert to hotplug state machine
    clocksource/atlas7: Convert to hotplug state machine
    clocksource/armada-370-xp: Convert to hotplug state machine
    clocksource/exynos_mct: Convert to hotplug state machine
    clocksource/arm_global_timer: Convert to hotplug state machine
    rcu: Convert rcutree to hotplug state machine
    KVM/arm/arm64/vgic-new: Convert to hotplug state machine
    smp/cfd: Convert core to hotplug state machine
    x86/x2apic: Convert to CPU hotplug state machine
    profile: Convert to hotplug state machine
    timers/core: Convert to hotplug state machine
    hrtimer: Convert to hotplug state machine
    x86/tboot: Convert to hotplug state machine
    arm64/armv8 deprecated: Convert to hotplug state machine
    hwtracing/coresight-etm4x: Convert to hotplug state machine
    ...

    Linus Torvalds
     
  • Pull IDE updates from David Miller:
    "Just a couple small bug fixes, nothing overly exciting in here"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
    ide: missing break statement in set_timings_mdma()
    ide: hpt366: fix incorrect mask when checking at cmd_high_time
    ide-tape: fix misprint in failure handling in idetape_init()
    cmd640: add __init attribute

    Linus Torvalds
     
  • Pull sparc updates from David Miller:

    1) Double spin lock bug in sunhv serial driver, from Dan Carpenter.

    2) Use correct RSS estimate when determining whether to grow the huge
    TSB or not, from Mike Kravetz.

    3) Don't use full three level page tables for hugepages, PMD level is
    sufficient. From Nitin Gupta.

    4) Mask out extraneous bits from TSB_TAG_ACCESS register, we only want
    the address bits.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Trim page tables for 8M hugepages
    sparc64 mm: Fix base TSB sizing when hugetlb pages are used
    sparc: serial: sunhv: fix a double lock bug
    sparc32: off by ones in BUG_ON()
    sparc: Don't leak context bits into thread->fault_address

    Linus Torvalds
     
  • Pull ARC updates from Vineet Gupta:
    "Things have been calm here - nothing much except for a few fixes"

    * tag 'arc-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: mm: don't loose PTE_SPECIAL in pte_modify()
    ARC: dma: fix address translation in arc_dma_free
    ARC: typo fix in mm/ioremap.c
    ARC: fix linux-next build breakage

    Linus Torvalds
     
  • * pm-sleep:
    x86/power/64: Fix hibernation return address corruption

    Rafael J. Wysocki
     
  • Pull AVR32 updates from Hans-Christian Noren Egtvedt.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
    avr32: off by one in at32_init_pio()
    avr32: fixup code style in unistd.h and syscall_table.S
    avr32: wire up preadv2 and pwritev2 syscalls

    Linus Torvalds
     
  • Pull ARM updates from Russell King:
    "Included in this update are:

    - Patches from Gregory Clement to fix the coherent DMA cases in our
    dma-mapping code.

    - A number of CPU errata updates and fixes.

    - ARM cpuidle improvements from Jisheng Zhang.

    - Fix from Kees for the location of _etext.

    - Cleanups from Masahiro Yamada to avoid duplicated messages during
    the kernel build, and remove CONFIG_ARCH_HAS_BARRIERS.

    - Remove a udelay loop limitation, allowing for faster CPUs to
    calibrate the delay correctly.

    - Cleanup some left-overs from the SW PAN implementation.

    - Ensure that a modified address limit is not visible to exception
    handlers"

    * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (21 commits)
    ARM: 8586/1: cpuidle: make arm_cpuidle_suspend() a bit more efficient
    ARM: 8585/1: cpuidle: fix !cpuidle_ops[cpu].init case during init
    ARM: 8561/4: dma-mapping: Fix the coherent case when iommu is used
    ARM: 8561/3: dma-mapping: Don't use outer_flush_range when the L2C is coherent
    ARM: 8560/1: errata: Workaround errata A12 825619 / A17 852421
    ARM: 8559/1: errata: Workaround erratum A12 821420
    ARM: 8558/1: errata: Workaround errata A12 818325/852422 A17 852423
    ARM: save and reset the address limit when entering an exception
    ARM: 8577/1: Fix Cortex-A15 798181 errata initialization
    ARM: 8584/1: floppy: avoid gcc-6 warning
    ARM: 8583/1: mm: fix location of _etext
    ARM: 8582/1: remove unused CONFIG_ARCH_HAS_BARRIERS
    ARM: 8306/1: loop_udelay: remove bogomips value limitation
    ARM: 8581/1: add missing to arch/arm/kernel/devtree.c
    ARM: 8576/1: avoid duplicating "Kernel: arch/arm/boot/*Image is ready"
    ARM: 8556/1: on a generic DT system: do not touch l2x0
    ARM: uaccess: remove put_user() code duplication
    ARM: 8580/1: Remove orphaned __addr_ok() definition
    ARM: get rid of horrible *(unsigned int *)(regs + 1)
    ARM: introduce svc_pt_regs structure
    ...

    Linus Torvalds
     
  • Pull fuse updates from Miklos Szeredi:
    "This fixes error propagation from writeback to fsync/close for
    writeback cache mode as well as adding a missing capability flag to
    the INIT message. The rest are cleanups.

    (The commits are recent but all the code actually sat in -next for a
    while now. The recommits are due to conflict avoidance and the
    addition of Cc: stable@...)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: use filemap_check_errors()
    mm: export filemap_check_errors() to modules
    fuse: fix wrong assignment of ->flags in fuse_send_init()
    fuse: fuse_flush must check mapping->flags for errors
    fuse: fsync() did not return IO errors
    fuse: don't mess with blocking signals
    new helper: wait_event_killable_exclusive()
    fuse: improve aio directIO write performance for size extending writes

    Linus Torvalds
     
  • This reverts commit 3c9fe8cdff1b889a059a30d22f130372f2b3885f.

    As Miklos points out in commit c1b2cc1a765a, the "lookup_hash()" helper
    is now unused, and in fact, with the hash salting changes, since the
    hash of a dentry name now depends on the directory dentry it is in, the
    helper function isn't even really likely to be useful.

    So rather than keep it around in case somebody else might end up finding
    a use for it, let's just remove the helper and not trick people into
    thinking it might be a useful thing.

    For example, I had obviously completely missed how the helper didn't
    follow the normal dentry hashing patterns, and how the hash salting
    patch broke overlayfs. Things would quietly build and look sane, but
    not work.

    Suggested-by: Miklos Szeredi
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull overlayfs update from Miklos Szeredi:
    "First of all, this fixes a regression in overlayfs introduced by the
    dentry hash salting. I've moved the patch fixing this to the front of
    the queue, so if (god forbid) something needs to be bisected in
    overlayfs this regression won't interfere with that.

    The biggest part is preparation for selinux support, done by Vivek
    Goyal. Essentially this makes all operations on underlying
    filesystems be done with credentials of mounter. This makes
    everything nicely consistent.

    There are also fixes for a number of known and recently discovered
    non-standard behavior (thanks to Eryu Guan for testing and improving
    the test suites)"

    * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: (23 commits)
    ovl: simplify empty checking
    qstr: constify instances in overlayfs
    ovl: clear nlink on rmdir
    ovl: disallow overlayfs as upperdir
    ovl: fix warning
    ovl: remove duplicated include from super.c
    ovl: append MAY_READ when diluting write checks
    ovl: dilute permission checks on lower only if not special file
    ovl: fix POSIX ACL setting
    ovl: share inode for hard link
    ovl: store real inode pointer in ->i_private
    ovl: permission: return ECHILD instead of ENOENT
    ovl: update atime on upper
    ovl: fix sgid on directory
    ovl: simplify permission checking
    ovl: do not require mounter to have MAY_WRITE on lower
    ovl: do operations on underlying file system in mounter's context
    ovl: modify ovl_permission() to do checks on two inodes
    ovl: define ->get_acl() for overlay inodes
    ovl: move some common code in a function
    ...

    Linus Torvalds
     
  • Pull freevxfs updates from Christoph Hellwig:
    "Support for foreign endianess and HP-UP superblocks from
    Krzysztof Błaszkowski"

    * tag 'freevxfs-for-4.8' of git://git.infradead.org/users/hch/freevxfs:
    freevxfs: update Kconfig information
    freevxfs: refactor readdir and lookup code
    freevxfs: fix lack of inode initialization
    freevxfs: fix memory leak in vxfs_read_fshead()
    freevxfs: update documentation and cresdits for HP-UX support
    freevxfs: implement ->alloc_inode and ->destroy_inode
    freevxfs: avoid the need for forward declaring the super operations
    freevxfs: move VFS inode allocation into vxfs_blkiget and vxfs_stiget
    freevxfs: remove vxfs_put_fake_inode
    freevxfs: handle big endian HP-UX file systems

    Linus Torvalds
     
  • Pull configfs update from Christoph Hellwig:
    "A simple error handling fix from Tal Shorer"

    * tag 'configfs-for-4.8' of git://git.infradead.org/users/hch/configfs:
    configfs: don't set buffer_needs_fill to zero if show() returns error

    Linus Torvalds
     
  • Pull CIFS/SMB3 fixes from Steve French:
    "Various CIFS/SMB3 fixes, most for stable"

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
    CIFS: Fix a possible invalid memory access in smb2_query_symlink()
    fs/cifs: make share unaccessible at root level mountable
    cifs: fix crash due to race in hmac(md5) handling
    cifs: unbreak TCP session reuse
    cifs: Check for existing directory when opening file with O_CREAT
    Add MF-Symlinks support for SMB 2.0

    Linus Torvalds