]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
authorJonathan Austin <Jonathan.Austin@arm.com>
Thu, 12 Apr 2012 16:45:25 +0000 (17:45 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 15 Apr 2012 21:00:31 +0000 (22:00 +0100)
commit5ea2ba275d7c5011e8af3a2425c4504404040854
tree08d0f061a972f426ef7d7c2ae227ac998ffca013
parentfaefb50835ebb04dcebd1d752bf06055583de501
ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE

Currently when ThumbEE is not enabled (!CONFIG_ARM_THUMBEE) the ThumbEE
register states are not saved/restored at context switch. The default state
of the ThumbEE Ctrl register (TEECR) allows userspace accesses to the
ThumbEE Base Handler register (TEEHBR). This can cause unexpected behaviour
when people use ThumbEE on !CONFIG_ARM_THUMBEE kernels, as well as allowing
covert communication - eg between userspace tasks running inside chroot
jails.

This patch sets up TEECR in order to prevent user-space access to TEEHBR
when !CONFIG_ARM_THUMBEE. In this case, tasks are sent SIGILL if they try to
access TEEHBR.

Cc: stable@vger.kernel.org
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/proc-v7.S