]> git.baikalelectronics.ru Git - kernel.git/commit
mm/ioremap: check virtual address alignment while creating huge mappings
authorAnshuman Khandual <anshuman.khandual@arm.com>
Tue, 16 Jul 2019 23:27:30 +0000 (16:27 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 17 Jul 2019 02:23:22 +0000 (19:23 -0700)
commit7663d04e5d46071f8bdb08ff1d4f5d0444e73f21
tree5423404840a8be072840dfb1a4b109757003fb12
parent980c31f21d2e4ff7d81834b54ca41160deffa794
mm/ioremap: check virtual address alignment while creating huge mappings

Virtual address alignment is essential in ensuring correct clearing for
all intermediate level pgtable entries and freeing associated pgtable
pages.  An unaligned address can end up randomly freeing pgtable page
that potentially still contains valid mappings.  Hence also check it's
alignment along with existing phys_addr check.

Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Chintan Pandya <cpandya@codeaurora.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/ioremap.c