summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2019-01-31powerpc/livepatch: small cleanups in save_stack_trace_tsk_reliable()Joe Lawrence
Mostly cosmetic changes: - Group common stack pointer code at the top - Simplify the first frame logic - Code stackframe iteration into for...loop construct - Check for trace->nr_entries overflow before adding any into the array Suggested-by: Nicolai Stange <nstange@suse.de> Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-31powerpc/livepatch: relax reliable stack tracer checks for first-frameJoe Lawrence
The bottom-most stack frame (the first to be unwound) may be largely uninitialized, for the "Power Architecture 64-Bit ELF V2 ABI" only requires its backchain pointer to be set. The reliable stack tracer should be careful when verifying this frame: skip checks on STACK_FRAME_LR_SAVE and STACK_FRAME_MARKER offsets that may contain uninitialized residual data. Fixes: df78d3f61480 ("powerpc/livepatch: Implement reliable stack tracing for the consistency model") Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-31powerpc/64s: Make reliable stacktrace dependency clearerNicolai Stange
Make the HAVE_RELIABLE_STACKTRACE Kconfig option depend on PPC_BOOK3S_64 for documentation purposes. Before this patch, it depended on PPC64 && CPU_LITTLE_ENDIAN and because CPU_LITTLE_ENDIAN implies PPC_BOOK3S_64, there's no functional change here. Signed-off-by: Nicolai Stange <nstange@suse.de> Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> [mpe: Split out of larger patch] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-31powerpc/64s: Clear on-stack exception marker upon exception returnNicolai Stange
The ppc64 specific implementation of the reliable stacktracer, save_stack_trace_tsk_reliable(), bails out and reports an "unreliable trace" whenever it finds an exception frame on the stack. Stack frames are classified as exception frames if the STACK_FRAME_REGS_MARKER magic, as written by exception prologues, is found at a particular location. However, as observed by Joe Lawrence, it is possible in practice that non-exception stack frames can alias with prior exception frames and thus, that the reliable stacktracer can find a stale STACK_FRAME_REGS_MARKER on the stack. It in turn falsely reports an unreliable stacktrace and blocks any live patching transition to finish. Said condition lasts until the stack frame is overwritten/initialized by function call or other means. In principle, we could mitigate this by making the exception frame classification condition in save_stack_trace_tsk_reliable() stronger: in addition to testing for STACK_FRAME_REGS_MARKER, we could also take into account that for all exceptions executing on the kernel stack - their stack frames's backlink pointers always match what is saved in their pt_regs instance's ->gpr[1] slot and that - their exception frame size equals STACK_INT_FRAME_SIZE, a value uncommonly large for non-exception frames. However, while these are currently true, relying on them would make the reliable stacktrace implementation more sensitive towards future changes in the exception entry code. Note that false negatives, i.e. not detecting exception frames, would silently break the live patching consistency model. Furthermore, certain other places (diagnostic stacktraces, perf, xmon) rely on STACK_FRAME_REGS_MARKER as well. Make the exception exit code clear the on-stack STACK_FRAME_REGS_MARKER for those exceptions running on the "normal" kernel stack and returning to kernelspace: because the topmost frame is ignored by the reliable stack tracer anyway, returns to userspace don't need to take care of clearing the marker. Furthermore, as I don't have the ability to test this on Book 3E or 32 bits, limit the change to Book 3S and 64 bits. Fixes: df78d3f61480 ("powerpc/livepatch: Implement reliable stack tracing for the consistency model") Reported-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Nicolai Stange <nstange@suse.de> Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-31powerpc/perf: Add mem access events to sysfsMadhavan Srinivasan
Add mem-loads/mem-stores events to sysfs. The event is formed based on raw event encoding. Primary PMU event used here is PM_MRK_INST_CMPL along with MMCRA[SM] modes and Thresholding bit Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-30arch/arm/mach-ep93xx: Remove duplicate headerBrajeswar Ghosh
Remove mach/gpio-ep93xx.h which is included more than once Signed-off-by: Brajeswar Ghosh <brajeswar.linux@gmail.com> Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30ARM: multi_v7_defconfig: enable GCC plugin support and structleak pluginArd Biesheuvel
Enable the base GCC plugin support symbol CONFIG_GCC_PLUGINS for multi_v7_defconfig so that builds hosted on systems that have a supported version of GCC along with the prerequisite headers will allow GCC plugins to be used during the build. At the moment, this will also enable the ARM per-task stack protector plugin, since all its remaining Kconfig dependencies are fulfilled by default. At the same time, enable the structleak plugin. This plugin ensures that local struct type variables are fully initialized, preventing inadvertent leaks of kernel state if such variables are shared with userland. This is a reasonable transformation to apply by default, since it does not adversely affect performance, and does not affect GCC compiler diagnostics regarding the use of uninitialized local variables. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30arm64: defconfig: Switch to PL11x DRM driverLinus Walleij
This switches out the old fbdev PL11x driver to the new DRM driver in the Aarch64/ARM64 defconfig. Some ARM reference designs use this IP with the Silicon Image SII902x HDMI bridge so activate both. The required DTS changes are already in-tree. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30ARM: defconfig: Enable PL11x DRM driver on multi_v7Linus Walleij
This switches the ARMv7 defconfig away from the old fbdev driver to the new DRM driver. All machines are now supported by the new driver. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30ARM: defconfig: axm55xx: Drop PL11x graphics driverLinus Walleij
The defconfig for the AXM55xx includes the ARM CLCD (PL11x) PrimeCell framebuffer driver, but the device tree for this platform does not include this hardware, nor do I find it likely that this chip has graphics. Drop these config items. Cc: John Logan <john.logan@intel.com> Cc: Anders Roxell <anders.roxell@linaro.org> Acked-by: Krzysztof Adamski <krzysztof.adamski@nokia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'juno-updates-5.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/dt ARMv8 Juno/fast models updates for v5.1 1. Support for Fixed Virtual Platforms(FVP) Base RevC model to enable development of software around the new features available 2. Addition of dynamic-power-coefficient information for CPUs on Juno 3. Miscellaneous changes like re-ordering device nodes, using existing macros for GIC flags in interrupt-maps and using list instead of tuple(which is wrong but works as number of interrupt cells is 1) for mmci interrupts * tag 'juno-updates-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: juno: Add cpu dynamic-power-coefficient information arm64: dts: fast models: Add DTS fo Base RevC FVP arm64: dts: juno/fast models: sort couple of device nodes arm64: dts: models: use list instead of tuple for mmci interrupts arm64: dts: juno/fast models: using GIC macros instead of hardcoded values Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'vexpress-updates-5.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/dt ARMv7 Vexpress updates for v5.1 Couple of simple changes to add dynamic-power-coefficient information for CPUs on TC2 and fix tuple used for uart and mmci interrupts with lists. * tag 'vexpress-updates-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm: dts: vexpress-v2p-ca15_a7: Add cpu dynamic-power-coefficient information ARM: dts: vexpress: use list instead of tuple for mmci interrupts ARM: dts: mps2: use list instead of tuple for uart interrupts Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVMJosh Poimboeuf
With the following commit: 73d5e2b47264 ("cpu/hotplug: detect SMT disabled by BIOS") ... the hotplug code attempted to detect when SMT was disabled by BIOS, in which case it reported SMT as permanently disabled. However, that code broke a virt hotplug scenario, where the guest is booted with only primary CPU threads, and a sibling is brought online later. The problem is that there doesn't seem to be a way to reliably distinguish between the HW "SMT disabled by BIOS" case and the virt "sibling not yet brought online" case. So the above-mentioned commit was a bit misguided, as it permanently disabled SMT for both cases, preventing future virt sibling hotplugs. Going back and reviewing the original problems which were attempted to be solved by that commit, when SMT was disabled in BIOS: 1) /sys/devices/system/cpu/smt/control showed "on" instead of "notsupported"; and 2) vmx_vm_init() was incorrectly showing the L1TF_MSG_SMT warning. I'd propose that we instead consider #1 above to not actually be a problem. Because, at least in the virt case, it's possible that SMT wasn't disabled by BIOS and a sibling thread could be brought online later. So it makes sense to just always default the smt control to "on" to allow for that possibility (assuming cpuid indicates that the CPU supports SMT). The real problem is #2, which has a simple fix: change vmx_vm_init() to query the actual current SMT state -- i.e., whether any siblings are currently online -- instead of looking at the SMT "control" sysfs value. So fix it by: a) reverting the original "fix" and its followup fix: 73d5e2b47264 ("cpu/hotplug: detect SMT disabled by BIOS") bc2d8d262cba ("cpu/hotplug: Fix SMT supported evaluation") and b) changing vmx_vm_init() to query the actual current SMT state -- instead of the sysfs control value -- to determine whether the L1TF warning is needed. This also requires the 'sched_smt_present' variable to exported, instead of 'cpu_smt_control'. Fixes: 73d5e2b47264 ("cpu/hotplug: detect SMT disabled by BIOS") Reported-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Joe Mario <jmario@redhat.com> Cc: Jiri Kosina <jikos@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: kvm@vger.kernel.org Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/e3a85d585da28cc333ecbc1e78ee9216e6da9396.1548794349.git.jpoimboe@redhat.com
2019-01-30Merge tag 'aspeed-5.1-devicetree' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into arm/dt ASPEED device tree updates for 5.1 - New machine: Inspur ON5263M5, an Intel Xeon OCP compute node - Misc device tree updates from the OpenBMC project - #interrupt-cells fix for GPIO controller * tag 'aspeed-5.1-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: ARM: dts: aspeed: quanta-q71l: enable uart1 ARM: dts: aspeed: quanta-q71l: enable lpc_ctrl node ARM: dts: aspeed: tiogapass: Add uarts for SoL ARM: dts: aspeed: tiogapass: Add LPC devices ARM: dts: aspeed: Add Inspur on5263m5 BMC ARM: dts: aspeed: tiogapass: Add sensors ARM: dts: aspeed: tiogapass: Enable KCS ARM: dts: aspeed: Add KCS support for LPC BMC ARM: dts: aspeed: Add #interrupt-cells property to gpio controllers ARM: dts: aspeed-palmetto: Add i2c OCC hwmon node ARM: dts: aspeed: stardragon4800: Add power supply Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'sunxi-dt64-for-5.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt Allwinner DT64 changes for 5.1 A few small improvements for the A64 this cycle: - ARM PMU added - Allwinner ARM architected timer workaround enabled This works around timer value wrapping found in the Allwinner implementation of the ARM architected timer. * tag 'sunxi-dt64-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: a64: Enable A64 timer workaround arm64: dts: allwinner: a64: Fix a typo arm64: dts: allwinner: a64: Add PMU node Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'sunxi-dt-for-5.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt Allwinner DT changes for 5.1 As usual, this is a random assortment of changes: - ARM PMU is enabled on the A10 - The first usage of the PIO pinbank regulator supplies added, for the Bananapi - Broadcom-based Bluetooth enabled on the Bananapi M2 Magic and M2 Ultra, using the serdev bindings - Video codec added for the A10 - Display pipeline for the A23 added and enabled for the generic Q8 tablets * tag 'sunxi-dt-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: dts: sun8i-a23-q8: Set compatible string for LCD panel ARM: dts: sun8i-q8-common: Enable display pipeline with RGB LCD panel ARM: dts: sun8i-a23: Add compatible strings to display pipeline device nodes ARM: dts: sun8i-a33: Move display pipeline nodes to a23/a33 common dtsi ARM: dts: sun8i-a23-a33: Move NAND controller device node to sort by address ARM: dts: sun4i-a10: Add Video Engine and reserved memory nodes ARM: dts: sun4i: Add support for the C1 SRAM region with the SRAM controller ARM: dts: sunxi: bananapi-m2-plus: Add Bluetooth device node ARM: dts: sun8i: r40: bananapi-m2-ultra: Add Bluetooth device node ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix WiFi regulator definitions ARM: dts: sun8i: r40: Add pinmux setting for CLK_OUT_A ARM: dts: sun8i: r40: Add pinmux settings for UART3 on PG pingroup ARM: dts: sun7i: bananapi: Add GPIO banks regulators ARM: dts: sun4i-a10: Add PMU node Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'renesas-arm64-dt-for-v5.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/dt Renesas ARM64 Based SoC DT Updates for v5.1 R-Car H3 (r8a7795) SoC - Sort i2c and pciec0 nodes within soc node R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs - Remove BUSIF0 settings from rcar_sound,ssi R-Car M3-W (r8a7796) based Salvator-XS board - Convert to new LVDS DT bindings R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) based ULCB boards - Use audio-graph-card to allow secondary sound device on kingfisher daugher board - Add HDMI sound support Kingfisher daughterboard for R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) based ULCB boards - Add pcm3168 sound codec R-Car E3 (r8a77990) SoC - Enable DMA for SCIF2 R-Car E3 (r8a77990) based Ebisu board - HS400 for onboard eMMC - Use simple-audio-card rather than simple-scu-audio-card - Correct EthernetAVB phy mode as rgmii - Add backlight and follow-up to correct duplicate regulator number R-Car V3M (r8a77970) based v3msk starter kit - Specify EtherAVB PHY IRQ now that GPIO support is present R-Car D3 (r8a77995) based draak board - Set better backlight levels RZ/G2M (r8a774a1) SoC - Correct hsusb reg size RZ/G2E (r8a774c0) SoC - Intial SoC DT - Add: and SYS-DMAC controller, SCIF, HSCIF, INTC-EX PFC, GPIO, Ethernet AVB, watchdog, secondary CA3 core, SDHI, I2C, IIC-DVFS, IPMU, CAN, thermal, MSIOF, audio, PWM, display output, USB2.0, USB-DMAC, HSUSB, USB3.0, IPMMU, PCIe, VIN and CSI-2 support - A follow-up patch included in this pull-request enables DMA for SCIF2 so that DMA is enabled for all SCIF nodes * tag 'renesas-arm64-dt-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (44 commits) arm64: dts: renesas: r8a77990: ebisu: Enable HS400 of SDHI3 arm64: dts: renesas: r8a77990: Enable DMA for SCIF2 arm64: dts: renesas: r8a774c0: Enable DMA for SCIF2 arm64: dts: renesas: r8a77990: ebisu: Fix backlight regulator numbering arm64: dts: renesas: v3msk: specify EtherAVB PHY IRQ arm64: dts: renesas: r8a77990-ebisu: use simple-audio-card arm64: dts: renesas: r8a7796: remove BUSIF0 settings from rcar_sound,ssi arm64: dts: renesas: r8a7795: remove BUSIF0 settings from rcar_sound,ssi arm64: dts: renesas: ulcb-kf: add pcm3168 sound codec arm64: dts: renesas: ulcb: add HDMI sound support arm64: dts: renesas: ulcb: use audio-graph-card arm64: dts: renesas: r8a7796: salvator-xs: Convert to new LVDS DT bindings arm64: dts: renesas: r8a77990: Sort i2c nodes within soc node arm64: dts: renesas: r8a77990: sort pciec0 node within soc node arm64: dts: renesas: r8a774a1: Fix hsusb reg size arm64: dts: renesas: r8a774c0: Add VIN and CSI-2 device nodes arm64: dts: renesas: r8a774c0: Add PCIe device node arm64: dts: renesas: r8a774c0: Connect RZ/G2E Audio-DMAC to IPMMU arm64: dts: renesas: r8a774c0: Connect RZ/G2E AVB to IPMMU arm64: dts: renesas: r8a774c0: Connect RZ/G2E SYS-DMAC to IPMMU ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'integrator-dts-v5.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into arm/dt This updates the Integrator DTS files with the device tree nodes required by the DRM driver. * tag 'integrator-dts-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: dts: Augment panel setting for Integrator/CP Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'nomadik-dts-v5.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt This add the new display driver and DRM driver device nodes to the Nomadik NHK8815. * tag 'nomadik-dts-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik: ARM: dts: nomadik: Augment NHK15 panel setting Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30arm64: dts: Remove inconsistent use of 'arm,armv8' compatible stringRob Herring
The 'arm,armv8' compatible string is only for software models. It adds little value otherwise and is inconsistently used as a fallback on some platforms. Remove it from those platforms. This fixes warnings generated by the DT schema. Reported-by: Michal Simek <michal.simek@xilinx.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Will Deacon <will.deacon@arm.com> Acked-by: Antoine Tenart <antoine.tenart@bootlin.com> Acked-by: Nishanth Menon <nm@ti.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Acked-by: Chanho Min <chanho.min@lge.com> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com> Acked-by: Thierry Reding <treding@nvidia.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Acked-by: Simon Horman <horms+renesas@verge.net.au> Acked-by: Tero Kristo <t-kristo@ti.com> Acked-by: Wei Xu <xuwei5@hisilicon.com> Acked-by: Liviu Dudau <liviu.dudau@arm.com> Acked-by: Matthias Brugger <matthias.bgg@gmail.com> Acked-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Scott Branden <scott.branden@broadcom.com> Acked-by: Kevin Hilman <khilman@baylibre.com> Acked-by: Chunyan Zhang <zhang.lyra@gmail.com> Acked-by: Robert Richter <rrichter@cavium.com> Acked-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> Acked-by: Dinh Nguyen <dinguyen@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30ARM: dts: Kill off skeleton{64}.dtsiRob Herring
Remove the usage of skeleton.dtsi in the remaining dts files. It was deprecated since commit 9c0da3cc61f1 ("ARM: dts: explicitly mark skeleton.dtsi as deprecated"). This will make adding a unit-address to memory nodes easier. The main tricky part to removing skeleton.dtsi is we could end up with no /memory node at all when a bootloader depends on one being present. I hacked up dtc to check for this condition. Acked-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Acked-by: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Antoine Tenart <antoine.tenart@bootlin.com> Acked-by: Alexandre TORGUE <alexandre.torgue@st.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Vladimir Zapolskiy <vz@mleia.com> Tested-by: Kevin Hilman <khilman@baylibre.com> Reviewed-by: Kevin Hilman <khilman@baylibre.com> Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com> Tested-by: Gregory CLEMENT <gregory.clement@bootlin.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'stm32-dt-for-v4.21-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt STM32 DT updates for v4.21, round 1 Highlights: ---------- -MPU STM32MP157 platform update: -Declare DMAs for timers -Add sleep support for CAN -Split CAN RAM mapping between the 2 FDCAN instances -Add support of thermal sensor (DTS) * tag 'stm32-dt-for-v4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: ARM: dts: stm32: add thermal sensor support on STM32MP157c ARM: dts: stm32: add can1 sleep pins muxing on stm32mp157c-ev1 board ARM: dts: stm32: add can1 sleep pins muxing ARM: dts: stm32: change CAN RAM mapping on stm32mp157c ARM: dts: stm32: don't use timers dmas on stm32mp157c-ev1 ARM: dts: stm32: don't use timers dmas on stm32mp157c-ed1 ARM: dts: stm32: Add dmas to timer on stm32mp157c Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30x86/asm/suspend: Drop ENTRY from local dataJiri Slaby
ENTRY is intended for functions and shall be paired with ENDPROC. ENTRY also aligns symbols which creates unnecessary holes between data. So drop ENTRY from saved_eip in wakeup_32 and many saved_* in wakeup_64, as these symbols are local only. One could've used SYM_DATA_LOCAL for these symbols, but it was discouraged earlier: https://lkml.kernel.org/r/20170427124310.GC23352@amd Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Pavel Machek <pavel@ucw.cz> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Len Brown <len.brown@intel.com> Cc: linux-arch@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: Thomas Gleixner <tglx@linutronix.de> Cc: x86-ml <x86@kernel.org> Link: https://lkml.kernel.org/r/20190130124711.12463-3-jslaby@suse.cz
2019-01-31powerpc/mm: Add _PAGE_SAO to _PAGE_CACHE_CTL maskReza Arbab
In htab_convert_pte_flags(), _PAGE_CACHE_CTL is used to check for the _PAGE_SAO flag: else if ((pteflags & _PAGE_CACHE_CTL) == _PAGE_SAO) rflags |= (HPTE_R_W | HPTE_R_I | HPTE_R_M); But, it isn't defined to include that flag: #define _PAGE_CACHE_CTL (_PAGE_NON_IDEMPOTENT | _PAGE_TOLERANT) This happens to work, but only because of the flag values: #define _PAGE_SAO 0x00010 /* Strong access order */ #define _PAGE_NON_IDEMPOTENT 0x00020 /* non idempotent memory */ #define _PAGE_TOLERANT 0x00030 /* tolerant memory, cache inhibited */ To prevent any issues if these particulars ever change, add _PAGE_SAO to the mask. Suggested-by: Charles Johns <crjohns@us.ibm.com> Signed-off-by: Reza Arbab <arbab@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-31powerpc/cell: Remove duplicate headerSabyasachi Gupta
Remove linux/syscalls.h which is included more than once Signed-off-by: Sabyasachi Gupta <sabyasachi.linux@gmail.com> Acked-by: Souptick Joarder <jrdr.linux@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-30powerpc/powernv: Remove duplicate headerSabyasachi Gupta
Remove linux/printk.h which is included more than once. Signed-off-by: Sabyasachi Gupta <sabyasachi.linux@gmail.com> Acked-by: Souptick Joarder <jrdr.linux@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-30powerpc/kernel/time: Remove duplicate headerBrajeswar Ghosh
Remove linux/rtc.h which is included more than once Signed-off-by: Brajeswar Ghosh <brajeswar.linux@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-30powerpc/traps: Fix the message printed when stack overflowsChristophe Leroy
Today's message is useless: [ 42.253267] Kernel stack overflow in process (ptrval), r1=c65500b0 This patch fixes it: [ 66.905235] Kernel stack overflow in process sh[356], r1=c65560b0 Fixes: ad67b74d2469 ("printk: hash addresses printed with %p") Cc: stable@vger.kernel.org # v4.15+ Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> [mpe: Use task_pid_nr()] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-30powerpc/pseries: Perform full re-add of CPU for topology update post-migrationNathan Fontenot
On pseries systems, performing a partition migration can result in altering the nodes a CPU is assigned to on the destination system. For exampl, pre-migration on the source system CPUs are in node 1 and 3, post-migration on the destination system CPUs are in nodes 2 and 3. Handling the node change for a CPU can cause corruption in the slab cache if we hit a timing where a CPUs node is changed while cache_reap() is invoked. The corruption occurs because the slab cache code appears to rely on the CPU and slab cache pages being on the same node. The current dynamic updating of a CPUs node done in arch/powerpc/mm/numa.c does not prevent us from hitting this scenario. Changing the device tree property update notification handler that recognizes an affinity change for a CPU to do a full DLPAR remove and add of the CPU instead of dynamically changing its node resolves this issue. Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com> Signed-off-by: Michael W. Bringmann <mwb@linux.vnet.ibm.com> Tested-by: Michael W. Bringmann <mwb@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-01-30x86/hw_breakpoints, kprobes: Remove kprobes ifdefferyBorislav Petkov
Remove the ifdeffery in the breakpoint parsing arch_build_bp_info() by adding a within_kprobe_blacklist() stub for the !CONFIG_KPROBES case. It is returning true when kprobes are not enabled to mean that any address is within the kprobes blacklist on such kernels and thus not allow kernel breakpoints on non-kprobes kernels. Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Frederic Weisbecker <frederic@kernel.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: https://lkml.kernel.org/r/20190127131237.4557-1-bp@alien8.de
2019-01-30ARM: tango: Improve ARCH_MULTIPLATFORM compatibilityMarc Gonzalez
Calling platform-specific code unconditionally blows up when running an ARCH_MULTIPLATFORM kernel on a different platform. Don't do it. Reported-by: Paolo Pisati <p.pisati@gmail.com> Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr> Acked-by: Pavel Machek <pavel@ucw.cz> Cc: stable@vger.kernel.org # v4.8+ Fixes: a30eceb7a59d ("ARM: tango: add Suspend-to-RAM support") Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'renesas-fixes3-for-v5.0' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/fixes Third Round of Renesas ARM Based SoC Fixes for v5.0 * Convert to new LVDS DT bindings fixing a regression introduced in v4.17 * tag 'renesas-fixes3-for-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: dts: r8a7743: Convert to new LVDS DT bindings Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'sunxi-fixes-for-5.0' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes Allwinner Fixes for 5.0 A couple of device tree fixes for the 5.0 cycle: - Add missing clock-output-names for the osc24M clock on sun6i/A31 The Linux clock driver uses the device node as the clock name if the property is missing. The node name was changed in 5.0-rc1, breaking a subtle dependency in the sunxi-ng clock driver, and renders Linux unable to completely boot up. - Add alias for Ethernet controller on Beelink X2 This allows the bootloader to assign a deterministically generated MAC address to it. - Add property to enable USB VBUS regulator on OrangePi Win The board had defined the constraints for the regulator, but was missing the property to actually enable it. * tag 'sunxi-fixes-for-5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: a64: Fix USB OTG regulator ARM: dts: sun8i: h3: Add ethernet0 alias to Beelink X2 ARM: dts: sun6i: Add clock-output-names to osc24M clock arm64: dts: allwinner: a64: Fix the video engine compatible Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'amlogic-fixes-2.1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/fixes Amlogic fixes for v5.0-rc, round 2 - several fixups for the GPIO cd-inverted change - IRQ trigger fixes for MAC IRQ * tag 'amlogic-fixes-2.1' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: arm64: dts: meson: Fix mmc cd-gpios polarity ARM: dts: meson8m2: mxiii-plus: mark the SD card detection GPIO active-low ARM: dts: meson8b: ec100: mark the SD card detection GPIO active-low ARM: dts: meson8b: odroidc1: mark the SD card detection GPIO active-low arm: dts: meson: Fix IRQ trigger type for macirq Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30ARM: iop32x/n2100: fix PCI IRQ mappingRussell King
Booting 4.20 on a TheCUS N2100 results in a kernel oops while probing PCI, due to n2100_pci_map_irq() having been discarded during boot. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Cc: stable@vger.kernel.org # 2.6.18+ Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'omap-for-v5.0/fixes-rc3' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes Device tree fixes for omaps for v5.0-rc cycle This series of dts fixes for omap devices fixes several device specific regressions: - The onenand timings for n950/n9 have been wrong for a while since we moved to dts based timings - A typo for the cpcap pmic is now producing erors during boot as the level should be 0 for unconfigurable triggering instead of 1 - Changes for ti-sysc for omap5 left uart3 with debug flags that should not be set - Fix a new dtc warning started showing up for omap3-gta04 grap_port - With the generic MMC card detection code we need to fix the gpio in dts for n900 and am335x-shc * tag 'omap-for-v5.0/fixes-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: am335x-shc.dts: fix wrong cd pin level ARM: dts: n900: fix mmc1 card detect gpio polarity ARM: dts: omap3-gta04: Fix graph_port warning ARM: dts: Remove unnecessary idle flags for omap5 uart3 ARM: dts: omap4-droid4: Fix typo in cpcap IRQ flags ARM: OMAP: dts: N950/N9: fix onenand timings Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'davinci-fixes-for-v5.0-part2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into arm/fixes This fixes a long standing typo in device-tree for DA850 in interrupt number for timer. It did not affect us so far because we use non-DT timer driver within mach-davinci. This was caught while migrating to clocksource driver. * tag 'davinci-fixes-for-v5.0-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: dts: da850: fix interrupt numbers for clocksource Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'qcom-fixes-for-5.0-rc3' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into arm/fixes Qualcomm ARM64 Fixes for 5.0-rc3 * Fix irq controller compatible for the MSM8996 platforms * tag 'qcom-fixes-for-5.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: arm64: dts: add msm8996 compatible to gicv3 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'renesas-fixes2-for-v5.0' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/fixes Second Round of Renesas ARM Based SoC Fixes for v5.0 Enable DMA for SCIF2 on R-Car M3-W (r8a7796) and M3-n (r8a77965), and (RZ/G2M) r8a774a1 SoCs. This is was omitted from patches enabling DMA for other SCIF devices on the same SoCs due to missing documentation. However, it is regarded as a fix as arguably those patches claim to add this feature. Per-SoC patches are provided to ease backporting of this fix as the kernel version to be fixed is different for each SoC. * tag 'renesas-fixes2-for-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: renesas: r8a77965: Enable DMA for SCIF2 arm64: dts: renesas: r8a7796: Enable DMA for SCIF2 arm64: dts: renesas: r8a774a1: Enable DMA for SCIF2 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'pxa-fixes-5.0' of https://github.com/rjarzmik/linux into arm/fixesArnd Bergmann
This is the pxa fixes set for v4.20 cycle: - only a single devm allocated pointer free fix, which was never triggered runtime but code analysis found. * tag 'pxa-fixes-5.0' of https://github.com/rjarzmik/linux: ARM: pxa: ssp: unneeded to free devm_ allocated data Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30Merge tag 'imx-fixes-5.0' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes i.MX fixes for 5.0: - Fix spi_bus_bridge DTC warning by correcting '#address-cells' of dspi3 node on vf610-bk4 board, as it's being used a SPI slave controller there. - Replace deprecated gpio-key,wakeup property with wakeup-source for board imx6q-pistachio and imx6sll-evk, into which the deprecated property sneaked during the merge window. - Correct the backward compatible for i.MX6SX GPT device, as it's actually compatible with i.MX6DL GPT rather than i.MX31 one. * tag 'imx-fixes-5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx6sx: correct backward compatible of gpt ARM: dts: imx: replace gpio-key,wakeup with wakeup-source property ARM: dts: vf610-bk4: fix incorrect #address-cells for dspi3 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-29Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
2019-01-30ARM: dts: aspeed: quanta-q71l: enable uart1Patrick Venture
Enable the uart1 node such that the clock will be enabled. Signed-off-by: Patrick Venture <venture@google.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-01-30ARM: dts: aspeed: quanta-q71l: enable lpc_ctrl nodePatrick Venture
Enable the lpc_ctrl node in the quanta-q71l dts such that the LPC_CLK is enabled. Signed-off-by: Patrick Venture <venture@google.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-01-30ARM: dts: aspeed: tiogapass: Add uarts for SoLVijay Khemka
Added uart2 and uart3 in Facebook Tiogapass for routing serial input from Host to BMC for SoL via LPC. Signed-off-by: Vijay Khemka <vijaykhemka@fb.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-01-30ARM: dts: aspeed: tiogapass: Add LPC devicesVijay Khemka
Added lpc control for enabling lpc clock and lpc snoop devices to Facebook Tiogapass device tree. Signed-off-by: Vijay Khemka <vijaykhemka@fb.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-01-29ARM: dts: socfpga: update more missing reset propertiesSimon Goldschmidt
Add reset property for dma, can and sdram on socfpga gen5. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2019-01-29x86/speculation: Add PR_SPEC_DISABLE_NOEXECWaiman Long
With the default SPEC_STORE_BYPASS_SECCOMP/SPEC_STORE_BYPASS_PRCTL mode, the TIF_SSBD bit will be inherited when a new task is fork'ed or cloned. It will also remain when a new program is execve'ed. Only certain class of applications (like Java) that can run on behalf of multiple users on a single thread will require disabling speculative store bypass for security purposes. Those applications will call prctl(2) at startup time to disable SSB. They won't rely on the fact the SSB might have been disabled. Other applications that don't need SSBD will just move on without checking if SSBD has been turned on or not. The fact that the TIF_SSBD is inherited across execve(2) boundary will cause performance of applications that don't need SSBD but their predecessors have SSBD on to be unwittingly impacted especially if they write to memory a lot. To remedy this problem, a new PR_SPEC_DISABLE_NOEXEC argument for the PR_SET_SPECULATION_CTRL option of prctl(2) is added to allow applications to specify that the SSBD feature bit on the task structure should be cleared whenever a new program is being execve'ed. Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Waiman Long <longman@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Borislav Petkov <bp@alien8.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: linux-doc@vger.kernel.org Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: David Woodhouse <dwmw@amazon.co.uk> Cc: Jiri Kosina <jikos@kernel.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: KarimAllah Ahmed <karahmed@amazon.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Link: https://lkml.kernel.org/r/1547676096-3281-1-git-send-email-longman@redhat.com
2019-01-29x86/boot: Save several bytes in decompressorCao jin
gdt64 represents the content of GDTR under x86-64, which actually needs 10 bytes only, ".long" & ".word" is superfluous. Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: <bp@alien8.de> Cc: <hpa@zytor.com> Link: https://lkml.kernel.org/r/20190123100014.23721-1-caoj.fnst@cn.fujitsu.com
2019-01-29x86/trap: Remove useless declarationPingfan Liu
There is no early_trap_pf_init() implementation, hence remove this useless declaration. Signed-off-by: Pingfan Liu <kernelfans@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Borislav Petkov <bp@alien8.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Link: https://lkml.kernel.org/r/1546591579-23502-1-git-send-email-kernelfans@gmail.com