1. 11 May, 2017 3 commits
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 593043d3
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - improve Clang support
      
       - clean up various Makefiles
      
       - improve build log visibility (objtool, alpha, ia64)
      
       - improve compiler flag evaluation for better build performance
      
       - fix GCC version-dependent warning
      
       - fix genksyms
      
      * tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (23 commits)
        kbuild: dtbinst: remove unnecessary __dtbs_install_prep target
        ia64: beatify build log for gate.so and gate-syms.o
        alpha: make short build log available for division routines
        alpha: merge build rules of division routines
        alpha: add $(src)/ rather than $(obj)/ to make source file path
        Makefile: evaluate LDFLAGS_BUILD_ID only once
        objtool: make it visible in make V=1 output
        kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS
        kbuild: Add support to generate LLVM assembly files
        kbuild: Add better clang cross build support
        kbuild: drop -Wno-unknown-warning-option from clang options
        kbuild: fix asm-offset generation to work with clang
        kbuild: consolidate redundant sed script ASM offset generation
        frv: Use OFFSET macro in DEF_*REG()
        kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7
        kbuild: Consolidate header generation from ASM offset information
        kbuild: use -Oz instead of -Os when using clang
        kbuild, LLVMLinux: Add -Werror to cc-option to support clang
        Kbuild: make designated_init attribute fatal
        kbuild: drop unneeded patterns '.*.orig' and '.*.rej' from distclean
        ...
      593043d3
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 556d994a
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "RTC subsystem update:
         - Add OF device ID table for i2c drivers
      
        New RTC driver:
         - Motorola CPCAP PMIC RTC
      
        RTC driver updates:
         - cmos: fix IRQ selection
         - ds1307: Add ST m41t0 support
         - ds1374: fix watchdog configuration
         - sh: Add rza series support"
      
      * tag 'rtc-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (33 commits)
        rtc: gemini: add return value validation
        rtc: snvs: fix an incorrect check of return value
        rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL
        rtc: ds1374: wdt: Fix issue with timeout scaling from secs to wdt ticks
        rtc: sh: mark PM functions as unused
        rtc: hid-sensor-time: remove some dead code
        rtc: m41t80: Add proper compatible for rv4162
        rtc: ds1307: Add m41t0 to OF device ID table
        rtc: ds1307: support m41t0 variant
        rtc: cpcap: fix improper use of IRQ_NONE for request_threaded_irq
        rtc: cmos: Do not assume irq 8 for rtc when there are no legacy irqs
        x86: i8259: export legacy_pic symbol
        dt-bindings: rtc: document the rtc-sh bindings
        rtc: sh: add support for rza series
        rtc: cpcap: kfreeing devm allocated memory
        rtc: wm8350: Remove unused to_wm8350_from_rtc_dev
        rtc: cpcap: new rtc driver
        dt-bindings: Add vendor prefix for Motorola
        rtc: omap: mark PM methods as __maybe_unused
        rtc: omap: remove incorrect __exit markups
        ...
      556d994a
    • Linus Torvalds's avatar
      Merge tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 291b38a7
      Linus Torvalds authored
      Pull hw lockdown support from David Howells:
       "Annotation of module parameters that configure hardware resources
        including ioports, iomem addresses, irq lines and dma channels.
      
        This allows a future patch to prohibit the use of such module
        parameters to prevent that hardware from being abused to gain access
        to the running kernel image as part of locking the kernel down under
        UEFI secure boot conditions.
      
        Annotations are made by changing:
      
              module_param(n, t, p)
              module_param_named(n, v, t, p)
              module_param_array(n, t, m, p)
      
        to:
      
              module_param_hw(n, t, hwtype, p)
              module_param_hw_named(n, v, t, hwtype, p)
              module_param_hw_array(n, t, hwtype, m, p)
      
        where the module parameter refers to a hardware setting
      
        hwtype specifies the type of the resource being configured. This can
        be one of:
      
              ioport          Module parameter configures an I/O port
              iomem           Module parameter configures an I/O mem address
              ioport_or_iomem Module parameter could be either (runtime set)
              irq             Module parameter configures an I/O port
              dma             Module parameter configures a DMA channel
              dma_addr        Module parameter configures a DMA buffer address
              other           Module parameter configures some other value
      
        Note that the hwtype is compile checked, but not currently stored (the
        lockdown code probably won't require it). It is, however, there for
        future use.
      
        A bonus is that the hwtype can also be used for grepping.
      
        The intention is for the kernel to ignore or reject attempts to set
        annotated module parameters if lockdown is enabled. This applies to
        options passed on the boot command line, passed to insmod/modprobe or
        direct twiddling in /sys/module/ parameter files.
      
        The module initialisation then needs to handle the parameter not being
        set, by (1) giving an error, (2) probing for a value or (3) using a
        reasonable default.
      
        What I can't do is just reject a module out of hand because it may
        take a hardware setting in the module parameters. Some important
        modules, some ipmi stuff for instance, both probe for hardware and
        allow hardware to be manually specified; if the driver is aborts with
        any error, you don't get any ipmi hardware.
      
        Further, trying to do this entirely in the module initialisation code
        doesn't protect against sysfs twiddling.
      
        [!] Note that in and of itself, this series of patches should have no
            effect on the the size of the kernel or code execution - that is
            left to a patch in the next series to effect. It does mark
            annotated kernel parameters with a KERNEL_PARAM_FL_HWPARAM flag in
            an already existing field"
      
      * tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: (38 commits)
        Annotate hardware config module parameters in sound/pci/
        Annotate hardware config module parameters in sound/oss/
        Annotate hardware config module parameters in sound/isa/
        Annotate hardware config module parameters in sound/drivers/
        Annotate hardware config module parameters in fs/pstore/
        Annotate hardware config module parameters in drivers/watchdog/
        Annotate hardware config module parameters in drivers/video/
        Annotate hardware config module parameters in drivers/tty/
        Annotate hardware config module parameters in drivers/staging/vme/
        Annotate hardware config module parameters in drivers/staging/speakup/
        Annotate hardware config module parameters in drivers/staging/media/
        Annotate hardware config module parameters in drivers/scsi/
        Annotate hardware config module parameters in drivers/pcmcia/
        Annotate hardware config module parameters in drivers/pci/hotplug/
        Annotate hardware config module parameters in drivers/parport/
        Annotate hardware config module parameters in drivers/net/wireless/
        Annotate hardware config module parameters in drivers/net/wan/
        Annotate hardware config module parameters in drivers/net/irda/
        Annotate hardware config module parameters in drivers/net/hamradio/
        Annotate hardware config module parameters in drivers/net/ethernet/
        ...
      291b38a7
  2. 10 May, 2017 17 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · b5a53b61
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "Sort of on the quieter side this time, which is probably due more to
        me not catching up as quickly on patch review than anything else.
        Overall it seems normal though, a few small changes to the core,
        mostly small non-critical fixes here and there as well as driver
        updates for new and existing hardware support.
      
        The biggest things are the TI clk driver rework to lay the groundwork
        for clkctrl support in the next merge window and the AmLogic
        audio/graphics clk support.
      
        Core:
         - clk_possible_parents debugfs file so we know which parents a clk
           could possibly have
         - Fix to make clk rate change notifiers stop on the first failure
           instead of continuing
      
        New Drivers:
         - Mediatek MT6797 SoCs
         - hi655x PMIC clks
         - AmLogic Meson SoC i2s and spdif audio clks and Mali graphics clks
         - Allwinner H5 SoCs and PRCM hardware
      
        Updates:
         - Nvidia Tegra T210 cleanups and non-critical fixes
         - TI OMAP cleanups in preparation for clkctrl support
         - trivial fixes like kcalloc(), devm_* conversions, and seq_puts()
         - ZTE zx296718 SoC VGA clks
         - Rockchip clk-ids, fixups, and rename of rk1108 to rv1108
         - IDT VersaClock 5P49V5935 support
         - Renesas R-Car H3 and M3-W IMR clks and ES2.0 rev of R-Car H3
           support"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (151 commits)
        clk: x86: pmc-atom: Checking for IS_ERR() instead of NULL
        clk: ti: divider: try to fix ti_clk_register_divider
        clk: mvebu: Use kcalloc() in two functions
        clk: mvebu: Use kcalloc() in of_cpu_clk_setup()
        clk: nomadik: Delete error messages for a failed memory allocation in two functions
        clk: nomadik: Use seq_puts() in nomadik_src_clk_show()
        clk: Improve a size determination in two functions
        clk: Replace four seq_printf() calls by seq_putc()
        clk: si5351: Delete an error message for a failed memory allocation in si5351_i2c_probe()
        clk: si5351: Use devm_kcalloc() in si5351_i2c_probe()
        clk: at91: Use kcalloc() in of_at91_clk_pll_get_characteristics()
        reset: mediatek: Add MT2701 ethsys reset controller include file
        clk: mediatek: add mt2701 ethernet reset
        clk: hi6220: Add the hi655x's pmic clock
        clk: ti: fix building without legacy omap3
        clk: ti: fix linker error with !SOC_OMAP4
        clk: hi3620: Fix a typo in one variable name
        clk: hi3620: Delete error messages for a failed memory allocation in two functions
        clk: hi3620: Use kcalloc() in hi3620_mmc_clk_init()
        clk: hisilicon: Delete error messages for failed memory allocations in hisi_clk_init()
        ...
      b5a53b61
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.12' of git://linux-nfs.org/~bfields/linux · c70422f7
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Another RDMA update from Chuck Lever, and a bunch of miscellaneous
        bugfixes"
      
      * tag 'nfsd-4.12' of git://linux-nfs.org/~bfields/linux: (26 commits)
        nfsd: Fix up the "supattr_exclcreat" attributes
        nfsd: encoders mustn't use unitialized values in error cases
        nfsd: fix undefined behavior in nfsd4_layout_verify
        lockd: fix lockd shutdown race
        NFSv4: Fix callback server shutdown
        SUNRPC: Refactor svc_set_num_threads()
        NFSv4.x/callback: Create the callback service through svc_create_pooled
        lockd: remove redundant check on block
        svcrdma: Clean out old XDR encoders
        svcrdma: Remove the req_map cache
        svcrdma: Remove unused RDMA Write completion handler
        svcrdma: Reduce size of sge array in struct svc_rdma_op_ctxt
        svcrdma: Clean up RPC-over-RDMA backchannel reply processing
        svcrdma: Report Write/Reply chunk overruns
        svcrdma: Clean up RDMA_ERROR path
        svcrdma: Use rdma_rw API in RPC reply path
        svcrdma: Introduce local rdma_rw API helpers
        svcrdma: Clean up svc_rdma_get_inv_rkey()
        svcrdma: Add helper to save pages under I/O
        svcrdma: Eliminate RPCRDMA_SQ_DEPTH_MULT
        ...
      c70422f7
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 73ccb023
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable bugfixes:
         - Fix use after free in write error path
         - Use GFP_NOIO for two allocations in writeback
         - Fix a hang in OPEN related to server reboot
         - Check the result of nfs4_pnfs_ds_connect
         - Fix an rcu lock leak
      
        Features:
         - Removal of the unmaintained and unused OSD pNFS layout
         - Cleanup and removal of lots of unnecessary dprintk()s
         - Cleanup and removal of some memory failure paths now that GFP_NOFS
           is guaranteed to never fail.
         - Remove the v3-only data server limitation on pNFS/flexfiles
      
        Bugfixes:
         - RPC/RDMA connection handling bugfixes
         - Copy offload: fixes to ensure the copied data is COMMITed to disk.
         - Readdir: switch back to using the ->iterate VFS interface
         - File locking fixes from Ben Coddington
         - Various use-after-free and deadlock issues in pNFS
         - Write path bugfixes"
      
      * tag 'nfs-for-4.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (89 commits)
        pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled
        NFSv4.1: Work around a Linux server bug...
        NFS append COMMIT after synchronous COPY
        NFSv4: Fix exclusive create attributes encoding
        NFSv4: Fix an rcu lock leak
        nfs: use kmap/kunmap directly
        NFS: always treat the invocation of nfs_getattr as cache hit when noac is on
        Fix nfs_client refcounting if kmalloc fails in nfs4_proc_exchange_id and nfs4_proc_async_renew
        NFSv4.1: RECLAIM_COMPLETE must handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION
        pNFS: Fix NULL dereference in pnfs_generic_alloc_ds_commits
        pNFS: Fix a typo in pnfs_generic_alloc_ds_commits
        pNFS: Fix a deadlock when coalescing writes and returning the layout
        pNFS: Don't clear the layout return info if there are segments to return
        pNFS: Ensure we commit the layout if it has been invalidated
        pNFS: Don't send COMMITs to the DSes if the server invalidated our layout
        pNFS/flexfiles: Fix up the ff_layout_write_pagelist failure path
        pNFS: Ensure we check layout validity before marking it for return
        NFS4.1 handle interrupted slot reuse from ERR_DELAY
        NFSv4: check return value of xdr_inline_decode
        nfs/filelayout: fix NULL pointer dereference in fl_pnfs_update_layout()
        ...
      73ccb023
    • Linus Torvalds's avatar
      Merge tag 'metag-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag · f94c128e
      Linus Torvalds authored
      Pull metag updates from James Hogan:
       "These patches primarily make some usercopy improvements (following on
        from the recent usercopy fixes):
      
         - reformat and simplify rapf copy loops
      
         - add 64-bit get_user support
      
        And fix a couple more uaccess issues, partily pointed out by Al:
      
         - fix access_ok() serious shortcomings
      
         - fix strncpy_from_user() address validation
      
        Also included is a trivial removal of a redundant increment"
      
      * tag 'metag-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
        metag/mm: Drop pointless increment
        metag/uaccess: Check access_ok in strncpy_from_user
        metag/uaccess: Fix access_ok()
        metag/usercopy: Add 64-bit get_user support
        metag/usercopy: Simplify rapf loop fixup corner case
        metag/usercopy: Reformat rapf loop inline asm
      f94c128e
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · c44b5943
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "Fixes, cleanups, performance
      
        A bunch of changes to virtio, most affecting virtio net. Also ptr_ring
        batched zeroing - first of batching enhancements that seems ready."
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        s390/virtio: change maintainership
        tools/virtio: fix spelling mistake: "wakeus" -> "wakeups"
        virtio_net: tidy a couple debug statements
        ptr_ring: support testing different batching sizes
        ringtest: support test specific parameters
        ptr_ring: batch ring zeroing
        virtio: virtio_driver doc
        virtio_net: don't reset twice on XDP on/off
        virtio_net: fix support for small rings
        virtio_net: reduce alignment for buffers
        virtio_net: rework mergeable buffer handling
        virtio_net: allow specifying context for rx
        virtio: allow extra context per descriptor
        tools/virtio: fix build breakage
        virtio: add context flag to find vqs
        virtio: wrap find_vqs
        ringtest: fix an assert statement
      c44b5943
    • Trond Myklebust's avatar
      nfsd: Fix up the "supattr_exclcreat" attributes · b26b78cb
      Trond Myklebust authored
      If an NFSv4 client asks us for the supattr_exclcreat, then we must
      not return attributes that are unsupported by this minor version.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      Fixes: 75976de6 ("NFSD: Return word2 bitmask if setting security..,")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      b26b78cb
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 5ccd4140
      Linus Torvalds authored
      Pull more KVM updates from Paolo Bonzini:
       "ARM:
         - bugfixes
         - moved shared 32-bit/64-bit files to virt/kvm/arm
         - support for saving/restoring virtual ITS state to userspace
      
        PPC:
         - XIVE (eXternal Interrupt Virtualization Engine) support
      
        x86:
         - nVMX improvements, including emulated page modification logging
           (PML) which brings nice performance improvements on some workloads"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (45 commits)
        KVM: arm/arm64: vgic-its: Cleanup after failed ITT restore
        KVM: arm/arm64: Don't call map_resources when restoring ITS tables
        KVM: arm/arm64: Register ITS iodev when setting base address
        KVM: arm/arm64: Get rid of its->initialized field
        KVM: arm/arm64: Register iodevs when setting redist base and creating VCPUs
        KVM: arm/arm64: Slightly rework kvm_vgic_addr
        KVM: arm/arm64: Make vgic_v3_check_base more broadly usable
        KVM: arm/arm64: Refactor vgic_register_redist_iodevs
        KVM: Add kvm_vcpu_get_idx to get vcpu index in kvm->vcpus
        nVMX: Advertise PML to L1 hypervisor
        nVMX: Implement emulated Page Modification Logging
        kvm: x86: Add a hook for arch specific dirty logging emulation
        kvm: nVMX: Validate CR3 target count on nested VM-entry
        KVM: set no_llseek in stat_fops_per_vm
        KVM: arm/arm64: vgic: Rename kvm_vgic_vcpu_init to kvm_vgic_vcpu_enable
        KVM: arm/arm64: Clarification and relaxation to ITS save/restore ABI
        KVM: arm64: vgic-v3: KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES
        KVM: arm64: vgic-its: Fix pending table sync
        KVM: arm64: vgic-its: ITT save and restore
        KVM: arm64: vgic-its: Device table save/restore
        ...
      5ccd4140
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 29250d30
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
       "This is a trivial patch that changes a check for a cpumask from a NULL
        pointer to using cpumask_available(), which will do the check. This is
        because cpumasks when not allocated are always set, and clang
        complains about it"
      
      * tag 'trace-v4.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Use cpumask_available() to check if cpumask variable may be used
      29250d30
    • J. Bruce Fields's avatar
      nfsd: encoders mustn't use unitialized values in error cases · f961e3f2
      J. Bruce Fields authored
      In error cases, lgp->lg_layout_type may be out of bounds; so we
      shouldn't be using it until after the check of nfserr.
      
      This was seen to crash nfsd threads when the server receives a LAYOUTGET
      request with a large layout type.
      
      GETDEVICEINFO has the same problem.
      Reported-by: default avatarAri Kauppi <Ari.Kauppi@synopsys.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      f961e3f2
    • Linus Torvalds's avatar
      Merge tag 'armsoc-tee' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a2d9214c
      Linus Torvalds authored
      Pull TEE driver infrastructure and OP-TEE drivers from Arnd Bergmann:
       "This introduces a generic TEE framework in the kernel, to handle
        trusted environemtns (security coprocessor or software implementations
        such as OP-TEE/TrustZone). I'm sending it separately from the other
        arm-soc driver changes to give it a little more visibility, once the
        subsystem is merged, we will likely keep this in the arm₋soc drivers
        branch or have the maintainers submit pull requests directly,
        depending on the patch volume.
      
        I have reviewed earlier versions in the past, and have reviewed the
        latest version in person during Linaro Connect BUD17.
      
        Here is my overall assessment of the subsystem:
      
         - There is clearly demand for this, both for the generic
           infrastructure and the specific OP-TEE implementation.
      
         - The code has gone through a large number of reviews, and the review
           comments have all been addressed, but the reviews were not coming
           up with serious issues any more and nobody volunteered to vouch for
           the quality.
      
         - The user space ioctl interface is sufficient to work with the
           OP-TEE driver, and it should in principle work with other TEE
           implementations that follow the GlobalPlatform[1] standards, but it
           might need to be extended in minor ways depending on specific
           requirements of future TEE implementations
      
         - The main downside of the API to me is how the user space is tied to
           the TEE implementation in hardware or firmware, but uses a generic
           way to communicate with it. This seems to be an inherent problem
           with what it is trying to do, and I could not come up with any
           better solution than what is implemented here.
      
        For a detailed history of the patch series, see
      
          https://lkml.org/lkml/2017/3/10/1277"
      
      * tag 'armsoc-tee' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: dt: hikey: Add optee node
        Documentation: tee subsystem and op-tee driver
        tee: add OP-TEE driver
        tee: generic TEE subsystem
        dt/bindings: add bindings for optee
      a2d9214c
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · de4d1953
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes are:
      
         - Debloat RCU headers
      
         - Parallelize SRCU callback handling (plus overlapping patches)
      
         - Improve the performance of Tree SRCU on a CPU-hotplug stress test
      
         - Documentation updates
      
         - Miscellaneous fixes"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (74 commits)
        rcu: Open-code the rcu_cblist_n_lazy_cbs() function
        rcu: Open-code the rcu_cblist_n_cbs() function
        rcu: Open-code the rcu_cblist_empty() function
        rcu: Separately compile large rcu_segcblist functions
        srcu: Debloat the <linux/rcu_segcblist.h> header
        srcu: Adjust default auto-expediting holdoff
        srcu: Specify auto-expedite holdoff time
        srcu: Expedite first synchronize_srcu() when idle
        srcu: Expedited grace periods with reduced memory contention
        srcu: Make rcutorture writer stalls print SRCU GP state
        srcu: Exact tracking of srcu_data structures containing callbacks
        srcu: Make SRCU be built by default
        srcu: Fix Kconfig botch when SRCU not selected
        rcu: Make non-preemptive schedule be Tasks RCU quiescent state
        srcu: Expedite srcu_schedule_cbs_snp() callback invocation
        srcu: Parallelize callback handling
        kvm: Move srcu_struct fields to end of struct kvm
        rcu: Fix typo in PER_RCU_NODE_PERIOD header comment
        rcu: Use true/false in assignment to bool
        rcu: Use bool value directly
        ...
      de4d1953
    • Linus Torvalds's avatar
      Merge tag 'acpi-extra-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · dc9edaab
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to upstream revision
        20170303 which adds a few minor fixes and improvements, update ACPI
        SoC drivers with new device IDs, platform-related information and
        similar, fix the register information in the xpower PMIC driver,
        introduce a concept of "always present" devices to the ACPI device
        enumeration code and use it to fix a problem with one platform, and
        fix a system resume issue related to power resources.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to upstream revision 20170303
           which includes:
            * Minor fixes and improvements in the core code (Bob Moore,
              Seunghun Han).
            * Debugger fixes (Colin Ian King, Lv Zheng).
            * Compiler/disassembler improvements (Bob Moore, David Box, Lv
              Zheng).
            * Build-related update (Lv Zheng).
      
         - Add new device IDs and platform-related information to the ACPI
           drivers for Intel (LPSS) and AMD (APD) SoCs (Hanjun Guo, Hans de
           Goede).
      
         - Make it possible to quirk ACPI-enumerated devices as "always
           present" on platforms where they are incorrectly reported as not
           present by the AML and add the INT0002 device ID to the list of
           "always present" devices (Hans de Goede).
      
         - Fix the register information in the xpower PMIC driver and add
           comments to map the registers to symbols used by AML to it (Hans de
           Goede).
      
         - Move the code turning off unused ACPI power resources during system
           resume to a point after all devices have been resumed to avoid
           issues with power resources that do not behave as expected (Hans de
           Goede)"
      
      * tag 'acpi-extra-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (22 commits)
        ACPI / power: Delay turning off unused power resources after suspend
        ACPI / PMIC: xpower: Fix power_table addresses
        ACPI / LPSS: Call pwm_add_table() for Bay Trail PWM device
        ACPICA: Update version to 20170303
        ACPICA: iasl: add ASL conversion tool
        ACPICA: Local cache support: Allow small cache objects
        ACPICA: Disassembler: Do not unconditionally remove temporary names
        ACPICA: iasl: Fix IORT SMMU GSI disassembling
        ACPICA: Cleanup AML opcode definitions, no functional change
        ACPICA: Debugger: Add interpreter blocking mark for single-step mode
        ACPICA: debugger: fix memory leak on Pathname
        ACPICA: Update for automatic repair code for objects returned by evaluate_object
        ACPICA: Namespace: fix operand cache leak
        ACPICA: Fix several incorrect invocations of ACPICA return macro
        ACPICA: Fix a module for excessive debug output
        ACPICA: Update some function headers, no funtional change
        ACPICA: Disassembler: Enhance resource descriptor detection
        i2c: designware: Add ACPI HID for Hisilicon Hip07/08 I2C controller
        ACPI / APD: Add clock frequency for Hisilicon Hip07/08 I2C controller
        ACPI / bus: Add INT0002 to list of always-present devices
        ...
      dc9edaab
    • Linus Torvalds's avatar
      Merge tag 'pm-extra-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2e4ab937
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These add new CPU IDs to a couple of drivers, fix a possible NULL
        pointer dereference in the cpuidle core, update DT-related things in
        the generic power domains framework and finally update the
        suspend/resume infrastructure to improve the handling of wakeups from
        suspend-to-idle.
      
        Specifics:
      
         - Add Intel Gemini Lake CPU IDs to the intel_idle and intel_rapl
           drivers (David Box).
      
         - Add a NULL pointer check to the cpuidle core to prevent it from
           crashing on platforms with incomplete cpuidle configuration (Fei
           Li).
      
         - Fix DT-related documentation in the generic power domains (genpd)
           framework and add a MAINTAINERS entry for DT-related material in
           genpd (Viresh Kumar).
      
         - Update the system suspend/resume infrastructure to improve the
           handling of aborts of suspend transitions in progress in the wakeup
           framework and rework the suspend-to-idle core loop to make it
           possible to filter out spurious wakeup events (specifically the
           ones coming from ACPI) without resuming all the way up to user
           space every time (Rafael Wysocki)"
      
      * tag 'pm-extra-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle
        PM / wakeup: Integrate mechanism to abort transitions in progress
        x86/intel_idle: add Gemini Lake support
        cpuidle: check dev before usage in cpuidle_use_deepest_state()
        powercap: intel_rapl: Add support for Gemini Lake
        PM / Domains: Add DT file to MAINTAINERS
        PM / Domains: Fix DT example
      2e4ab937
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · b948abf5
      Linus Torvalds authored
      Pull overlayfs update from Miklos Szeredi:
       "The biggest part of this is making st_dev/st_ino on the overlay behave
        like a normal filesystem (i.e. st_ino doesn't change on copy up,
        st_dev is the same for all files and directories). Currently this only
        works if all layers are on the same filesystem, but future work will
        move the general case towards more sane behavior.
      
        There are also miscellaneous fixes, including fixes to handling
        append-only files. There's a small change in the VFS, but that only
        has an effect on overlayfs, since otherwise file->f_path.dentry->inode
        and file_inode(file) are always the same"
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: update documentation w.r.t. constant inode numbers
        ovl: persistent inode numbers for upper hardlinks
        ovl: merge getattr for dir and nondir
        ovl: constant st_ino/st_dev across copy up
        ovl: persistent inode number for directories
        ovl: set the ORIGIN type flag
        ovl: lookup non-dir copy-up-origin by file handle
        ovl: use an auxiliary var for overlay root entry
        ovl: store file handle of lower inode on copy up
        ovl: check if all layers are on the same fs
        ovl: do not set overlay.opaque on non-dir create
        ovl: check IS_APPEND() on real upper inode
        vfs: ftruncate check IS_APPEND() on real upper inode
        ovl: Use designated initializers
        ovl: lockdep annotate of nested stacked overlayfs inode lock
      b948abf5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · a2e5ad45
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi:
       "Support for pid namespaces from Seth and refcount_t work from Elena"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: Add support for pid namespaces
        fuse: convert fuse_conn.count from atomic_t to refcount_t
        fuse: convert fuse_req.count from atomic_t to refcount_t
        fuse: convert fuse_file.count from atomic_t to refcount_t
      a2e5ad45
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.12-rc1' of git://github.com/ceph/ceph-client · 26c5eaa1
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "The two main items are support for disabling automatic rbd exclusive
        lock transfers from myself and the long awaited -ENOSPC handling
        series from Jeff.
      
        The former will allow rbd users to take advantage of exclusive lock's
        built-in blacklist/break-lock functionality while staying in control
        of who owns the lock. With the latter in place, we will abort
        filesystem writes on -ENOSPC instead of having them block
        indefinitely.
      
        Beyond that we've got the usual pile of filesystem fixes from Zheng,
        some refcount_t conversion patches from Elena and a patch for an
        ancient open() flags handling bug from Alexander"
      
      * tag 'ceph-for-4.12-rc1' of git://github.com/ceph/ceph-client: (31 commits)
        ceph: fix memory leak in __ceph_setxattr()
        ceph: fix file open flags on ppc64
        ceph: choose readdir frag based on previous readdir reply
        rbd: exclusive map option
        rbd: return ResponseMessage result from rbd_handle_request_lock()
        rbd: kill rbd_is_lock_supported()
        rbd: support updating the lock cookie without releasing the lock
        rbd: store lock cookie
        rbd: ignore unlock errors
        rbd: fix error handling around rbd_init_disk()
        rbd: move rbd_unregister_watch() call into rbd_dev_image_release()
        rbd: move rbd_dev_destroy() call out of rbd_dev_image_release()
        ceph: when seeing write errors on an inode, switch to sync writes
        Revert "ceph: SetPageError() for writeback pages if writepages fails"
        ceph: handle epoch barriers in cap messages
        libceph: add an epoch_barrier field to struct ceph_osd_client
        libceph: abort already submitted but abortable requests when map or pool goes full
        libceph: allow requests to return immediately on full conditions if caller wishes
        libceph: remove req->r_replay_version
        ceph: make seeky readdir more efficient
        ...
      26c5eaa1
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 1176032c
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "This has fixes and cleanups Dave Sterba collected for the merge
        window.
      
        The biggest functional fixes are between btrfs raid5/6 and scrub, and
        raid5/6 and device replacement. Some of our pending qgroup fixes are
        included as well while I bash on the rest in testing.
      
        We also have the usual set of cleanups, including one that makes
        __btrfs_map_block() much more maintainable, and conversions from
        atomic_t to refcount_t"
      
      * 'for-linus-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (71 commits)
        btrfs: fix the gfp_mask for the reada_zones radix tree
        Btrfs: fix reported number of inode blocks
        Btrfs: send, fix file hole not being preserved due to inline extent
        Btrfs: fix extent map leak during fallocate error path
        Btrfs: fix incorrect space accounting after failure to insert inline extent
        Btrfs: fix invalid attempt to free reserved space on failure to cow range
        btrfs: Handle delalloc error correctly to avoid ordered extent hang
        btrfs: Fix metadata underflow caused by btrfs_reloc_clone_csum error
        btrfs: check if the device is flush capable
        btrfs: delete unused member nobarriers
        btrfs: scrub: Fix RAID56 recovery race condition
        btrfs: scrub: Introduce full stripe lock for RAID56
        btrfs: Use ktime_get_real_ts for root ctime
        Btrfs: handle only applicable errors returned by btrfs_get_extent
        btrfs: qgroup: Fix qgroup corruption caused by inode_cache mount option
        btrfs: use q which is already obtained from bdev_get_queue
        Btrfs: switch to div64_u64 if with a u64 divisor
        Btrfs: update scrub_parity to use u64 stripe_len
        Btrfs: enable repair during read for raid56 profile
        btrfs: use clear_page where appropriate
        ...
      1176032c
  3. 09 May, 2017 20 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 56868a46
      Linus Torvalds authored
      Pull IDE updates from David Miller:
       "Two small cleanups in the IDE layer"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide: don't call memcpy with the same source and destination
        ide: use setup_timer
      56868a46
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 7fc22f45
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "sparc changes, including a bug fix for handling exceptions during
        bzero on some sparc64 cpus"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: fix fault handling in NGbzero.S and GENbzero.S
        sparc: use memdup_user_nul in sun4m LED driver
        sparc: Remove redundant tests in boot_flags_init().
      7fc22f45
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 50fb55d8
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix multiqueue in stmmac driver on PCI, from Andy Shevchenko.
      
       2) cdc_ncm doesn't actually fully zero out the padding area is
          allocates on TX, from Jim Baxter.
      
       3) Don't leak map addresses in BPF verifier, from Daniel Borkmann.
      
       4) If we randomize TCP timestamps, we have to do it everywhere
          including SYN cookies. From Eric Dumazet.
      
       5) Fix "ethtool -S" crash in aquantia driver, from Pavel Belous.
      
       6) Fix allocation size for ntp filter bitmap in bnxt_en driver, from
          Dan Carpenter.
      
       7) Add missing memory allocation return value check to DSA loop driver,
          from Christophe Jaillet.
      
       8) Fix XDP leak on driver unload in qed driver, from Suddarsana Reddy
          Kalluru.
      
       9) Don't inherit MC list from parent inet connection sockets, another
          syzkaller spotted gem. Fix from Eric Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits)
        dccp/tcp: do not inherit mc_list from parent
        qede: Split PF/VF ndos.
        qed: Correct doorbell configuration for !4Kb pages
        qed: Tell QM the number of tasks
        qed: Fix VF removal sequence
        qede: Fix XDP memory leak on unload
        net/mlx4_core: Reduce harmless SRIOV error message to debug level
        net/mlx4_en: Avoid adding steering rules with invalid ring
        net/mlx4_en: Change the error print to debug print
        drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison
        DECnet: Use container_of() for embedded struct
        Revert "ipv4: restore rt->fi for reference counting"
        net: mdio-mux: bcm-iproc: call mdiobus_free() in error path
        net: ethernet: ti: cpsw: adjust cpsw fifos depth for fullduplex flow control
        ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf
        net: cdc_ncm: Fix TX zero padding
        stmmac: pci: split out common_default_data() helper
        stmmac: pci: RX queue routing configuration
        stmmac: pci: TX and RX queue priority configuration
        stmmac: pci: set default number of rx and tx queues
        ...
      50fb55d8
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.12-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 4879b7ae
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This time again a smaller update consisting of:
      
         - support for TI DA8xx dma controller and updates to the cppi driver
      
         - updates on bunch of drivers like xilinx, pl08x, stm32-dma, mv_xor,
           ioat, dmatest"
      
      * tag 'dmaengine-4.12-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (35 commits)
        dmaengine: pl08x: remove lock documentation
        dmaengine: pl08x: fix pl08x_dma_chan_state documentation
        dmaengine: pl08x: Use the BIT() macro consistently
        dmaengine: pl080: Fix some missing kerneldoc
        dmaengine: pl080: Cut some unused defines
        dmaengine: dmatest: Add check for supported buffer count (sg_buffers)
        dmaengine: dmatest: Select DMA_ENGINE_RAID as its needed for the slave_sg test
        dmaengine: virt-dma: Convert to use list_for_each_entry_safe()
        dma-debug: use offset_in_page() macro
        dmaengine: mv_xor: use offset_in_page() macro
        dmaengine: dmatest: use offset_in_page() macro
        dmaengine: sun4i: fix invalid argument
        dmaengine: ioat: use setup_timer
        dmaengine: cppi41: Fix an Oops happening in cppi41_dma_probe()
        dmaengine: pl330: remove pdata based initialization
        dmaengine: cppi: fix build error due to bad variable
        dmaengine: imx-sdma: add 1ms delay to ensure SDMA channel is stopped
        dmaengine: cppi41: use managed functions devm_*()
        dmaengine: cppi41: fix cppi41_dma_tx_status() logic
        dmaengine: qcom_hidma: pause the channel on shutdown
        ...
      4879b7ae
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.12-rc1' of... · ecc721a7
      Linus Torvalds authored
      Merge tag 'pwm/for-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "Adds a new driver for the PWM controller found on MediaTek SoCs and
        extends support for the Atmel PWM controller to include the SAMA5D2.
      
        Some existing drivers have been migrated to the atomic API and a few
        others see miscellaneous improvements"
      
      * tag 'pwm/for-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: tegra: Read PWM clock source rate in driver init
        pwm: pca9685: Fix GPIO-only operation
        pwm: mediatek: Don't explicitly set .owner
        pwm: tegra: Avoid potential overflow for short periods
        pwm: tegra: Add support to configure pin state in suspends/resume
        pwm: tegra: Add DT binding details to configure pin in suspends/resume
        pwm: tegra: Increase precision in PWM rate calculation
        pwm: tegra: Use DIV_ROUND_CLOSEST_ULL() instead of local implementation
        pwm: Add MediaTek PWM support
        dt-bindings: pwm: Add MediaTek PWM bindings
        pwm: atmel: Enable PWM on sama5d2
        pwm: atmel: Switch to atomic PWM
        pwm: atmel-hlcdc: Implement the suspend/resume hooks
        pwm: atmel-hlcdc: Convert to the atomic PWM API
      ecc721a7
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 28b47809
      Linus Torvalds authored
      Pull IOMMU updates from Joerg Roedel:
      
       - code optimizations for the Intel VT-d driver
      
       - ability to switch off a previously enabled Intel IOMMU
      
       - support for 'struct iommu_device' for OMAP, Rockchip and Mediatek
         IOMMUs
      
       - header optimizations for IOMMU core code headers and a few fixes that
         became necessary in other parts of the kernel because of that
      
       - ACPI/IORT updates and fixes
      
       - Exynos IOMMU optimizations
      
       - updates for the IOMMU dma-api code to bring it closer to use per-cpu
         iova caches
      
       - new command-line option to set default domain type allocated by the
         iommu core code
      
       - another command line option to allow the Intel IOMMU switched off in
         a tboot environment
      
       - ARM/SMMU: TLB sync optimisations for SMMUv2, Support for using an
         IDENTITY domain in conjunction with DMA ops, Support for SMR masking,
         Support for 16-bit ASIDs (was previously broken)
      
       - various other small fixes and improvements
      
      * tag 'iommu-updates-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (63 commits)
        soc/qbman: Move dma-mapping.h include to qman_priv.h
        soc/qbman: Fix implicit header dependency now causing build fails
        iommu: Remove trace-events include from iommu.h
        iommu: Remove pci.h include from trace/events/iommu.h
        arm: dma-mapping: Don't override dma_ops in arch_setup_dma_ops()
        ACPI/IORT: Fix CONFIG_IOMMU_API dependency
        iommu/vt-d: Don't print the failure message when booting non-kdump kernel
        iommu: Move report_iommu_fault() to iommu.c
        iommu: Include device.h in iommu.h
        x86, iommu/vt-d: Add an option to disable Intel IOMMU force on
        iommu/arm-smmu: Return IOVA in iova_to_phys when SMMU is bypassed
        iommu/arm-smmu: Correct sid to mask
        iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid()
        iommu: Make iommu_bus_notifier return NOTIFY_DONE rather than error code
        omap3isp: Remove iommu_group related code
        iommu/omap: Add iommu-group support
        iommu/omap: Make use of 'struct iommu_device'
        iommu/omap: Store iommu_dev pointer in arch_data
        iommu/omap: Move data structures to omap-iommu.h
        iommu/omap: Drop legacy-style device support
        ...
      28b47809
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-soc', 'acpi-bus', 'acpi-pmic' and 'acpi-power' · 46436eb2
      Rafael J. Wysocki authored
      * acpi-soc:
        ACPI / LPSS: Call pwm_add_table() for Bay Trail PWM device
        i2c: designware: Add ACPI HID for Hisilicon Hip07/08 I2C controller
        ACPI / APD: Add clock frequency for Hisilicon Hip07/08 I2C controller
      
      * acpi-bus:
        ACPI / bus: Add INT0002 to list of always-present devices
        ACPI / bus: Introduce a list of ids for "always present" devices
      
      * acpi-pmic:
        ACPI / PMIC: xpower: Fix power_table addresses
      
      * acpi-power:
        ACPI / power: Delay turning off unused power resources after suspend
      46436eb2
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · 8269c734
      Rafael J. Wysocki authored
      * acpica:
        ACPICA: Update version to 20170303
        ACPICA: iasl: add ASL conversion tool
        ACPICA: Local cache support: Allow small cache objects
        ACPICA: Disassembler: Do not unconditionally remove temporary names
        ACPICA: iasl: Fix IORT SMMU GSI disassembling
        ACPICA: Cleanup AML opcode definitions, no functional change
        ACPICA: Debugger: Add interpreter blocking mark for single-step mode
        ACPICA: debugger: fix memory leak on Pathname
        ACPICA: Update for automatic repair code for objects returned by evaluate_object
        ACPICA: Namespace: fix operand cache leak
        ACPICA: Fix several incorrect invocations of ACPICA return macro
        ACPICA: Fix a module for excessive debug output
        ACPICA: Update some function headers, no funtional change
        ACPICA: Disassembler: Enhance resource descriptor detection
        ACPICA: Add non-linux host build support
      8269c734
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-domains', 'pm-cpuidle', 'pm-sleep' and 'powercap' · 80449d89
      Rafael J. Wysocki authored
      * pm-domains:
        PM / Domains: Add DT file to MAINTAINERS
        PM / Domains: Fix DT example
      
      * pm-cpuidle:
        x86/intel_idle: add Gemini Lake support
        cpuidle: check dev before usage in cpuidle_use_deepest_state()
      
      * pm-sleep:
        ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle
        PM / wakeup: Integrate mechanism to abort transitions in progress
      
      * powercap:
        powercap: intel_rapl: Add support for Gemini Lake
      80449d89
    • Ari Kauppi's avatar
      nfsd: fix undefined behavior in nfsd4_layout_verify · b550a32e
      Ari Kauppi authored
        UBSAN: Undefined behaviour in fs/nfsd/nfs4proc.c:1262:34
        shift exponent 128 is too large for 32-bit type 'int'
      
      Depending on compiler+architecture, this may cause the check for
      layout_type to succeed for overly large values (which seems to be the
      case with amd64). The large value will be later used in de-referencing
      nfsd4_layout_ops for function pointers.
      Reported-by: default avatarJani Tuovila <tuovila@synopsys.com>
      Signed-off-by: default avatarAri Kauppi <ari@synopsys.com>
      [colin.king@canonical.com: use LAYOUT_TYPE_MAX instead of 32]
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      b550a32e
    • Trond Myklebust's avatar
      pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled · 76b2a303
      Trond Myklebust authored
      Layoutstats is always desirable when using the flexfiles driver, so
      we should enable it if that driver is being loaded. It is safe to do
      so, because even when the mount specifies NFSv4.1, we will turn it
      off if the server tells us it is unsupported.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      76b2a303
    • Trond Myklebust's avatar
      NFSv4.1: Work around a Linux server bug... · f4b23de3
      Trond Myklebust authored
      It turns out the Linux server has a bug in its implementation of
      supattr_exclcreat; it returns the set of all attributes, whether
      or not they are supported by minor version 1.
      In order to avoid a regression, we therefore apply the supported_attrs
      as a mask on top of whatever the server sent us.
      Reported-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      f4b23de3
    • Eric Dumazet's avatar
      dccp/tcp: do not inherit mc_list from parent · 657831ff
      Eric Dumazet authored
      syzkaller found a way to trigger double frees from ip_mc_drop_socket()
      
      It turns out that leave a copy of parent mc_list at accept() time,
      which is very bad.
      
      Very similar to commit 8b485ce6 ("tcp: do not inherit
      fastopen_req from parent")
      
      Initial report from Pray3r, completed by Andrey one.
      Thanks a lot to them !
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarPray3r <pray3r.z@gmail.com>
      Reported-by: default avatarAndrey Konovalov <andreyknvl@google.com>
      Tested-by: default avatarAndrey Konovalov <andreyknvl@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      657831ff
    • Dave Aldridge's avatar
      sparc64: fix fault handling in NGbzero.S and GENbzero.S · 3c7f6221
      Dave Aldridge authored
      When any of the functions contained in NGbzero.S and GENbzero.S
      vector through *bzero_from_clear_user, we may end up taking a
      fault when executing one of the store alternate address space
      instructions. If this happens, the exception handler does not
      restore the %asi register.
      
      This commit fixes the issue by introducing a new exception
      handler that ensures the %asi register is restored when
      a fault is handled.
      
      Orabug: 25577560
      Signed-off-by: default avatarDave Aldridge <david.j.aldridge@oracle.com>
      Reviewed-by: default avatarRob Gardner <rob.gardner@oracle.com>
      Reviewed-by: default avatarBabu Moger <babu.moger@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3c7f6221
    • Geliang Tang's avatar
      sparc: use memdup_user_nul in sun4m LED driver · aed74ea0
      Geliang Tang authored
      Use memdup_user_nul() helper instead of open-coding to simplify the code.
      Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aed74ea0
    • Linus Torvalds's avatar
      Merge tag 'arc-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 4a1e31c6
      Linus Torvalds authored
      Pull ARC updates from Vineet Gupta:
      
       - AXS10x platform clk updates for I2S, PGU
      
       - add region based cache flush operation for ARCv2 cores
      
       - enforce PAE40 dependency on HIGHMEM
      
       - ptrace support for additional regs in ARCv2 cores
      
       - fix build failure in linux-next dut to a header include ordering
         change
      
      * tag 'arc-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        Revert "ARCv2: Allow enabling PAE40 w/o HIGHMEM"
        ARC: mm: fix build failure in linux-next for UP builds
        ARCv2: ptrace: provide regset for accumulator/r30 regs
        elf: Add ARCv2 specific core note section
        ARCv2: mm: micro-optimize region flush generated code
        ARCv2: mm: Merge 2 updates to DC_CTRL for region flush
        ARCv2: mm: Implement cache region flush operations
        ARC: mm: Move full_page computation into cache version agnostic wrapper
        arc: axs10x: Fix ARC PGU default clock frequency
        arc: axs10x: Add DT bindings for I2S audio playback
      4a1e31c6
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c6778ff8
      Linus Torvalds authored
      Pull ARM 64-bit DT updates from Olof Johansson:
       "Device-tree updates for arm64 platforms. Just as with 32-bit, a bunch
        of smaller changes, but also some new platforms that are worth
        mentioning:
      
         - Rockchip RK3399 platforms for Chromebooks, including Samsung
           Chromebook Plus (Kevin)
      
         - Orange Pi PC2 (Allwinner H5)
      
         - Freescale LS2088A and LS1088A SoCs
      
         - Expanded support for Nvidia Tegra186 (and Jetson TX2)"
      
      * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (180 commits)
        arm64: dts: Add basic DT to support Spreadtrum's SP9860G
        arm64: dts: exynos: Use - instead of @ for DT OPP entries
        arm64: dts: exynos: Add support for s6e3hf2 panel device on TM2e board
        arm64: dts: juno: add information about L1 and L2 caches
        arm64: dts: juno: fix few unit address format warnings
        arm64: marvell: dts: enable the crypto engine on the Armada 8040 DB
        arm64: marvell: dts: enable the crypto engine on the Armada 7040 DB
        arm64: marvell: dts: add crypto engine description for 7k/8k
        arm64: dts: marvell: add sdhci support for Armada 7K/8K
        arm64: dts: marvell: add eMMC support for Armada 37xx
        arm64: dts: hisi: add pinctrl dtsi file for HiKey960 development board
        arm64: dts: hisi: add drive strength levels of the pins for Hi3660 SoC
        arm64: dts: hisi: enable the NIC and SAS for the hip07-d05 board
        arm64: dts: hisi: add SAS nodes for the hip07 SoC
        arm64: dts: hisi: add RoCE nodes for the hip07 SoC
        arm64: dts: hisi: add network related nodes for the hip07 SoC
        arm64: dts: hisi: add mbigen nodes for the hip07 SoC
        arm64: dts: rockchip: fix the memory size of PX5 Evaluation board
        arm64: dts: hisilicon: add dts files for hi3798cv200-poplar board
        dt-bindings: arm: hisilicon: add bindings for hi3798cv200 SoC and Poplar board
        ...
      c6778ff8
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0ff4c01b
      Linus Torvalds authored
      Pull ARM SoC 64-bit changes from Olof Johansson:
       "Changes to platform code for 64-bit ARM platforms.
      
        Most of these are small changes to the one defconfig we use on arm64
        (no per-platform configs there), to enable new drivers.
      
        There are also a few other changes. Broadcom sold off their 'Vulcan'
        design to Cavium, where it is now called ThunderX2. While we normally
        don't rename stuff based on marketing's whims, it seemed appropriate
        to bring in renames on a few things such as MAINTAINERS, etc"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: sunxi: always enable reset controller
        arm64: defconfig: enable the Safexcel crypto engine as a module
        arm64: configs: enable SDHCI driver for Xenon
        MAINTAINERS: Broadcom Vulcan is now Cavium ThunderX2
        arm64: defconfig: add Allwinner USB PHY
        arm64: defconfig: enable MVPP2
        arm64: defconfig: Enable video, DRM and LPASS drivers for Exynos5433 and Exynos7
        arm64: exynos: Enable Exynos PMU and PM domains drivers
        arm64: only select PINCTRL for Allwinner platforms
        arm64: set CONFIG_MMC_BCM2835=y in defconfig
        arm64: defconfig: enable I2C_PXA
        arm64: defconfig: enable MVNETA
        ARM64: defconfig: enable the leds-pwm driver and default-on trigger
        arm64: defconfig: Enable SH Mobile I2C controller
      0ff4c01b
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0160e00a
      Linus Torvalds authored
      Pull ARM SoC driver updates from Olof Johansson:
       "Driver updates for ARM SoCs:
      
        Reset subsystem, merged through arm-soc by tradition:
         - Make bool drivers explicitly non-modular
         - New support for i.MX7 and Arria10 reset controllers
      
        PATA driver for Palmchip BK371 (acked by Tejun)
      
        Power domain drivers for i.MX (GPC, GPCv2)
         - Moved out of mach-imx for GPC
         - Bunch of tweaks, fixes, etc
      
        PMC support for Tegra186
      
        SoC detection support for Renesas RZ/G1H and RZ/G1N
      
        Move Tegra flow controller driver from mach directory to drivers/soc
         - (Power management / CPU power driver)
      
        Misc smaller tweaks for other platforms"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
        soc: pm-domain: Fix the mangled urls
        soc: renesas: rcar-sysc: Add support for R-Car H3 ES2.0
        soc: renesas: rcar-sysc: Add support for fixing up power area tables
        soc: renesas: Register SoC device early
        soc: imx: gpc: add workaround for i.MX6QP to the GPC PD driver
        dt-bindings: imx-gpc: add i.MX6 QuadPlus compatible
        soc: imx: gpc: add defines for domain index
        soc: imx: Add GPCv2 power gating driver
        dt-bindings: Add GPCv2 power gating driver
        ARM/clk: move the ICST library to drivers/clk
        ARM: plat-versatile: remove stale clock header
        ARM: keystone: Drop PM domain support for k2g
        soc: ti: Add ti_sci_pm_domains driver
        dt-bindings: Add TI SCI PM Domains
        PM / Domains: Do not check if simple providers have phandle cells
        PM / Domains: Add generic data pointer to genpd data struct
        soc/tegra: Add initial flowctrl support for Tegra132/210
        soc/tegra: flowctrl: Add basic platform driver
        soc/tegra: Move Tegra flowctrl driver
        ARM: tegra: Remove unnecessary inclusion of flowctrl header
        ...
      0160e00a
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c81ee18e
      Linus Torvalds authored
      Pull ARM: SoC defconfig updates from Olof Johansson:
       "We've traditionally kept defconfig updates in a separate branch, often
        to encourage submaintainers to handle those patches separately to
        avoid conflicts on the shared files. The amount of changes seem to be
        decreasing though, so we might rethink how we handle this going
        forward.
      
        There really isn't much to write about here. The bulk of changes here
        are enabling drivers for whatever platforms the hardware is found on
        (and multi-configs)"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
        multi_v7_defconfig: make Rockchip usb2-phy built-in
        ARM: omap2plus_defconfig: Enable droid 4 devices
        ARM: omap2plus_defconfig: Add QMI, ACM and PPP as loadable modules
        ARM: configs: aspeed: Add new drivers
        ARM: configs: aspeed: Update configs for BMC systems
        ARM: omap2plus_defconfig: Enable TI Ethernet PHY
        ARM: configs: Add new config fragment to change RAM start point
        ARM: configs: stm32: Add I2C support
        multi_v7_defconfig: make Rockchip DRM drivers built-in
        ARM: configs: stm32: Set CPU_V7M_NUM_IRQ to max value
        ARM: imx_v6_v7_defconfig: Select SMSC_PHY
        ARM: davinci_all_defconfig: convert to use libata PATA
        ARM: qcom_defconfig: Enable Qualcomm remoteproc and related drivers
        ARM: omap2plus_defconfig: enable ahci-dm816 module
        arm: set CONFIG_MMC_BCM2835=y in bcm2835_defconfig and multi_v7_defconfig
        ARM: bcm2835: Enable missing CMA settings for VC4 driver
        ARM: socfpga: updates for socfpga_defconfig
        ARM: imx_v6_v7_defconfig: Select hid-multitouchdriver
        ARM: imx_v6_v7_defconfig: Select max11801_ts touchscreen driver
        ARM: exynos_defconfig: Increase CONFIG_CMA_SIZE_MBYTES to 96
        ...
      c81ee18e