2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-15 08:44:14 +08:00

atm: switch do_atmif_sioc() to direct use of atm_dev_ioctl()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2020-05-10 18:13:56 -04:00
parent 8cacb41659
commit 0edecc020b

View File

@ -286,30 +286,13 @@ static int do_atm_iobuf(struct socket *sock, unsigned int cmd,
static int do_atmif_sioc(struct socket *sock, unsigned int cmd, static int do_atmif_sioc(struct socket *sock, unsigned int cmd,
unsigned long arg) unsigned long arg)
{ {
struct atmif_sioc __user *sioc; struct compat_atmif_sioc __user *sioc32 = compat_ptr(arg);
struct compat_atmif_sioc __user *sioc32; int number;
u32 data; u32 data;
void __user *datap;
int err;
sioc = compat_alloc_user_space(sizeof(*sioc)); if (get_user(data, &sioc32->arg) || get_user(number, &sioc32->number))
sioc32 = compat_ptr(arg);
if (copy_in_user(&sioc->number, &sioc32->number, 2 * sizeof(int)) ||
get_user(data, &sioc32->arg))
return -EFAULT; return -EFAULT;
datap = compat_ptr(data); return atm_dev_ioctl(cmd, compat_ptr(data), &sioc32->length, number, 0);
if (put_user(datap, &sioc->arg))
return -EFAULT;
err = do_vcc_ioctl(sock, cmd, (unsigned long) sioc, 0);
if (!err) {
if (copy_in_user(&sioc32->length, &sioc->length,
sizeof(int)))
err = -EFAULT;
}
return err;
} }
static int do_atm_ioctl(struct socket *sock, unsigned int cmd32, static int do_atm_ioctl(struct socket *sock, unsigned int cmd32,