1. 13 May, 2017 3 commits
  2. 10 May, 2017 2 commits
    • Steve French's avatar
      Don't delay freeing mids when blocked on slow socket write of request · de1892b8
      Steve French authored
      When processing responses, and in particular freeing mids (DeleteMidQEntry),
      which is very important since it also frees the associated buffers (cifs_buf_release),
      we can block a long time if (writes to) socket is slow due to low memory or networking
      issues.
      
      We can block in send (smb request) waiting for memory, and be blocked in processing
      responess (which could free memory if we let it) - since they both grab the
      server->srv_mutex.
      
      In practice, in the DeleteMidQEntry case - there is no reason we need to
      grab the srv_mutex so remove these around DeleteMidQEntry, and it allows
      us to free memory faster.
      Signed-off-by: default avatarSteve French <steve.french@primarydata.com>
      Acked-by: default avatarPavel Shilovsky <pshilov@microsoft.com>
      de1892b8
    • Rabin Vincent's avatar
      CIFS: silence lockdep splat in cifs_relock_file() · 560d3889
      Rabin Vincent authored
      cifs_relock_file() can perform a down_write() on the inode's lock_sem even
      though it was already performed in cifs_strict_readv().  Lockdep complains
      about this.  AFAICS, there is no problem here, and lockdep just needs to be
      told that this nesting is OK.
      
       =============================================
       [ INFO: possible recursive locking detected ]
       4.11.0+ #20 Not tainted
       ---------------------------------------------
       cat/701 is trying to acquire lock:
        (&cifsi->lock_sem){++++.+}, at: cifs_reopen_file+0x7a7/0xc00
      
       but task is already holding lock:
        (&cifsi->lock_sem){++++.+}, at: cifs_strict_readv+0x177/0x310
      
       other info that might help us debug this:
        Possible unsafe locking scenario:
      
              CPU0
              ----
         lock(&cifsi->lock_sem);
         lock(&cifsi->lock_sem);
      
        *** DEADLOCK ***
      
        May be due to missing lock nesting notation
      
       1 lock held by cat/701:
        #0:  (&cifsi->lock_sem){++++.+}, at: cifs_strict_readv+0x177/0x310
      
       stack backtrace:
       CPU: 0 PID: 701 Comm: cat Not tainted 4.11.0+ #20
       Call Trace:
        dump_stack+0x85/0xc2
        __lock_acquire+0x17dd/0x2260
        ? trace_hardirqs_on_thunk+0x1a/0x1c
        ? preempt_schedule_irq+0x6b/0x80
        lock_acquire+0xcc/0x260
        ? lock_acquire+0xcc/0x260
        ? cifs_reopen_file+0x7a7/0xc00
        down_read+0x2d/0x70
        ? cifs_reopen_file+0x7a7/0xc00
        cifs_reopen_file+0x7a7/0xc00
        ? printk+0x43/0x4b
        cifs_readpage_worker+0x327/0x8a0
        cifs_readpage+0x8c/0x2a0
        generic_file_read_iter+0x692/0xd00
        cifs_strict_readv+0x29f/0x310
        generic_file_splice_read+0x11c/0x1c0
        do_splice_to+0xa5/0xc0
        splice_direct_to_actor+0xfa/0x350
        ? generic_pipe_buf_nosteal+0x10/0x10
        do_splice_direct+0xb5/0xe0
        do_sendfile+0x278/0x3a0
        SyS_sendfile64+0xc4/0xe0
        entry_SYSCALL_64_fastpath+0x1f/0xbe
      Signed-off-by: default avatarRabin Vincent <rabinv@axis.com>
      Acked-by: default avatarPavel Shilovsky <pshilov@microsoft.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      560d3889
  3. 09 May, 2017 35 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
    • 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
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 85d60490
      Linus Torvalds authored
      Pull ARM Device-tree updates from Olof Johansson:
       "Device-tree continues to see lots of updates. The majority of patches
        here are smaller changes for new hardware on existing platforms, and
        there are a few larger changes worth pointing out.
      
        Major new platforms:
      
         - Gemini has been ported to DT, so a handful of "new" platforms moved
           over from board files
      
         - Rockchip RK3288 support for Tinkerboard and Phytec phyCORE-RK3288
           SoM and RDK
      
         - A bunch of embedded platforms, several Linksys platforms, Synology
           DS116,
      
         - Motorola Droid4 (really old OMAP-based phone) support is added.
      
        Some refactorings, i.e. Allwinner H3/H5 support is commonalized.
      
        And lots of smaller changes, cleanups, etc. See shortlog for more
        description
      
        We're adding ability to cross-include DT files between arm and arm64,
        by creating appropriate links in the dt-include directory, and using
        arm/ and arm64/ as include prefixes. This will avoid other local hacks
        such as per-file links between the two arch trees (this broke for
        external mirroring of DT contents). Now they can just provide their
        own appropriate dt-include hierarcy per platform"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (349 commits)
        ARM: dts: exynos: Use - instead of @ for DT OPP entries
        arm: spear6xx: add DT description of the ADC on SPEAr600
        arm: spear6xx: remove unneeded pinctrl properties in spear600-evb
        arm: spear6xx: switch spear600-evb to the new flash partition DT binding
        arm: spear6xx: fix spaces in spear600-evb.dts
        arm: spear6xx: use node labels in spear600-evb.dts
        arm: spear6xx: add labels to various nodes in spear600.dtsi
        ARM: dts: vexpress: fix few unit address format warnings
        ARM: dts: at91: sama5d3_xplained: not all ADC channels are available
        ARM: dts: at91: sama5d3_xplained: fix ADC vref
        ARM: dts: at91: add envelope detector mux to the Axentia TSE-850
        ARM: dts: armada-38x: label USB and SATA nodes
        ARM: dts: imx6q-utilite-pro: add hpd gpio
        ARM: dts: imx6qp-sabresd: Set reg_arm regulator supply
        ARM: dts: imx6qdl-sabresd: Set LDO regulator supply
        ARM: dts: imx: add Gateworks Ventana GW5903 support
        ARM: dts: i.MX25: add AIPS control registers
        ARM: dts: imx7-colibri: add Carrier Board 3.3V/5V regulators
        ARM: dts: imx7-colibri: remove 1.8V fixed regulator
        ARM: dts: imx7-colibri: allow to disable Ethernet rail
        ...
      85d60490
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8d648aad
      Linus Torvalds authored
      Pull ARM SoC platform updates from Olof Johansson:
       "SoC platform changes (arch/arm/mach-*). This merge window, the bulk is
        for a few platforms:
      
        Gemini:
         - Legacy platform that Linus Walleij has converted to multiplatform
           and DT, so a handful of various tweaks there, removal of some old
           stale support, etc.
      
        Atmel AT91:
         - Fixup of various power management related pieces
         - Move of SoC detection to a drivers/soc driver instead
      
        ST Micro STM32:
         - New SoC support: STM32H743
      
        TI platforms:
         - More driver support for Davinci (SATA in particular)
         - Removal of some old stale hwmod files (linkspace platform)
      
        Misc:
         - A couple of smaller patches for i.MX, sunxi, hisi"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (57 commits)
        ARM: davinci: Add clock for CPPI 4.1 DMA engine
        ARM: mxs: add support for I2SE Duckbill 2 boards
        MAINTAINERS: Update the Allwinner sunXi entry
        ARM: i.MX25: globally disable supervisor protect
        ARM: at91: move SoC detection to its own driver
        ARM: at91: pm: correct typo
        ARM: at91: pm: Remove at91_pm_set_standby
        ARM: at91: pm: Merge all at91sam9*_pm_init
        ARM: at91: pm: Tie the USB clock mask to the pmc
        ARM: at91: pm: Tie the memory controller type to the ramc id
        ARM: at91: pm: Workaround DDRSDRC self-refresh bug with LPDDR1 memories.
        ARM: at91: pm: Simplify at91rm9200_standby
        ARM: at91: pm: Use struct at91_pm_data in pm_suspend.S
        ARM: at91: pm: Move global variables into at91_pm_data
        ARM: at91: pm: Move at91_ramc_read/write to pm.c
        ARM: at91: pm: Cleanup headers
        MAINTAINERS: Add memory drivers to AT91 entry
        MAINTAINERS: Update AT91 entry
        ARM: davinci: add pata_bk3710 libata driver support
        ARM: OMAP2+: mark omap_init_rng as __init
        ...
      8d648aad
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e07e368b
      Linus Torvalds authored
      Pull misc ARM SoC fixes from Olof Johansson:
       "ARM SoC non-urgent fixes for merge window
      
        Smaller patches that didn't seem to find a home in other branches, and
        low-priority fixes from late in the merge window. A number of these
        are MAINTAINER updates, it seems.
      
        Highlights:
      
         * Maintainers:
           - Remove Alexandre Courbot and Stephen Warren from Tegra
             maintainership, add Jon Hunter
           - Remove Stephen Warren and add Stefan Wahren to bcm2835
           - Tweaks for file flagging for Marvell Dove
      
         * Fixes:
           - For two non-common-clk platform, handle clk_disable with NULL arg
           - Remove redundant Kconfig select for Oxnas"
      
      * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: mmp: let clk_disable() return immediately if clk is NULL
        ARM: w90x900: let clk_disable() return immediately if clk is NULL
        MAINTAINERS: Add file patterns for dove device tree bindings
        ARM: oxnas: remove redundant select CPU_V6K
        MAINTAINERS: tegra: Remove self as maintainer
        MAINTAINERS: tegra: Replace Stephen with Jon
        MAINTAINERS: Add Stefan Wahren to bcm2835.
        MAINTAINERS: remove swarren from bcm2835
        MAINTAINERS: Add Jon Mason to BCM5301X maintainers
      e07e368b
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 11fbf53d
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted bits and pieces from various people. No common topic in this
        pile, sorry"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs/affs: add rename exchange
        fs/affs: add rename2 to prepare multiple methods
        Make stat/lstat/fstatat pass AT_NO_AUTOMOUNT to vfs_statx()
        fs: don't set *REFERENCED on single use objects
        fs: compat: Remove warning from COMPATIBLE_IOCTL
        remove pointless extern of atime_need_update_rcu()
        fs: completely ignore unknown open flags
        fs: add a VALID_OPEN_FLAGS
        fs: remove _submit_bh()
        fs: constify tree_descr arrays passed to simple_fill_super()
        fs: drop duplicate header percpu-rwsem.h
        fs/affs: bugfix: Write files greater than page size on OFS
        fs/affs: bugfix: enable writes on OFS disks
        fs/affs: remove node generation check
        fs/affs: import amigaffs.h
        fs/affs: bugfix: make symbolic links work again
      11fbf53d
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 339fbf67
      Linus Torvalds authored
      Pull vfs fix from Al Viro:
       "Braino fix for iov_iter_revert() misuse"
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix braino in generic_file_read_iter()
      339fbf67
    • Linus Torvalds's avatar
      proc: try to remove use of FOLL_FORCE entirely · 8ee74a91
      Linus Torvalds authored
      We fixed the bugs in it, but it's still an ugly interface, so let's see
      if anybody actually depends on it.  It's entirely possible that nothing
      actually requires the whole "punch through read-only mappings"
      semantics.
      
      For example, gdb definitely uses the /proc/<pid>/mem interface, but it
      looks like it mainly does it for regular reads of the target (that don't
      need FOLL_FORCE), and looking at the gdb source code seems to fall back
      on the traditional ptrace(PTRACE_POKEDATA) interface if it needs to.
      
      If this breaks something, I do have a (more complex) version that only
      enables FOLL_FORCE when somebody has PTRACE_ATTACH'ed to the target,
      like the comment here used to say ("Maybe we should limit FOLL_FORCE to
      actual ptrace users?").
      
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Eric Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8ee74a91
    • David S. Miller's avatar
      Merge branch 'qed-general-fixes' · e735da5e
      David S. Miller authored
      Yuval Mintz says:
      
      ====================
      qed*: General fixes
      
      This series contain several fixes for qed and qede.
      
       - #1 [and ~#5] relate to XDP cleanups
       - #2 and #5 correct VF behavior
       - #3 and #4 fix and add missing configurations needed for RoCE & storage
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e735da5e
    • Mintz, Yuval's avatar
      qede: Split PF/VF ndos. · be47c555
      Mintz, Yuval authored
      PFs and VFs share the same structure of NDOs today,
      and the VFs explicitly fails the ndo_xdp() callback stating
      it doesn't support XDP.
      
      This results in lots of:
      
        [qede_xdp:1032(enp131s2)]VFs don't support XDP
        ------------[ cut here ]------------
        WARNING: CPU: 4 PID: 1426 at net/core/rtnetlink.c:1637 rtnl_dump_ifinfo+0x354/0x3c0
        ...
        Call Trace:
          ? __alloc_skb+0x9b/0x1d0
          netlink_dump+0x122/0x290
          netlink_recvmsg+0x27d/0x430
          sock_recvmsg+0x3d/0x50
        ...
      
      As every dump request for the VF interface info would fail due to
      rtnl_xdp_fill() returning an error code.
      
      To resolve this, introduce a subset of the NDOs meant for the VF
      in a seperate structure and register that one instead for VFs,
      and omit the ndo_xdp initialization.
      
      Fixes: 40b8c454 ("qede: Prevent VFs from using XDP")
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be47c555
    • Ram Amrani's avatar
      qed: Correct doorbell configuration for !4Kb pages · a82dadbc
      Ram Amrani authored
      When configuring the doorbell DPI address, driver aligns the start
      address to 4KB [HW-pages] instead of host PAGE_SIZE.
      As a result, RoCE applications might receive addresses which are
      unaligned to pages [when PAGE_SIZE > 4KB], which is a security risk.
      
      Fixes: 51ff1725 ("qed: Add support for RoCE hw init")
      Signed-off-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a82dadbc
    • Mintz, Yuval's avatar
      qed: Tell QM the number of tasks · c9f0523b
      Mintz, Yuval authored
      Driver doesn't pass the number of tasks to the QM init logic
      which would cause back-pressure in scenarios requiring many tasks
      [E.g., using max MRs] and thus reduced performance.
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c9f0523b
    • Mintz, Yuval's avatar
      qed: Fix VF removal sequence · 5f027d7a
      Mintz, Yuval authored
      After previos changes in HW-stop scheme, VFs stopped sending CLOSE
      messages to their PFs when they unload.
      
      Fixes: 1226337a ("qed: Correct HW stop flow")
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5f027d7a
    • Suddarsana Reddy Kalluru's avatar
      qede: Fix XDP memory leak on unload · 92c43eb4
      Suddarsana Reddy Kalluru authored
      When (re|un)loading, Tx-queues belonging to XDP would not get freed.
      
      Fixes: cb6aeb07 ("qede: Add support for XDP_TX")
      Signed-off-by: default avatarSudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      92c43eb4
    • David S. Miller's avatar
      Merge branch 'mlx4-misc-fixes' · cf680179
      David S. Miller authored
      Tariq Toukan says:
      
      ====================
      mlx4 misc fixes
      
      This patchset contains misc bug fixes from the team
      to the mlx4 Core and Eth drivers.
      
      Series generated against net commit:
      32f1bc0f Revert "ipv4: restore rt->fi for reference counting"
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cf680179
    • Jack Morgenstein's avatar
      net/mlx4_core: Reduce harmless SRIOV error message to debug level · 83bd5118
      Jack Morgenstein authored
      Under SRIOV resource management, extra counters are allocated to VFs
      from a free pool. If that pool is empty, the ALLOC_RES command for
      a counter resource fails -- and this generates a misleading error
      message in the message log.
      
      Under SRIOV, each VF is allocated (i.e., guaranteed) 2 counters --
      one counter per port. For ETH ports, the RoCE driver requests an
      additional counter (above the guaranteed counters). If that request
      fails, the VF RoCE driver simply uses the default (i.e., guaranteed)
      counter for that port.
      
      Thus, failing to allocate an additional counter does not constitute
      a  problem, and the error message on the PF when this occurs should
      be reduced to debug level.
      
      Finally, to identify the situation that the reason for the failure is
      that no resources are available to grant to the VF, we modified the
      error returned by mlx4_grant_resource to -EDQUOT (Quota exceeded),
      which more accurately describes the error.
      
      Fixes: c3abb51b ("IB/mlx4: Add RoCE/IB dedicated counters")
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      83bd5118
    • Talat Batheesh's avatar
      net/mlx4_en: Avoid adding steering rules with invalid ring · 89c55768
      Talat Batheesh authored
      Inserting steering rules with illegal ring is an invalid operation,
      block it.
      
      Fixes: 82067281 ('net/mlx4_en: Manage flow steering rules with ethtool')
      Signed-off-by: default avatarTalat Batheesh <talatb@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      89c55768
    • Kamal Heib's avatar
      net/mlx4_en: Change the error print to debug print · 505a9249
      Kamal Heib authored
      The error print within mlx4_en_calc_rx_buf() should be a debug print.
      
      Fixes: 51151a16 ('mlx4: allow order-0 memory allocations in RX path')
      Signed-off-by: default avatarKamal Heib <kamalh@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      505a9249
    • Karim Eshapa's avatar
      drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison · 4c19e2f2
      Karim Eshapa authored
      Use time_after() for time comparison with the new fix.
      Signed-off-by: default avatarKarim Eshapa <karim.eshapa@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4c19e2f2
    • Kees Cook's avatar
      DECnet: Use container_of() for embedded struct · f92ceb01
      Kees Cook authored
      Instead of a direct cross-type cast, use conatiner_of() to locate
      the embedded structure, even in the face of future struct layout
      randomization.
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f92ceb01
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-4.12-rc1' of... · 2868b251
      Linus Torvalds authored
      Merge tag 'linux-kselftest-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest updates from Shuah Khan:
       "This update consists of:
      
         - important fixes for build failures and clean target related
           warnings to address regressions introduced in commit 88baa78d
           ("selftests: remove duplicated all and clean target")
      
         - several minor spelling fixes in and log messages and comment
           blocks.
      
         - Enabling configs for better test coverage in ftrace, vm, and
           cpufreq tests.
      
         - .gitignore changes"
      
      * tag 'linux-kselftest-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (26 commits)
        selftests: x86: add missing executables to .gitignore
        selftests: watchdog: accept multiple params on command line
        selftests: create cpufreq kconfig fragments
        selftests: x86: override clean in lib.mk to fix warnings
        selftests: sync: override clean in lib.mk to fix warnings
        selftests: splice: override clean in lib.mk to fix warnings
        selftests: gpio: fix clean target to remove all generated files and dirs
        selftests: add gpio generated files to .gitignore
        selftests: powerpc: override clean in lib.mk to fix warnings
        selftests: gpio: override clean in lib.mk to fix warnings
        selftests: futex: override clean in lib.mk to fix warnings
        selftests: lib.mk: define CLEAN macro to allow Makefiles to override clean
        selftests: splice: fix clean target to not remove default_file_splice_read.sh
        selftests: gpio: add config fragment for gpio-mockup
        selftests: breakpoints: allow to cross-compile for aarch64/arm64
        selftests/Makefile: Add missed PHONY targets
        selftests/vm/run_vmtests: Fix wrong comment
        selftests/Makefile: Add missed closing `"` in comment
        selftests/vm/run_vmtests: Polish output text
        selftests/timers: fix spelling mistake: "Asynchronous"
        ...
      2868b251
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 00d95933
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
       "These are three simple changes.
      
        The first one is just a switch from using strcpy() to strlcpy().
        Someone thought that it may cause an overflow bug, but since it only
        copies comms into a pre-allocated array of TASK_COMM_LEN, and no comm
        should ever be bigger than that, nor not end with a nul character,
        this change is more of a safety precaution than fixing anything that
        is actually broken.
      
        The other two changes are simply cleaning and optimizing some code"
      
      * tag 'trace-v4.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Simplify ftrace_match_record() even more
        ftrace: Remove an unneeded condition
        tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline()
      00d95933
    • Linus Torvalds's avatar
      Merge tags 'for-linus' and 'for-next' of... · 3341713c
      Linus Torvalds authored
      Merge tags 'for-linus' and 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
      
      Pull more rdma updates from Doug Ledford:
       "As mentioned in my first pull request, this is the subsequent pull
        requests I had. This is all I have, and in fact this cleans out the
        RDMA subsystem's entire patchworks queue of kernel changes that are
        ready to go (well, it did for the weekend anyway, a few new patches
        are in, but they'll be coming during the -rc cycle).
      
        The first tag contains a single patch that would have conflicted if
        taken from my tree or DaveM's tree as it needed our trees merged to
        come cleanly.
      
        The second tag contains the patch series from Intel plus three other
        stragllers that came in late last week. I took them because it allowed
        me to legitimately claim that the RDMA patchworks queue was, for a
        short time, 100% cleared of all waiting kernel patches, woohoo! :-).
      
        I have it under my for-next tag, so it did get 0day and linux- next
        over the end of last week, and linux-next did show one minor conflict.
      
        Summary:
      
        'for-linus' tag:
         - mlx5/IPoIB fixup patch
      
        'for-next' tag:
         - the hfi1 15 patch set that landed late
         - IPoIB get_link_ksettings which landed late because I asked for a
           respin
         - one late rxe change
         - one -rc worthy fix that's in early"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        IB/mlx5: Enable IPoIB acceleration
      
      * tag 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        rxe: expose num_possible_cpus() cnum_comp_vectors
        IB/rxe: Update caller's CRC for RXE_MEM_TYPE_DMA memory type
        IB/hfi1: Clean up on context initialization failure
        IB/hfi1: Fix an assign/ordering issue with shared context IDs
        IB/hfi1: Clean up context initialization
        IB/hfi1: Correctly clear the pkey
        IB/hfi1: Search shared contexts on the opened device, not all devices
        IB/hfi1: Remove atomic operations for SDMA_REQ_HAVE_AHG bit
        IB/hfi1: Use filedata rather than filepointer
        IB/hfi1: Name function prototype parameters
        IB/hfi1: Fix a subcontext memory leak
        IB/hfi1: Return an error on memory allocation failure
        IB/hfi1: Adjust default eager_buffer_size to 8MB
        IB/hfi1: Get rid of divide when setting the tx request header
        IB/hfi1: Fix yield logic in send engine
        IB/hfi1, IB/rdmavt: Move r_adefered to r_lock cache line
        IB/hfi1: Fix checks for Offline transient state
        IB/ipoib: add get_link_ksettings in ethtool
      3341713c