Re: [PATCH v4] tty: rocket: Remove the rp_ioctl

From: Jiri Slaby
Date: Wed Apr 17 2019 - 02:27:49 EST


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:

> - case RCKP_GET_CONFIG:
> - ret = get_config(info, argp);
> - break;
> - case RCKP_SET_CONFIG:
> - ret = set_config(tty, info, argp);
> - break;
> - case RCKP_GET_PORTS:
> - ret = get_ports(info, argp);
> - break;
> - case RCKP_RESET_RM2:
> - ret = reset_rm2(info, argp);
> - break;
> - case RCKP_GET_VERSION:
> - ret = get_version(info, argp);
> - break;
> - default:
> - ret = -ENOIOCTLCMD;
> - }
> - return ret;
> -}

thanks,
--
js
suse labs