summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)AuthorFilesLines
2017-06-29Merge tag 'v4.12-rc7' into develLinus Walleij17-47/+70
Linux 4.12-rc7
2017-06-28ARM/PCI: Convert PCI scan API to pci_scan_root_bus_bridge()Lorenzo Pieralisi8-46/+91
The introduction of pci_scan_root_bus_bridge() provides a PCI core API to scan a PCI root bus backed by an already initialized struct pci_host_bridge object, which simplifies the bus scan interface and makes the PCI scan root bus interface easier to generalize as members are added to the struct pci_host_bridge. Convert ARM bios32 code to pci_scan_root_bus_bridge() to improve the PCI root bus scanning interface. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> [bhelgaas: fold in warning fix from Arnd Bergmann <arnd@arndb.de>: http://lkml.kernel.org/r/20170621215323.3921382-1-arnd@arndb.de] [bhelgaas: set bridge->ops for mv78xx0] [bhelgaas: fold in fixes from Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>: http://lkml.kernel.org/r/20170701135457.GB8977@red-moon] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Russell King <linux@armlinux.org.uk> Cc: Andrew Lunn <andrew@lunn.ch>
2017-06-28arm: implement ->dma_supported instead of ->set_dma_maskChristoph Hellwig1-4/+3
Same behavior, less code duplication. Signed-off-by: Christoph Hellwig <hch@lst.de>
2017-06-28arm: remove arch specific dma_supported implementationChristoph Hellwig4-5/+8
And instead wire it up as method for all the dma_map_ops instances. Note that the code seems a little fishy for dmabounce and iommu, but for now I'd like to preserve the existing behavior 1:1. Signed-off-by: Christoph Hellwig <hch@lst.de>
2017-06-28arm: implement ->mapping_errorChristoph Hellwig4-19/+38
DMA_ERROR_CODE is going to go away, so don't rely on it. Signed-off-by: Christoph Hellwig <hch@lst.de>
2017-06-27Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds3-2/+4
Pull ARM fixes from Russell King: "Three more fixes: - Fix the previous fix merged in the last pull for the Thumb2 decompressor. - A fix from Vladimir to correctly identify the V7M cache type. - The optimised 3G vmsplit case does not work with LPAE, so don't allow this to be selected for LPAE configurations" * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 8682/1: V7M: Set cacheid iff DminLine or IminLine is nonzero ARM: 8681/1: make VMSPLIT_3G_OPT depends on !ARM_LPAE ARM: 8680/1: boot/compressed: fix inappropriate Thumb2 mnemonic for __nop
2017-06-27ARM: 8684/1: NOMMU: Remove unused KTHREAD_SIZE definitionJérémy Lefaure1-6/+0
I didn't find any use of this macro in the current kernel tree (with git grep). KTHREAD_SIZE is no longer used for a very very long time. So let's remove this definition. Signed-off-by: Jérémy Lefaure <jeremy.lefaure@lse.epita.fr> Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-06-26Merge branch 'aarch64/for-next/ras-apei' into aarch64/for-next/coreWill Deacon2-0/+15
Merge in arm64 ACPI RAS support (APEI/GHES) from Tyler Baicar.
2017-06-23ARM: qcom_defconfig: enable RPMSG_QCOM_SMDBhushan Shah1-0/+1
As of commit 5052de8deff56, QCOM_SMD_RPM and various other config options enabled in the qcom_defconfig depends on the RPMSG. If QCOM_SMD_RPM config option is not selected it disables the REGULATOR_QCOM_SMD_RPM and other essential config options. Signed-off-by: Bhushan Shah <bshah@kde.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-06-23ARM: owl: smp: Implement SPS power-gating for CPU2 and CPU3Andreas Färber2-2/+35
Bring up the two remaining CPUs by calling into PM domain code. Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-06-23Merge tag 'socfpga_dts_for_v4.13' of ↵Arnd Bergmann5-65/+46
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt Pull "SoCFPGA DTS updates for v4.13" from Dinh Nguyen: - Fix clocks node the EMACs - VINING board updtes - Remove I2C EEPROMs and LED node - Add QSPI device - Add 2nd ethernet alias - Add 'clock-frequency' binding for i2c node * tag 'socfpga_dts_for_v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: dts: socfpga: set the i2c frequency ARM: dts: socfpga: Add second ethernet alias to VINING FPGA ARM: dts: socfpga: Drop LED node from VINING FPGA ARM: dts: socfpga: Remove I2C EEPROMs from VINING FPGA ARM: dts: socfpga: Enable QSPI support on VINING FPGA ARM: dts: socfpga: Fix the ethernet clock phandle
2017-06-23ARM: dts: socfpga: set the i2c frequencyDinh Nguyen3-3/+3
Use 'clock-frequency' binding for the i2c node that will put the I2C driver into the standard operating mode. 'speed-mode' was not a valid binding for the I2C driver, remove it. Signed-off-by: Alan Tull <atull@kernel.org> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2017-06-23ARM: dts: socfpga: Add second ethernet alias to VINING FPGAMarek Vasut1-0/+1
Add DT alias for the second ethernet present on mainboard rev 1.10. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2017-06-23ARM: dts: socfpga: Drop LED node from VINING FPGAMarek Vasut1-28/+0
Drop the LED node from VINing FPGA DT because the LED wiring is different on each mainboard revision. This wiring is therefore handled in mainboard DT Overlays. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2017-06-23ARM: dts: socfpga: Remove I2C EEPROMs from VINING FPGAMarek Vasut1-32/+2
Remove the EEPROMs attached to the I2C expander ports which lead to the backplane slots from the main VIN|ING DTS file. These EEPROMs are bound using separate DTO files, which lets us handle both two-slot and six-slot configuration of the backplane. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2017-06-23ARM: dts: socfpga: Enable QSPI support on VINING FPGAMarek Vasut1-0/+38
Enable the QSPI node and add the flash chips. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2017-06-23ARM: dts: socfpga: Fix the ethernet clock phandleMarek Vasut1-2/+2
The ethernet block clock phandle must point to the clock node which represents the clock which directly supply the ethernet block. This is emac_x_clk , not emacx_clk , so fix this. From: Pavel Machek <pavel@denx.de> Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2017-06-23Merge tag 'socfpga_updates_for_v4.13' of ↵Arnd Bergmann1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/soc Pull "SoCFPGA updates for v4.13" from Dinh Nguyen: - Increase number of available GPIOs in Kconfig * tag 'socfpga_updates_for_v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: Increase max number of GPIOs
2017-06-23Merge tag 'pxa-dt-4.13' of https://github.com/rjarzmik/linux into next/dtArnd Bergmann2-11/+11
Pull "pxa-dt for v4.13" from Robert Jarzmik: This device-tree pxa update brings : - cpu operating points renaming from Viresh * tag 'pxa-dt-4.13' of https://github.com/rjarzmik/linux: ARM: pxa: Use - instead of @ for DT OPP entries
2017-06-23Merge tag 'samsung-dt-4.13-2' of ↵Arnd Bergmann2-1/+5
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Pull "Samsung DeviceTree update for v4.13, part two" from Krzysztof Kozłowski: 1. Add needed property for CEC on Odroid U3, 2. Fix reset GPIO polarity on Rinato. * tag 'samsung-dt-4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: Fix polarity of panel reset gpio in Rinato ARM: dts: exynos: add needs-hpd to &hdmicec for Odroid-U3
2017-06-23Merge tag 'samsung-defconfig-4.13-2' of ↵Arnd Bergmann85-595/+52
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/defconfig Pull "ARM defconfig cleanup" from Krzysztof Kozłowski: 1. Remove old Kconfig options from all ARM configs, 2. Update Samsung defconfigs to bring back options over time got disabled for some reason (configs were not updated along with the code), 3. Save defconfigs for Samsung. * tag 'samsung-defconfig-4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: tct_hammer_defconfig: Save defconfig ARM: s5pv210_defconfig: Save defconfig ARM: s3c6400_defconfig: Save defconfig ARM: mini2440_defconfig: Save defconfig ARM: s3c2410_defconfig: Save defconfig ARM: exynos_defconfig: Save defconfig ARM: s5pv210_defconfig: Bring back lost (but wanted) options ARM: s3c6400_defconfig: Bring back lost (but wanted) options ARM: s3c2410_defconfig: Bring back lost (but wanted) options ARM: tct_hammer_defconfig: Bring back lost (but wanted) options ARM: mini2440_defconfig: Bring back lost (but wanted) options ARM: defconfig: samsung: Re-order entries to match savedefconfig ARM: defconfig: Cleanup from old Kconfig options
2017-06-22arm/arm64: KVM: add guest SEA supportTyler Baicar2-0/+15
Currently external aborts are unsupported by the guest abort handling. Add handling for SEAs so that the host kernel reports SEAs which occur in the guest kernel. When an SEA occurs in the guest kernel, the guest exits and is routed to kvm_handle_guest_abort(). Prior to this patch, a print message of an unsupported FSC would be printed and nothing else would happen. With this patch, the code gets routed to the APEI handling of SEAs in the host kernel to report the SEA information. Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Christoffer Dall <cdall@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22Merge branch 'linus' into x86/mm, to pick up fixesIngo Molnar4-14/+10
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-06-22kbuild: replace genhdr-y with generated-yMasahiro Yamada1-3/+3
Originally, generated-y and genhdr-y had different meaning, like follows: - generated-y: generated headers (other than asm-generic wrappers) - header-y : headers to be exported - genhdr-y : generated headers to be exported (generated-y + header-y) Since commit fcc8487d477a ("uapi: export all headers under uapi directories"), headers under UAPI directories are all exported. So, there is no more difference between generated-y and genhdr-y. We see two users of genhdr-y, arch/{arm,x86}/include/uapi/asm/Kbuild. They generate some headers in arch/{arm,x86}/include/generated/uapi/asm directories, which are obviously exported. Replace them with generated-y, and abolish genhdr-y. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
2017-06-21ARM: owl: Implement CPU enable-method for S500Andreas Färber3-0/+237
Allow to bring up CPU1. Based on LeMaker linux-actions tree. Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-06-21ARM: Prepare Actions Semi S500Andreas Färber5-0/+47
Add ARCH_ACTIONS and mach-actions/owl.c for "actions,s500". Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-06-21ARM: socfpga: Increase max number of GPIOsMarek Vasut1-0/+1
Increase the maximum number of GPIOs on SoCFPGA as this platform can have many GPIO controllers in the FPGA part. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2017-06-21ARM: pxa: Use - instead of @ for DT OPP entriesViresh Kumar2-11/+11
Compiling the DT file with W=1, DTC warns like follows: Warning (unit_address_vs_reg): Node /opp_table0/opp@1000000000 has a unit name, but no reg property Fix this by replacing '@' with '-' as the OPP nodes will never have a "reg" property. Reported-by: Krzysztof Kozlowski <krzk@kernel.org> Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com> Suggested-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2017-06-21ARM: 8683/1: ARM32: Support mremap() for sigpage/vDSODmitry Safonov2-0/+26
CRIU restores application mappings on the same place where they were before Checkpoint. That means, that we need to move vDSO and sigpage during restore on exactly the same place where they were before C/R. Make mremap() code update mm->context.{sigpage,vdso} pointers during VMA move. Sigpage is used for landing after handling a signal - if the pointer is not updated during moving, the application might crash on any signal after mremap(). vDSO pointer on ARM32 is used only for setting auxv at this moment, update it during mremap() in case of future usage. Without those updates, current work of CRIU on ARM32 is not reliable. Historically, we error Checkpointing if we find vDSO page on ARM32 and suggest user to disable CONFIG_VDSO. But that's not correct - it goes from x86 where signal processing is ended in vDSO blob. For arm32 it's sigpage, which is not disabled with `CONFIG_VDSO=n'. Looks like C/R was working by luck - because userspace on ARM32 at this moment always sets SA_RESTORER. Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Acked-by: Andy Lutomirski <luto@amacapital.net> Cc: linux-arm-kernel@lists.infradead.org Cc: Will Deacon <will.deacon@arm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Cc: Pavel Emelyanov <xemul@virtuozzo.com> Cc: Christopher Covington <cov@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-06-21Merge branch 'timers/urgent' into timers/coreThomas Gleixner17-47/+70
Pick up dependent changes.
2017-06-20Merge branch 'WIP.sched/core' into sched/coreIngo Molnar17-47/+70
Conflicts: kernel/sched/Makefile Pick up the waitqueue related renames - it didn't get much feedback, so it appears to be uncontroversial. Famous last words? ;-) Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-06-20ARM/hw_breakpoint: Fix possible recursive locking for arch_hw_breakpoint_initTony Lindgren1-1/+1
Recent change to use cpuhp_setup_state_cpuslocked() with commit fe2a5cd8aa03 ("ARM/hw_breakpoint: Use cpuhp_setup_state_cpuslocked()") missed to change the related paired cpuhp_remove_state_nocalls_cpuslocked(). Now if arch_hw_breakpoint_init() fails, we get "WARNING: possible recursive locking detected" on the exit path. Fixes: fe2a5cd8aa03 ("ARM/hw_breakpoint: Use cpuhp_setup_state_cpuslocked()") Signed-off-by: Tony Lindgren <tony@atomide.com> Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Mark Rutland <mark.rutland@arm.com> Cc: linux-omap@vger.kernel.org Cc: Peter Zijlstra <peterz@infradead.org> Cc: Will Deacon <will.deacon@arm.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Russell King <linux@armlinux.org.uk> Cc: "Paul E . McKenney" <paulmck@linux.vnet.ibm.com> Cc: linux-arm-kernel@lists.infradead.org Link: http://lkml.kernel.org/r/20170616082238.15553-1-tony@atomide.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2017-06-20xen-swiotlb: consolidate xen_swiotlb_dma_opsChristoph Hellwig1-17/+0
ARM and x86 had duplicated versions of the dma_ops structure, the only difference is that x86 hasn't wired up the set_dma_mask, mmap, and get_sgtable ops yet. On x86 all of them are identical to the generic version, so they aren't needed but harmless. All the symbols used only for xen_swiotlb_dma_ops can now be marked static as well. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2017-06-20ARM: dts: omap3-overo: Remove "vqmmc-supply" property from MMC dt nodeKishon Vijay Abraham I1-11/+0
commit 94647a30124e2c7 ("ARM: dts: omap3-overo: Enable WiFi/BT combo") while enabling WiFi/BT combo added regulator to trigger the nReset signal of the Bluetooth module in vqmmc-supply. However BT should be handled by UART. Moreover "vqmmc" is not a defined binding for omap_hsmmc. While "vqmmc" in mmc2 hasn't caused any issues so far, mmc2 will start to mis-behave once omap_hsmmc defines "vqmmc" binding. Remove "vqmmc-supply" property in mmc2 here. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-06-20ARM: OMAP2+: DMA: Add slave map entries for 24xx external request linesPeter Ujfalusi1-0/+24
The external request lines are used by tusb6010 on OMAP24xx platforms. Update the map so the driver can use dmaengine API to request the DMA channel. At the same time add temporary map containing only the external DMA request numbers for DT booted case on omap24xx since the tusb6010 stack is not yet supports DT boot. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Bin Liu <b-liu@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-19ARM: dts: owl-s500: Add SPS nodeAndreas Färber1-0/+6
Add Smart Power System node for PM domains. Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-06-19ARM: dts: owl-s500: Set CPU enable-methodAndreas Färber1-0/+4
Use a custom S500 enable-method for all CPUs. Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-06-19ARM: dts: dra7: Add "max-frequency" property to MMC dt nodesKishon Vijay Abraham I1-0/+5
Add "max-frequency" property to MMC dt nodes and set the maximum frequency to 192MHz for MMC1/MMC2, 64MHz for MMC3 and 192MHz for MMC4. pdata quirks must be utilized to detect presence of rev 1.1/1.0 of silicon and adjust maximum frequencies as per restrictions documented in i843. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-06-19ARM: dts: dra7-evm: Correct the vmmc-supply for mmc2Ravikumar Kattekola1-1/+9
On DRA75x EVM, MMC2 vdd/ios are connected to a common supply fixed at 1.8V not 3.3V Fixes: 6cf02dbb4b71 ("ARM: dts: dra7-evm: Add mmc2 node for eMMC support") Signed-off-by: Ravikumar Kattekola <rk@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-06-19ARM: dts: am57xx-beagle-x15-revb1: Fix supply name used for MMC1 IO linesKishon Vijay Abraham I1-1/+1
The dt binding documentation of omap-hsmmc recommends using "vmmc_aux" for IO supply lines. However commit 0af28cc92690d8c ("ARM: dts: am57xx-beagle-x15: Add support for rev B1") added it as "vmmc-aux". Now that anyways it needs to be fixed, use the generic "vqmmc" binding instead of the deprecated "vmmc_aux". Fixes: commit 0af28cc92690d8c ("ARM: dts: am57xx-beagle-x15: Add support for rev B1") Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-06-19ARM: dts: dra72-evm-revc: Add vqmmc supply to mmc1Kishon Vijay Abraham I1-0/+4
Add vqmmc-supply property to mmc1 dt node and populate it with ldo1_reg to reflect ldo1_out is connected to mmc1 IO lines. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-06-19ARM: dts: dra72-evm: Add vqmmc supply to mmc1Kishon Vijay Abraham I1-0/+4
Add vqmmc-supply property to mmc1 dt node and populate it with ldo1_reg to reflect ldo1_out is connected to mmc1 IO lines. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-06-19ARM: dts: dra72-evm-common: Correct vmmc-supply for mmc2Kishon Vijay Abraham I4-2/+42
On dra72/dra71 evms, mmc2 vdd/ios are connected to a common 1.8V supply not 3.3V. Also the regulator that supplies 1.8V is different on dra71-evm so move the supply property from common dtsi to evm specific dts files. Fixes: a4240d3af677 ("ARM: dts: Add support for dra72-evm rev C (SR2.0)") Signed-off-by: Ravikumar Kattekola <rk@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-06-19mm: larger stack guard gap, between vmasHugh Dickins1-2/+2
Stack guard page is a useful feature to reduce a risk of stack smashing into a different mapping. We have been using a single page gap which is sufficient to prevent having stack adjacent to a different mapping. But this seems to be insufficient in the light of the stack usage in userspace. E.g. glibc uses as large as 64kB alloca() in many commonly used functions. Others use constructs liks gid_t buffer[NGROUPS_MAX] which is 256kB or stack strings with MAX_ARG_STRLEN. This will become especially dangerous for suid binaries and the default no limit for the stack size limit because those applications can be tricked to consume a large portion of the stack and a single glibc call could jump over the guard page. These attacks are not theoretical, unfortunatelly. Make those attacks less probable by increasing the stack guard gap to 1MB (on systems with 4k pages; but make it depend on the page size because systems with larger base pages might cap stack allocations in the PAGE_SIZE units) which should cover larger alloca() and VLA stack allocations. It is obviously not a full fix because the problem is somehow inherent, but it should reduce attack space a lot. One could argue that the gap size should be configurable from userspace, but that can be done later when somebody finds that the new 1MB is wrong for some special case applications. For now, add a kernel command line option (stack_guard_gap) to specify the stack gap size (in page units). Implementation wise, first delete all the old code for stack guard page: because although we could get away with accounting one extra page in a stack vma, accounting a larger gap can break userspace - case in point, a program run with "ulimit -S -v 20000" failed when the 1MB gap was counted for RLIMIT_AS; similar problems could come with RLIMIT_MLOCK and strict non-overcommit mode. Instead of keeping gap inside the stack vma, maintain the stack guard gap as a gap between vmas: using vm_start_gap() in place of vm_start (or vm_end_gap() in place of vm_end if VM_GROWSUP) in just those few places which need to respect the gap - mainly arch_get_unmapped_area(), and and the vma tree's subtree_gap support for that. Original-patch-by: Oleg Nesterov <oleg@redhat.com> Original-patch-by: Michal Hocko <mhocko@suse.com> Signed-off-by: Hugh Dickins <hughd@google.com> Acked-by: Michal Hocko <mhocko@suse.com> Tested-by: Helge Deller <deller@gmx.de> # parisc Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-06-19Merge tag 'armsoc-fixes' of ↵Linus Torvalds2-9/+6
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "Stream of fixes has slowed down, only a few this week: - Some DT fixes for Allwinner platforms, and addition of a clock to the R_CCU clock controller that had been missed. - A couple of small DT fixes for am335x-sl50" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: arm64: allwinner: a64: Add PLL_PERIPH0 clock to the R_CCU ARM: sunxi: h3-h5: Add PLL_PERIPH0 clock to the R_CCU ARM: dts: am335x-sl50: Fix cannot claim requested pins for spi0 ARM: dts: am335x-sl50: Fix card detect pin for mmc1 arm64: allwinner: h5: Remove syslink to shared DTSI ARM: sunxi: h3/h5: fix the compatible of R_CCU
2017-06-19Merge tag 'at91-4.12-fixes' of ↵Olof Johansson1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc Bring in the fixes branch to avoid a merge conflict between new SoC options and the build fix adding CONFIG_AMR_CPU_SUSPEND. Fixes for 4.12: Fix two compilation issues * tag 'at91-4.12-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91: select CONFIG_ARM_CPU_SUSPEND memory: atmel-ebi: mark PM ops as __maybe_unused Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-19Merge tag 'imx-defconfig-4.13' of ↵Olof Johansson2-2/+10
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig The i.MX defconfig updates for 4.13: - Enable i.MX7 ADC driver support. - Enable THERMAL_WRITABLE_TRIPS, so that i.MX thermal driver can set trip points for testing. - CONFIG_DEBUG_FS gets lost by accident because of a change around CONFIG_RCU_TRACE. Re-enable it explicitly. - Enable MXS LRADC driver and CONFIG_CGROUPS for mxs_defconfig. - Enable more common cpufreq governors to help test cpufreq driver. * tag 'imx-defconfig-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Select CONFIG_IMX7D_ADC ARM: imx_v6_v7_defconfig: Set THERMAL_WRITABLE_TRIPS=y for testing ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS ARM: mxs_defconfig: Re-enable MXS LRADC ARM: mxs_defconfig: Enable CONFIG_CGROUPS ARM: imx_v6_v7_defconfig: Enable cpufreq governors Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-19Merge tag 'imx-dt-4.13' of ↵Olof Johansson78-226/+2361
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt The i.MX device tree updates for 4.13: - New board support: Gateworks Ventana GW5600, Technexion Pico i.MX7D Board. - A series from Alexandre Belloni to correct the vendor prefix for rv4162 compatible. - A patch-set from Andrey Smirnov ot enable PCIe support for i.MX7 and imx7d-sdb board. - Increase the SGTL5000 LRCLK pad strength to fix a random audio channel swapping seen on imx6qdl-wandboard and imx6qdl-colibri boards. - Clean up non-existing property 'enable-active-low' from fixed regulator device nodes. - Correct GPIO polarity for Ethernet PHY and PCI reset lines, even though device drivers do not use the polarity for now. - Add Wifi and Bluetooth support for imx7d-sdb board. - Adopt the i.MX6Q/DL DT to the new and more flexible GPC binding. - Update zii-rdu2 device tree source to use #include "..." for local inclusion. - A series from Philipp Zabel and Steve Longerbeam to enable video capture support for imx6qdl platforms. - A number of small random updates on various board support. * tag 'imx-dt-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (47 commits) ARM: dts: imx6q-cm-fx6: add sdio wifi/bt nodes ARM: dts: ls1021a: update the clockgen node ARM: dts: imx6-sabreauto: add the ADV7180 video decoder ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b ARM: dts: imx6-sabreauto: create i2cmux for i2c3 ARM: dts: imx6-sabresd: add OV5642 and OV5640 camera sensors ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround ARM: dts: imx6qdl: add capture-subsystem device ARM: dts: imx6qdl: Add video multiplexers, mipi_csi, and their connections ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node ARM: dts: imx6qdl: add multiplexer controls ARM: dts: imx6: Fix PCI GPIO reset polarity ARM: dts: imx7d-sdb: Add Bluetooth support ARM: dts: imx7d-sdb: Add Wifi support ARM: dts: imx7d-sdb: Adjust the regulator nodes ARM: dts: imx: Fix Ethernet PHY reset polarity ARM: dts: imx7: Fix typo in watchdog pin name ARM: dts: vf610-zii: Add switch eeprom-length properties ... Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-19Merge tag 'imx-soc-4.13' of ↵Olof Johansson4-2/+14
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc The i.MX SoC updates for 4.13: - Select GPCv2 for i.MX7 SoCs to get imx-gpcv2 irqchip driver built for i.MX7 platforms by default. - A couple of patches from Leonard to add IMX6ULL cpu check and get suspend/resume work on IMX6ULL. * tag 'imx-soc-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx6ull: Make suspend/resume work like on 6ul ARM: imx: Add MXC_CPU_IMX6ULL and cpu_is_imx6ull ARM: imx: Select GPCv2 for i.MX7 Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-19Merge tag 'mvebu-dt-4.13-1' of git://git.infradead.org/linux-mvebu into next/dtOlof Johansson15-463/+768
mvebu dt for 4.13 (part 1) - Add Linksys WRT3200ACM (Rango) support - Add PWM properties for gpio on Aramda XP and 38x - A couple of minor updates for the 98dx3236 and 98dx4251 * tag 'mvebu-dt-4.13-1' of git://git.infradead.org/linux-mvebu: ARM: dts: turris-omnia: Add generic compatible string for I2C EEPROM ARM: dts: mvebu: add support for Linksys WRT3200ACM (Rango) ARM: dts: armada-385-linksys: fixup button node names ARM: dts: armada-385-linksys: group pins in pinctrl ARM: dts: armada-385-linksys: partition layout is board specific ARM: dts: armada-385-linksys: use binary unit prefixes ARM: dts: armada-385-linksys: drop legacy DSA bindings ARM: dts: armada-385-linksys: usb3 label cleanup ARM: dts: armada-385-linksys: bm pools by label order ARM: dts: armada-385-linksys: drop redundant properties in dependants ARM: dts: armada-385-linksys: flatten dependants ARM: dts: armada-385-linksys: label nodes ARM: dts: armada-385-linksys: flatten dtsi ARM: dts: mvebu: disable the rtc on 98dx3236 SoC ARM: dts: mvebu: add missing interrupt to 98dx4251 switch ARM: dts: armada-xp: Use pwm-fan rather than gpio-fan ARM: dts: mvebu: Add PWM properties for armada-38x ARM: dts: mvebu: Add PWM properties to .dtsi files Signed-off-by: Olof Johansson <olof@lixom.net>