Re: [PATCH v12 2/3] ptrace,syscall_user_dispatch: checkpoint/restore support for SUD

From: Oleg Nesterov
Date: Tue Feb 28 2023 - 11:55:16 EST


On 02/27, Dmitry Safonov wrote:
>
> > +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.

Hmm. Why?

In this case ksize == usize, so why do we need copy_struct_from_user ?

Oleg.