]> git.baikalelectronics.ru Git - kernel.git/commit
[ARM] 4644/2: fix flush_kern_tlb_range() in module space
authorKevin Hilman <khilman@mvista.com>
Thu, 8 Nov 2007 00:48:16 +0000 (01:48 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 8 Nov 2007 10:07:14 +0000 (10:07 +0000)
commitb70bd63b4783249b807cbdc154c7985f9b6a601c
tree11dc687e80edfb6c8681bcde178bcb6b962bb163
parent686d2afcda898fa9b36209b6115418c88a9da1af
[ARM] 4644/2: fix flush_kern_tlb_range() in module space

For kernel addresses between TASK_SIZE and PAGE_OFFSET,
flush_tlb_kern_range() does not work as would be expected.

The TLB invalidate works with a matching ASID, or on entries marked as
global.  The set_pte_at() macro marks addresses >= PAGE_OFFSET as
global, but not addresses from TASK_SIZE to PAGE_OFFSET, which are
also kernel addresses.

The result is that the entries in this range are not actually
invalidated by flush_tlb_kern_range().

This patch instead marks addresses >= TASK_SIZE as global.

Signed-off-by: Satoru Fujii <s-fujii@ct.jp.nec.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
include/asm-arm/pgtable.h