1. 09 Sep, 2015 3 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 839fe915
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "The most important changes in this patchset are:
      
         - re-enable 64bit PCI bus addresses which were temporarily disabled
           for PA-RISC in kernel 4.2
      
         - fix the 64bit CAS operation in the LWS path which now enables us to
           enable the 64bit gcc atomic builtins even on 32bit userspace with
           64bit kernel
      
         - fix a long-standing bug which sometimes crashed kernel at bootup
           while serial interrupt wasn't registered yet"
      
      * 'parisc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Use platform_device_register_simple("rtc-generic")
        parisc: Drop CONFIG_SMP around update_cr16_clocksource()
        parisc: Use double word condition in 64bit CAS operation
        parisc: Filter out spurious interrupts in PA-RISC irq handler
        parisc: Additionally check for in_atomic() in page fault handler
        PCI,parisc: Enable 64-bit bus addresses on PA-RISC
        parisc: Define ioremap_uc and ioremap_wc
      839fe915
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-4.3-rc1' of... · 54283aed
      Linus Torvalds authored
      Merge tag 'linux-kselftest-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest update from Shuah Khan:
       "This update adds new zram test and fixes to problems found during
        testing this new zram test.  In addition, there are a few bug fixes
        and ksefltest improvement patches from Linaro developers.
      
        I will send another update later on this week to fix kselftest
        breakage due to commit 2bf9e0ab ("locking/static_keys: Provide a
        selftest") after the fix soaks in next for a couple of days"
      
      * tag 'linux-kselftest-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/zram: Makefile fix
        selftests/zram: must be run as root
        selftests: breakpoints: fix installing error on the architecture except x86
        selftests: check before install
        selftests/zram: Adding zram tests
      54283aed
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 9a9952bb
      Linus Torvalds authored
      Pull iommu updates for from Joerg Roedel:
       "This time the IOMMU updates are mostly cleanups or fixes.  No big new
        features or drivers this time.  In particular the changes include:
      
         - Bigger cleanup of the Domain<->IOMMU data structures and the code
           that manages them in the Intel VT-d driver.  This makes the code
           easier to understand and maintain, and also easier to keep the data
           structures in sync.  It is also a preparation step to make use of
           default domains from the IOMMU core in the Intel VT-d driver.
      
         - Fixes for a couple of DMA-API misuses in ARM IOMMU drivers, namely
           in the ARM and Tegra SMMU drivers.
      
         - Fix for a potential buffer overflow in the OMAP iommu driver's
           debug code
      
         - A couple of smaller fixes and cleanups in various drivers
      
         - One small new feature: Report domain-id usage in the Intel VT-d
           driver to easier detect bugs where these are leaked"
      
      * tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (83 commits)
        iommu/vt-d: Really use upper context table when necessary
        x86/vt-d: Fix documentation of DRHD
        iommu/fsl: Really fix init section(s) content
        iommu/io-pgtable-arm: Unmap and free table when overwriting with block
        iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h
        iommu/msm: Use BUG_ON instead of if () BUG()
        iommu/vt-d: Access iomem correctly
        iommu/vt-d: Make two functions static
        iommu/vt-d: Use BUG_ON instead of if () BUG()
        iommu/vt-d: Return false instead of 0 in irq_remapping_cap()
        iommu/amd: Use BUG_ON instead of if () BUG()
        iommu/amd: Make a symbol static
        iommu/amd: Simplify allocation in irq_remapping_alloc()
        iommu/tegra-smmu: Parameterize number of TLB lines
        iommu/tegra-smmu: Factor out tegra_smmu_set_pde()
        iommu/tegra-smmu: Extract tegra_smmu_pte_get_use()
        iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages
        iommu/tegra-smmu: Remove PageReserved manipulation
        iommu/tegra-smmu: Convert to use DMA API
        iommu/tegra-smmu: smmu_flush_ptc() wants device addresses
        ...
      9a9952bb
  2. 08 Sep, 2015 31 commits
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · e81b594c
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "This has been a busy release for regmap.
      
        By far the biggest set of changes here are those from Markus Pargmann
        which implement support for block transfers in smbus devices.  This
        required quite a bit of refactoring but leaves us better able to
        handle odd restrictions that controllers may have and with better
        performance on smbus.
      
        Other new features include:
      
         - Fix interactions with lockdep for nested regmaps (eg, when a device
           using regmap is connected to a bus where the bus controller has a
           separate regmap).  Lockdep's default class identification is too
           crude to work without help.
      
         - Support for must write bitfield operations, useful for operations
           which require writing a bit to trigger them from Kuniori Morimoto.
      
         - Support for delaying during register patch application from Nariman
           Poushin.
      
         - Support for overriding cache state via the debugfs implementation
           from Richard Fitzgerald"
      
      * tag 'regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (25 commits)
        regmap: fix a NULL pointer dereference in __regmap_init
        regmap: Support bulk reads for devices without raw formatting
        regmap-i2c: Add smbus i2c block support
        regmap: Add raw_write/read checks for max_raw_write/read sizes
        regmap: regmap max_raw_read/write getter functions
        regmap: Introduce max_raw_read/write for regmap_bulk_read/write
        regmap: Add missing comments about struct regmap_bus
        regmap: No multi_write support if bus->write does not exist
        regmap: Split use_single_rw internally into use_single_read/write
        regmap: Fix regmap_bulk_write for bus writes
        regmap: regmap_raw_read return error on !bus->read
        regulator: core: Print at debug level on debugfs creation failure
        regmap: Fix regmap_can_raw_write check
        regmap: fix typos in regmap.c
        regmap: Fix integertypes for register address and value
        regmap: Move documentation to regmap.h
        regmap: Use different lockdep class for each regmap init call
        thermal: sti: Add parentheses around bridge->ops->regmap_init call
        mfd: vexpress: Add parentheses around bridge->ops->regmap_init call
        regmap: debugfs: Fix misuse of IS_ENABLED
        ...
      e81b594c
    • Linus Torvalds's avatar
      Merge tag 'fbdev-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · fa815580
      Linus Torvalds authored
      Pull fbdev updates from Tomi Valkeinen:
       "Minor fixes and cleanups"
      
      * tag 'fbdev-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
        video: fbdev: atmel_lcdfb: remove useless include
        video: fbdev: pxa168fb: Use devm_clk_get
        fbdev: ssd1307fb: fix error return code
        fbdev: fix snprintf() limit in show_bl_curve()
        video: fbdev: s3c-fb: Constify platform_device_id
        video: fbdev: atmel: fix warning for const return value
        video: fbdev: Drop owner assignment from platform_driver
        video: fbdev: Drop owner assignment from i2c_driver
        fbdev: remove unnecessary memset in vfb
        framebuffer: disable vgacon on microblaze arch
        fbdev: udlfb: remove unneeded initialization in few places
        fbdev: Allow compile test of GPIO consumers if !GPIOLIB
        fbdev: fix cea_modes array size
      fa815580
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc · 85579ad7
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Fix a race condition in the request handling
         - Skip trim commands for some buggy kingston eMMCs
         - An optimization and a correction for erase groups
         - Set CMD23 quirk for some Sandisk cards
      
        MMC host:
         - sdhci: Give GPIO CD higher precedence and don't poll when it's used
         - sdhci: Fix DMA memory leakage
         - sdhci: Some updates for clock management
         - sdhci-of-at91: introduce driver for the Atmel SDMMC
         - sdhci-of-arasan: Add support for sdhci-5.1
         - sdhci-esdhc-imx: Add support for imx7d which also supports HS400
         - sdhci: A collection of fixes and improvements for various sdhci hosts
         - omap_hsmmc: Modernization of the regulator code
         - dw_mmc: A couple of fixes for DMA and PIO mode
         - usdhi6rol0: A few fixes and support probe deferral for regulators
         - pxamci: Convert to use dmaengine
         - sh_mmcif: Fix the suspend process in a short term solution
         - tmio: Adjust timeout for commands
         - sunxi: Fix timeout while gating/ungating clock"
      
      * tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc: (67 commits)
        mmc: android-goldfish: remove incorrect __iomem annotation
        mmc: core: fix race condition in mmc_wait_data_done
        mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check
        mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage
        mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status
        mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on previous state
        mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state
        mmc: host: omap_hsmmc: avoid pbias regulator enable on power off
        mmc: host: omap_hsmmc: add separate function to set pbias
        mmc: host: omap_hsmmc: add separate functions for enable/disable supply
        mmc: host: omap_hsmmc: return error if any of the regulator APIs fail
        mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage
        mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc
        mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator
        mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get()
        mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get
        mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc
        mmc: sdhci-of-at91: fix platform_no_drv_owner.cocci warnings
        mmc: sh_mmcif: Fix suspend process
        mmc: usdhi6rol0: fix error return code
        ...
      85579ad7
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.3-1' of... · 3af6e98f
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver updates from Darren Hart:
       "Significant work on toshiba_acpi, including new hardware support,
        refactoring, and cleanups.  Extend device support for asus, ideapad,
        and acer systems.  New surface pro 3 buttons driver.  Misc minor
        cleanups for thinkpad and hp-wireless.
      
        acer-wmi:
         - No rfkill on HP Omen 15 wifi
      
        thinkpad_acpi:
         - Remove side effects from vdbg_printk -> no_printk macro
      
        surface pro 3:
         - Add support driver for Surface Pro 3 buttons
      
        hp-wireless:
         - remove unneeded goto/label in hpwl_init
      
        ideapad-laptop:
         - add alternative representation for Yoga 2 to DMI table
         - Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list
      
        asus-laptop:
         - Add key found on Asus F3M
      
        MAINTAINERS:
         - Remove Toshiba Linux mailing list address
      
        toshiba_acpi:
         - Bump driver version to 0.23
         - Remove unnecessary checks and returns in HCI/SCI functions
         - Refactor *{get, set} functions return value
         - Remove "*not supported" feature prints
         - Change *available functions return type
         - Add set_fan_status function
         - Change some variables to avoid warnings from ninja-check
         - Reorder toshiba_acpi_alt_keymap entries
         - Remove unused wireless defines
         - Transflective backlight updates
         - Avoid registering input device on WMI event laptops
         - Add /dev/toshiba_acpi device
         - Adapt /proc/acpi/toshiba/keys to TOS1900 devices"
      
      * tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (21 commits)
        acer-wmi: No rfkill on HP Omen 15 wifi
        thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro
        surface pro 3: Add support driver for Surface Pro 3 buttons
        hp-wireless: remove unneeded goto/label in hpwl_init
        ideapad-laptop: add alternative representation for Yoga 2 to DMI table
        asus-laptop: Add key found on Asus F3M
        MAINTAINERS: Remove Toshiba Linux mailing list address
        ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list
        toshiba_acpi: Bump driver version to 0.23
        toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions
        toshiba_acpi: Refactor *{get, set} functions return value
        toshiba_acpi: Remove "*not supported" feature prints
        toshiba_acpi: Change *available functions return type
        toshiba_acpi: Add set_fan_status function
        toshiba_acpi: Change some variables to avoid warnings from ninja-check
        toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries
        toshiba_acpi: Remove unused wireless defines
        toshiba_acpi: Transflective backlight updates
        toshiba_acpi: Avoid registering input device on WMI event laptops
        toshiba_acpi: Add /dev/toshiba_acpi device
        ...
      3af6e98f
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · acceba59
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Features:
      
         - new drivers: Renesas EMEV2, register based MUX, NXP LPC2xxx
         - core: scans DT and assigns wakeup interrupts.  no driver changes needed.
         - core: some refcouting issues fixed and better API for that
         - core: new helper function for best effort block read emulation
         - slave framework: proper DT bindings and userspace instantiation
         - some bigger work for xiic, pxa, omap drivers
      
        .. and quite a number of smaller driver fixes, cleanups, improvements"
      
      * 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (65 commits)
        i2c: mux: reg Change ioread endianness for readback
        i2c: mux: reg: fix compilation warnings
        i2c: mux: reg: simplify register size checking
        i2c: muxes: fix leaked i2c adapter device node references
        i2c: allow specifying separate wakeup interrupt in device tree
        of/irq: export of_get_irq_byname()
        i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code
        i2c: Replace I2C_CROS_EC_TUNNEL dependency
        eeprom: at24: use i2c_smbus_read_i2c_block_data_or_emulated
        i2c: core: Add support for best effort block read emulation
        i2c: lpc2k: add driver
        i2c: mux: Add register-based mux i2c-mux-reg
        i2c: dt: describe generic bindings
        i2c: slave: print warning if slave flag not set
        i2c: support 10 bit and slave addresses in sysfs 'new_device'
        i2c: take address space into account when checking for used addresses
        i2c: apply DT flags when probing
        i2c: make address check indpendent from client struct
        i2c: rename address check functions
        i2c: apply address offset for slaves, too
        ...
      acceba59
    • Linus Torvalds's avatar
      Merge tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · c1917615
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Core:
         - use is_visible() to control sysfs attributes
         - switch wakealarm attribute to DEVICE_ATTR_RW
         - make rtc_does_wakealarm() return boolean
         - properly manage lifetime of dev and cdev in rtc device
         - remove unnecessary device_get() in rtc_device_unregister
         - fix double free in rtc_register_device() error path
      
        New drivers:
         - NXP LPC24xx
         - Xilinx Zynq MP
         - Dialog DA9062
      
        Subsystem wide cleanups:
         - fix drivers that consider 0 as a valid IRQ in client->irq
         - Drop (un)likely before IS_ERR(_OR_NULL)
         - drop the remaining owner assignment for i2c_driver and
           platform_driver
         - module autoload fixes
      
        Drivers:
         - 88pm80x: add device tree support
         - abx80x: fix RTC write bit
         - ab8500: Add a sentinel to ab85xx_rtc_ids[]
         - armada38x: Align RTC set time procedure with the official errata
         - as3722: correct month value
         - at91sam9: cleanups
         - at91rm9200: get and use slow clock and cleanups
         - bq32k: remove redundant check
         - cmos: century support, proper fix for the spurious wakeup
         - ds1307: cleanups and wakeup irq support
         - ds1374: Remove unused variable
         - ds1685: Use module_platform_driver
         - ds3232: fix WARNING trace in resume function
         - gemini: fix ptr_ret.cocci warnings
         - mt6397: implement suspend/resume
         - omap: support internal and external clock enabling
         - opal: Enable alarms only when opal supports tpo
         - pcf2127: use OFS flag to detect unreliable date and warn the user
         - pl031: fix typo for author email
         - rx8025: huge cleanup and fixes
         - sa1100/pxa: share common code
         - s5m: fix to update ctrl register
         - s3c: fix clocks and wakeup, cleanup
         - sirfsoc: use regmap
         - nvram_read()/nvram_write() functions for cmos, ds1305, ds1307,
           ds1343, ds1511, ds1553, ds1742, m48t59, rp5c01, stk17ta8, tx4939
         - use rtc_valid_tm() error code when reading date/time instead of 0
           for isl12022, pcf2123, pcf2127"
      
      * tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (90 commits)
        rtc: abx80x: fix RTC write bit
        rtc: ab8500: Add a sentinel to ab85xx_rtc_ids[]
        rtc: ds1374: Remove unused variable
        rtc: Fix module autoload for OF platform drivers
        rtc: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers
        rtc: omap: Add external clock enabling support
        rtc: omap: Add internal clock enabling support
        ARM: dts: AM437x: Add the internal and external clock nodes for rtc
        rtc: s5m: fix to update ctrl register
        rtc: add xilinx zynqmp rtc driver
        devicetree: bindings: rtc: add bindings for xilinx zynqmp rtc
        rtc: as3722: correct month value
        ARM: config: Switch PXA27x platforms to use PXA RTC driver
        ARM: mmp: remove unused RTC register definitions
        ARM: sa1100: remove unused RTC register definitions
        rtc: sa1100/pxa: convert to run-time register mapping
        ARM: pxa: add memory resource to SA1100 RTC device
        rtc: pxa: convert to use shared sa1100 functions
        rtc: sa1100: prepare to share sa1100_rtc_ops
        rtc: ds3232: fix WARNING trace in resume function
        ...
      c1917615
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 12f03ee6
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "This update has successfully completed a 0day-kbuild run and has
        appeared in a linux-next release.  The changes outside of the typical
        drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the
        removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and
        the introduction of ZONE_DEVICE + devm_memremap_pages().
      
        Summary:
      
         - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
           mechanism for adding device-driver-discovered memory regions to the
           kernel's direct map.
      
           This facility is used by the pmem driver to enable pfn_to_page()
           operations on the page frames returned by DAX ('direct_access' in
           'struct block_device_operations').
      
           For now, the 'memmap' allocation for these "device" pages comes
           from "System RAM".  Support for allocating the memmap from device
           memory will arrive in a later kernel.
      
         - Introduce memremap() to replace usages of ioremap_cache() and
           ioremap_wt().  memremap() drops the __iomem annotation for these
           mappings to memory that do not have i/o side effects.  The
           replacement of ioremap_cache() with memremap() is limited to the
           pmem driver to ease merging the api change in v4.3.
      
           Completion of the conversion is targeted for v4.4.
      
         - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
           driver, update the VFS DAX implementation and PMEM api to provide
           persistence guarantees for kernel operations on a DAX mapping.
      
         - Convert the ACPI NFIT 'BLK' driver to map the block apertures as
           cacheable to improve performance.
      
         - Miscellaneous updates and fixes to libnvdimm including support for
           issuing "address range scrub" commands, clarifying the optimal
           'sector size' of pmem devices, a clarification of the usage of the
           ACPI '_STA' (status) property for DIMM devices, and other minor
           fixes"
      
      * tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits)
        libnvdimm, pmem: direct map legacy pmem by default
        libnvdimm, pmem: 'struct page' for pmem
        libnvdimm, pfn: 'struct page' provider infrastructure
        x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB
        add devm_memremap_pages
        mm: ZONE_DEVICE for "device memory"
        mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h
        dax: drop size parameter to ->direct_access()
        nd_blk: change aperture mapping from WC to WB
        nvdimm: change to use generic kvfree()
        pmem, dax: have direct_access use __pmem annotation
        dax: update I/O path to do proper PMEM flushing
        pmem: add copy_from_iter_pmem() and clear_pmem()
        pmem, x86: clean up conditional pmem includes
        pmem: remove layer when calling arch_has_wmb_pmem()
        pmem, x86: move x86 PMEM API to new pmem.h header
        libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option
        pmem: switch to devm_ allocations
        devres: add devm_memremap
        libnvdimm, btt: write and validate parent_uuid
        ...
      12f03ee6
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · d9241b22
      Linus Torvalds authored
      Pull misc kbuild updates from Michal Marek:
       - deb-pkg:
           + module signing fix
           + dtb files are added to the package
           + do not require `hostname -f` to work during build
           + make deb-pkg generates a source package, bindeb-pkg has been
             added to only generate the binary package
       - rpm-pkg packages /lib/modules as well
       - new coccinelle patch and updates to existing ones
       - new stackusage & stackdelta script to collect and compare stack usage
         info (using gcc's -fstack-usage)
       - make tags understands trace_*_rcuidle() macros
       - .gitignore updates, misc cleanups
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (27 commits)
        deb-pkg: add source package
        package/Makefile: move source tar creation to a function
        scripts: add stackdelta script
        kbuild: remove *.su files generated by -fstack-usage
        .gitignore: add *.su pattern
        scripts: add stackusage script
        kbuild: avoid listing /lib/modules in kernel spec file
        fallback to hostname in scripts/package/builddeb
        coccinelle: api: extend spatch for dropping unnecessary owner
        deb-pkg: simplify directory creation
        scripts/tags.sh: Include trace_*_rcuidle() in tags
        scripts/package/Makefile: rpmbuild is needed for rpm targets
        Kbuild: Add ID files to .gitignore
        gitignore: Add MIPS vmlinux.32 to the list
        coccinelle: simple_return: Add a blank line
        coccinelle: irqf_oneshot.cocci: Improve the generated commit log
        coccinelle: api: add vma_pages.cocci
        scripts/coccinelle/misc/irqf_oneshot.cocci: Fix grammar
        scripts/coccinelle/misc/semicolon.cocci: Use imperative mood
        coccinelle: simple_open: Use imperative mood
        ...
      d9241b22
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 605e9710
      Linus Torvalds authored
      Pull kconfig updates from Michal Marek:
       - kconfig warns about junk characters in Kconfig files
       - merge_config.sh error handling
       - small cleanup
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        merge_config.sh: exit on missing input files
        kconfig: Regenerate shipped zconf.{hash,lex}.c files
        kconfig: warn of unhandled characters in Kconfig commands
        kconfig: Delete unnecessary checks before the function call "sym_calc_value"
      605e9710
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · dab3c3cc
      Linus Torvalds authored
      Pull core kbuild updates from Michal Marek:
       - modpost portability fix
       - linker script fix
       - genksyms segfault fix
       - fixdep cleanup
       - fix for clang detection
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: Fix clang detection
        kbuild: fixdep: drop meaningless hash table initialization
        kbuild: fixdep: optimize code slightly
        genksyms: Regenerate parser
        genksyms: Duplicate function pointer type definitions segfault
        kbuild: Fix .text.unlikely placement
        Avoid conflict with host definitions when cross-compiling
      dab3c3cc
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 59a47fff
      Linus Torvalds authored
      Pull tracing update from Steven Rostedt:
       "Mostly this is just clean ups and micro optimizations.
      
        The changes with more meat are:
      
         - Allowing the trace event filters to filter on CPU number and
           process ids
      
         - Two new markers for trace output latency were added (10 and 100
           msec latencies)
      
         - Have tracing_thresh filter function profiling time
      
        I also worked on modifying the ring buffer code for some future work,
        and moved the adding of the timestamp around.  One of my changes
        caused a regression, and since other changes were built on top of it
        and already tested, I had to operate a revert of that change.  Instead
        of rebasing, this change set has the code that caused a regression as
        well as the code to revert that change without touching the other
        changes that were made on top of it"
      
      * tag 'trace-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ring-buffer: Revert "ring-buffer: Get timestamp after event is allocated"
        tracing: Don't make assumptions about length of string on task rename
        tracing: Allow triggers to filter for CPU ids and process names
        ftrace: Format MCOUNT_ADDR address as type unsigned long
        tracing: Introduce two additional marks for delay
        ftrace: Fix function_graph duration spacing with 7-digits
        ftrace: add tracing_thresh to function profile
        tracing: Clean up stack tracing and fix fentry updates
        ring-buffer: Reorganize function locations
        ring-buffer: Make sure event has enough room for extend and padding
        ring-buffer: Get timestamp after event is allocated
        ring-buffer: Move the adding of the extended timestamp out of line
        ring-buffer: Add event descriptor to simplify passing data
        ftrace: correct the counter increment for trace_buffer data
        tracing: Fix for non-continuous cpu ids
        tracing: Prefer kcalloc over kzalloc with multiply
      59a47fff
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit · 425afcff
      Linus Torvalds authored
      Pull audit update from Paul Moore:
       "This is one of the larger audit patchsets in recent history,
        consisting of eight patches and almost 400 lines of changes.
      
        The bulk of the patchset is the new "audit by executable"
        functionality which allows admins to set an audit watch based on the
        executable on disk.  Prior to this, admins could only track an
        application by PID, which has some obvious limitations.
      
        Beyond the new functionality we also have some refcnt fixes and a few
        minor cleanups"
      
      * 'upstream' of git://git.infradead.org/users/pcmoore/audit:
        fixup: audit: implement audit by executable
        audit: implement audit by executable
        audit: clean simple fsnotify implementation
        audit: use macros for unset inode and device values
        audit: make audit_del_rule() more robust
        audit: fix uninitialized variable in audit_add_rule()
        audit: eliminate unnecessary extra layer of watch parent references
        audit: eliminate unnecessary extra layer of watch references
      425afcff
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · b793c005
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "Highlights:
      
         - PKCS#7 support added to support signed kexec, also utilized for
           module signing.  See comments in 3f1e1bea.
      
           ** NOTE: this requires linking against the OpenSSL library, which
              must be installed, e.g.  the openssl-devel on Fedora **
      
         - Smack
            - add IPv6 host labeling; ignore labels on kernel threads
            - support smack labeling mounts which use binary mount data
      
         - SELinux:
            - add ioctl whitelisting (see
              http://kernsec.org/files/lss2015/vanderstoep.pdf)
            - fix mprotect PROT_EXEC regression caused by mm change
      
         - Seccomp:
            - add ptrace options for suspend/resume"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (57 commits)
        PKCS#7: Add OIDs for sha224, sha284 and sha512 hash algos and use them
        Documentation/Changes: Now need OpenSSL devel packages for module signing
        scripts: add extract-cert and sign-file to .gitignore
        modsign: Handle signing key in source tree
        modsign: Use if_changed rule for extracting cert from module signing key
        Move certificate handling to its own directory
        sign-file: Fix warning about BIO_reset() return value
        PKCS#7: Add MODULE_LICENSE() to test module
        Smack - Fix build error with bringup unconfigured
        sign-file: Document dependency on OpenSSL devel libraries
        PKCS#7: Appropriately restrict authenticated attributes and content type
        KEYS: Add a name for PKEY_ID_PKCS7
        PKCS#7: Improve and export the X.509 ASN.1 time object decoder
        modsign: Use extract-cert to process CONFIG_SYSTEM_TRUSTED_KEYS
        extract-cert: Cope with multiple X.509 certificates in a single file
        sign-file: Generate CMS message as signature instead of PKCS#7
        PKCS#7: Support CMS messages also [RFC5652]
        X.509: Change recorded SKID & AKID to not include Subject or Issuer
        PKCS#7: Check content type and versions
        MAINTAINERS: The keyrings mailing list has moved
        ...
      b793c005
    • Linus Torvalds's avatar
      Merge branch 'nmi' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 6f0a2fc1
      Linus Torvalds authored
      Pull NMI backtrace update from Russell King:
       "These changes convert the x86 NMI handling to be a library
        implementation which other architectures can make use of.  Thomas
        Gleixner has reviewed and tested these changes, and wishes me to send
        these rather than taking them through the tip tree.
      
        The final patch in the set adds an initial implementation using this
        infrastructure to ARM, even though it doesn't send the IPI at "NMI"
        level.  Patches are in progress to add the ARM equivalent of NMI, but
        we still need the IRQ-level fallback for systems where the "NMI" isn't
        available due to secure firmware denying access to it"
      
      * 'nmi' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: add basic support for on-demand backtrace of other CPUs
        nmi: x86: convert to generic nmi handler
        nmi: create generic NMI backtrace implementation
      6f0a2fc1
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.3-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 752240e7
      Linus Torvalds authored
      Pull xen updates from David Vrabel:
       "Xen features and fixes for 4.3:
      
         - Convert xen-blkfront to the multiqueue API
         - [arm] Support binding event channels to different VCPUs.
         - [x86] Support > 512 GiB in a PV guests (off by default as such a
           guest cannot be migrated with the current toolstack).
         - [x86] PMU support for PV dom0 (limited support for using perf with
           Xen and other guests)"
      
      * tag 'for-linus-4.3-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (33 commits)
        xen: switch extra memory accounting to use pfns
        xen: limit memory to architectural maximum
        xen: avoid another early crash of memory limited dom0
        xen: avoid early crash of memory limited dom0
        arm/xen: Remove helpers which are PV specific
        xen/x86: Don't try to set PCE bit in CR4
        xen/PMU: PMU emulation code
        xen/PMU: Intercept PMU-related MSR and APIC accesses
        xen/PMU: Describe vendor-specific PMU registers
        xen/PMU: Initialization code for Xen PMU
        xen/PMU: Sysfs interface for setting Xen PMU mode
        xen: xensyms support
        xen: remove no longer needed p2m.h
        xen: allow more than 512 GB of RAM for 64 bit pv-domains
        xen: move p2m list if conflicting with e820 map
        xen: add explicit memblock_reserve() calls for special pages
        mm: provide early_memremap_ro to establish read-only mapping
        xen: check for initrd conflicting with e820 map
        xen: check pre-allocated page tables for conflict with memory map
        xen: check for kernel memory conflicting with memory layout
        ...
      752240e7
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b8cb642a
      Linus Torvalds authored
      Pull more irq updates from Thomas Gleixner:
       "The second part of irq related updates:
      
         - Provide EOImode for GIC[V3] irq chips, which is a prerequisite for
           direct interrupt handling in [KVM] guests"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/GIC: Fix EOImode setting for non-DT/ACPI systems
        irqchip/GIC: Don't deactivate interrupts forwarded to a guest
        irqchip/GIC: Convert to EOImode == 1
        irqchip/GICv3: Don't deactivate interrupts forwarded to a guest
        irqchip/GICv3: Convert to EOImode == 1
      b8cb642a
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 1c8cc72d
      Linus Torvalds authored
      Pull m68k/colfire fixes from Greg Ungerer:
       "Only a couple of patches this time.  One migrating the clock driver
        code to the new set-state interface.  The other cleaning up to use the
        PFN_DOWN macro"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k/coldfire: use PFN_DOWN macro
        m68k/coldfire/pit: Migrate to new 'set-state' interface
      1c8cc72d
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-4.3-rc1-stale-dcache' of... · b9ffce9a
      Linus Torvalds authored
      Merge tag 'ecryptfs-4.3-rc1-stale-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull ecryptfs fixes from Tyler Hicks:
       "Invalidate stale eCryptfs dcache entries caused by unlinked lower
        inodes"
      
      * tag 'ecryptfs-4.3-rc1-stale-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        eCryptfs: Delete a check before the function call "key_put"
        eCryptfs: Invalidate dcache entries when lower i_nlink is zero
      b9ffce9a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 0c8e2f2c
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "This fixes a memory corruption bug in ghash-clmulni-intel due to
        insufficient memory allocation"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: ghash-clmulni: specify context size for ghash async algorithm
      0c8e2f2c
    • Andrea Arcangeli's avatar
      userfaultfd: selftest: update userfaultfd x86 32bit syscall number · 49df2e3e
      Andrea Arcangeli authored
      It changed as result of other syscalls, and while the system call list
      itself was correctly updated, the selftest program was not.
      Signed-off-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Andy Lutomirski <luto@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      49df2e3e
    • Helge Deller's avatar
      6dc0dcde
    • Helge Deller's avatar
      parisc: Drop CONFIG_SMP around update_cr16_clocksource() · 72581cec
      Helge Deller authored
      No need to use CONFIG_SMP around update_cr16_clocksource(). It checks for
      num_online_cpus() beeing greater than 1, which is always 1 in UP builds.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      72581cec
    • Juergen Gross's avatar
      xen: switch extra memory accounting to use pfns · 626d7508
      Juergen Gross authored
      Instead of using physical addresses for accounting of extra memory
      areas available for ballooning switch to pfns as this is much less
      error prone regarding partial pages.
      Reported-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Tested-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      626d7508
    • Juergen Gross's avatar
      xen: limit memory to architectural maximum · cb9e444b
      Juergen Gross authored
      When a pv-domain (including dom0) is started it tries to size it's
      p2m list according to the maximum possible memory amount it ever can
      achieve. Limit the initial maximum memory size to the architectural
      limit of the hardware in order to avoid overflows during remapping
      of memory.
      
      This problem will occur when dom0 is started with an initial memory
      size being a multiple of 1GB, but without specifying it's maximum
      memory size. The kernel must be configured without
      CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen.
      Reported-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Tested-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      cb9e444b
    • Juergen Gross's avatar
      xen: avoid another early crash of memory limited dom0 · ab24507c
      Juergen Gross authored
      Commit b1c9f169047b ("xen: split counting of extra memory pages...")
      introduced an error when dom0 was started with limited memory occurring
      only on some hardware.
      
      The problem arises in case dom0 is started with initial memory and
      maximum memory being the same. The kernel must be configured without
      CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen. If all
      of this is true and the E820 map of the machine is sparse (some areas
      are not covered) then the machine might crash early in the boot
      process.
      
      An example E820 map triggering the problem looks like this:
      
      [    0.000000] e820: BIOS-provided physical RAM map:
      [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable
      [    0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
      [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cf7fafff] usable
      [    0.000000] BIOS-e820: [mem 0x00000000cf7fb000-0x00000000cf95ffff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000cf960000-0x00000000cfb62fff] ACPI NVS
      [    0.000000] BIOS-e820: [mem 0x00000000cfb63000-0x00000000cfd14fff] usable
      [    0.000000] BIOS-e820: [mem 0x00000000cfd15000-0x00000000cfd61fff] ACPI NVS
      [    0.000000] BIOS-e820: [mem 0x00000000cfd62000-0x00000000cfd6cfff] ACPI data
      [    0.000000] BIOS-e820: [mem 0x00000000cfd6d000-0x00000000cfd6ffff] ACPI NVS
      [    0.000000] BIOS-e820: [mem 0x00000000cfd70000-0x00000000cfd70fff] usable
      [    0.000000] BIOS-e820: [mem 0x00000000cfd71000-0x00000000cfea8fff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000cfea9000-0x00000000cfeb9fff] ACPI NVS
      [    0.000000] BIOS-e820: [mem 0x00000000cfeba000-0x00000000cfecafff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000cfecb000-0x00000000cfecbfff] ACPI NVS
      [    0.000000] BIOS-e820: [mem 0x00000000cfecc000-0x00000000cfedbfff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000cfedc000-0x00000000cfedcfff] ACPI NVS
      [    0.000000] BIOS-e820: [mem 0x00000000cfedd000-0x00000000cfeddfff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000cfede000-0x00000000cfee3fff] ACPI NVS
      [    0.000000] BIOS-e820: [mem 0x00000000cfee4000-0x00000000cfef6fff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000cfef7000-0x00000000cfefffff] usable
      [    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000fed40000-0x00000000fed44fff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000fed61000-0x00000000fed70fff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved
      [    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
      [    0.000000] BIOS-e820: [mem 0x0000000100001000-0x000000020effffff] usable
      
      In this case the area a0000-dffff isn't present in the map. This will
      confuse the memory setup of the domain when remapping the memory from
      such holes to populated areas.
      
      To avoid the problem the accounting of to be remapped memory has to
      count such holes in the E820 map as well.
      Reported-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      ab24507c
    • Juergen Gross's avatar
      xen: avoid early crash of memory limited dom0 · eafd72e0
      Juergen Gross authored
      Commit b1c9f169047b ("xen: split counting of extra memory pages...")
      introduced an error when dom0 was started with limited memory.
      
      The problem arises in case dom0 is started with initial memory and
      maximum memory being the same and exactly a multiple of 1 GB. The
      kernel must be configured without CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
      for the problem to happen. In this case it will crash very early
      during boot due to the virtual mapped p2m list not being large
      enough to be able to remap any memory:
      
      (XEN) Freed 304kB init memory.
      mapping kernel into physical memory
      about to get started...
      (XEN) traps.c:459:d0v0 Unhandled invalid opcode fault/trap [#6] on VCPU 0 [ec=0000]
      (XEN) domain_crash_sync called from entry.S: fault at ffff82d080229a93 create_bounce_frame+0x12b/0x13a
      (XEN) Domain 0 (vcpu#0) crashed on cpu#0:
      (XEN) ----[ Xen-4.5.2-pre  x86_64  debug=n Not tainted ]----
      (XEN) CPU:    0
      (XEN) RIP:    e033:[<ffffffff81d120cb>]
      (XEN) RFLAGS: 0000000000000206   EM: 1 CONTEXT: pv guest (d0v0)
      (XEN) rax: ffffffff81db2000   rbx: 000000004d000000   rcx: 0000000000000000
      (XEN) rdx: 000000004d000000   rsi: 0000000000063000   rdi: 000000004d063000
      (XEN) rbp: ffffffff81c03d78   rsp: ffffffff81c03d28   r8:  0000000000023000
      (XEN) r9:  00000001040ff000   r10: 0000000000007ff0   r11: 0000000000000000
      (XEN) r12: 0000000000063000   r13: 000000000004d000   r14: 0000000000000063
      (XEN) r15: 0000000000000063   cr0: 0000000080050033   cr4: 00000000000006f0
      (XEN) cr3: 0000000105c0f000   cr2: ffffc90000268000
      (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
      (XEN) Guest stack trace from rsp=ffffffff81c03d28:
      (XEN)   0000000000000000 0000000000000000 ffffffff81d120cb 000000010000e030
      (XEN)   0000000000010006 ffffffff81c03d68 000000000000e02b ffffffffffffffff
      (XEN)   0000000000000063 000000000004d063 ffffffff81c03de8 ffffffff81d130a7
      (XEN)   ffffffff81c03de8 000000000004d000 00000001040ff000 0000000000105db1
      (XEN)   00000001040ff001 000000000004d062 ffff8800092d6ff8 0000000002027000
      (XEN)   ffff8800094d8340 ffff8800092d6ff8 00003ffffffff000 ffff8800092d7ff8
      (XEN)   ffffffff81c03e48 ffffffff81d13c43 ffff8800094d8000 ffff8800094d9000
      (XEN)   0000000000000000 ffff8800092d6000 00000000092d6000 000000004cfbf000
      (XEN)   00000000092d6000 00000000052d5442 0000000000000000 0000000000000000
      (XEN)   ffffffff81c03ed8 ffffffff81d185c1 0000000000000000 0000000000000000
      (XEN)   ffffffff81c03e78 ffffffff810f8ca4 ffffffff81c03ed8 ffffffff8171a15d
      (XEN)   0000000000000010 ffffffff81c03ee8 0000000000000000 0000000000000000
      (XEN)   ffffffff81f0e402 ffffffffffffffff ffffffff81dae900 0000000000000000
      (XEN)   0000000000000000 0000000000000000 ffffffff81c03f28 ffffffff81d0cf0f
      (XEN)   0000000000000000 0000000000000000 0000000000000000 ffffffff81db82e0
      (XEN)   0000000000000000 0000000000000000 0000000000000000 0000000000000000
      (XEN)   ffffffff81c03f38 ffffffff81d0c603 ffffffff81c03ff8 ffffffff81d11c86
      (XEN)   0300000100000032 0000000000000005 0000000000000020 0000000000000000
      (XEN)   0000000000000000 0000000000000000 0000000000000000 0000000000000000
      (XEN)   0000000000000000 0000000000000000 0000000000000000 0000000000000000
      (XEN) Domain 0 crashed: rebooting machine in 5 seconds.
      
      This can be avoided by allocating aneough space for the p2m to cover
      the maximum memory of dom0 plus the identity mapped holes required
      for PCI space, BIOS etc.
      Reported-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      eafd72e0
    • John David Anglin's avatar
      parisc: Use double word condition in 64bit CAS operation · 1b59ddfc
      John David Anglin authored
      The attached change fixes the condition used in the "sub" instruction.
      A double word comparison is needed.  This fixes the 64-bit LWS CAS
      operation on 64-bit kernels.
      
      I can now enable 64-bit atomic support in GCC.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: John David Anglin <dave.anglin>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      1b59ddfc
    • Helge Deller's avatar
      parisc: Filter out spurious interrupts in PA-RISC irq handler · b1b4e435
      Helge Deller authored
      When detecting a serial port on newer PA-RISC machines (with iosapic) we have a
      long way to go to find the right IRQ line, registering it, then registering the
      serial port and the irq handler for the serial port. During this phase spurious
      interrupts for the serial port may happen which then crashes the kernel because
      the action handler might not have been set up yet.
      
      So, basically it's a race condition between the serial port hardware and the
      CPU which sets up the necessary fields in the irq sructs. The main reason for
      this race is, that we unmask the serial port irqs too early without having set
      up everything properly before (which isn't easily possible because we need the
      IRQ number to register the serial ports).
      
      This patch is a work-around for this problem. It adds checks to the CPU irq
      handler to verify if the IRQ action field has been initialized already. If not,
      we just skip this interrupt (which isn't critical for a serial port at bootup).
      The real fix would probably involve rewriting all PA-RISC specific IRQ code
      (for CPU, IOSAPIC, GSC and EISA) to use IRQ domains with proper parenting of
      the irq chips and proper irq enabling along this line.
      
      This bug has been in the PA-RISC port since the beginning, but the crashes
      happened very rarely with currently used hardware.  But on the latest machine
      which I bought (a C8000 workstation), which uses the fastest CPUs (4 x PA8900,
      1GHz) and which has the largest possible L1 cache size (64MB each), the kernel
      crashed at every boot because of this race. So, without this patch the machine
      would currently be unuseable.
      
      For the record, here is the flow logic:
      1. serial_init_chip() in 8250_gsc.c calls iosapic_serial_irq().
      2. iosapic_serial_irq() calls txn_alloc_irq() to find the irq.
      3. iosapic_serial_irq() calls cpu_claim_irq() to register the CPU irq
      4. cpu_claim_irq() unmasks the CPU irq (which it shouldn't!)
      5. serial_init_chip() then registers the 8250 port.
      Problems:
      - In step 4 the CPU irq shouldn't have been registered yet, but after step 5
      - If serial irq happens between 4 and 5 have finished, the kernel will crash
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b1b4e435
    • Helge Deller's avatar
      parisc: Additionally check for in_atomic() in page fault handler · 699817c3
      Helge Deller authored
      Craig Estey noticed that we didn't checked for in_atomic() in our page fault
      handler like other architectures. This commit adds this check by using
      faulthandler_disabled() which includes a check for pagefault_disabled() and
      in_atomic().
      Reported-by: default avatarCraig Estey <cae370@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      699817c3
    • Helge Deller's avatar
      PCI,parisc: Enable 64-bit bus addresses on PA-RISC · e02a653e
      Helge Deller authored
      Commit 3a9ad0b4 ("PCI: Add pci_bus_addr_t") unconditionally introduced usage of
      64-bit PCI bus addresses on all 64-bit platforms which broke PA-RISC.
      
      It turned out that due to enabling the 64-bit addresses, the PCI logic decided
      to use the GMMIO instead of the LMMIO region. This commit simply disables
      registering the GMMIO and thus we fall back to use the LMMIO region as before.
      
      Reverts commit 45ea2a5f
      ("PCI: Don't use 64-bit bus addresses on PA-RISC")
      
      To: linux-parisc@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Meelis Roos <mroos@linux.ee>
      Cc: stable@vger.kernel.org  # v3.19+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      e02a653e
    • Guenter Roeck's avatar
      parisc: Define ioremap_uc and ioremap_wc · 38d9029a
      Guenter Roeck authored
      Commit 3cc2dac5 ("drivers/video/fbdev/atyfb: Replace MTRR UC hole
      with strong UC") introduces calls to ioremap_wc and ioremap_uc. This
      causes build failures with parisc:allmodconfig. Map the missing
      functions to ioremap_nocache.
      
      Fixes: 3cc2dac5 ("drivers/video/fbdev/atyfb:
      	Replace MTRR UC hole with strong UC")
      Cc: Luis R. Rodriguez <mcgrof@suse.com>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      38d9029a
  3. 07 Sep, 2015 4 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 4e4adb2f
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable patches:
         - Fix atomicity of pNFS commit list updates
         - Fix NFSv4 handling of open(O_CREAT|O_EXCL|O_RDONLY)
         - nfs_set_pgio_error sometimes misses errors
         - Fix a thinko in xs_connect()
         - Fix borkage in _same_data_server_addrs_locked()
         - Fix a NULL pointer dereference of migration recovery ops for v4.2
           client
         - Don't let the ctime override attribute barriers.
         - Revert "NFSv4: Remove incorrect check in can_open_delegated()"
         - Ensure flexfiles pNFS driver updates the inode after write finishes
         - flexfiles must not pollute the attribute cache with attrbutes from
           the DS
         - Fix a protocol error in layoutreturn
         - Fix a protocol issue with NFSv4.1 CLOSE stateids
      
        Bugfixes + cleanups
         - pNFS blocks bugfixes from Christoph
         - Various cleanups from Anna
         - More fixes for delegation corner cases
         - Don't fsync twice for O_SYNC/IS_SYNC files
         - Fix pNFS and flexfiles layoutstats bugs
         - pnfs/flexfiles: avoid duplicate tracking of mirror data
         - pnfs: Fix layoutget/layoutreturn/return-on-close serialisation
           issues
         - pnfs/flexfiles: error handling retries a layoutget before fallback
           to MDS
      
        Features:
         - Full support for the OPEN NFS4_CREATE_EXCLUSIVE4_1 mode from
           Kinglong
         - More RDMA client transport improvements from Chuck
         - Removal of the deprecated ib_reg_phys_mr() and ib_rereg_phys_mr()
           verbs from the SUNRPC, Lustre and core infiniband tree.
         - Optimise away the close-to-open getattr if there is no cached data"
      
      * tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (108 commits)
        NFSv4: Respect the server imposed limit on how many changes we may cache
        NFSv4: Express delegation limit in units of pages
        Revert "NFS: Make close(2) asynchronous when closing NFS O_DIRECT files"
        NFS: Optimise away the close-to-open getattr if there is no cached data
        NFSv4.1/flexfiles: Clean up ff_layout_write_done_cb/ff_layout_commit_done_cb
        NFSv4.1/flexfiles: Mark the layout for return in ff_layout_io_track_ds_error()
        nfs: Remove unneeded checking of the return value from scnprintf
        nfs: Fix truncated client owner id without proto type
        NFSv4.1/flexfiles: Mark layout for return if the mirrors are invalid
        NFSv4.1/flexfiles: RW layouts are valid only if all mirrors are valid
        NFSv4.1/flexfiles: Fix incorrect usage of pnfs_generic_mark_devid_invalid()
        NFSv4.1/flexfiles: Fix freeing of mirrors
        NFSv4.1/pNFS: Don't request a minimal read layout beyond the end of file
        NFSv4.1/pnfs: Handle LAYOUTGET return values correctly
        NFSv4.1/pnfs: Don't ask for a read layout for an empty file.
        NFSv4.1: Fix a protocol issue with CLOSE stateids
        NFSv4.1/flexfiles: Don't mark the entire deviceid as bad for file errors
        SUNRPC: Prevent SYN+SYNACK+RST storms
        SUNRPC: xs_reset_transport must mark the connection as disconnected
        NFSv4.1/pnfs: Ensure layoutreturn reserves space for the opaque payload
        ...
      4e4adb2f
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 77a78806
      Linus Torvalds authored
      Pull xfs updates from Dave Chinner:
       "There isn't a whole lot to this update - it's mostly bug fixes and
        they are spread pretty much all over XFS.  There are some corruption
        fixes, some fixes for log recovery, some fixes that prevent unount
        from hanging, a lockdep annotation rework for inode locking to prevent
        false positives and the usual random bunch of cleanups and minor
        improvements.
      
        Deatils:
      
         - large rework of EFI/EFD lifecycle handling to fix log recovery
           corruption issues, crashes and unmount hangs
      
         - separate metadata UUID on disk to enable changing boot label UUID
           for v5 filesystems
      
         - fixes for gcc miscompilation on certain platforms and optimisation
           levels
      
         - remote attribute allocation and recovery corruption fixes
      
         - inode lockdep annotation rework to fix bugs with too many
           subclasses
      
         - directory inode locking changes to prevent lockdep false positives
      
         - a handful of minor corruption fixes
      
         - various other small cleanups and bug fixes"
      
      * tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (42 commits)
        xfs: fix error gotos in xfs_setattr_nonsize
        xfs: add mssing inode cache attempts counter increment
        xfs: return errors from partial I/O failures to files
        libxfs: bad magic number should set da block buffer error
        xfs: fix non-debug build warnings
        xfs: collapse allocsize and biosize mount option handling
        xfs: Fix file type directory corruption for btree directories
        xfs: lockdep annotations throw warnings on non-debug builds
        xfs: Fix uninitialized return value in xfs_alloc_fix_freelist()
        xfs: inode lockdep annotations broke non-lockdep build
        xfs: flush entire file on dio read/write to cached file
        xfs: Fix xfs_attr_leafblock definition
        libxfs: readahead of dir3 data blocks should use the read verifier
        xfs: stop holding ILOCK over filldir callbacks
        xfs: clean up inode lockdep annotations
        xfs: swap leaf buffer into path struct atomically during path shift
        xfs: relocate sparse inode mount warning
        xfs: dquots should be stamped with sb_meta_uuid
        xfs: log recovery needs to validate against sb_meta_uuid
        xfs: growfs not aware of sb_meta_uuid
        ...
      77a78806
    • Trond Myklebust's avatar
      NFSv4: Respect the server imposed limit on how many changes we may cache · 5445b1fb
      Trond Myklebust authored
      The NFSv4 delegation spec allows the server to tell a client to limit how
      much data it cache after the file is closed. In return, the server
      guarantees enough free space to avoid ENOSPC situations, etc.
      Prior to this patch, we assumed we could always cache aggressively after
      close. Unfortunately, this causes problems with servers that set the
      limit to 0 and therefore do not offer any ENOSPC guarantees.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      5445b1fb
    • Trond Myklebust's avatar
      NFSv4: Express delegation limit in units of pages · 7d160a6c
      Trond Myklebust authored
      Since we're tracking modifications to the page cache on a per-page
      basis, it makes sense to express the limit to how much we may cache
      in units of pages.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      7d160a6c
  4. 06 Sep, 2015 2 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7d9071a0
      Linus Torvalds authored
      Pull vfs updates from Al Viro:
       "In this one:
      
         - d_move fixes (Eric Biederman)
      
         - UFS fixes (me; locking is mostly sane now, a bunch of bugs in error
           handling ought to be fixed)
      
         - switch of sb_writers to percpu rwsem (Oleg Nesterov)
      
         - superblock scalability (Josef Bacik and Dave Chinner)
      
         - swapon(2) race fix (Hugh Dickins)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (65 commits)
        vfs: Test for and handle paths that are unreachable from their mnt_root
        dcache: Reduce the scope of i_lock in d_splice_alias
        dcache: Handle escaped paths in prepend_path
        mm: fix potential data race in SyS_swapon
        inode: don't softlockup when evicting inodes
        inode: rename i_wb_list to i_io_list
        sync: serialise per-superblock sync operations
        inode: convert inode_sb_list_lock to per-sb
        inode: add hlist_fake to avoid the inode hash lock in evict
        writeback: plug writeback at a high level
        change sb_writers to use percpu_rw_semaphore
        shift percpu_counter_destroy() into destroy_super_work()
        percpu-rwsem: kill CONFIG_PERCPU_RWSEM
        percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire()
        percpu-rwsem: introduce percpu_down_read_trylock()
        document rwsem_release() in sb_wait_write()
        fix the broken lockdep logic in __sb_start_write()
        introduce __sb_writers_{acquired,release}() helpers
        ufs_inode_get{frag,block}(): get rid of 'phys' argument
        ufs_getfrag_block(): tidy up a bit
        ...
      7d9071a0
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.3-merge-window-part-1' of... · bd779669
      Linus Torvalds authored
      Merge tag 'for-linus-4.3-merge-window-part-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
      
      Pull 9p updates from Eric Van Hensbergen:
       "Just a few cleanups for 4.3 merge window for the 9p file system.  I've
        gotten several more over the past week, but this group has been in
        for-next for at least a couple of weeks so I figured I'd push them
        first while I test the rest.
      
        Most of the ones not in this set are bug-fixes anyways so I could hold
        them for rc1"
      
      * tag 'for-linus-4.3-merge-window-part-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        9p: fix return code of read() when count is 0
        9p: remove unused option Opt_trans
      bd779669