- 29 Jan, 2017 3 commits
-
-
Olof Johansson authored
Merge tag 'qcom-arm64-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64 Qualcomm ARM64 Updates for v4.11 * Add Vol+ support for DB820C and APQ8016 * Add HDMI audio support for APQ8016 * Fix DB820C GPIO pinctrl name * Enable WCNSS on MSM8916 * Add SCM node for MSM8996 * Use fixed XO clock on MSM8916 * tag 'qcom-arm64-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: arm64: dts: db820c: add support to volume up key arm64: dts: apq8016-sbc: Limit MPP4 high state to 1.8V arm64: dts: apq8016-sbc: Add Volume Up key device node arm64: dts: apq8016-sbc: add support to hdmi audio via adv7533 arm64: dts: db820c: fix gpio pinctrl name correctly ARM: dts: msm8916: Add and enable wcnss node arm64: dts: msm8996: Add SCM DT node arm64: dts: qcom: msm8916: Use fixed factor xo clock Signed-off-by: Olof Johansson <olof@lixom.net>
-
Olof Johansson authored
Merge tag 'uniphier-dt64-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt64 UniPhier ARM64 SoC DT updates for v4.11 - Add an SD reset controller node for LD11 SoC - Add an eMMC controller node for LD11/LD20 SoC * tag 'uniphier-dt64-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: arm64: dts: uniphier: add eMMC controller node for LD11/LD20 arm64: dts: uniphier: add SD-ctrl node for LD11 SoC Signed-off-by: Olof Johansson <olof@lixom.net>
-
Olof Johansson authored
Merge tag 'v4.11-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt64 64bit dts changes with some adjustments to the pcie controller, usb clocks, grf phandles for the rk3399 CRUs, epd pinctrl settings, a phandle to the rk3399 tsadc and converting boards to use the recently introduced pin constants. * tag 'v4.11-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: arm64: dts: rockchip: add rockchip,grf property for RK3399 PMUCRU/CRU arm64: dts: rockchip: add aspm-no-l0s for rk3399 arm64: dts: rockchip: add max-link-speed for rk3399 arm64: dts: rockchip: use pin constants to describe gpios arm64: dts: rockchip: add u2phy clock for ehci and ohci of rk3399 arm64: dts: rockchip: add rk3399 eDP HPD pinctrl arm64: dts: rockchip: add rk3399 thermal_zones phandle Signed-off-by: Olof Johansson <olof@lixom.net>
-
- 22 Jan, 2017 2 commits
-
-
Masahiro Yamada authored
Add Cadence's eMMC controller node for LD11/LD20. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-
Masahiro Yamada authored
The LD11 SoC is equipped with SD-ctrl (0x59810000) as well as MIO-ctrl (0x5b3e0000). The SD-ctrl block on this SoC has just one register for controlling RST_n pin of the eMMC device. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-
- 19 Jan, 2017 2 commits
-
-
http://github.com/Broadcom/stblinuxOlof Johansson authored
This pull request contains Broadcom ARM64-based SoC Device Tree changes for 4.11, please pull the following changes: - Jon adds Device Tree nodes for the GICv2m and PAXB/PAXC PCIe interfaces on the Northstar 2 SoCs, he also enables PAXC on the Northstar 2 SVK reference board. He also updates the reserved memory entry for the Nitro firmware, required to get the on-chip NICs to work. Finally he adds support for the BCM958712DxXMC reference board which is a subset of existing boards. * tag 'arm-soc/for-4.11/devicetree-arm64' of http://github.com/Broadcom/stblinux: arm64: dts: NS2: add support for XMC form factor arm64: dts: NS2: reserve memory for Nitro firmware arm64: dts: NS2: enable PAXC on NS2 SVK arm64: dts: NS2: enable GICv2m for PAXB/PAXC interfaces Signed-off-by: Olof Johansson <olof@lixom.net>
-
Olof Johansson authored
Merge tag 'juno-updates-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/dt64 ARMv8 Vexpress/Juno DT updates for v4.11 1. Addition of Coresight support on Juno R1 and R2 variants 2. Addition of STM(System Trace Macrocell) support on all Juno variants 3. Removed incorrect nesting of dtsi files 4. Removed untested USB hub only available on initial Juno R0 motherboard 5. Added ETR SMMU power domain and dma-ranges property * tag 'juno-updates-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: juno: remove motherboard USB node arm64: dts: juno: add ETR SMMU power domain arm64: dts: juno: add dma-ranges property arm64: dts: juno: add missing CoreSight STM component arm64: dts: juno: add CoreSight support for Juno r1/r2 variants arm64: dts: juno: refactor CoreSight support on Juno r0 arm64: dts: juno: remove dtsi nesting inside tree structure Signed-off-by: Olof Johansson <olof@lixom.net>
-
- 18 Jan, 2017 7 commits
-
-
Robin Murphy authored
The first batch of Juno boards included a discrete USB controller chip as a contingency in case of issues with the USB 2.0 IP integrated into the SoC. As it turned out, the latter was fine, and to the best of my knowledge the motherboard USB was never even brought up and validated. Since this also isn't present on later boards, and uses a compatible string undocumented and unmatched by any driver in the kernel, let's just tidy it away for ever to avoid any confusion. Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-
Robin Murphy authored
It is not at all clear from the documentation, but straightforward to determine in practice, that the ETR SMMU is actually in the DEBUGSYS power domain. Add that to the DT so that anyone brave enough to enable said SMMU doesn't experience a system lockup on boot, especially a sneaky one which goes away as soon as you connect an external debugger to have a look at where it's stuck (thus powering up DEBUGSYS by other means and allowing it to make progress again before actually halting...) Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-
Robin Murphy authored
The interconnects around Juno have a 40-bit address width, and DMA masters have no restrictions beyond their own individual limitations. Describe this to ensure that DT-based DMA masks get set up correctly for all devices capable of 40-bit addressing. Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-
Mike Leach authored
This patch adds the missing CoreSight STM component definition to the device tree of all the juno variants(r0,r1,r2) STM component is connected to different funnels depending on Juno platform variant. Reviewed-and-tested-by: Mathieu Poirier <mathieu.poirier@linaro.org> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Mike Leach <mike.leach@linaro.org> [sudeep.holla@arm.com: minor changelog update and reorganising the STM node back into juno-base.dtsi to avoid duplication] Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-
Mike Leach authored
The CoreSight support added for Juno is valid for only Juno r0. The Juno r1 and r2 variants have additional components and alternative connection routes between trace source and sinks. This patch builds on top of the existing r0 support and extends it to Juno r1/r2 variants. Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Mike Leach <mike.leach@linaro.org> [sudeep.holla@arm.com: minor changelog update and major reorganisation of the common coresight components back into juno-base.dtsi to avoid duplication, also renamed funnel node names] Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-
Sudeep Holla authored
Currently the Coresight components are supported only on Juno r0 variant. In preparation to add support to Juno r1/r2 variants, this patch refactors the existing coresight device nodes so that r1/r2 support can be added easily. It also cleans up some of the device node names which were previously named so as they were confused as the labels rather than the node names. Reviewed-and-tested-by: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-
Sudeep Holla authored
Currently juno-clock.dtsi and juno-base.dtsi are nested badly inside the device tree structure. It's generally good practice to ensure that individual dtsi stand by themselves at the top of the file. This patch removes the nesting of the above mentioned dtsi files and makes them independent. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
-
- 17 Jan, 2017 2 commits
-
-
git://git.infradead.org/linux-mvebuOlof Johansson authored
mvebu dt64 for 4.11 (part 1) - Correct license text which was mangled when switching to dual license - Add SPI and I2C nodes on Armada 3700(driver support had been already merged) - Add support for the ethernet switch on the EspressoBin board (driver support not yet merged) * tag 'mvebu-dt64-4.11-1' of git://git.infradead.org/linux-mvebu: ARM64: dts: marvell: Correct license text arm64: dts: marvell: Add I2C definitions for the Armada 3700 arm64: dts: marvell: Enable spi0 on the board Armada-3720-db arm64: dts: marvell: Add definition of SPI controller for Armada 3700 arm64: dts: marvell: Add ethernet switch definition for the ESPRESSObin Signed-off-by: Olof Johansson <olof@lixom.net>
-
Olof Johansson authored
Merge tag 'samsung-dt64-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt64 Samsung DeviceTree ARM64 update for v4.11: 1. Add bus frequency and voltage scalling on Exynos5433 TM2 device (along with necessary bus nodes and Platform Performance Monitoring Unit on Exynos5433). 2. Use macros for pinctrl settings on Exynos5433. This contains necessary header with bindings. 3. Minor cleanups in Exynos5433 DTSI and boards using it. 4. Create common DTSI betweem Exynos5433 TM2E and TM2E. 5. Add HDMI/TV to Exynos5433 TM2. * tag 'samsung-dt64-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: exynos: Enable HDMI/TV path on Exynos5433-TM2 arm64: dts: exynos: Add HDMI node to Exynos5433 arm64: dts: exynos: Add DECON_TV node to Exynos5433 arm64: dts: exynos: Fix addresses in node names on Exynos5433 arm64: dts: exynos: Make TM2 and TM2E independent from each other arm64: dts: exynos: Fix wrong values for ldo23 and ldo25 on TM2/TM2E arm64: dts: exynos: Remove unsupported regulator-always-off property from TM2E arm64: dts: exynos: Comply to the samsung pinctrl naming convention in TM2 arm64: dts: exynos: Use macros for pinctrl configuration on Exynos5433 pinctrl: dt-bindings: samsung: add drive strength macros for Exynos5433 arm64: dts: exynos: Add support of bus frequency using VDD_INT on Exynos5433 TM2 arm64: dts: exynos: Add bus nodes using VDD_INT for Exynos5433 arm64: dts: exynos: Add PPMU node to Exynos5433 Signed-off-by: Olof Johansson <olof@lixom.net>
-
- 13 Jan, 2017 10 commits
-
-
Srinivas Kandagatla authored
This patch adds support to volume-up key found on the board. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
Ivan T. Ivanov authored
96Boards specs require all GPIO signals to be at 1.8V. Limit MPP4, which is PIN28 on J8, to 1.8V(L5). Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
Ivan T. Ivanov authored
VOL/ZOOM+ button on DB410c is connected to SoC GPIO 104. Add support for it. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
Srinivas Kandagatla authored
This patch adds support to hdmi audio via adv7533. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Tested-by: Archit Taneja <architt@codeaurora.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
Srinivas Kandagatla authored
Fix typo in node name to reflect the correct pin name. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
Bjorn Andersson authored
Add the wcnss remoteproc node the SMD edge and the wcnss ctrl, bluetooth and wifi nodes specified and enable this on db410c. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
spjoshi@codeaurora.org authored
Add SCM DT node to enable SCM functionality on MSM8996. Signed-off-by: Sarangdhar Joshi <spjoshi@codeaurora.org> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
Georgi Djakov authored
The rpmcc driver is providing the XO clock, which is the parent of almost all clocks. But during boot, this driver may probe later and leave most of the clocks without parent. The common clock framework currently reports invalid rate for orphan clocks and this may confuse drivers. To resolve this, use fixed clocks registration until we have some support to deal with the this issue. Removing the generic rpmcc compatible is enough to switch back to fixed factor XO clock. Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
-
Xing Zheng authored
The structure rockchip_clk_provider needs to refer the GRF regmap in somewhere, if the CRU node has not "rockchip,grf" property, calling syscon_regmap_lookup_by_phandle will return an invalid GRF regmap, and the MUXGRF type clock will be not supported. Therefore, we need to add them. Signed-off-by: Xing Zheng <zhengxing@rock-chips.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-
Shawn Lin authored
Per the discussion of bug fix[1], we now actually leaves the default clock choice for pcie phy is derived from 24MHz OSC to guarantee the least BER. So let's add aspm-no-l0s here and folks could delete this property from their dts. [1] https://patchwork.kernel.org/patch/9470519/Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-
- 11 Jan, 2017 3 commits
-
-
Andrzej Hajda authored
TV path consist of following interconnected components: - DECON_TV - display controller, - HDMI - video signal converter RGB / HDMI, - MHL - video signal converter HDMI / MHL, - DDC - i2c slave device for EDID reading (on hsi2c_11 bus). Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-
Andrzej Hajda authored
HDMI converts RGB/I80 signal from DECON_TV to HDMI/TMDS video stream. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-
Andrzej Hajda authored
DECON_TV is 2nd display controller on Exynos5433, used in HDMI path or 2nd DSI path. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-
- 10 Jan, 2017 2 commits
-
-
Andrzej Hajda authored
Address should not contain 0x prefix. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Andi Shyti <andi.shyti@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-
Olof Johansson authored
Merge tag 'renesas-arm64-dt-for-v4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64 Renesas ARM64 Based SoC DT Updates for v4.11 * Add PWM, and sound MIX and CTU support to r8a7795 SoC * Add CAN, CAN FD and all MSIOF nodes to r8a7796 SoC * Use Gen 3 fallback binding for i2c, msiof, PCIE and USB2 phy * Enable Ethernet and 4 GiB memory on r8a7796/salvator-x board * Add r8a7796/salvator-x board part number to bindings * tag 'renesas-arm64-dt-for-v4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: r8a7795: Add PWM support arm64: dts: r8a7796: Use R-Car Gen 3 fallback binding for msiof nodes arm64: dts: r8a7796: salvator-x: Enable EthernetAVB arm64: dts: renesas: r8a7796: Add EthernetAVB instance arm64: dts: r8a7796: salvator-x: Update memory node to 4 GiB map arm64: dts: r8a7796: Use R-Car Gen 3 fallback binding for i2c nodes arm64: dts: r8a7795: Use R-Car Gen 3 fallback binding for i2c nodes arm64: dts: r8a7795: Use Gen 3 fallback compat string for PCIE arm64: dts: r8a7795: add sound MIX support arm64: dts: r8a7795: add sound CTU support arm64: dts: r8a7795: Use renesas,rcar-gen3-usb2-phy fallback binding arm64: renesas: r8a7796/salvator-x: Add board part number to DT bindings arm64: dts: r8a7796: Add CAN FD support arm64: dts: r8a7796: Add CAN support arm64: dts: r8a7796: Add CAN external clock support arm64: dts: r8a7796: Add all MSIOF nodes Signed-off-by: Olof Johansson <olof@lixom.net>
-
- 08 Jan, 2017 6 commits
-
-
Linus Torvalds authored
-
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbLinus Torvalds authored
Pull USB fixes from Greg KH: "Here are a bunch of USB fixes for 4.10-rc3. Yeah, it's a lot, an artifact of the holiday break I think. Lots of gadget and the usual XHCI fixups for reported issues (one day that driver will calm down...) Also included are a bunch of usb-serial driver fixes, and for good measure, a number of much-reported MUSB driver issues have finally been resolved. All of these have been in linux-next with no reported issues" * tag 'usb-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (72 commits) USB: fix problems with duplicate endpoint addresses usb: ohci-at91: use descriptor-based gpio APIs correctly usb: storage: unusual_uas: Add JMicron JMS56x to unusual device usb: hub: Move hub_port_disable() to fix warning if PM is disabled usb: musb: blackfin: add bfin_fifo_offset in bfin_ops usb: musb: fix compilation warning on unused function usb: musb: Fix trying to free already-free IRQ 4 usb: musb: dsps: implement clear_ep_rxintr() callback usb: musb: core: add clear_ep_rxintr() to musb_platform_ops USB: serial: ti_usb_3410_5052: fix NULL-deref at open USB: serial: spcp8x5: fix NULL-deref at open USB: serial: quatech2: fix sleep-while-atomic in close USB: serial: pl2303: fix NULL-deref at open USB: serial: oti6858: fix NULL-deref at open USB: serial: omninet: fix NULL-derefs at open and disconnect USB: serial: mos7840: fix misleading interrupt-URB comment USB: serial: mos7840: remove unused write URB USB: serial: mos7840: fix NULL-deref at open USB: serial: mos7720: remove obsolete port initialisation USB: serial: mos7720: fix parallel probe ...
-
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-miscLinus Torvalds authored
Pull char/misc fixes from Greg KH: "Here are a few small char/misc driver fixes for 4.10-rc3. Two MEI driver fixes, and three NVMEM patches for reported issues, and a new Hyper-V driver MAINTAINER update. Nothing major at all, all have been in linux-next with no reported issues" * tag 'char-misc-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: hyper-v: Add myself as additional MAINTAINER nvmem: fix nvmem_cell_read() return type doc nvmem: imx-ocotp: Fix wrong register size nvmem: qfprom: Allow single byte accesses for read/write mei: move write cb to completion on credentials failures mei: bus: fix mei_cldev_enable KDoc
-
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/stagingLinus Torvalds authored
Pull staging/IIO fixes from Greg KH: "Here are some staging and IIO driver fixes for 4.10-rc3. Most of these are minor IIO fixes of reported issues, along with one network driver fix to resolve an issue. And a MAINTAINERS update with a new mailing list. All of these, except the MAINTAINERS file update, have been in linux-next with no reported issues (the MAINTAINERS patch happened on Friday...)" * tag 'staging-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: MAINTAINERS: add greybus subsystem mailing list staging: octeon: Call SET_NETDEV_DEV() iio: accel: st_accel: fix LIS3LV02 reading and scaling iio: common: st_sensors: fix channel data parsing iio: max44000: correct value in illuminance_integration_time_available iio: adc: TI_AM335X_ADC should depend on HAS_DMA iio: bmi160: Fix time needed to sleep after command execution iio: 104-quad-8: Fix active level mismatch for the preset enable option iio: 104-quad-8: Fix off-by-one errors when addressing IOR iio: 104-quad-8: Fix index control configuration
-
Johannes Weiner authored
Several people report seeing warnings about inconsistent radix tree nodes followed by crashes in the workingset code, which all looked like use-after-free access from the shadow node shrinker. Dave Jones managed to reproduce the issue with a debug patch applied, which confirmed that the radix tree shrinking indeed frees shadow nodes while they are still linked to the shadow LRU: WARNING: CPU: 2 PID: 53 at lib/radix-tree.c:643 delete_node+0x1e4/0x200 CPU: 2 PID: 53 Comm: kswapd0 Not tainted 4.10.0-rc2-think+ #3 Call Trace: delete_node+0x1e4/0x200 __radix_tree_delete_node+0xd/0x10 shadow_lru_isolate+0xe6/0x220 __list_lru_walk_one.isra.4+0x9b/0x190 list_lru_walk_one+0x23/0x30 scan_shadow_nodes+0x2e/0x40 shrink_slab.part.44+0x23d/0x5d0 shrink_node+0x22c/0x330 kswapd+0x392/0x8f0 This is the WARN_ON_ONCE(!list_empty(&node->private_list)) placed in the inlined radix_tree_shrink(). The problem is with 14b46879 ("mm: workingset: move shadow entry tracking to radix tree exceptional tracking"), which passes an update callback into the radix tree to link and unlink shadow leaf nodes when tree entries change, but forgot to pass the callback when reclaiming a shadow node. While the reclaimed shadow node itself is unlinked by the shrinker, its deletion from the tree can cause the left-most leaf node in the tree to be shrunk. If that happens to be a shadow node as well, we don't unlink it from the LRU as we should. Consider this tree, where the s are shadow entries: root->rnode | [0 n] | | [s ] [sssss] Now the shadow node shrinker reclaims the rightmost leaf node through the shadow node LRU: root->rnode | [0 ] | [s ] Because the parent of the deleted node is the first level below the root and has only one child in the left-most slot, the intermediate level is shrunk and the node containing the single shadow is put in its place: root->rnode | [s ] The shrinker again sees a single left-most slot in a first level node and thus decides to store the shadow in root->rnode directly and free the node - which is a leaf node on the shadow node LRU. root->rnode | s Without the update callback, the freed node remains on the shadow LRU, where it causes later shrinker runs to crash. Pass the node updater callback into __radix_tree_delete_node() in case the deletion causes the left-most branch in the tree to collapse too. Also add warnings when linked nodes are freed right away, rather than wait for the use-after-free when the list is scanned much later. Fixes: 14b46879 ("mm: workingset: move shadow entry tracking to radix tree exceptional tracking") Reported-by: Dave Chinner <david@fromorbit.com> Reported-by: Hugh Dickins <hughd@google.com> Reported-by: Andrea Arcangeli <aarcange@redhat.com> Reported-and-tested-by: Dave Jones <davej@codemonkey.org.uk> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Christoph Hellwig <hch@lst.de> Cc: Chris Leech <cleech@redhat.com> Cc: Lee Duncan <lduncan@suse.com> Cc: Jan Kara <jack@suse.cz> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Matthew Wilcox <mawilcox@linuxonhyperv.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-
Hugh Dickins authored
4.10-rc loadtest (even on x86, and even without THPCache) fails with "fork: Cannot allocate memory" or some such; and /proc/meminfo shows PageTables growing. Commit 953c66c2 ("mm: THP page cache support for ppc64") that got merged in rc1 removed the freeing of an unused preallocated pagetable after do_fault_around() has called map_pages(). This is usually a good optimization, so that the followup doesn't have to reallocate one; but it's not sufficient to shift the freeing into alloc_set_pte(), since there are failure cases (most commonly VM_FAULT_RETRY) which never reach finish_fault(). Check and free it at the outer level in do_fault(), then we don't need to worry in alloc_set_pte(), and can restore that to how it was (I cannot find any reason to pte_free() under lock as it was doing). And fix a separate pagetable leak, or crash, introduced by the same change, that could only show up on some ppc64: why does do_set_pmd()'s failure case attempt to withdraw a pagetable when it never deposited one, at the same time overwriting (so leaking) the vmf->prealloc_pte? Residue of an earlier implementation, perhaps? Delete it. Fixes: 953c66c2 ("mm: THP page cache support for ppc64") Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Michael Neuling <mikey@neuling.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Balbir Singh <bsingharora@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-
- 07 Jan, 2017 2 commits
-
-
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuildLinus Torvalds authored
Pull kbuild fix from Michal Marek: "The asm-prototypes.h file added in the last merge window results in invalid code with CONFIG_KMEMCHECK=y. The net result is that genksyms segfaults. This pull request fixes the header, the genksyms fix is in my kbuild branch for 4.11" * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: asm-prototypes: Clear any CPP defines before declaring the functions
-
Greg Kroah-Hartman authored
The Greybus driver subsystem has a mailing list, so list it in the MAINTAINERS file so that people know to send patches there as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Johan Hovold <johan@kernel.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 06 Jan, 2017 1 commit
-
-
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/soundLinus Torvalds authored
Pull sound fixes from Takashi Iwai: "Nothing particular stands out, only a few small fixes for USB-audio, HD-audio and Firewire. The USB-audio fix is the respin of the previous race fix after a revert due to the regression" * tag 'sound-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: Revert "ALSA: firewire-lib: change structure member with proper type" ALSA: usb-audio: test EP_FLAG_RUNNING at urb completion ALSA: usb-audio: Fix irq/process data synchronization ALSA: hda - Apply asus-mode8 fixup to ASUS X71SL ALSA: hda - Fix up GPIO for ASUS ROG Ranger ALSA: firewire-lib: change structure member with proper type ALSA: firewire-tascam: Fix to handle error from initialization of stream data ALSA: fireworks: fix asymmetric API call at unit removal
-