linux/arch/arm
Steven Capper 4ca46c5e1f ARM: 7727/1: remove the .vm_mm value from gate_vma
If one reads /proc/$PID/smaps, the mmap_sem belonging to the
address space of the task being examined is locked for reading.
All the pages of the vmas belonging to the task's address space
are then walked with this lock held.

If a gate_vma is present in the architecture, it too is examined
by the fs/proc/task_mmu.c code. As gate_vma doesn't belong to the
address space of the task though, its pages are not walked.

A recent cleanup (commit f6604efe) of the gate_vma initialisation
code set the vm_mm value to &init_mm. Unfortunately a non-NULL
vm_mm value in the gate_vma will cause the task_mmu code to attempt
to walk the pages of the gate_vma (with no mmap-sem lock held). If
one enables Transparent Huge Page support and vm debugging, this
will then cause OOPses as pmd_trans_huge_lock is called without
mmap_sem being locked.

This patch removes the .vm_mm value from gate_vma, restoring the
original behaviour of the task_mmu code.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-05-22 22:01:36 +01:00
..
boot ARM: exynos: dts: Fixed vbus-gpios 2013-05-09 13:25:23 -07:00
common Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-05-15 13:37:54 -07:00
configs Omap fixes for things that were discovered during the merge window: 2013-05-09 13:13:57 -07:00
crypto ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling 2013-05-22 22:01:35 +01:00
include Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-05-15 13:37:54 -07:00
kernel ARM: 7727/1: remove the .vm_mm value from gate_vma 2013-05-22 22:01:36 +01:00
kvm Merge tag 'kvm-3.10-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2013-05-05 14:47:31 -07:00
lib ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay ops 2013-04-03 16:45:50 +01:00
mach-at91 ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
mach-bcm ARM: platform specific firmware interfaces for 3.10 2013-05-04 12:33:36 -07:00
mach-bcm2835 ARM: bcm2835: convert to multi-platform 2013-03-12 22:30:45 -06:00
mach-clps711x
mach-cns3xxx ARM: arm-soc multiplatform updates for 3.10 2013-05-02 09:38:16 -07:00
mach-davinci ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
mach-dove arm: mach-dove: convert to use mvebu-mbus driver 2013-04-15 14:06:27 +00:00
mach-ebsa110
mach-ep93xx ARM: ep93xx: Fix wait for UART FIFO to be empty 2013-03-18 09:40:38 +11:00
mach-exynos ARM: EXYNOS5: Fix kernel dump in AFTR idle mode 2013-05-09 13:22:22 -07:00
mach-footbridge ARM: fix CONFIG_VIRT_TO_BUS handling 2013-03-18 13:49:57 +00:00
mach-gemini ARM: arm-soc cleanup for 3.10 2013-05-02 09:03:55 -07:00
mach-highbank ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
mach-imx ARM: imx: Select GENERIC_ALLOCATOR 2013-05-09 13:05:24 -07:00
mach-integrator ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
mach-iop13xx Merge commit '6bb27d7349db51b50c40534710fe164ca0d58902' into omap-timer-for-v3.10 2013-04-01 13:47:29 -05:00
mach-iop32x
mach-iop33x
mach-ixp4xx arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
mach-kirkwood ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
mach-ks8695 Merge commit '6bb27d7349db51b50c40534710fe164ca0d58902' into omap-timer-for-v3.10 2013-04-01 13:47:29 -05:00
mach-lpc32xx
mach-mmp ARM: arm-soc board specific changes for 3.10, part 1 2013-05-04 12:34:30 -07:00
mach-msm proc: Use PDE attribute setting accessor functions 2013-05-07 15:01:11 -04:00
mach-mv78xx0 arm: mach-mv78xx0: convert to use the mvebu-mbus driver 2013-04-15 14:06:39 +00:00
mach-mvebu ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
mach-mxs ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
mach-netx
mach-nomadik clocksource: nomadik-mtu: fix up clocksource/timer 2013-04-26 17:10:46 -07:00
mach-omap1 ARM: OMAP1: DMA: fix error handling in omap1_system_dma_init() 2013-05-08 16:48:02 -07:00
mach-omap2 Omap fixes for things that were discovered during the merge window: 2013-05-09 13:13:57 -07:00
mach-orion5x ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
mach-picoxcell
mach-prima2 Merge branch 'late/fixes' into fixes 2013-05-09 13:05:15 -07:00
mach-pxa - Lots of cleanups from Artem, including deletion of some obsolete drivers 2013-05-09 10:15:46 -07:00
mach-realview Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-05-03 09:13:19 -07:00
mach-rpc
mach-s3c24xx ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-s3c64xx For 3.10 we have a few new MFD drivers for: 2013-05-05 17:36:20 -07:00
mach-s5p64x0 Merge branch 'samsung/exynos-multiplatform' into next/drivers 2013-04-19 16:50:56 +02:00
mach-s5pc100 ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-s5pv210 ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-sa1100 cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
mach-shark arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
mach-shmobile ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
mach-socfpga Merge branch 'gic/cleanup' into next/soc 2013-04-28 15:06:56 -07:00
mach-spear Merge branch 'late/fixes' into fixes 2013-05-09 13:05:15 -07:00
mach-sunxi ARM: sunxi: Rework the restart code 2013-04-08 21:43:08 +02:00
mach-tegra arch/arm/mach-tegra: don't check resource with devm_ioremap_resource 2013-05-18 11:58:05 +02:00
mach-u300 ARM: u300: fix ages old copy/paste bug 2013-04-26 17:07:38 -07:00
mach-ux500 ARM: ux500: Rid ignored return value of regulator_enable() compiler warning 2013-05-09 13:10:10 -07:00
mach-versatile ARM: versatile: use OF init for sp804 timer 2013-04-11 15:11:21 -05:00
mach-vexpress Moves xenvm to mach-virt. 2013-05-07 15:11:43 -07:00
mach-virt Moves xenvm to mach-virt. 2013-05-07 15:11:43 -07:00
mach-vt8500 irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure 2013-04-12 22:43:24 -07:00
mach-w90x900 arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
mach-zynq ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
mm Merge tag 'kvm-3.10-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2013-05-05 14:47:31 -07:00
net filter: bpf_jit_comp: refactor and unify BPF JIT image dump output 2013-03-21 17:25:56 -04:00
nwfpe
oprofile
plat-iop
plat-omap ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
plat-orion Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
plat-pxa
plat-samsung arch/arm/plat-samsung: don't check resource with devm_ioremap_resource 2013-05-18 11:59:33 +02:00
plat-versatile irqchip: gic: Perform the gic_secondary_init() call via CPU notifier 2013-03-26 16:12:02 +00:00
tools ARM: Update mach-types 2013-03-22 17:24:51 +00:00
vfp
xen xen/arm: rename xen_secondary_init and run it on every online cpu 2013-05-13 16:14:25 +00:00
Kconfig Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-05-15 13:37:54 -07:00
Kconfig-nommu
Kconfig.debug ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
Makefile ARM: 7712/1: Remove trailing whitespace in arch/arm/Makefile 2013-05-07 10:34:46 +01:00