summaryrefslogtreecommitdiff
path: root/drivers/iommu
diff options
context:
space:
mode:
authorKyongHo <pullip.cho@samsung.com>2012-05-29 15:06:49 -0700
committerVarun Wadekar <vwadekar@nvidia.com>2012-06-10 22:32:46 -0700
commit063f5d97d2b25e1acbd6cfda58b99adf04911580 (patch)
treee13b1b49823c638bfcee80d0d36b5df3c040c406 /drivers/iommu
parent802a82da04a182a73e9833d3a3f47afa049c586f (diff)
mm: fix faulty initialization in vmalloc_init()
The transfer of ->flags causes some of the static mapping virtual addresses to be prematurely freed (before the mapping is removed) because VM_LAZY_FREE gets "set" if tmp->flags has VM_IOREMAP set. This might cause subsequent vmalloc/ioremap calls to fail because it might allocate one of the freed virtual address ranges that aren't unmapped. va->flags has different types of flags from tmp->flags. If a region with VM_IOREMAP set is registered with vm_area_add_early(), it will be removed by __purge_vmap_area_lazy(). Fix vmalloc_init() to correctly initialize vmap_area for the given vm_struct. Also initialise va->vm. If it is not set, find_vm_area() for the early vm regions will always fail. Bug 971673 Change-Id: Id81dd38846bad454c1d420b398af0bb8b42cf1e2 Signed-off-by: KyongHo Cho <pullip.cho@samsung.com> Cc: "Olav Haugan" <ohaugan@codeaurora.org> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/107848
Diffstat (limited to 'drivers/iommu')
0 files changed, 0 insertions, 0 deletions