diff options
author | KyongHo <pullip.cho@samsung.com> | 2012-05-29 15:06:49 -0700 |
---|---|---|
committer | Rajanikanth H.V <rajanikanth.hv@linaro.org> | 2012-11-09 13:14:37 +0530 |
commit | abca344c85e36a2fa24ee1f7c919fa075d50c3e4 (patch) | |
tree | d109aa01e00d2ca4d46537df5175a27f6148936f /security/selinux/ss/Makefile | |
parent | db60e5845c840a481a22f86cea5c2220ee76db9e (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.
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>
ST-Ericsson ID: 440451
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: If5af5590d9dcd08048df2af31424a99e189be838
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/63748
Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com>
Reviewed-by: Shreshtha Kumar SAHU <shreshthakumar.sahu@stericsson.com>
Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
Diffstat (limited to 'security/selinux/ss/Makefile')
0 files changed, 0 insertions, 0 deletions