-
Iliyan Malchev authored
Problem was tracked down to a PMD kernel bug solved by the following commit: commit 4c3250d6daee2ff56ee6c23a0c45fed29c2fa86c Author: Devin Kim <dojip.kim@lge.com> Date: Thu Jul 5 20:30:53 2012 -0700 ARM: 7438/1: fill possible PMD empty section gaps cherry-picking from kernel v3.5 On ARM with the 2-level page table format, a PMD entry is represented by two consecutive section entries covering 2MB of virtual space. However, static mappings always were allowed to use separate 1MB section entries. This means in practice that a static mapping may create half populated PMDs via create_mapping(). Since commit 0536bdf33f (ARM: move iotable mappings within the vmalloc region) those static mappings are located in the vmalloc area. We must ensure no such half populated PMDs are accessible once vmalloc() or ioremap() start looking at the vmalloc area for nearby free virtual address ranges, or various things leading to a kernel crash will happen. Change-Id: I4936a18717d9fce5921f0399ef60cfdcd0ba6100 Signed-off-by:
Nicolas Pitre <nico@linaro.org> Reported-by:
Santosh Shilimkar <santosh.shilimkar@ti.com> Tested-by:
"R, Sricharan" <r.sricharan@ti.com> Reviewed-by:
Catalin Marinas <catalin.marinas@arm.com> Cc: stable@vger.kernel.org Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk> This reverts commit 5aff7394.
fd4248f8