linux/arch/arm
Jonathan Austin 36418c516b ARM: 7499/1: mm: Fix vmalloc overlap check for !HIGHMEM
With !HIGHMEM, sanity_check_meminfo checks for banks that completely or
partially overlap the vmalloc region. The test for partial overlap checks
__va(bank->start + bank->size) > vmalloc_min. This is not appropriate if
there is a non-linear translation between virtual and physical addresses,
as bank->start + bank->size is actually in the bank following the one being
interrogated.

In most cases, even when using SPARSEMEM, this is not problematic as the
subsequent bank will start at a higher va than the one in question. However
if the physical to virtual address conversion is not monotonic increasing,
the incorrect test could result in a bank not being truncated when it
should be.

This patch ensures we perform the va-pa conversion on memory from the
bank we are interested in, not the following one.

Reported-by: ??? (Steve) <zhanzhenbo@gmail.com>
Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-08-25 09:20:40 +01:00
..
boot ARM: 7501/1: decompressor: reset ttbcr for VMSA ARMv7 cores 2012-08-25 09:15:56 +01:00
common ARM: dma-mapping: add support for dma_get_sgtable() 2012-07-30 12:25:47 +02:00
configs ARM: s3c24xx: enable CONFIG_BUG for tct_hammer 2012-08-10 13:02:06 +02:00
include/asm ARM: 7503/1: mm: only flush both pmd entries for classic MMU 2012-08-25 09:15:57 +01:00
kernel ARM: 7497/1: hw_breakpoint: allow single-byte watchpoints on all addresses 2012-08-25 09:15:23 +01:00
lib ARM: Bring back ARMv3 IO and user access code 2012-08-13 11:44:13 +01:00
mach-at91 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-07-26 13:00:59 -07:00
mach-bcmring
mach-clps711x ARM: clps711x: Remove the setting of the time 2012-07-17 22:24:30 +02:00
mach-cns3xxx
mach-davinci ARM: davinci: remove broken ntosd2_init_i2c 2012-08-10 13:14:36 +02:00
mach-dove ARM: Orion: DT support for IRQ and GPIO Controllers 2012-07-27 16:48:14 +02:00
mach-ebsa110
mach-ep93xx arm-soc: soc-specific updates 2012-07-23 16:08:40 -07:00
mach-exynos ARM: exynos: exynos_pm_add_dev_to_genpd may be unused 2012-08-10 12:27:34 +02:00
mach-footbridge
mach-gemini
mach-h720x
mach-highbank clk: add highbank clock support 2012-07-11 17:58:47 -07:00
mach-imx ARM i.MX fixes for 3.6-rc 2012-08-07 11:22:14 +02:00
mach-integrator ARM: integrator: include <linux/export.h> 2012-08-09 15:16:44 +02:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
mach-kirkwood ARM: kirkwood: fix typo in Makefile.boot 2012-08-07 10:48:11 +02:00
mach-ks8695
mach-l7200/include/mach
mach-lpc32xx ARM: LPC32xx: Add PWM clock 2012-07-20 14:01:51 +02:00
mach-mmp ARM: mmp: add missing irqs.h 2012-08-02 10:15:59 -07:00
mach-msm ARM: MSM: use SGI0 to wake secondary CPUs 2012-07-09 17:39:36 +01:00
mach-mv78xx0 ARM: Orion: DT support for IRQ and GPIO Controllers 2012-07-27 16:48:14 +02:00
mach-mvebu arm: mvebu: generate DTBs for supported SoCs 2012-07-17 22:38:06 +02:00
mach-mxs ARM: mxs: always build ocotp 2012-08-04 22:52:23 +08:00
mach-netx arch/arm/mach-netx/fb.c: reuse dummy clk routines for CONFIG_HAVE_CLK=n 2012-07-30 17:25:13 -07:00
mach-nomadik ARM: nomadik: bump all IRQ numbers by one 2012-06-11 12:40:14 +02:00
mach-omap1 Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-omap2 ARM: arm-soc: cpuidle enablement for OMAP 2012-08-02 11:48:54 -07:00
mach-orion5x ARM: Orion: DT support for IRQ and GPIO Controllers 2012-07-27 16:48:14 +02:00
mach-picoxcell clocksource: dw_apb_timer: Add common DTS glue for dw_apb_timer 2012-07-12 17:26:09 +02:00
mach-pnx4008 arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-prima2 ARM: PRIMA2: delete redundant codes to restore LATCHED when timer resumes 2012-08-02 10:05:27 -07:00
mach-pxa Input: eeti_ts: pass gpio value instead of IRQ 2012-08-09 15:16:41 +02:00
mach-realview
mach-rpc ARM: fiq: change FIQ_START to a variable 2012-07-01 21:59:19 +08:00
mach-s3c24xx ARM: s3c24xx: use new PWM driver 2012-08-09 15:16:43 +02:00
mach-s3c64xx ARM: arm-soc soc updates, take 2 2012-07-30 09:45:53 -07:00
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s5p64x0 arm-soc: device tree description updates 2012-07-23 16:17:43 -07:00
mach-s5pc100 arm-soc: device tree description updates 2012-07-23 16:17:43 -07:00
mach-s5pv210 arm-soc: board specific updates 2012-07-23 17:34:48 -07:00
mach-sa1100 ARM: sa1100: include linux/io.h in hackkit leds code 2012-08-09 15:16:42 +02:00
mach-shark
mach-shmobile ARM: arm-soc board updates, take 2 2012-07-30 09:48:00 -07:00
mach-socfpga ARM: socfpga: initial support for Altera's SOCFPGA platform 2012-07-19 10:39:00 +02:00
mach-spear3xx Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-spear6xx Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-spear13xx Viresh has moved 2012-06-20 14:39:36 -07:00
mach-tegra ARM: tegra: more regulator fixes for Harmony 2012-08-09 15:16:40 +02:00
mach-u300 ARM: u300: convert to common clock 2012-07-11 15:36:45 -07:00
mach-ux500 MFD bits for the 3.6 merge window. 2012-07-30 12:41:17 -07:00
mach-versatile ARM: fix mach-versatile/pci.c warning 2012-07-04 17:04:57 +01:00
mach-vexpress ARM: vexpress: Config option for early printk console 2012-07-13 11:48:29 +01:00
mach-vt8500 Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm 2012-07-30 09:22:37 -07:00
mach-w90x900
mach-zynq
mm ARM: 7499/1: mm: Fix vmalloc overlap check for !HIGHMEM 2012-08-25 09:20:40 +01:00
net ARM: 7421/1: bpf_jit: BPF_S_ANC_ALU_XOR_X support 2012-06-14 15:12:13 +01:00
nwfpe
oprofile ARM: 7448/1: perf: remove arm_perf_pmu_ids global enumeration 2012-07-09 17:41:10 +01:00
plat-iop
plat-mxc ARM: SoC fixes 2012-08-02 11:48:20 -07:00
plat-nomadik i2c-nomadik: move header to <linux/platform_data/i2c-nomadik.h> 2012-07-09 11:40:40 +02:00
plat-omap Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
plat-orion ARM: Orion: Add arch support needed for I2C via DT. 2012-07-27 16:48:29 +02:00
plat-pxa Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm 2012-07-30 09:22:37 -07:00
plat-s3c24xx ARM: fiq: change FIQ_START to a variable 2012-07-01 21:59:19 +08:00
plat-samsung ARM: s3c24xx: use new PWM driver 2012-08-09 15:16:43 +02:00
plat-spear Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
plat-versatile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
tools
vfp ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled 2012-08-11 09:15:57 +01:00
Kconfig ARM: 7490/1: Drop duplicate select for GENERIC_IRQ_PROBE 2012-08-15 10:46:51 +01:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00