Gregory! On Wed, Mar 01 2023 at 15:58, Gregory Price wrote: > +static int task_set_syscall_user_dispatch(struct task_struct *task, unsigned long mode, > + unsigned long offset, unsigned long len, > + char __user *selector) > { > switch (mode) { > case PR_SYS_DISPATCH_OFF: ... case PR_SYS_DISPATCH_ON: if (selector && !access_ok(selector, sizeof(*selector))) return -EFAULT; I'm not seing how this can work on ARM64 when user pointer tagging is enabled in the tracee, but not in the tracer. In such a case, if the pointer is tagged, access_ok() will fail because access_ok() wont untag it. Thanks, tglx