Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [PATCH v13 1/3] syscall_user_dispatch: helper function to operate on given task | Date | Tue, 21 Mar 2023 16:41:37 +0100 |
| |
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
| |