]> git.baikalelectronics.ru Git - kernel.git/commit
mm: revert mremap pud_free anti-fix
authorHugh Dickins <hughd@google.com>
Wed, 16 Oct 2013 20:47:09 +0000 (13:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 17 Oct 2013 04:35:53 +0000 (21:35 -0700)
commite2c9392107986d99685878942aa5330b2b279f4e
treefe920bc16fe4ef97e94d31fce5f25bbecaff6e57
parent5f190d8daaac48dba8127b9e9c9503d4ab2a363e
mm: revert mremap pud_free anti-fix

Revert commit 6bf20508a27f ("mm/mremap.c: call pud_free() after fail
calling pmd_alloc()").

The original code was correct: pud_alloc(), pmd_alloc(), pte_alloc_map()
ensure that the pud, pmd, pt is already allocated, and seldom do they
need to allocate; on failure, upper levels are freed if appropriate by
the subsequent do_munmap().  Whereas commit 6bf20508a27f did an
unconditional pud_free() of a most-likely still-in-use pud: saved only
by the near-impossiblity of pmd_alloc() failing.

Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/mremap.c