| Date | Sat, 5 Sep 2020 12:24:38 +0100 | From | Matthew Wilcox <> | Subject | Re: [PATCH v6 5/9] kernel: Implement selective syscall userspace redirection |
| |
On Fri, Sep 04, 2020 at 04:31:43PM -0400, Gabriel Krisman Bertazi wrote: > +int set_syscall_user_dispatch(int mode, unsigned long dispatcher_start, > + unsigned long dispatcher_end, char __user *selector) > +{ > + switch (mode) { > + case PR_SYS_DISPATCH_OFF: ... > + case PR_SYS_DISPATCH_ON: ... > + default: > + return -EINVAL; ... > + case PR_SET_SYSCALL_USER_DISPATCH: > + error = set_syscall_user_dispatch((int) arg2, arg3, arg4, > + (char __user *) arg5);
This makes aliases of DISPATCH_OFF and DISPATCH_ON every 4GB throughout the 64-bit space of arg2. I don't think that was intentional (nor desirable). I'd suggest just making 'mode' a long and dropping the cast.
|