On Wed, Apr 17, 2019 at 08:27:41AM +0200, Jiri Slaby wrote: > On 16. 04. 19, 16:53, Fuqian Huang wrote: > > --- a/drivers/tty/rocket.c > > +++ b/drivers/tty/rocket.c > ... > > -/* IOCTL call handler into the driver */ > > -static int rp_ioctl(struct tty_struct *tty, > > - unsigned int cmd, unsigned long arg) > > -{ > > - struct r_port *info = tty->driver_data; > > - void __user *argp = (void __user *)arg; > > - int ret = 0; > > - > > - if (cmd != RCKP_GET_PORTS && rocket_paranoia_check(info, "rp_ioctl")) > > - return -ENXIO; > > - > > - switch (cmd) { > > - case RCKP_GET_STRUCT: > > - if (copy_to_user(argp, info, sizeof (struct r_port))) > > - ret = -EFAULT; > > - break; > > I am not sure what Greg meant, but I had only this particular ioctl on > mind when I was writing about removal. The other ones might be used _in > theory_. Even though they are not exposed to userspace either. So if > they are not source of potential issues, I would keep them:
I was just meaning that one specific ioctl, not the whole thing. Although dropping all of these custom ioctls is probably the right thing to do in the long-run, for now, let's just get rid of the problem one. thanks, greg k-h