diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2020-05-10 17:34:20 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2020-05-20 20:31:34 -0400 |
commit | a3929484af75ee524419edbbc4e9ce012c3d67c9 (patch) | |
tree | 3d9a07871d1f21d67790aff524f61b1085c14057 /net/atm/resources.c | |
parent | 8c2348e36af0da79477b0726781da297263269a4 (diff) | |
download | linux-stable-a3929484af75ee524419edbbc4e9ce012c3d67c9.tar.gz linux-stable-a3929484af75ee524419edbbc4e9ce012c3d67c9.tar.bz2 linux-stable-a3929484af75ee524419edbbc4e9ce012c3d67c9.zip |
atm: move copyin from atm_getnames() into the caller
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/atm/resources.c')
-rw-r--r-- | net/atm/resources.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/net/atm/resources.c b/net/atm/resources.c index a2ab75929eec..5507cc608969 100644 --- a/net/atm/resources.c +++ b/net/atm/resources.c @@ -193,30 +193,13 @@ static int fetch_stats(struct atm_dev *dev, struct atm_dev_stats __user *arg, return error ? -EFAULT : 0; } -int atm_getnames(void __user *arg, int compat) +int atm_getnames(void __user *buf, int __user *iobuf_len) { - void __user *buf; int error, len, size = 0; struct atm_dev *dev; struct list_head *p; int *tmp_buf, *tmp_p; - int __user *iobuf_len; - if (IS_ENABLED(CONFIG_COMPAT) && compat) { -#ifdef CONFIG_COMPAT - struct compat_atm_iobuf __user *ciobuf = arg; - compat_uptr_t cbuf; - iobuf_len = &ciobuf->length; - if (get_user(cbuf, &ciobuf->buffer)) - return -EFAULT; - buf = compat_ptr(cbuf); -#endif - } else { - struct atm_iobuf __user *iobuf = arg; - iobuf_len = &iobuf->length; - if (get_user(buf, &iobuf->buffer)) - return -EFAULT; - } if (get_user(len, iobuf_len)) return -EFAULT; mutex_lock(&atm_dev_mutex); |