Hi Gragory, On Fri, 24 Feb 2023 at 23:40, Gregory Price <gourry.memverge@xxxxxxxxx> wrote: > > Implement ptrace getter/setter interface for syscall user dispatch. > > These prctl settings are presently write-only, making it impossible to > implement transparent checkpoint/restore via software like CRIU. > > 'on_dispatch' field is not exposed because it is a kernel-internal > only field that cannot be 'true' when returning to userland. > > Signed-off-by: Gregory Price <gregory.price@xxxxxxxxxxxx> > --- [..] > +int syscall_user_dispatch_set_config(struct task_struct *task, unsigned long size, > + void __user *data) > +{ > + int rc; > + struct ptrace_sud_config cfg; > + > + if (size != sizeof(struct ptrace_sud_config)) > + return -EINVAL; > + > + if (copy_from_user(&cfg, data, sizeof(struct ptrace_sud_config))) > + return -EFAULT; It seems that the tool you want here would be copy_struct_from_user(), which is designed for extendable syscalls. Thanks, Dmitry