summaryrefslogtreecommitdiffstats
path: root/net/atm/resources.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2020-05-10 17:34:20 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2020-05-20 20:31:34 -0400
commita3929484af75ee524419edbbc4e9ce012c3d67c9 (patch)
tree3d9a07871d1f21d67790aff524f61b1085c14057 /net/atm/resources.c
parent8c2348e36af0da79477b0726781da297263269a4 (diff)
downloadlinux-a3929484af75ee524419edbbc4e9ce012c3d67c9.tar.bz2
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.c19
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);