1. 11 11月, 2015 33 次提交
    • L
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 5dfe5b2c
      Linus Torvalds 提交于
      Pull misc kbuild updates from Michal Marek:
       "This is the non-critical part of kbuild:
      
         - several coccinelle updates
         - make deb-pkg creates an armhf package if CONFIG_VFP=y
         - make tags understands some more powerpc macros"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        coccinelle: Improve checking for missing NULL terminators
        coccinelle: ifnullfree: handle various destroy functions
        coccinelle: ifnullfree: various cleanups
        cocinelle: iterators: semantic patch to delete unneeded of_node_put
        deb-pkg: Add automatic support for armhf architecture
        scripts/coccinelle: fix typos
        coccinelle: misc: remove "complex return code" warnings
        Coccinelle: fix incorrect -include option transformation
        coccinelle: tests: improve odd_ptr_err.cocci
        coccinelle: misc: move constants to the right
        scripts/tags.sh: Teach tags about some powerpc macros
      5dfe5b2c
    • L
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 152813e6
      Linus Torvalds 提交于
      Pull kconfig updates from Michal Marek:
      
       - 'make xconfig' ported to Qt5, dropping support for Qt3
      
       - merge_config.sh supports a single-input-file mode and also respects
         $KCONFIG_CONFIG
      
       - Fix for incorrect display of >= and > in dependency expressions
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (44 commits)
        Add current selection check.
        Use pkg-config to find Qt 4 and 5 instead of direct qmake
        kconfig: Fix copy&paste error
        kconfig/merge_config.sh: Accept a single file
        kconfig/merge_config.sh: Support KCONFIG_CONFIG
        Update the buildsystem for KConfig finding Qt
        Port xconfig to Qt5 - Update copyright.
        Port xconfig to Qt5 - Fix goParent issue.
        Port xconfig to Qt5 - on Back clicked, deselect old item.
        Port xconfig to Qt5 - Add(back) one click checkbox toggle.
        Port xconfig to Qt5 - Add(back) lineedit editing.
        Port xconfig to Qt5 - Remove some commented code.
        Port xconfig to Qt5 - Source format.
        Port xconfig to Qt5 - Add horizontal scrollbar, and scroll per pixel.
        Port xconfig to Qt5 - Change ConfigItem constructor parent type.
        Port xconfig to Qt5 - Disable ConfigList soring
        Port xconfig to Qt5 - Remove ConfigList::updateMenuList template.
        Port xconfig to Qt5 - Add ConfigList::mode to initializer list.
        Port xconfig to Qt5 - Add ConfigItem::nextItem to initializer list.
        Port xconfig to Qt5 - Tree widget set column titles.
        ...
      152813e6
    • L
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · c34e6e0b
      Linus Torvalds 提交于
      Pull kbuild update from Michal Marek:
       "The kbuild branch for v4.4-rc1 only has one commit: A new make
        kselftest-clean target cleans tools/testing/selftests"
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kselftest: add kselftest-clean rule
      c34e6e0b
    • L
      Merge tag 'linux-kselftest-4.4-rc1' of... · 6a177af7
      Linus Torvalds 提交于
      Merge tag 'linux-kselftest-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest updates from Shuah Khan:
       "This 12 patch update for 4.4-rc1 consists of a new pstore test and
        fixes to existing tests"
      
      * tag 'linux-kselftest-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests: breakpoint: Actually build it
        selftests: vm: Try harder to allocate huge pages
        selftests: Make scripts executable
        selftests: kprobe: Choose an always-defined function to probe
        selftests: memfd: Stop unnecessary rebuilds
        selftests: Add missing #include directives
        selftests/seccomp: Be more precise with syscall arguments.
        selftests/seccomp: build and pass on arm64
        selftests: memfd_test: Revised STACK_SIZE to make it 16-byte aligned
        selftests/pstore: add pstore test scripts going with reboot
        selftests/pstore: add pstore test script for pre-reboot
        selftests: add .gitignore for efivarfs
      6a177af7
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · ae36ce07
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Two build fixes, one for VC4, one for nouveau where the ARM only code
        is doing something a bit strange.  While people are discussing that,
        just workaround it and fix the build for now.  The code in question
        will never get used on anything non-ARM anyways.
      
        Also one fix for AST that SuSE had been hiding in their kernel, that
        allows all fbdev apps to work on that driver"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/nouveau: fix build failures on all non ARM.
        drm/ast: Initialized data needed to map fbdev memory
        drm/vc4: Add dependency on HAVE_DMA_ATTRS, and select DRM_GEM_CMA_HELPER
      ae36ce07
    • D
      drm/nouveau: fix build failures on all non ARM. · 10855aeb
      Dave Airlie 提交于
      gk20a is an ARM only GPU, so we can just do the correct thing on
      ARM but fail on other architectures. The other option was to use
      SWIOTLB as the define, which means phys_to_page exists, but
      this seems clearer.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      10855aeb
    • E
      drm/ast: Initialized data needed to map fbdev memory · 28fb4cb7
      Egbert Eich 提交于
      Due to a missing initialization there was no way to map fbdev memory.
      Thus for example using the Xserver with the fbdev driver failed.
      This fix adds initialization for fix.smem_start and fix.smem_len
      in the fb_info structure, which fixes this problem.
      Requested-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NEgbert Eich <eich@suse.de>
      [pulled from SuSE tree by me - airlied]
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      28fb4cb7
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 2df4ee78
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix null deref in xt_TEE netfilter module, from Eric Dumazet.
      
       2) Several spots need to get to the original listner for SYN-ACK
          packets, most spots got this ok but some were not.  Whilst covering
          the remaining cases, create a helper to do this.  From Eric Dumazet.
      
       3) Missiing check of return value from alloc_netdev() in CAIF SPI code,
          from Rasmus Villemoes.
      
       4) Don't sleep while != TASK_RUNNING in macvtap, from Vlad Yasevich.
      
       5) Use after free in mvneta driver, from Justin Maggard.
      
       6) Fix race on dst->flags access in dst_release(), from Eric Dumazet.
      
       7) Add missing ZLIB_INFLATE dependency for new qed driver.  From Arnd
          Bergmann.
      
       8) Fix multicast getsockopt deadlock, from WANG Cong.
      
       9) Fix deadlock in btusb, from Kuba Pawlak.
      
      10) Some ipv6_add_dev() failure paths were not cleaning up the SNMP6
          counter state.  From Sabrina Dubroca.
      
      11) Fix packet_bind() race, which can cause lost notifications, from
          Francesco Ruggeri.
      
      12) Fix MAC restoration in qlcnic driver during bonding mode changes,
          from Jarod Wilson.
      
      13) Revert bridging forward delay change which broke libvirt and other
          userspace things, from Vlad Yasevich.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits)
        Revert "bridge: Allow forward delay to be cfgd when STP enabled"
        bpf_trace: Make dependent on PERF_EVENTS
        qed: select ZLIB_INFLATE
        net: fix a race in dst_release()
        net: mvneta: Fix memory use after free.
        net: Documentation: Fix default value tcp_limit_output_bytes
        macvtap: Resolve possible __might_sleep warning in macvtap_do_read()
        mvneta: add FIXED_PHY dependency
        net: caif: check return value of alloc_netdev
        net: hisilicon: NET_VENDOR_HISILICON should depend on HAS_DMA
        drivers: net: xgene: fix RGMII 10/100Mb mode
        netfilter: nft_meta: use skb_to_full_sk() helper
        net_sched: em_meta: use skb_to_full_sk() helper
        sched: cls_flow: use skb_to_full_sk() helper
        netfilter: xt_owner: use skb_to_full_sk() helper
        smack: use skb_to_full_sk() helper
        net: add skb_to_full_sk() helper and use it in selinux_netlbl_skbuff_setsid()
        bpf: doc: correct arch list for supported eBPF JIT
        dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put"
        bonding: fix panic on non-ARPHRD_ETHER enslave failure
        ...
      2df4ee78
    • L
      Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block · 3419b450
      Linus Torvalds 提交于
      Pull block IO poll support from Jens Axboe:
       "Various groups have been doing experimentation around IO polling for
        (really) fast devices.  The code has been reviewed and has been
        sitting on the side for a few releases, but this is now good enough
        for coordinated benchmarking and further experimentation.
      
        Currently O_DIRECT sync read/write are supported.  A framework is in
        the works that allows scalable stats tracking so we can auto-tune
        this.  And we'll add libaio support as well soon.  Fow now, it's an
        opt-in feature for test purposes"
      
      * 'for-4.4/io-poll' of git://git.kernel.dk/linux-block:
        direct-io: be sure to assign dio->bio_bdev for both paths
        directio: add block polling support
        NVMe: add blk polling support
        block: add block polling support
        blk-mq: return tag/queue combo in the make_request_fn handlers
        block: change ->make_request_fn() and users to return a queue cookie
      3419b450
    • L
      Merge tag 'upstream-4.4-rc1' of git://git.infradead.org/linux-ubifs · 01504f5e
      Linus Torvalds 提交于
      Pull UBI/UBIFS updates from Richard Weinberger:
      
       - access time support for UBIFS by Dongsheng Yang
      
       - random cleanups and bug fixes all over the place
      
      * tag 'upstream-4.4-rc1' of git://git.infradead.org/linux-ubifs:
        ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs
        ubifs: make ubifs_[get|set]xattr atomic
        UBIFS: Delete unnecessary checks before the function call "iput"
        UBI: Remove in vain semicolon
        UBI: Fastmap: Fix PEB array type
        UBIFS: Fix possible memory leak in ubifs_readdir()
        fs/ubifs: remove unnecessary new_valid_dev check
        ubi: fastmap: Implement produce_free_peb()
        UBIFS: print verbose message when rescanning a corrupted node
        UBIFS: call dbg_is_power_cut() instead of reading c->dbg->pc_happened
        UBI: drop null test before destroy functions
        UBI: Update comments to reflect UBI_METAONLY flag
        UBI: Fix debug message
        UBI: Fix typo in comment
        UBI: Fastmap: Simplify expression
        UBIFS: fix a typo in comment of ubifs_budget_req
        UBIFS: use kmemdup rather than duplicating its implementation
      01504f5e
    • L
      Merge branch 'for-linus-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 4bde961e
      Linus Torvalds 提交于
      Pull UML updates from Richard Weinberger:
      
       - a new hrtimer based clocksource by Anton Ivanov
      
       - ptrace() enhancments by Richard Weinberger
      
       - random cleanups and bug fixes all over the place
      
      * 'for-linus-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Switch clocksource to hrtimers
        um: net: replace GFP_KERNEL with GFP_ATOMIC when spinlock is held
        um: Report host OOM more nicely
        um: Simplify STUB_DATA loading
        um: Remove dead symbol from i386 syscall stub
        um: Remove dead code from x86_64 syscall stub
        um: Get rid of open coded NR_SYSCALLS
        um: Store syscall number after syscall_trace_enter()
        um: Define PTRACE_OLDSETOPTIONS
      4bde961e
    • L
      Merge tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag · c6de7f17
      Linus Torvalds 提交于
      Pull metag arch updates from James Hogan:
       "A fix for 4KiB stacks with SMP, and a change of maintenance status to
        'Odd Fixes'"
      
      * tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
        MAINTAINERS: Change Meta arch port status to Odd Fixes
        metag: Turn irq_ctx_* macros into static inlines
        metag: SMP: Fix 4KiB stack setup on secondary CPUs
      c6de7f17
    • L
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 52e9a333
      Linus Torvalds 提交于
      Pull ARM SoC defconfig updates from Olof Johansson:
       "Defconfig updates are kept separate from other branches mostly to
        avoid conflicts between the different categories (driver branch
        enabling something that has context conflict with SoC options, etc).
      
        A lot of this again is scattered across the various hardware
        platforms.  multi_v7_defconfig, our "generic" config for most 32-bit
        platforms has been gone through by Marvell Berlin maintainers and
        added most options they need to run on their hardware.  Broadcom NSP
        is also added there, and the new Atmel SAMA5D2 (added last release).
        Rockchip also has display and other devices supported in that config.
      
        In addition to that, the usual small churn of new options being added
        here and there"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
        ARM: multi_v7_defconfig: enable UniPhier I2C drivers
        ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4
        ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4
        ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in
        ARM: exynos_defconfig: Disable simplefb support
        ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4
        ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget
        ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget
        ARM: exynos_defconfig: Enable USB Video Class support
        ARM: multi_v7_defconfig: improve multi_v7_defconfig support for Berlin
        ARM: tegra: Update multi_v7_defconfig
        ARM: multi_v7_defconfig: Add Atmel SDHCI device
        ARM: multi_v7_defconfig: Add Atmel Flexcom device
        ARM: multi_v7_defconfig: Add Atmel SAMA5D2 SoC
        ARM: at91/defconfig: add sama5d2 and its new devices to sama5 defconfig
        ARM: at91/defconfig: update at91_dt defconfig
        ARM: at91/defconfig: update sama5 defconfig
        ARM: configs: Enable FIXED_PHY in multi_v7 defconfig
        ARM: configs: update lpc18xx defconfig
        ARM: socfpga_defconfig: enable fpga manager
        ...
      52e9a333
    • L
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c0d6fe2f
      Linus Torvalds 提交于
      Pull ARM DT updates from Olof Johansson:
       "As usual, this is the massive branch we have for each release.  Lots
        of various updates and additions of hardware descriptions on existing
        hardware, as well as the usual additions of new boards and SoCs.
      
        This is also the first release where we've started mixing 64- and
        32-bit DT updates in one branch.
      
        (Specific details on what's actually here and new is pretty easy to
        tell from the diffstat, so there's little point in duplicating listing
        it here)"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (499 commits)
        ARM: dts: uniphier: add system-bus-controller nodes
        ARM64: juno: disable NOR flash node by default
        ARM: dts: uniphier: add outer cache controller nodes
        arm64: defconfig: Enable PCI generic host bridge by default
        arm64: Juno: Add support for the PCIe host bridge on Juno R1
        Documentation: of: Document the bindings used by Juno R1 PCIe host bridge
        ARM: dts: uniphier: add I2C aliases for ProXstream2 boards
        dts/Makefile: Add build support for LS2080a QDS & RDB board DTS
        dts/ls2080a: Add DTS support for LS2080a QDS & RDB boards
        dts/ls2080a: Update Simulator DTS to add support of various peripherals
        dts/ls2080a: Remove text about writing to Free Software Foundation
        dts/ls2080a: Update DTSI to add support of various peripherals
        doc: DTS: Update DWC3 binding to provide reference to generic bindings
        doc/bindings: Update GPIO devicetree binding documentation for LS2080A
        Documentation/dts: Move FSL board-specific bindings out of /powerpc
        Documentation: DT: Add entry for FSL LS2080A QDS and RDB boards
        arm64: Rename FSL LS2085A SoC support code to LS2080A
        arm64: Use generic Layerscape SoC family naming
        ARM: dts: uniphier: add ProXstream2 Vodka board support
        ARM: dts: uniphier: add ProXstream2 Gentil board support
        ...
      c0d6fe2f
    • L
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b44a3d2a
      Linus Torvalds 提交于
      Pull ARM SoC driver updates from Olof Johansson:
       "As we've enabled multiplatform kernels on ARM, and greatly done away
        with the contents under arch/arm/mach-*, there's still need for
        SoC-related drivers to go somewhere.
      
        Many of them go in through other driver trees, but we still have
        drivers/soc to hold some of the "doesn't fit anywhere" lowlevel code
        that might be shared between ARM and ARM64 (or just in general makes
        sense to not have under the architecture directory).
      
        This branch contains mostly such code:
      
         - Drivers for qualcomm SoCs for SMEM, SMD and SMD-RPM, used to
           communicate with power management blocks on these SoCs for use by
           clock, regulator and bus frequency drivers.
      
         - Allwinner Reduced Serial Bus driver, again used to communicate with
           PMICs.
      
         - Drivers for ARM's SCPI (System Control Processor).  Not to be
           confused with PSCI (Power State Coordination Interface).  SCPI is
           used to communicate with the assistant embedded cores doing power
           management, and we have yet to see how many of them will implement
           this for their hardware vs abstracting in other ways (or not at all
           like in the past).
      
         - To make confusion between SCPI and PSCI more likely, this release
           also includes an update of PSCI to interface version 1.0.
      
         - Rockchip support for power domains.
      
         - A driver to talk to the firmware on Raspberry Pi"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (57 commits)
        soc: qcom: smd-rpm: Correct size of outgoing message
        bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus
        bus: sunxi-rsb: Add Allwinner Reduced Serial Bus (RSB) controller bindings
        ARM: bcm2835: add mutual inclusion protection
        drivers: psci: make PSCI 1.0 functions initialization version dependent
        dt-bindings: Correct paths in Rockchip power domains binding document
        soc: rockchip: power-domain: don't try to print the clock name in error case
        soc: qcom/smem: add HWSPINLOCK dependency
        clk: berlin: add cpuclk
        ARM: berlin: dts: add CLKID_CPU for BG2Q
        ARM: bcm2835: Add the Raspberry Pi firmware driver
        soc: qcom: smem: Move RPM message ram out of smem DT node
        soc: qcom: smd-rpm: Correct the active vs sleep state flagging
        soc: qcom: smd: delete unneeded of_node_put
        firmware: qcom-scm: build for correct architecture level
        soc: qcom: smd: Correct SMEM items for upper channels
        qcom-scm: add missing prototype for qcom_scm_is_available()
        qcom-scm: fix endianess issue in __qcom_scm_is_call_available
        soc: qcom: smd: Reject send of too big packets
        soc: qcom: smd: Handle big endian CPUs
        ...
      b44a3d2a
    • L
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 56e04649
      Linus Torvalds 提交于
      Pull ARM SoC platform updates from Olof Johansson:
       "New and/or improved SoC support for this release:
      
        Marvell Berlin:
           - Enable standard DT-based cpufreq
           - Add CPU hotplug support
      
        Freescale:
           - Ethernet init for i.MX7D
           - Suspend/resume support for i.MX6UL
      
        Allwinner:
           - Support for R8 chipset (used on NTC's $9 C.H.I.P board)
      
        Mediatek:
           - SMP support for some platforms
      
        Uniphier:
           - L2 support
           - Cleaned up SMP support, etc.
      
        plus a handful of other patches around above functionality, and a few
        other smaller changes"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
        ARM: uniphier: rework SMP operations to use trampoline code
        ARM: uniphier: add outer cache support
        Documentation: EXYNOS: Update bootloader interface on exynos542x
        ARM: mvebu: add broken-idle option
        ARM: orion5x: use mac_pton() helper
        ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned
        ARM: sunxi: Add R8 support
        ARM: digicolor: select pinctrl/gpio driver
        arm: berlin: add CPU hotplug support
        arm: berlin: use non-self-cleared reset register to reset cpu
        ARM: mediatek: add smp bringup code
        ARM: mediatek: enable gpt6 on boot up to make arch timer working
        soc: mediatek: Fix random hang up issue while kernel init
        soc: ti: qmss: make acc queue support optional in the driver
        soc: ti: add firmware file name as part of the driver
        Documentation: dt: soc: Add description for knav qmss driver
        ARM: S3C64XX: Use PWM lookup table for mach-smartq
        ARM: S3C64XX: Use PWM lookup table for mach-hmt
        ARM: S3C64XX: Use PWM lookup table for mach-crag6410
        ARM: S3C64XX: Use PWM lookup table for smdk6410
        ...
      56e04649
    • L
      Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a5e1d715
      Linus Torvalds 提交于
      Pull ARM SoC cleanups from Olof Johansson:
       "Again we have a sizable (but not huge) cleanup branch with a net delta
        of about -3k lines.
      
        Main contents here is:
      
         - A bunch of development/cleanup of a few PXA boards
         - Removal of bockw platforms on shmobile, since the platform has now
           gone completely multiplatform.  Whee!
         - move of the 32kHz timer on OMAP to a proper timesource
         - Misc cleanup of older OMAP material (incl removal of one board
           file)
         - Switch over to new common PWM lookup support for several platforms
      
        There's also a handful of other cleanups across the tree, but the
        above are the major pieces"
      
      * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (103 commits)
        ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs
        ARM: DRA7: hwmod data: Remove spinlock hwmod addrs
        ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs
        ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data
        ARM: Remove __ref on hotplug cpu die path
        ARM: Remove open-coded version of IRQCHIP_DECLARE
        arm: omap2: board-generic: use omap4_local_timer_init for AM437x
        ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data
        ARM: OMAP: Remove duplicated operand in OR operation
        clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE
        ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode
        ARM: pxa: raumfeld: make some variables static
        ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c
        ARM: OMAP2+: Rename cpu_is macros to soc_is
        arm: omap2: timer: limit hwmod usage to non-DT boots
        arm: omap2+: select 32k clocksource driver
        clocksource: add TI 32.768 Hz counter driver
        arm: omap2: timer: rename omap_sync32k_timer_init()
        arm: omap2: timer: always call clocksource_of_init() when DT
        arm: omap2: timer: move realtime_counter_init() around
        ...
      a5e1d715
    • L
      Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 64fd8c8a
      Linus Torvalds 提交于
      Pull ARM SoC non-urgent fixes from Olof Johansson:
       "A handful of fixes that came in and didn't seem warranted to go in
        through the 4.3-rc cycle.
      
         - MAINTAINERS updates for one of the Broadcom platforms and lpc18xx
         - A couple of non-critical Davinci bugfixes
         - A fix to reset irq affinity for TI platforms (silences a warning at
           reboot)"
      
      * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINERS: update lpc18xx entry with more drivers
        soc: ti: reset irq affinity before freeing irq
        ARM: cns3xxx: pci: avoid potential stack overflow
        ARM: davinci: clock: Correct return values for API functions
        ARM: davinci: re-use %*ph specifier
        MAINTAINERS: add entry for the Broadcom Northstar Plus SoCs
      64fd8c8a
    • T
      Fix alloc_node_mem_map() to work on ia64 again · b0aeba74
      Tony Luck 提交于
      In commit a1c34a3b ("mm: Don't offset memmap for flatmem") Laura
      fixed a problem for Srinivas relating to the bottom 2MB of RAM on an ARM
      IFC6410 board.
      
      One small wrinkle on ia64 is that it allocates the node_mem_map earlier
      in arch code, so it skips the block of code where "offset" is
      initialized.
      
      Move initialization of start and offset before the check for the
      node_mem_map so that they will always be available in the latter part of
      the function.
      Tested-by: NLaura Abbott <laura@labbott.name>
      Fixes: a1c34a3b (mm: Don't offset memmap for flatmem)
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b0aeba74
    • V
      Revert "bridge: Allow forward delay to be cfgd when STP enabled" · 8a921265
      Vlad Yasevich 提交于
      This reverts commit 34c2d9fb.
      
      There are 2 reasons for this revert:
       1)  The commit in question doesn't do what it says it does.  The
           description reads: "Allow bridge forward delay to be configured
           when Spanning Tree is enabled."  This was already the case before
           the commit was made.  What the commit actually do was disallow
           invalid values or 'forward_delay' when STP was turned off.
      
       2)  The above change was actually a change in the user observed
           behavior and broke things like libvirt and other network configs
           that set 'forward_delay' to 0 without enabling STP.  The value
           of 0 is actually used when STP is turned off to immediately mark
           the bridge as forwarding.
      Signed-off-by: NVlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8a921265
    • S
      bpf_trace: Make dependent on PERF_EVENTS · a31d82d8
      Steven Rostedt 提交于
      Arnd Bergmann reported:
      
        In my ARM randconfig tests, I'm getting a build error for
        newly added code in bpf_perf_event_read and bpf_perf_event_output
        whenever CONFIG_PERF_EVENTS is disabled:
      
        kernel/trace/bpf_trace.c: In function 'bpf_perf_event_read':
        kernel/trace/bpf_trace.c:203:11: error: 'struct perf_event' has no member named 'oncpu'
        if (event->oncpu != smp_processor_id() ||
                 ^
        kernel/trace/bpf_trace.c:204:11: error: 'struct perf_event' has no member named 'pmu'
              event->pmu->count)
      
        This can happen when UPROBE_EVENT is enabled but KPROBE_EVENT
        is disabled. I'm not sure if that is a configuration we care
        about, otherwise we could prevent this case from occuring by
        adding Kconfig dependencies.
      
      Looking at this further, it's really that UPROBE_EVENT enables PERF_EVENTS.
      By just having BPF_EVENTS depend on PERF_EVENTS, then all is fine.
      
      Link: http://lkml.kernel.org/r/4525348.Aq9YoXkChv@wuerfelReported-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a31d82d8
    • A
      qed: select ZLIB_INFLATE · 4bdb96cb
      Arnd Bergmann 提交于
      The newly added qlogic qed driver uses the zlib library, but
      misses the dependency:
      
      drivers/built-in.o: In function `qed_alloc_stream_mem':
      drivers/net/ethernet/qlogic/qed/qed_main.c:707: undefined reference to `zlib_inflate_workspacesize'
      drivers/built-in.o: In function `qed_unzip_data':
      drivers/net/ethernet/qlogic/qed/qed_main.c:675: undefined reference to `zlib_inflateInit2'
      
      This changes Kconfig to always select zlib when needed.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: fe56b9e6 ("qed: Add module with basic common support")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4bdb96cb
    • L
      Merge tag 'md/4.4-rc0-fix' of git://neil.brown.name/md · 3934bbc0
      Linus Torvalds 提交于
      Pull config fix for md from Neil Brown:
       "New config dependency needed as md/raid5 now uses crc32c"
      
      * tag 'md/4.4-rc0-fix' of git://neil.brown.name/md:
        raid5-cache: add crc32c Kconfig dependency
      3934bbc0
    • L
      Merge tag 'libnvdimm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 264015f8
      Linus Torvalds 提交于
      Pull libnvdimm updates from Dan Williams:
       "Outside of the new ACPI-NFIT hot-add support this pull request is more
        notable for what it does not contain, than what it does.  There were a
        handful of development topics this cycle, dax get_user_pages, dax
        fsync, and raw block dax, that need more more iteration and will wait
        for 4.5.
      
        The patches to make devm and the pmem driver NUMA aware have been in
        -next for several weeks.  The hot-add support has not, but is
        contained to the NFIT driver and is passing unit tests.  The coredump
        support is straightforward and was looked over by Jeff.  All of it has
        received a 0day build success notification across 107 configs.
      
        Summary:
      
         - Add support for the ACPI 6.0 NFIT hot add mechanism to process
           updates of the NFIT at runtime.
      
         - Teach the coredump implementation how to filter out DAX mappings.
      
         - Introduce NUMA hints for allocations made by the pmem driver, and
           as a side effect all devm allocations now hint their NUMA node by
           default"
      
      * tag 'libnvdimm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        coredump: add DAX filtering for FDPIC ELF coredumps
        coredump: add DAX filtering for ELF coredumps
        acpi: nfit: Add support for hot-add
        nfit: in acpi_nfit_init, break on a 0-length table
        pmem, memremap: convert to numa aware allocations
        devm_memremap_pages: use numa_mem_id
        devm: make allocations numa aware by default
        devm_memremap: convert to return ERR_PTR
        devm_memunmap: use devres_release()
        pmem: kill memremap_pmem()
        x86, mm: quiet arch_add_memory()
      264015f8
    • L
      Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · d55fc378
      Linus Torvalds 提交于
      Pull i2c updates from Wolfram Sang:
      
       - New drivers: UniPhier (with and without FIFO)
      
       - some drivers got some bigger rework: ismt, designware, img-scb (rcar
         had to be reverted because issues were showing up just lately)
      
       - ACPI: reworked the device scanning and added support for muxes
      
      ... and quite a lot of driver bugfixes and cleanups this time.  All
      files touched outside of the i2c realm have proper acks.
      
      * 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (70 commits)
        i2c: rcar: Revert the latest refactoring series
        i2c: pnx: remove superfluous assignment
        MAINTAINERS: i2c: drop i2c-pnx maintainer
        MAINTAINERS: i2c: mark also subdirectories as maintained
        i2c: cadence: enable driver for ARM64
        i2c: i801: Document Intel DNV and Broxton
        i2c: at91: manage unexpected RXRDY flag when starting a transfer
        i2c: pnx: Use setup_timer instead of open coding it
        i2c: add ACPI support for I2C mux ports
        acpi: add acpi_preset_companion() stub
        i2c: pxa: Add support for pxa910/988 & new configuration features
        i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource
        i2c-dev: Fix I2C_SLAVE ioctl comment
        i2c-dev: Fix typo in ioctl name reference
        i2c: sirf: tune the divider to make i2c bus freq more accurate
        i2c: imx: Use -ENXIO as error in the NACK case
        i2c: i801: Add support for Intel Broxton
        i2c: i801: Add support for Intel DNV
        i2c: mediatek: add i2c resume support
        i2c: imx: implement bus recovery
        ...
      d55fc378
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · 42d4ebb4
      Linus Torvalds 提交于
      Pull watchdog update from Wim Van Sebroeck:
      
       - New driver for Broadcom 7038 Set-Top Box
       - imx2_wdt: Use register definition in regmap_write()
       - intel-mid: add Magic Closure flag
       - watchdog framework improvements:
            - Use device tree alias for naming watchdogs
            - propagate ping error code to the user space
            - Always evaluate new timeout against min_timeout
            - Use single variable name for struct watchdog_device
       - include clean-ups
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: include: add units for timeout values in kerneldoc
        watchdog: include: fix some typos
        watchdog: core: propagate ping error code to the user space
        watchdog: watchdog_dev: Use single variable name for struct watchdog_device
        watchdog: Always evaluate new timeout against min_timeout
        watchdog: intel-mid: add Magic Closure flag
        watchdog: imx2_wdt: Use register definition in regmap_write()
        watchdog: watchdog_dev: Use device tree alias for naming watchdogs
        watchdog: Watchdog driver for Broadcom Set-Top Box
        watchdog: bcm7038: add device tree binding documentation
      42d4ebb4
    • L
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 6aabef68
      Linus Torvalds 提交于
      Pull tiny hwmon update from Jean Delvare.
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (k10temp) Remove duplicate pci-id define
      6aabef68
    • L
      Merge tag 'ntb-4.4' of git://github.com/jonmason/ntb · 1eb196c3
      Linus Torvalds 提交于
      Pull NTB bugfixes from Jon Mason:
       "NTB Bug fixes for potential NULL pointer accesses, accesses of a freed
        pointer, invalid buffer pointer, and a compiler warning.
      
        Also, unification of upstream/downstream addresses"
      
      * tag 'ntb-4.4' of git://github.com/jonmason/ntb:
        NTB: fix 32-bit compiler warning
        NTB: unify translation addresses
        NTB: invalid buf pointer in multi-MW setups
        NTB: remove unused variable
        NTB: fix access of free-ed pointer
        NTB: Fix issue where we may be accessing NULL ptr
      1eb196c3
    • L
      Merge tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 041c7951
      Linus Torvalds 提交于
      Pull dmaengine updates from Vinod Koul:
       "This time we have a very typical update which is mostly fixes and
        updates to drivers and no new drivers.
      
         - the biggest change is coming from Peter for edma cleanup which even
           caused some last minute regression, things seem settled now
         - idma64 and dw updates
         - iotdma updates
         - module autoload fixes for various drivers
         - scatter gather support for hdmac"
      
      * tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (77 commits)
        dmaengine: edma: Add dummy driver skeleton for edma3-tptc
        Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3"
        Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3"
        dmaengine: dw: some Intel devices has no memcpy support
        dmaengine: dw: platform: provide platform data for Intel
        dmaengine: dw: don't override platform data with autocfg
        dmaengine: hdmac: Add scatter-gathered memset support
        dmaengine: hdmac: factorise memset descriptor allocation
        dmaengine: virt-dma: Fix kernel-doc annotations
        ARM: DTS: am437x: Use the new DT bindings for the eDMA3
        ARM: DTS: am33xx: Use the new DT bindings for the eDMA3
        dmaengine: edma: New device tree binding
        dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP
        dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx
        dmaengine: edma: Merge the of parsing functions
        dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot
        dmaengine: edma: Refactor the dma device and channel struct initialization
        dmaengine: edma: Get qDMA channel information from HW also
        dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq
        dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_)
        ...
      041c7951
    • L
      Merge tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 7d884710
      Linus Torvalds 提交于
      Pull RTC updates from Alexandre Belloni:
       "Core:
         - Fix rtctest error path
      
        New drivers:
         - Microcrystal RV8803
      
        Subsystem wide cleanups:
         - remove misuse of IRQF_NO_SUSPEND flag
      
        Drivers:
         - at91rm9200: clear RTC alarm status flag prior to suspending
         - davinci: remove incorrect reference to probe function
         - ds1307: Fix alarm programming for mcp794xx
         - ds1390: trickle charger support, fix ds1390_get_reg
         - isl1208: Pass the IRQF_ONESHOT flag
         - opal: fix type of token
         - pcf2127: fix RTC_READ_VL, remove useless driver version
         - pcf85063: return an error when date is invalid
         - pcf8563: add CLKOUT to common clock framework
         - rx8025: remove unnecessary braces
         - s3c: Set year, month, day value for setting alarm
         - stmp3xxx: unify register access macros
         - License fixes: pcf2127, da9063
         - wakeup-source support for isl12057 and opal"
      
      * tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (23 commits)
        rtc: Add a driver for Micro Crystal RV8803
        rtc: s3c: Set year, month, day value for setting alarm
        rtc: ds1307: Fix alarm programming for mcp794xx
        rtc: isl12057: enable support for the standard "wakeup-source" property
        rtc: opal: enable support for the stardard "wakeup-source" property
        rtc: isl1208: Pass the IRQF_ONESHOT flag
        rtc: pcf8563: add CLKOUT to common clock framework
        rtc: davinci: remove incorrect reference to probe function
        rtc: at91rm9200: clear RTC alarm status flag prior to suspending
        rtc: pcf2127: remove useless driver version
        rtc: pcf2127: fix reading uninitialized value on RTC_READ_VL ioctl
        rtc: stmp3xxx: unify register access macros
        rtc: da9063: GPL copyright inconsistency fix
        rtc: pcf85063: return an error when date is invalid
        rtc: rx8025: remove unnecessary braces
        rtc: ds1343: remove misuse of IRQF_NO_SUSPEND flag
        rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag
        rtc: pl031: remove misuse of IRQF_NO_SUSPEND flag
        rtc: opal: fix type of token
        rtc: ds1390: Add trickle charger device tree binding
        ...
      7d884710
    • L
      Merge tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 3b138668
      Linus Torvalds 提交于
      Pull fbdev updates from Tomi Valkeinen:
       - omap: fix hdmi audio configuration issue
       - ssd1307fb: add ssd1309 support
       - tridentfb: support DDC
       - gxt4500: enable support for non-PPC platforms
      
      * tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
        radeonfb: Deinline large functions
        gxt4500: enable panning
        gxt4500: Use arch_phys_wc_* for framebuffer
        gxt4500: fix color order
        gxt4500: fix 16bpp 565 mode
        gxt4500: enable on non-PPC architectures
        tridentfb: Add DDC support
        fb_ddc: Allow I2C adapters without SCL read capability
        fbdev: ssd1307fb: add ssd1309 support
        fbdev: ssd1307fb: alphabetize headers
        video/omap: remove invalid check
        OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled
      3b138668
    • L
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 3e82806b
      Linus Torvalds 提交于
      Pull drm updates from Dave Airlie:
       "I Was Almost Tempted To Capitalise Every Word, but then I decided I
        couldn't read it myself!
      
        I've also got one pull request for the sti driver outstanding.  It
        relied on a commit in Greg's tree and I didn't find out in time, that
        commit is in your tree now so I might send that along once this is
        merged.
      
        I also had the accidental misfortune to have access to a Skylake on my
        desk for a few days, and I've had to encourage Intel to try harder,
        which seems to be happening now.
      
        Here is the main drm-next pull request for 4.4.
      
        Highlights:
      
        New driver:
              vc4 driver for the Rasberry Pi VPU.
              (From Eric Anholt at Broadcom.)
      
        Core:
              Atomic fbdev support
              Atomic helpers for runtime pm
              dp/aux i2c STATUS_UPDATE handling
              struct_mutex usage cleanups.
              Generic of probing support.
      
        Documentation:
              Kerneldoc for VGA switcheroo code.
              Rename to gpu instead of drm to reflect scope.
      
        i915:
              Skylake GuC firmware fixes
              HPD A support
              VBT backlight fallbacks
              Fastboot by default for some systems
              FBC work
              BXT/SKL workarounds
              Skylake deeper sleep state fixes
      
        amdgpu:
              Enable GPU scheduler by default
              New atombios opcodes
              GPUVM debugging options
              Stoney support.
              Fencing cleanups.
      
        radeon:
              More efficient CS checking
      
        nouveau:
              gk20a instance memory handling improvements.
              Improved PGOB detection and GK107 support
              Kepler GDDR5 PLL statbility improvement
              G8x/GT2xx reclock improvements
              new userspace API compatiblity fixes.
      
        virtio-gpu:
              Add 3D support - qemu 2.5 has it merged for it's gtk backend.
      
        msm:
              Initial msm88896 (snapdragon 8200)
      
        exynos:
              HDMI cleanups
              Enable mixer driver byt default
              Add DECON-TV support
      
        vmwgfx:
              Move to using memremap + fixes.
      
        rcar-du:
              Add support for R8A7793/4 DU
      
        armada:
              Remove support for non-component mode
              Improved plane handling
              Power savings while in DPMS off.
      
        tda998x:
              Remove unused slave encoder support
              Use more HDMI helpers
              Fix EDID read handling
      
        dwhdmi:
              Interlace video mode support for ipu-v3/dw_hdmi
              Hotplug state fixes
              Audio driver integration
      
        imx:
              More color formats support.
      
        tegra:
              Minor fixes/improvements"
      
      [ Merge fixup: remove unused variable 'dev' that had all uses removed in
        commit 4e270f08: "drm/gem: Drop struct_mutex requirement from
        drm_gem_mmap_obj" ]
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (764 commits)
        drm/vmwgfx: Relax irq locking somewhat
        drm/vmwgfx: Properly flush cursor updates and page-flips
        drm/i915/skl: disable display side power well support for now
        drm/i915: Extend DSL readout fix to BDW and SKL.
        drm/i915: Do graphics device reset under forcewake
        drm/i915: Skip fence installation for objects with rotated views (v4)
        vga_switcheroo: Drop client power state VGA_SWITCHEROO_INIT
        drm/amdgpu: group together common fence implementation
        drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE
        drm/amdgpu: remove now unused fence functions
        drm/amdgpu: fix fence fallback check
        drm/amdgpu: fix stoping the scheduler timeout
        drm/amdgpu: cleanup on error in amdgpu_cs_ioctl()
        drm/i915: Fix locking around GuC firmware load
        drm/amdgpu: update Fiji's Golden setting
        drm/amdgpu: update Fiji's rev id
        drm/amdgpu: extract common code in vi_common_early_init
        drm/amd/scheduler: don't oops on failure to load
        drm/amdgpu: don't oops on failure to load (v2)
        drm/amdgpu: don't VT switch on suspend
        ...
      3e82806b
    • J
      direct-io: be sure to assign dio->bio_bdev for both paths · c1c53460
      Jens Axboe 提交于
      btrfs sets ->submit_io(), and we failed to set the block dev for
      that path. That resulted in a potential NULL dereference when
      we later wait for IO in dio_await_one().
      Reported-by: Nkernel test robot <ying.huang@linux.intel.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      c1c53460
  2. 10 11月, 2015 7 次提交
    • L
      Merge branch 'akpm' (patches from Andrew) · bd4f203e
      Linus Torvalds 提交于
      Merge third patch-bomb from Andrew Morton:
       "We're pretty much done over here - I'm still waiting for a nouveau
        merge so I can cleanly finish up Christoph's dma-mapping rework.
      
         - bunch of small misc stuff
      
         - fold abs64() into abs(), remove abs64()
      
         - new_valid_dev() cleanups
      
         - binfmt_elf_fdpic feature work"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (24 commits)
        fs/binfmt_elf_fdpic.c: provide NOMMU loader for regular ELF binaries
        fs/stat.c: remove unnecessary new_valid_dev() check
        fs/reiserfs/namei.c: remove unnecessary new_valid_dev() check
        fs/nilfs2/namei.c: remove unnecessary new_valid_dev() check
        fs/ncpfs/dir.c: remove unnecessary new_valid_dev() check
        fs/jfs: remove unnecessary new_valid_dev() checks
        fs/hpfs/namei.c: remove unnecessary new_valid_dev() check
        fs/f2fs/namei.c: remove unnecessary new_valid_dev() check
        fs/ext2/namei.c: remove unnecessary new_valid_dev() check
        fs/exofs/namei.c: remove unnecessary new_valid_dev() check
        fs/btrfs/inode.c: remove unnecessary new_valid_dev() check
        fs/9p: remove unnecessary new_valid_dev() checks
        include/linux/kdev_t.h: old/new_valid_dev() can return bool
        include/linux/kdev_t.h: remove unused huge_valid_dev()
        kmap_atomic_to_page() has no users, remove it
        drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS
        dma: remove external references to dma_supported
        Documentation/sysctl/vm.txt: fix misleading code reference of overcommit_memory
        remove abs64()
        kernel.h: make abs() work with 64-bit types
        ...
      bd4f203e
    • E
      net: fix a race in dst_release() · d69bbf88
      Eric Dumazet 提交于
      Only cpu seeing dst refcount going to 0 can safely
      dereference dst->flags.
      
      Otherwise an other cpu might already have freed the dst.
      
      Fixes: 27b75c95 ("net: avoid RCU for NOCACHE dst")
      Reported-by: NGreg Thelen <gthelen@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d69bbf88
    • J
      net: mvneta: Fix memory use after free. · 8c94ddbc
      Justin Maggard 提交于
      After changing an interface's MTU, then bringing the interface down and
      back up again, I immediately saw tons of kernel messages like below.
      The reason for this bad behavior is mvneta_rxq_drop_pkts(), which calls
      dma_unmap_single() on already-freed memory.  So we need to switch the
      order of those two operations.
      
      [  152.388518] BUG: Bad page state in process ifconfig  pfn:1b518
      [  152.388526] page:dff3dbc0 count:0 mapcount:0 mapping:  (null) index:0x0
      [  152.395178] flags: 0x200(arch_1)
      [  152.398441] page dumped because: PAGE_FLAGS_CHECK_AT_PREP flag set
      [  152.398446] bad because of flags:
      [  152.398450] flags: 0x200(arch_1)
      [  152.401716] Modules linked in:
      [  152.401728] CPU: 0 PID: 1453 Comm: ifconfig Tainted: P    B      O    4.1.12.armada.1 #1
      [  152.401733] Hardware name: Marvell Armada 370/XP (Device Tree)
      [  152.401749] [<c0015b1c>] (unwind_backtrace) from [<c0011d8c>] (show_stack+0x10/0x14)
      [  152.401762] [<c0011d8c>] (show_stack) from [<c06aa68c>] (dump_stack+0x74/0x90)
      [  152.401772] [<c06aa68c>] (dump_stack) from [<c0096c08>] (bad_page+0xc4/0x124)
      [  152.401783] [<c0096c08>] (bad_page) from [<c0099378>] (get_page_from_freelist+0x4e4/0x644)
      [  152.401794] [<c0099378>] (get_page_from_freelist) from [<c0099620>] (__alloc_pages_nodemask+0x148/0x784)
      [  152.401805] [<c0099620>] (__alloc_pages_nodemask) from [<c00ac658>] (kmalloc_order+0x10/0x20)
      [  152.401818] [<c00ac658>] (kmalloc_order) from [<c04c6f44>] (mvneta_rx_refill+0xc4/0xe8)
      [  152.401830] [<c04c6f44>] (mvneta_rx_refill) from [<c04c96c0>] (mvneta_setup_rxqs+0x298/0x39c)
      [  152.401842] [<c04c96c0>] (mvneta_setup_rxqs) from [<c04c9904>] (mvneta_open+0x3c/0x150)
      [  152.401853] [<c04c9904>] (mvneta_open) from [<c0597764>] (__dev_open+0xac/0x124)
      [  152.401864] [<c0597764>] (__dev_open) from [<c05979e4>] (__dev_change_flags+0x8c/0x148)
      [  152.401875] [<c05979e4>] (__dev_change_flags) from [<c0597ac0>] (dev_change_flags+0x18/0x48)
      [  152.401886] [<c0597ac0>] (dev_change_flags) from [<c060d308>] (devinet_ioctl+0x620/0x6d0)
      [  152.401897] [<c060d308>] (devinet_ioctl) from [<c057d810>] (sock_ioctl+0x64/0x288)
      [  152.401908] [<c057d810>] (sock_ioctl) from [<c00dcb7c>] (do_vfs_ioctl+0x78/0x608)
      [  152.401918] [<c00dcb7c>] (do_vfs_ioctl) from [<c00dd170>] (SyS_ioctl+0x64/0x74)
      [  152.401930] [<c00dd170>] (SyS_ioctl) from [<c000f3a0>] (ret_fast_syscall+0x0/0x3c)
      Signed-off-by: NJustin Maggard <jmaggard@netgear.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8c94ddbc
    • L
      Merge tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · e6604ecb
      Linus Torvalds 提交于
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        New features:
         - RDMA client backchannel from Chuck
         - Support for NFSv4.2 file CLONE using the btrfs ioctl
      
        Bugfixes + cleanups:
         - Move socket data receive out of the bottom halves and into a
           workqueue
         - Refactor NFSv4 error handling so synchronous and asynchronous RPC
           handles errors identically.
         - Fix a panic when blocks or object layouts reads return a bad data
           length
         - Fix nfsroot so it can handle a 1024 byte long path.
         - Fix bad usage of page offset in bl_read_pagelist
         - Various NFSv4 callback cleanups+fixes
         - Fix GETATTR bitmap verification
         - Support hexadecimal number for sunrpc debug sysctl files"
      
      * tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (53 commits)
        Sunrpc: Supports hexadecimal number for sysctl files of sunrpc debug
        nfs: Fix GETATTR bitmap verification
        nfs: Remove unused xdr page offsets in getacl/setacl arguments
        fs/nfs: remove unnecessary new_valid_dev check
        SUNRPC: fix variable type
        NFS: Enable client side NFSv4.1 backchannel to use other transports
        pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS
        pNFS/flexfiles: When mirrored, retry failed reads by switching mirrors
        SUNRPC: Remove the TCP-only restriction in bc_svc_process()
        svcrdma: Add backward direction service for RPC/RDMA transport
        xprtrdma: Handle incoming backward direction RPC calls
        xprtrdma: Add support for sending backward direction RPC replies
        xprtrdma: Pre-allocate Work Requests for backchannel
        xprtrdma: Pre-allocate backward rpc_rqst and send/receive buffers
        SUNRPC: Abstract backchannel operations
        xprtrdma: Saving IRQs no longer needed for rb_lock
        xprtrdma: Remove reply tasklet
        xprtrdma: Use workqueue to process RPC/RDMA replies
        xprtrdma: Replace send and receive arrays
        xprtrdma: Refactor reply handler error handling
        ...
      e6604ecb
    • L
      Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 9d74288c
      Linus Torvalds 提交于
      Pull gfs2 updates from Bob Peterson:
       "Here is a list of patches we've accumulated for GFS2 for the current
        upstream merge window.  There are only six patches this time:
      
         1. A cleanup patch from Andreas to remove the gl_spin #define in favor
            of its value for the sake of clarity.
         2. A fix from Andy Price to mark the inode dirty during fallocate.
         3. A fix from Andy Price to set s_mode on mount failures to prevent a
            stack trace.
         4  A patch from me to prevent a kernel BUG() in trans_add_meta/trans_add_data
            due to uninitialized storage.
         5. A patch from me to protecting our freeing of the in-core directory
            hash table to prevent double-free.
         6. A fix for a page/block rounding problem that resulted in a metadata
            coherency problem when the block size != page size"
      
        I've got a lot more patches in various stages of review and testing,
        but I'm afraid they'll have to wait until the next merge window.  So
        next time we're likely to have a lot more"
      
      * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        GFS2: Fix rgrp end rounding problem for bsize < page size
        GFS2: Protect freeing directory hash table with i_lock spin_lock
        gfs2: Remove gl_spin define
        gfs2: Add missing else in trans_add_meta/data
        GFS2: Set s_mode before parsing mount options
        GFS2: fallocate: do not rely on file_update_time to mark the inode dirty
      9d74288c
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 123a28d8
      Linus Torvalds 提交于
      Pull ext2 fix from Jan Kara:
       "Fix for DAX on ext2"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Add locking for DAX faults
      123a28d8
    • L
      Merge branch 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 373ee21e
      Linus Torvalds 提交于
      Pull parisc updates from Helge Deller:
       "We have two patches in here:
      
         - The parisc uapi headers have been screwed up since quite some time.
           This patch fixes some bugs (e.g. endianess not respected in
           compat_semid64_ds) and cleans them up (e.g. uid_t was used instead
           of __kernel_uid_t) so that they can be used by userspace again.
           This patch has been reviewed by Arnd Bergmann and is scheduled for
           stable kernel series.
      
         - Drop the hpux_stat64 struct from stat.h, we do not support HP-UX
           binaries since kernel 4.0"
      
      * 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fixes and cleanups in kernel uapi header files
        parisc: Drop hpux_stat64 struct from stat.h header file
      373ee21e