android_kernel_oneplus_msm8998/arch/arm
Russell King 0253fb2101 ARM: oabi-compat: copy semops using __copy_from_user()
Commit 8c8484a1c18e3231648f5ba7cc5ffb7fd70b3ca4 upstream.

__get_user_error() is used as a fast accessor to make copying structure
members as efficient as possible.  However, with software PAN and the
recent Spectre variant 1, the efficiency is reduced as these are no
longer fast accessors.

In the case of software PAN, it has to switch the domain register around
each access, and with Spectre variant 1, it would have to repeat the
access_ok() check for each access.

Rather than using __get_user_error() to copy each semops element member,
copy each semops element in full using __copy_from_user().

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David A. Long <dave.long@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-10 11:21:30 +01:00
..
boot ARM: dts: logicpd-torpedo-som: Remove twl_keypad 2019-11-10 11:21:06 +01:00
common ARM: sa1111: fix pcmcia suspend/resume 2016-10-07 15:23:44 +02:00
configs USB: rio500: Remove Rio 500 kernel driver 2019-10-17 13:40:58 -07:00
crypto crypto: arm/aes-neonbs - don't access already-freed walk.iv 2019-06-11 12:23:41 +02:00
firmware
include ARM: vfp: use __copy_from_user() when restoring VFP state 2019-11-10 11:21:30 +01:00
kernel ARM: oabi-compat: copy semops using __copy_from_user() 2019-11-10 11:21:30 +01:00
kvm KVM: arm/arm64: Only skip MMIO insn once 2019-09-10 10:29:49 +01:00
lib ARM: 8833/1: Ensure that NEON code always compiles with Clang 2019-04-27 09:33:51 +02:00
mach-alpine
mach-asm9260
mach-at91 ARM: remove duplicate 'const' annotations' 2017-10-08 10:14:20 +02:00
mach-axxia
mach-bcm ARM: remove duplicate 'const' annotations' 2017-10-08 10:14:20 +02:00
mach-berlin arm: berlin: add CPU hotplug support 2015-10-15 21:14:28 +02:00
mach-clps711x
mach-cns3xxx ARM: cns3xxx: Fix writing to wrong PCI config registers after alignment 2019-02-06 19:43:07 +01:00
mach-davinci ARM: davinci: fix sleep.S build error on ARMv4 2019-08-25 10:52:49 +02:00
mach-digicolor ARM: digicolor: select pinctrl/gpio driver 2015-10-15 22:27:30 +02:00
mach-dove ARM: dove: Fix legacy get_irqnr_and_base 2015-11-25 14:59:12 +00:00
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: exynos: Fix undefined instruction during Exynos5422 resume 2019-06-22 08:18:22 +02:00
mach-footbridge
mach-gemini ARM: gemini: remove unnecessary mdio-gpio includes 2015-10-21 19:50:43 -07:00
mach-highbank
mach-hisi ARM: hisi: check of_iomap and fix missing of_node_put 2018-09-26 08:35:09 +02:00
mach-imx ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX 2019-07-10 09:56:33 +02:00
mach-integrator gpio: pl061: handle failed allocations 2019-02-20 10:13:21 +01:00
mach-iop13xx ARM: iop: don't use using 64-bit DMA masks 2019-05-16 19:45:02 +02:00
mach-iop32x ARM: iop32x/n2100: fix PCI IRQ mapping 2019-02-20 10:13:19 +01:00
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix read{b,w,l} return types 2015-12-01 23:45:30 +01:00
mach-keystone
mach-ks8695
mach-lpc18xx
mach-lpc32xx
mach-mediatek ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-meson
mach-mmp
mach-moxart
mach-mv78xx0
mach-mvebu ARM: mvebu: declare asm symbols as character arrays in pmsu.c 2018-10-10 08:52:06 +02:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: OMAP1: ams-delta: Fix possible use of uninitialized field 2018-12-17 21:55:09 +01:00
mach-omap2 ARM: OMAP2+: Fix missing reset done flag for am3 and am43 2019-10-29 09:13:18 +01:00
mach-orion5x ARM: orion5x: Fix legacy get_irqnr_and_base 2015-11-25 15:01:00 +00:00
mach-picoxcell
mach-prima2 ARM: prima2: always enable reset controller 2016-05-04 14:48:53 -07:00
mach-pxa ARM: pxa: avoid section mismatch warning 2019-02-20 10:13:09 +01:00
mach-qcom ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-realview net: smc91x: fix SMC accesses 2016-09-30 10:18:37 +02:00
mach-rockchip
mach-rpc ARM: riscpc: fix DMA 2019-08-06 18:28:24 +02:00
mach-s3c24xx ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify 2019-03-23 08:44:38 +01:00
mach-s3c64xx ASoC: samsung: pass DMA channels as pointers 2016-04-12 09:08:32 -07:00
mach-s5pv210
mach-sa1100 ARM: sa1100: clear reset status prior to reboot 2016-10-07 15:23:43 +02:00
mach-shmobile ARM: shmobile: fix regulator quirk for Gen2 2016-10-07 15:23:43 +02:00
mach-socfpga ARM: SoCFPGA: Fix secondary CPU startup in thumb2 kernel 2016-05-11 11:21:14 +02:00
mach-spear ARM: remove duplicate 'const' annotations' 2017-10-08 10:14:20 +02:00
mach-sti
mach-stm32
mach-sunxi ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-tegra ARM: tegra: select USB_ULPI from EHCI rather than platform 2018-02-25 11:03:51 +01:00
mach-u300 spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
mach-uniphier ARM: uniphier: rework SMP operations to use trampoline code 2015-10-27 09:20:53 +09:00
mach-ux500 ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation 2017-01-26 08:23:49 +01:00
mach-versatile
mach-vexpress ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-vt8500
mach-w90x900
mach-zx ARM: zx: only build power domain code when CONFIG_PM=y 2015-11-19 16:16:45 +01:00
mach-zynq ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up 2019-10-05 12:27:53 +02:00
mm ARM: spectre-v2: warn about incorrect context switching functions 2019-11-10 11:21:27 +01:00
net ARM: net: bpf: fix zero right shift 2016-01-06 01:32:09 -05:00
nwfpe
oprofile
plat-iop ARM: iop: don't use using 64-bit DMA masks 2019-05-16 19:45:02 +02:00
plat-omap ARM: OMAP: Fix dmtimer init for omap1 2018-05-30 07:49:00 +02:00
plat-orion ARM: orion: don't use using 64-bit DMA masks 2019-05-16 19:45:02 +02:00
plat-pxa ARM: pxa: ssp: unneeded to free devm_ allocated data 2019-03-23 08:44:27 +01:00
plat-samsung ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms 2019-04-27 09:33:58 +02:00
plat-versatile
probes ARM: 8770/1: kprobes: Prohibit probing on optimized_callback 2018-05-26 08:48:57 +02:00
tools
vdso ARM: 8449/1: fix bug in vdsomunge swab32 macro 2015-10-29 15:20:15 +00:00
vfp ARM: vfp: use __copy_from_user() when restoring VFP state 2019-11-10 11:21:30 +01:00
xen swiotlb-xen: implement xen_swiotlb_dma_mmap callback 2017-10-05 09:41:48 +02:00
Kconfig ARM: 8481/2: drivers: psci: replace psci firmware calls 2019-11-10 11:21:16 +01:00
Kconfig-nommu ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM 2017-10-08 10:14:17 +02:00
Kconfig.debug ARM: debug-ll: fix BCM63xx entry for multiplatform 2016-03-03 15:07:08 -08:00
Makefile