Commit Graph

129978 Commits

Author SHA1 Message Date
Al Viro
e98b9e37ae microblaze: fix __get_user()
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:17 -04:00
Al Viro
d0cf385160 microblaze: fix copy_from_user()
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:17 -04:00
Al Viro
c90a3bc506 m32r: fix __get_user()
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:16 -04:00
Al Viro
8f035983dd blackfin: fix copy_from_user()
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:16 -04:00
Al Viro
917400cecb sparc32: fix copy_from_user()
Cc: stable@vger.kernel.org
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:15 -04:00
Al Viro
6e050503a1 sh: fix copy_from_user()
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:15 -04:00
Al Viro
c685238922 sh64: failing __get_user() should zero
It could be done in exception-handling bits in __get_user_b() et.al.,
but the surgery involved would take more knowledge of sh64 details
than I have or _want_ to have.

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:14 -04:00
Al Viro
b615e3c746 score: fix copy_from_user() and friends
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:14 -04:00
Al Viro
c2f18fa4cb score: fix __get_user/get_user
* should zero on any failure
* __get_user() should use __copy_from_user(), not copy_from_user()

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:13 -04:00
Al Viro
fd2d2b191f s390: get_user() should zero on failure
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:13 -04:00
Al Viro
224264657b ppc32: fix copy_from_user()
should clear on access_ok() failures.  Also remove the useless
range truncation logics.

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:50:02 -04:00
Al Viro
aace880fee parisc: fix copy_from_user()
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:44 -04:00
Al Viro
acb2505d01 openrisc: fix copy_from_user()
... that should zero on faults.  Also remove the <censored> helpful
logics wrt range truncation copied from ppc32.  Where it had ever
been needed only in case of copy_from_user() *and* had not been merged
into the mainline until a month after the need had disappeared.
A decade before openrisc went into mainline, I might add...

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:44 -04:00
Al Viro
2e29f50ad5 nios2: fix __get_user()
a) should not leave crap on fault
b) should _not_ require access_ok() in any cases.

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:43 -04:00
Al Viro
e33d1f6f72 nios2: copy_from_user() should zero the tail of destination
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:43 -04:00
Al Viro
ae7cc577ec mn10300: copy_from_user() should zero on access_ok() failure...
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:42 -04:00
Al Viro
43403eabf5 mn10300: failing __get_user() and get_user() should zero
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:42 -04:00
Al Viro
e69d700535 mips: copy_from_user() must zero the destination on access_ok() failure
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:41 -04:00
Vineet Gupta
05d9d0b96e ARC: uaccess: get_user to zero out dest in cause of fault
Al reported potential issue with ARC get_user() as it wasn't clearing
out destination pointer in case of fault due to bad address etc.

Verified using following

| {
|  	u32 bogus1 = 0xdeadbeef;
|	u64 bogus2 = 0xdead;
|	int rc1, rc2;
|
|  	pr_info("Orig values %x %llx\n", bogus1, bogus2);
|	rc1 = get_user(bogus1, (u32 __user *)0x40000000);
|	rc2 = get_user(bogus2, (u64 __user *)0x50000000);
|	pr_info("access %d %d, new values %x %llx\n",
|		rc1, rc2, bogus1, bogus2);
| }

| [ARCLinux]# insmod /mnt/kernel-module/qtn.ko
| Orig values deadbeef dead
| access -14 -14, new values 0 0

Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:41 -04:00
Al Viro
8ae95ed4ae metag: copy_from_user() should zero the destination on access_ok() failure
Cc: stable@vger.kernel.org
Acked-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:40 -04:00
Al Viro
a5e541f796 ia64: copy_from_user() should zero the destination on access_ok() failure
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:40 -04:00
Al Viro
f35c1e0671 hexagon: fix strncpy_from_user() error return
It's -EFAULT, not -1 (and contrary to the comment in there,
__strnlen_user() can return 0 - on faults).

Cc: stable@vger.kernel.org
Acked-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:39 -04:00
Al Viro
3b8767a8f0 frv: fix clear_user()
It should check access_ok().  Otherwise a bunch of places turn into
trivially exploitable rootholes.

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:39 -04:00
Al Viro
eb47e0293b cris: buggered copy_from_user/copy_to_user/clear_user
* copy_from_user() on access_ok() failure ought to zero the destination
* none of those primitives should skip the access_ok() check in case of
small constant size.

Cc: stable@vger.kernel.org
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:38 -04:00
Linus Torvalds
5924bbecd0 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
 "Three fixes:

   - AMD microcode loading fix with randomization

   - an lguest tooling fix

   - and an APIC enumeration boundary condition fix"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/apic: Fix num_processors value in case of failure
  tools/lguest: Don't bork the terminal in case of wrong args
  x86/microcode/AMD: Fix load of builtin microcode with randomized memory
2016-09-13 12:52:45 -07:00
Linus Torvalds
ee319d5834 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Ingo Molnar:
 "This contains:

   - a set of fixes found by directed-random perf fuzzing efforts by
     Vince Weaver, Alexander Shishkin and Peter Zijlstra

   - a cqm driver crash fix

   - an AMD uncore driver use after free fix"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf/x86/intel: Fix PEBSv3 record drain
  perf/x86/intel/bts: Kill a silly warning
  perf/x86/intel/bts: Fix BTS PMI detection
  perf/x86/intel/bts: Fix confused ordering of PMU callbacks
  perf/core: Fix aux_mmap_count vs aux_refcount order
  perf/core: Fix a race between mmap_close() and set_output() of AUX events
  perf/x86/amd/uncore: Prevent use after free
  perf/x86/intel/cqm: Check cqm/mbm enabled state in event init
  perf/core: Remove WARN from perf_event_read()
2016-09-13 12:47:29 -07:00
Linus Torvalds
7c2c114416 Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI fixes from Ingo Molnar:
 "This contains a Xen fix, an arm64 fix and a race condition /
  robustization set of fixes related to ExitBootServices() usage and
  boundary conditions"

* 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/efi: Use efi_exit_boot_services()
  efi/libstub: Use efi_exit_boot_services() in FDT
  efi/libstub: Introduce ExitBootServices helper
  efi/libstub: Allocate headspace in efi_get_memory_map()
  efi: Fix handling error value in fdt_find_uefi_params
  efi: Make for_each_efi_memory_desc_in_map() cope with running on Xen
2016-09-13 12:02:00 -07:00
Masahiro Yamada
f148b41e8b x86: Clean up various simple wrapper functions
Remove unneeded variables and assignments.

While we are here, let's fix the following as well:

  - Remove unnecessary parentheses
  - Remove unnecessary unsigned-suffix 'U' from constant values
  - Reword the comment in set_apic_id() (suggested by Thomas Gleixner)

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alex Thorlton <athorlton@sgi.com>
Cc: Andrew Banman <abanman@sgi.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Daniel J Blueman <daniel@numascale.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Dimitri Sivanich <sivanich@sgi.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Mike Travis <travis@sgi.com>
Cc: Nathan Zimmer <nzimmer@sgi.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steffen Persvold <sp@numascale.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: Wei Jiangang <weijg.fnst@cn.fujitsu.com>
Link: http://lkml.kernel.org/r/1473573502-27954-1-git-send-email-yamada.masahiro@socionext.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-09-13 20:42:58 +02:00
Andy Lutomirski
85063fac1f x86/entry/64: Clean up and document espfix64 stack setup
The espfix64 setup code was a bit inscrutible and contained an
unnecessary push of RAX.  Remove that push, update all the stack
offsets to match, and document the whole mess.

Reported-By: Borislav Petkov <bp@alien8.de>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/e5459eb10cf1175c8b36b840bc425f210d045f35.1473717910.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-09-13 20:34:16 +02:00
Ingo Molnar
5465fe0fc3 Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into efi/core
Pull EFI updates from Matt Fleming:

"* Refactor the EFI memory map code into architecture neutral files
   and allow drivers to permanently reserve EFI boot services regions
   on x86, as well as ARM/arm64 - Matt Fleming

 * Add ARM support for the EFI esrt driver - Ard Biesheuvel

 * Make the EFI runtime services and efivar API interruptible by
   swapping spinlocks for semaphores - Sylvain Chouleur

 * Provide the EFI identity mapping for kexec which allows kexec to
   work on SGI/UV platforms with requiring the "noefi" kernel command
   line parameter - Alex Thorlton

 * Add debugfs node to dump EFI page tables on arm64 - Ard Biesheuvel

 * Merge the EFI test driver being carried out of tree until now in
   the FWTS project - Ivan Hu

 * Expand the list of flags for classifying EFI regions as "RAM" on
   arm64 so we align with the UEFI spec - Ard Biesheuvel

 * Optimise out the EFI mixed mode if it's unsupported (CONFIG_X86_32)
   or disabled (CONFIG_EFI_MIXED=n) and switch the early EFI boot
   services function table for direct calls, alleviating us from
   having to maintain the custom function table - Lukas Wunner

 * Miscellaneous cleanups and fixes"

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-09-13 20:21:55 +02:00
Arnd Bergmann
292cc1affb Merge tag 'sunxi-dt-for-4.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/late
Merge "Allwinner DT changes for 4.9, take 2" from Maxime Ripard:

A second set of device tree changes, this time switching a few SoCs to the
new sunxi-ng clock framework. We also added the support for a new SoC
(NextThing GR8 and its evaluation board), and the support for the DRM
driver in the A33.

To maintain bisectability, while avoiding some un-trivial merge
conflicts, I had to merge the clk branch that I've sent a PR to Mike
and Stephen. This branch will of course be stable.

* tag 'sunxi-dt-for-4.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (53 commits)
  ARM: dts: gr8: Add support for the GR8 evaluation board
  ARM: dts: Add NextThing GR8 dtsi
  ARM: dts: sun8i: Move A23/A33 usbphy and usb_otg nodes to common dtsi
  ARM: sun8i: a23/a33: Add RGB666 pins
  ARM: sun8i: a33: Add display pipeline
  ARM: sun8i: Convert the A23 and A33 to the CCU
  ARM: dts: sun6i: switch A31/A31s to new CCU clock bindings
  clk: sunxi-ng: Add hardware dependency
  clk: sunxi-ng: Add A23 CCU
  clk: sunxi-ng: Add A33 CCU support
  clk: sunxi-ng: Add N-class clocks support
  clk: sunxi-ng: mux: Add mux table macro
  clk: sunxi-ng: div: Allow to set a maximum
  clk: sunxi-ng: div: Add kerneldoc for the _ccu_div structure
  clk: sunxi-ng: div: Add mux table macros
  devicetree: Add vendor prefix for FriendlyARM
  ARM: dts: sun8i: Add dts file for the NanoPi NEO SBC
  ARM: dts: sun8i-q8-common: Add support for SDIO wifi controllers
  ARM: dts: sun8i: Add dts file for the Orange Pi Plus2E SBC
  ARM: dts: sun8i: Orange Pi Plus dts is for the Plus and Plus 2
  ...
2016-09-13 17:51:23 +02:00
Arnd Bergmann
327c2c1562 Merge tag 'clcd-nomadik' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt
Pull "CLCD graphics on the Nomadik NHK15" from Linus Walleij:

* tag 'clcd-nomadik' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: add the CLCD LCD display to the NHK15
  ARM: dts: add PMU to the NHK15 device tree
  ARM: nomadik: select MFD_SYSCON
  dt-bindings: Add TPO TPG110 binding
  dt-bindings: add vendor TPO
  ARM: dts: add STMPE PWM to the NHK15 device tree
2016-09-13 17:43:48 +02:00
Arnd Bergmann
4dbacf2cde Merge tag 'imx-dt-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt
Pull "i.MX device tree changes for 4.9" from Shawn Guo:

 - Add SoC support for i.MX7 Solo which is a reduced version of i.MX7
   Dual.
 - New board support: Gateworks Ventana i.MX6Q/DL GW553x, Inverse Path
   i.MX53 USB armory, i.MX6Q/DL TS-4900 from Technologic Systems,
   i.MX6UL GEA M6UL modules from Engicam, i.MX7 Solo Warp7 board.
 - Add DMA and IPU CSI devices for i.MX53 SoC support.
 - Refine i.MX7 Dual SoC DTS as a preparation of i.MX7 Solo support.
 - Use of_graph dt nodes to describe the panel for vf610-colibri and
   ls1021a-twr boards.
 - Add gpio-ranges property to i.MX6 GPIO controllers, which will be
   useful when GPIO driver is changed to request pad configuration as
   GPIO function.
 - Random device additions or small changes for various board support.

* tag 'imx-dt-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (41 commits)
  ARM: dts: add gpio-ranges property to iMX GPIO controllers
  ARM: dts: imx35: add iim module to imx35.dtsi
  ARM: dts: vf610-colibri: use of_graph dt nodes to describe the panel
  ARM: dts: ls1021a: Add of_graph dt nodes to describe the panel
  ARM: dts: imx53: add support for USB armory board
  devicetree: Add vendor prefix for Inverse Path
  ARM: dts: imx7s-warp: Add Bluetooth support
  ARM: dts: imx7s-warp: Add User Button support
  ARM: dts: imx7s-warp: Enable I2C2 device support
  ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support
  ARM: dts: imx6ul iomuxc syscon is compatible to imx6q
  ARM: dts: imx7-colibri: add Audio support
  ARM: dts: imx7-colibri: add basic supply regulators
  ARM: dts: imx7-colibri: move SD-card to module level
  ARM: dts: imx6sx: Add GPU bindings
  ARM: dts: imx7s-warp: Let the codec control MCLK pinctrl
  ARM: dts: imx6ul-pico-hobbit: Use WDOG_B pin reset
  ARM: dts: imx6q-bx50v3: configure unused pca953x pins
  ARM: dts: imx6sx: document SION necessity of ENET1_REF_CLK1
  ARM: dts: imx7s-warp: Use WDOG_B pin reset
  ...
2016-09-13 17:42:20 +02:00
Bharat Kumar Gogada
9413d968f2 microblaze/PCI: Add multidomain support for procfs
We create a procfs directory for every PCI bus.  Previously, the directory
name was just the bus number, so using the same bus number in different
domains caused a kernel crash when we tried to create a duplicate
directory.

Make pci_proc_domain() return the domain number, so procfs directories for
buses in domain 0 are named with just the bus number, and directories for
buses in other domains include both the domain number and the bus number.

[bhelgaas: changelog]
Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
2016-09-13 10:41:48 -05:00
Arnd Bergmann
971b4c6e1a Merge tag 'realview-dts-split' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt
Pull "RealView DTS file fixup and split" from Linus Walleij:

Fix the ethernet issue on revision D of the RealView EB
Split the DTS files in per-revision variants

* tag 'realview-dts-split' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: add RealView EB rev D A9 MPCore variant
  ARM: dts: split RealView EB 11MPCore variants
  ARM: dts: add device tree for the RealView EB Rev D
  ARM: dts: fix RealView EB SMSC ethernet version
2016-09-13 17:41:15 +02:00
Arnd Bergmann
83a9660af6 Merge tag 'tegra-for-4.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt
Pull "ARM: tegra: Device tree changes for v4.9-rc1" from Thierry Reding:

Contains a couple of cleanups for Tegra114 device trees.

* tag 'tegra-for-4.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Correct polarity for Tegra114 PMIC interrupt
  ARM: tegra: Fix Tegra114 USB compatible values
2016-09-13 17:40:17 +02:00
Arnd Bergmann
1f480960e0 Merge tag 'v4.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt
Pull "Rockchip dts32 changes for 4.9" from Heiko Stübner:

32bit Rockchip devicetree changes containing two new rk3288 boards (Fennec
and Firefly-reload), display support for the rk3288-evb, support for the
recently added firmware reboot-flag support and some housekeeping cleanups.

* tag 'v4.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Add sensor-supplies on PopMetal-RK3288 board
  ARM: dts: rockchip: fix L3G4200D i2c address on PopMetal-RK3288 board
  ARM: dts: rockchip: enable usbotg for Popemtal-rk3288 board
  ARM: dts: rockchip: add missing regulators for firefly reload board
  ARM: dts: rockchip: remove excess sd properties from firefly reload
  ARM: dts: rockchip: add syscon-reboot-mode DT node
  soc: rockchip: add reboot-mode header
  ARM: dts: rockchip: move rk3288 usbphy under the GRF node
  ARM: dts: rockchip: add rk3288-firefly-reload
  ARM: dts: rockchip: add dts for RK3288-Fennec boards
  ARM: dts: rockchip: add the panel power supply for rk3288-evb board with rk808 pmu
  ARM: dts: rockchip: add the panel power supply for rk3288-evb board with act8846 pmu
  ARM: dts: rockchip: add eDP/panel display device nodes for rk3288-evb
2016-09-13 17:38:34 +02:00
Paul Burton
801f823dc2 MIPS: c-r4k: Fix size calc when avoiding IPIs for small icache flushes
Commit f70ddc07b6 ("MIPS: c-r4k: Avoid small flush_icache_range SMP
calls") adds checks to force use of hit-type cache ops for small icache
flushes where they are globalised & index-type cache ops aren't, in
order to avoid the overhead of IPIs in those cases. However it
calculated the size of the region being flushed incorrectly, subtracting
the end address from the start address rather than the reverse. This
would have led to an overflow with size wrapping round to some large
value, and likely to the special case for avoiding IPIs not actually
being hit.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Fixes: f70ddc07b6 ("MIPS: c-r4k: Avoid small flush_icache_range SMP calls")
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14211/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-09-13 17:37:20 +02:00
Arnd Bergmann
d9d37f70fe Merge tag 'sunxi-dt-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt
Pull "Allwinner DT changes for 4.9" from Maxime Ripard:

Business as usual on our side, with a mix of new boards and new IPs enabled
on boards:
  - Support for the GPIO found on the AXP PMIC
  - ESP8089 on the relevant boards
  - More boards converted to the reference design and q8 designs
  - New boards: Orange Pi PC Plus, Orange Pi 2, Orange Pi Plus 2E, Orange
    Pi Lite, Olimex A33-Olinuxino, Empire Electronix M712, inet-d978_rev2,
    Nano Pi Neo

* tag 'sunxi-dt-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (31 commits)
  devicetree: Add vendor prefix for FriendlyARM
  ARM: dts: sun8i: Add dts file for the NanoPi NEO SBC
  ARM: dts: sun8i-q8-common: Add support for SDIO wifi controllers
  ARM: dts: sun8i: Add dts file for the Orange Pi Plus2E SBC
  ARM: dts: sun8i: Orange Pi Plus dts is for the Plus and Plus 2
  ARM: dts: sun8i: Add PWM controller node in H3
  ARM: dts: sun8i: Add dts file for inet-d978_rev2 tablets
  ARM: dts: sun9i: Add missing #interrupt-cells to R_PIO pinctrl device node
  ARM: dts: sun8i: Rename reference-design-tablet touchscreen node
  ARM: dts: sun5i: Add dts file for the Empire Electronix M712 tablet
  ARM: dts: sun5i: Convert inet-98v-rev2 dts to use reference-design-tablet.dtsi
  ARM: dts: sun4i: Disable ohci1 on ba10-tv-box
  ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2809
  ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2407
  ARM: dts: sun8i: add NAND controller node for A23/A33
  ARM: dts: sun6i: Add new dts file for tablets using the inet-q972 PCB
  ARM: dts: sun6i: Add sun6i-reference-design-tablet.dtsi
  ARM: dts: sun6i: colorfly-e708-q1: Remove unused mma8452_int_e708_q1 node
  ARM: dts: sun9i: Switch to the AC100 RTC clock outputs for osc32k
  ARM: dts: sun9i: cubieboard4: Add device node for AC100
  ...
2016-09-13 17:36:04 +02:00
Arnd Bergmann
a6023d0500 Merge tag 'renesas-dt2-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.9" from Simon Horman:

Fixes (for v4.9):
* Correct PWM clock parent on r8a7794 SoC

Clean-up:
* Remove obsolete vsp1 properties from r8a779[01] SoCs

New boards:
* Add r8a7792/wheat and r7s72100/rskrza1 boards

Enablement:
* Enable LEDs, DU, SDHI on r8a7792/blanche board
* Enable MMCIF and SDHI on r8a7794/alt board
* Add SPI and VSP1 to r8a7792 SoC
* Add ethernet to r7s72100 SoC

* tag 'renesas-dt2-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (26 commits)
  ARM: dts: wheat: add support for tactile switches
  ARM: dts: wheat: add QSPI support
  ARM: dts: r8a7792: add QSPI support
  ARM: dts: r8a7792: add QSPI clock
  ARM: dts: wheat: add SDHI0 support
  ARM: dts: wheat: add CAN support
  ARM: dts: r8a7794: fix PWM clock parent
  ARM: dts: rskrza1: add ethernet DT support
  ARM: dts: r7s72100: add ethernet to device tree
  ARM: dts: r7s72100: add ethernet clock to device tree
  ARM: dts: rskrza1: initial device tree
  ARM: dts: Add RSKRZA1 DT bindings documentation
  ARM: dts: wheat: add Ethernet support
  ARM: dts: wheat: initial device tree
  ARM: dts: document Wheat board
  ARM: dts: blanche: add support for general purpose LEDs
  ARM: dts: r8a7792: add VSP1V support
  ARM: dts: r8a7792: add VSP1V clocks
  ARM: dts: blanche: add DU support
  ARM: dts: blanche: add SDHI0 support
  ...
2016-09-13 17:34:49 +02:00
Arnd Bergmann
29b48f9860 Merge tag 'lpc18xx_dts_for_4.9_part2' of https://github.com/manabian/linux-lpc into next/dt
Pull "Device Tree clean up for LPC18xx platform" from Joachim Eastwood:

* Removal of skeleton.dtsi from the common armv7-m dtsi together
  with lpc18xx and efm32 platforms.

* Fix for unit address warnings from the dtc on lpc18xx/efm32.
  That is made possible with skeleton.dtsi gone.

* tag 'lpc18xx_dts_for_4.9_part2' of https://github.com/manabian/linux-lpc:
  ARM: dts: efm32: remove skeleton.dtsi include and fix unit address warnings
  ARM: dts: lpc18xx: remove skeleton.dtsi include and fix unit address warnings
  ARM: dts: armv7-m: remove skeleton.dtsi include
2016-09-13 17:32:51 +02:00
Arnd Bergmann
72f61d2e92 Merge tag 'mvebu-dt-4.9-1' of git://git.infradead.org/linux-mvebu into next/dt
Pull "mvebu dt for 4.9 (part 1)" from Gregory CLEMENT:

- update for Armada XP/38x allowing using direct access SPI
- various improvement for Armada 39x platforms
- add pinctrl information for NANd on Armada 38x
- fix the kirkwood based Openblock A6 external GPIO pins

* tag 'mvebu-dt-4.9-1' of git://git.infradead.org/linux-mvebu:
  ARM: dts: mvebu: fix reference to a390 spi controller
  ARM: dts: armada-38x: Add NAND pinctrl information
  ARM: dts: kirkwood: Fix Openblock A6 external GPIO pins
  ARM: dts: mvebu: armada-395-gp: add support for the Armada 395 GP Board
  ARM: dts: mvebu: armada-390-db: add support for the Armada 390 DB board
  ARM: dts: mvebu: armada-398-db: enable supported usb interfaces
  ARM: dts: mvebu: armada-398: update the dtsi about missing interfaces
  ARM: dts: mvebu: armada-395: add support for the Armada 395 SoC family
  ARM: dts: mvebu: armada-39x: enable rtc for all Armada-39x SoCs
  ARM: dts: mvebu: armada-39x: add missing nodes describing GPIO's
  ARM: dts: mvebu: armada-39x: enable watchdog for all Armada-39x SoCs
  ARM: dts: mvebu: armada-39x: enable the thermal sensor in Armada-39x SoCs
  ARM: dts: mvebu: armada-39x: enable PMU, CA9 SoC Controller and Coherency fabric
  ARM: dts: mvebu: armada-39x: update the SDHCI node on Armada 39x
  ARM: dts: mvebu: armada-390: add missing compatibility string and bracket
  ARM: dts: mvebu: a385-db-ap: add default partition description for NAND
  ARM: dts: mvebu: a385-db-ap: enable USB (orion-ehci) port
  ARM: dts: mvebu: armada-370-xp: Add MBus mappings for all SPI devices
  ARM: dts: mvebu: A37x/XP/38x/39x: Move SPI controller nodes into 'soc' node
  ARM: dts: mvebu: Add SPI1 pinctrl defines for Armada XP
2016-09-13 17:31:16 +02:00
Arnd Bergmann
9992f21333 Merge tag 'qcom-dts-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt
Pull "Qualcomm Device Tree Changes for v4.9" from Andy Gross:

* Rework dr_mode on APQ8064 and Nexus7
* Add MSM8974 BLSP1 UART1 port
* Add AP148 SATA mapping
* Add support for LG Nexus 5 (Hammerhead)
* Fixup MSM8660/MSM8064 SPMI/MPP IRQs
* Add Nexus7 IMEM/reboot reason
* Add Honami touchscreen support
* Add TSENS support on MSM8974, APQ8064, and APQ8084
* Add APQ8060 Dragonboard PM8058 LEDs
* Rework VPH PWR REG for MSM8974

* tag 'qcom-dts-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: dts: msm8974: Move vreg_boost node from the honami to msm8974
  ARM: dts: qcom: msm8974: Add fixed regulator node for vph-pwr-reg
  ARM: dts: add PM8058 LEDs to the APQ8060 Dragonboard
  arm: dts: apq8084: Add thermal zones, tsens and qfprom nodes
  arm: dts: apq8064: Add thermal zones, tsens and qfprom nodes
  arm: dts: msm8974: Add thermal zones, tsens and qfprom nodes
  ARM: dts: msm8974: honami: Add touchscreen
  device-tree: nexus7: Add IMEM syscon and reboot reason support
  ARM: dts: MSM8660 remove flags from SPMI/MPP IRQs
  ARM: dts: MSM8064 remove flags from SPMI/MPP IRQs
  ARM: dts: msm8974-hammerhead: Introduce gpio-keys nodes
  ARM: dts: msm8974-hammerhead: Add regulator nodes for hammerhead
  ARM: dts: qcom: Add initial DTS for LG Nexus 5 Phone
  ipq8064: dts: force AP148 SATA port mapping
  ARM: dts: msm8974: Add nodes for blsp1_uart1 serial port
  device-tree: aqp8064.dtsi: Remove usb phy dr_mode = "host"
  device-tree: nexus7: Set phy mode to otg instead of host
2016-09-13 17:29:08 +02:00
Mark Rutland
9c0da3cc61 ARM: dts: explicitly mark skeleton.dtsi as deprecated
As noted in commit 3ebee5a2e1 ("arm64: dts: kill skeleton.dtsi"),
there are a number of problems with skeleton.dtsi, and it would be
prefereable to remove it entirely. As there are a large number of
existing users, fixing these up will take a while.

This patch adds a note to arm's skeleton.dtsi noting that this is the
case, to make this more obvious and hopefully minimize new uptake of
skeleton.dtsi in the mean time.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Olof Johansson <olof@lixom.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-13 17:28:14 +02:00
Huacai Chen
3cbc6fc9c9 MIPS: Add a missing ".set pop" in an early commit
Commit 842dfc11ea ("MIPS: Fix build with binutils 2.24.51+") missing
a ".set pop" in macro fpu_restore_16even, so add it.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Acked-by: Manuel Lauss <manuel.lauss@gmail.com>
Cc: Steven J . Hill <Steven.Hill@caviumnetworks.com>
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: stable@vger.kernel.org # 3.18+
Patchwork: https://patchwork.linux-mips.org/patch/14210/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-09-13 17:25:11 +02:00
Arnd Bergmann
af3fe47343 Merge tag 'sti-dt-for-v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into next/dt
Pull "STi dts fixes and new STi 96board support" from Patrice Chotard:

Add thermal node for STiH407 family boards
Add specific nodes for STMicroelectronics 96Board
Add new B2260 STi board file = 96Board
Fix ahci issue on STiH407 family
Fix debugfs/pinctrl kernel warning
Update gpio-cells and gpio specifier

* tag 'sti-dt-for-v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  ARM: dts: STiH41x-b2020: Update gpio specifier
  ARM: dts: STiH418-B2199: Update gpio specifier
  ARM: dts: STiH407-pinctrl: Update gpio-cells to 2
  ARM: dts: STi: Introduce B2260 board
  ARM: dts: STiH407-family: Add ports-implemented property in sata nodes
  ARM: dts: STiH407-pinctrl: Add pinctrl_rgmii1_mdio_1 node
  ARM: dts: STiH407: Move non-removable property to board file
  ARM: dts: STiH407-pinctrl: Add i2c2_alt2_1 node
  ARM: dts: STiH410: Add thermal node
  ARM: dts: STiH407: Move pio20 node to fix kernel warning
2016-09-13 17:24:24 +02:00
Matt Redfearn
951c39cd3b MIPS: paravirt: Fix undefined reference to smp_bootstrap
If the paravirt machine is compiles without CONFIG_SMP, the following
linker error occurs

arch/mips/kernel/head.o: In function `kernel_entry':
(.ref.text+0x10): undefined reference to `smp_bootstrap'

due to the kernel entry macro always including SMP startup code.
Wrap this code in CONFIG_SMP to fix the error.

Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org # 3.16+
Patchwork: https://patchwork.linux-mips.org/patch/14212/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-09-13 16:45:15 +02:00
Arnd Bergmann
3abb0c6cdc Merge tag 'omap-for-v4.9/dt-pt1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
Merge "DTS related changes for omaps for v4.9 merge window" from Tony Lindgren:

- Update elm phandle for am335x

- Fix overo NAND gpmc ranges, this has always been broken so it can
  wait for the merge window

- Fix NAND and use NAND ready pin for logicpd gpmc, this can wait too
  as it's been using the older configration since the dts got added

- A series of dtc warning fixes for unit names

- Keep dcdc3, 5 and 6 enabled during suspend on am347x boards

- Disable DDR regulator during rtc-only/poweroff mode for am437x boards

- Remove redundant regulator compatibles for am437x boards

- Increas QSPI max frequency for dra7 boards

- Enable QSPI for am57xx-idk-common

- Enable am335x-wega audio support

- Workaround for i845 for dra7

- Update binding for logicpd boards

- Add gpio-decoder nodes for am335x-icev2 board

- Add linux,pci-domain property for dra7

- Fix dra7 clock data gmac_gmii_ref_clk_div and related clock tree
  entries, these can wait for merge window as Ethernet works on dra7

- A series of changes to drop skeleton.dtsi because of dtc warnings

* tag 'omap-for-v4.9/dt-pt1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (54 commits)
  ARM: dts: dra7: Add missing unit name to memory nodes
  ARM: dts: dra62x: Add missing unit name to memory nodes
  ARM: dts: dm8168: Add missing unit name to memory nodes
  ARM: dts: dm8148: Add missing unit name to memory nodes
  ARM: dts: am572x: Add missing unit name to memory nodes
  ARM: dts: am4372: Add missing unit name to memory nodes
  ARM: dts: am3517: Add missing unit name to memory nodes
  ARM: dts: am335x: Add missing unit name to memory nodes
  ARM: dts: omap5: Add missing unit name to memory nodes
  ARM: dts: omap4: Add missing unit name to memory nodes
  ARM: dts: omap3: Add missing unit name to memory nodes
  ARM: dts: omap2: Add missing unit name to memory nodes
  ARM: dts: am4372: Remove skeleton.dtsi usage
  ARM: dts: dra7: Remove skeleton.dtsi usage
  ARM: dts: dm816x: Remove skeleton.dtsi usage
  ARM: dts: dm814x: Remove skeleton.dtsi usage
  ARM: dts: am33xx: Remove skeleton.dtsi usage
  ARM: dts: omap5: Remove skeleton.dtsi usage
  ARM: dts: omap4: Remove skeleton.dtsi usage
  ARM: dts: omap3: Remove skeleton.dtsi usage
  ...
2016-09-13 16:27:42 +02:00
Arnd Bergmann
cbd1d63c77 Merge tag 'keystone_dts_for_4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt
Merge "ARM: dts: Keystone DTS for 4.9" from Santosh Shilimkar

Add K2G nodes for GPIO, IRQ and Message Manager

* tag 'keystone_dts_for_4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone-k2g: Add Message Manager node
  ARM: dts: keystone-k2g: Add DSP GPIO controller node
  ARM: dts: keystone-k2g: Add keystone IRQ controller node
  ARM: dts: keystone-k2g: Add device state controller node
  ARM: dts: keystone: specify usb mode explicitly
2016-09-13 16:21:02 +02:00
Arnd Bergmann
30d430d9b6 Merge tag 'uniphier-dt-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt
Merge "UniPhier ARM SoC DT updates for v4.9" from Masahiro Yamada:

* Match DT names other projects and documents
* Switch over to PSCI
* Use clock/reset drivers
* Misc

* tag 'uniphier-dt-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  ARM: dts: uniphier: add specific compatible to SoC-Glue node
  ARM: dts: uniphier: use clock/reset controllers
  ARM: dts: uniphier: switch over to PSCI
  ARM: dts: uniphier: match DT names to other projects and documents
  ARM: dts: uniphier: remove a whitespace after tabs
2016-09-13 16:11:51 +02:00