tile: don't assume user privilege is zero
Technically, user privilege is anything less than kernel privilege. We modify the existing user_mode() macro to have this semantic (and use it in a couple of places it wasn't being used before), and add an IS_KERNEL_EX1() macro to the assembly code as well. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
This commit is contained in:
@@ -283,7 +283,7 @@ static int handle_page_fault(struct pt_regs *regs,
|
||||
flags = (FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE |
|
||||
(write ? FAULT_FLAG_WRITE : 0));
|
||||
|
||||
is_kernel_mode = (EX1_PL(regs->ex1) != USER_PL);
|
||||
is_kernel_mode = !user_mode(regs);
|
||||
|
||||
tsk = validate_current();
|
||||
|
||||
@@ -824,7 +824,7 @@ void do_page_fault(struct pt_regs *regs, int fault_num,
|
||||
}
|
||||
|
||||
#if CHIP_HAS_TILE_DMA() || CHIP_HAS_SN_PROC()
|
||||
if (EX1_PL(regs->ex1) != USER_PL) {
|
||||
if (!user_mode(regs)) {
|
||||
struct async_tlb *async;
|
||||
switch (fault_num) {
|
||||
#if CHIP_HAS_TILE_DMA()
|
||||
|
Reference in New Issue
Block a user