UPSTREAM: arm64: Move PSTATE.TCO setting to separate functions
For consistency with __uaccess_{disable,enable}_hw_pan(), move the
PSTATE.TCO setting into dedicated __uaccess_{disable,enable}_tco()
functions.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Bug: 170327579
Bug: 172318110
(cherry picked from commit 83b5bd628f)
Signed-off-by: Alexander Potapenko <glider@google.com>
Change-Id: Ib7374b4f2ae8353afd062f740a355248507efa01
This commit is contained in:
parent
9a928af2cc
commit
c7d0729a2c
1 changed files with 13 additions and 3 deletions
|
|
@ -219,18 +219,28 @@ do { \
|
|||
* The Tag check override (TCO) bit disables temporarily the tag checking
|
||||
* preventing the issue.
|
||||
*/
|
||||
static inline void uaccess_disable_privileged(void)
|
||||
static inline void __uaccess_disable_tco(void)
|
||||
{
|
||||
asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(0),
|
||||
ARM64_MTE, CONFIG_KASAN_HW_TAGS));
|
||||
}
|
||||
|
||||
static inline void __uaccess_enable_tco(void)
|
||||
{
|
||||
asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(1),
|
||||
ARM64_MTE, CONFIG_KASAN_HW_TAGS));
|
||||
}
|
||||
|
||||
static inline void uaccess_disable_privileged(void)
|
||||
{
|
||||
__uaccess_disable_tco();
|
||||
|
||||
__uaccess_disable(ARM64_HAS_PAN);
|
||||
}
|
||||
|
||||
static inline void uaccess_enable_privileged(void)
|
||||
{
|
||||
asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(1),
|
||||
ARM64_MTE, CONFIG_KASAN_HW_TAGS));
|
||||
__uaccess_enable_tco();
|
||||
|
||||
__uaccess_enable(ARM64_HAS_PAN);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue