summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2017-04-29 17:07:10 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2017-04-29 17:07:10 +0000
commit43c0bd87c5dd6a962ecab3c07b899610e37f1218 (patch)
tree1b39a00cb17700abd4326dc2f55940b6d87f5c70
parentd403cd47f7ac897b5045af521fdd747504d07746 (diff)
Call refreshcreds() in ast() since we may get there without going through
do_el0_sync() or mi_syscall().
-rw-r--r--sys/arch/arm64/arm64/ast.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/arm64/arm64/ast.c b/sys/arch/arm64/arm64/ast.c
index 0cec1177cc9..d00087021b0 100644
--- a/sys/arch/arm64/arm64/ast.c
+++ b/sys/arch/arm64/arm64/ast.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ast.c,v 1.2 2017/02/19 19:42:40 patrick Exp $ */
+/* $OpenBSD: ast.c,v 1.3 2017/04/29 17:07:09 kettenis Exp $ */
/*
* Copyright (c) 2015 Dale Rahn <drahn@dalerahn.com>
*
@@ -37,11 +37,11 @@ void
ast(struct trapframe *tf)
{
struct proc *p = curcpu()->ci_curproc;
- int want_resched = curcpu()->ci_want_resched;
p->p_md.md_astpending = 0;
+ refreshcreds(p);
uvmexp.softs++;
- mi_ast(p, want_resched);
+ mi_ast(p, curcpu()->ci_want_resched);
userret(p);
}