| .. | .. |
|---|
| 44 | 44 | if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) |
|---|
| 45 | 45 | return; |
|---|
| 46 | 46 | |
|---|
| 47 | + if (IS_ENABLED(CONFIG_USER_ABI_CALL0_ONLY) || |
|---|
| 48 | + (IS_ENABLED(CONFIG_USER_ABI_CALL0_PROBE) && |
|---|
| 49 | + !(regs->ps & PS_WOE_MASK))) |
|---|
| 50 | + return; |
|---|
| 51 | + |
|---|
| 47 | 52 | /* Two steps: |
|---|
| 48 | 53 | * |
|---|
| 49 | 54 | * 1. Look through the register window for the |
|---|
| .. | .. |
|---|
| 91 | 96 | pc = MAKE_PC_FROM_RA(a0, pc); |
|---|
| 92 | 97 | |
|---|
| 93 | 98 | /* Check if the region is OK to access. */ |
|---|
| 94 | | - if (!access_ok(VERIFY_READ, &SPILL_SLOT(a1, 0), 8)) |
|---|
| 99 | + if (!access_ok(&SPILL_SLOT(a1, 0), 8)) |
|---|
| 95 | 100 | return; |
|---|
| 96 | 101 | /* Copy a1, a0 from user space stack frame. */ |
|---|
| 97 | 102 | if (__get_user(a0, &SPILL_SLOT(a1, 0)) || |
|---|