summaryrefslogtreecommitdiffstats
path: root/arch/parisc/include/asm/cacheflush.h
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@HansenPartnership.com>2011-04-15 01:25:21 +0200
committerJames Bottomley <James.Bottomley@suse.de>2011-04-15 19:55:18 +0200
commitd7dd2ff11b7fcd425aca5a875983c862d19a67ae (patch)
tree6ad74d89d2355861b513eefb763ea6103a8d68e7 /arch/parisc/include/asm/cacheflush.h
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vap... (diff)
downloadlinux-d7dd2ff11b7fcd425aca5a875983c862d19a67ae.tar.xz
linux-d7dd2ff11b7fcd425aca5a875983c862d19a67ae.zip
[PARISC] only make executable areas executable
Currently parisc has the whole kernel marked as RWX, meaning any kernel page at all is eligible to be executed. This can cause a theoretical problem on systems with combined I/D TLB because the act of referencing a page causes a TLB insertion with an executable bit. This TLB entry may be used by the CPU as the basis for speculating the page into the I-Cache. If this speculated page is subsequently used for a user process, there is the possibility we will get a stale I-cache line picked up as the binary executes. As a point of good practise, only mark actual kernel text pages as executable. The same has to be done for init_text pages, but they're converted to data pages (and the I-Cache flushed) when the init memory is released. Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'arch/parisc/include/asm/cacheflush.h')
0 files changed, 0 insertions, 0 deletions