]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Revert "[Bluetooth] Fix compat ioctl for BNEP, CMTP and HIDP"
authorAdrian Bunk <bunk@stusta.de>
Wed, 14 Feb 2007 13:00:41 +0000 (14:00 +0100)
committerAdrian Bunk <bunk@stusta.de>
Wed, 14 Feb 2007 13:00:41 +0000 (14:00 +0100)
This reverts commit ac4d63dab8bb425f1ae037abf349090c12f16883.

Does not work in 2.6.16.

net/bluetooth/bnep/sock.c
net/bluetooth/cmtp/sock.c
net/bluetooth/hidp/sock.c

index e9b63e61c8398ec3cf26a04784c3d4f3098b8940..165f1a94087083db50aab9f6e97d307ed7783892 100644 (file)
@@ -44,7 +44,6 @@
 #include <linux/ioctl.h>
 #include <linux/file.h>
 #include <linux/init.h>
-#include <linux/compat.h>
 #include <net/sock.h>
 
 #include <asm/system.h>
@@ -148,56 +147,24 @@ static int bnep_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long
        return 0;
 }
 
-#ifdef CONFIG_COMPAT
-static int bnep_sock_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-{
-       if (cmd == BNEPGETCONNLIST) {
-               struct bnep_connlist_req cl;
-               uint32_t uci;
-               int err;
-
-               if (get_user(cl.cnum, (uint32_t __user *) arg) ||
-                               get_user(uci, (u32 __user *) (arg + 4)))
-                       return -EFAULT;
-
-               cl.ci = compat_ptr(uci);
-
-               if (cl.cnum <= 0)
-                       return -EINVAL;
-       
-               err = bnep_get_connlist(&cl);
-
-               if (!err && put_user(cl.cnum, (uint32_t __user *) arg))
-                       err = -EFAULT;
-
-               return err;
-       }
-
-       return bnep_sock_ioctl(sock, cmd, arg);
-}
-#endif
-
 static const struct proto_ops bnep_sock_ops = {
-       .family         = PF_BLUETOOTH,
-       .owner          = THIS_MODULE,
-       .release        = bnep_sock_release,
-       .ioctl          = bnep_sock_ioctl,
-#ifdef CONFIG_COMPAT
-       .compat_ioctl   = bnep_sock_compat_ioctl,
-#endif
-       .bind           = sock_no_bind,
-       .getname        = sock_no_getname,
-       .sendmsg        = sock_no_sendmsg,
-       .recvmsg        = sock_no_recvmsg,
-       .poll           = sock_no_poll,
-       .listen         = sock_no_listen,
-       .shutdown       = sock_no_shutdown,
-       .setsockopt     = sock_no_setsockopt,
-       .getsockopt     = sock_no_getsockopt,
-       .connect        = sock_no_connect,
-       .socketpair     = sock_no_socketpair,
-       .accept         = sock_no_accept,
-       .mmap           = sock_no_mmap
+       .family     = PF_BLUETOOTH,
+       .owner      = THIS_MODULE,
+       .release    = bnep_sock_release,
+       .ioctl      = bnep_sock_ioctl,
+       .bind       = sock_no_bind,
+       .getname    = sock_no_getname,
+       .sendmsg    = sock_no_sendmsg,
+       .recvmsg    = sock_no_recvmsg,
+       .poll       = sock_no_poll,
+       .listen     = sock_no_listen,
+       .shutdown   = sock_no_shutdown,
+       .setsockopt = sock_no_setsockopt,
+       .getsockopt = sock_no_getsockopt,
+       .connect    = sock_no_connect,
+       .socketpair = sock_no_socketpair,
+       .accept     = sock_no_accept,
+       .mmap       = sock_no_mmap
 };
 
 static struct proto bnep_proto = {
index d29e870bb37974dd1925343f935104b0eca4a86a..3dc4851f5fb679165e3250cb425f08f5c1b5b1a8 100644 (file)
@@ -35,7 +35,6 @@
 #include <linux/socket.h>
 #include <linux/ioctl.h>
 #include <linux/file.h>
-#include <linux/compat.h>
 #include <net/sock.h>
 
 #include <linux/isdn/capilli.h>
@@ -139,43 +138,11 @@ static int cmtp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long
        return -EINVAL;
 }
 
-#ifdef CONFIG_COMPAT
-static int cmtp_sock_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-{
-       if (cmd == CMTPGETCONNLIST) {
-               struct cmtp_connlist_req cl;
-               uint32_t uci;
-               int err;
-
-               if (get_user(cl.cnum, (uint32_t __user *) arg) ||
-                               get_user(uci, (u32 __user *) (arg + 4)))
-                       return -EFAULT;
-
-               cl.ci = compat_ptr(uci);
-
-               if (cl.cnum <= 0)
-                       return -EINVAL;
-       
-               err = cmtp_get_connlist(&cl);
-
-               if (!err && put_user(cl.cnum, (uint32_t __user *) arg))
-                       err = -EFAULT;
-
-               return err;
-       }
-
-       return cmtp_sock_ioctl(sock, cmd, arg);
-}
-#endif
-
 static const struct proto_ops cmtp_sock_ops = {
        .family         = PF_BLUETOOTH,
        .owner          = THIS_MODULE,
        .release        = cmtp_sock_release,
        .ioctl          = cmtp_sock_ioctl,
-#ifdef CONFIG_COMPAT
-       .compat_ioctl   = cmtp_sock_compat_ioctl,
-#endif
        .bind           = sock_no_bind,
        .getname        = sock_no_getname,
        .sendmsg        = sock_no_sendmsg,
index 9ebab48b6c7fdc79b0c9e4351d87a509f517eac5..01e8f9ef7bc10ba6929d04a62d79a5e983406e82 100644 (file)
@@ -36,7 +36,6 @@
 #include <linux/ioctl.h>
 #include <linux/file.h>
 #include <linux/init.h>
-#include <linux/compat.h>
 #include <net/sock.h>
 
 #include "hidp.h"
@@ -145,88 +144,11 @@ static int hidp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long
        return -EINVAL;
 }
 
-#ifdef CONFIG_COMPAT
-struct compat_hidp_connadd_req {
-       int   ctrl_sock;        // Connected control socket
-       int   intr_sock;        // Connteted interrupt socket
-       __u16 parser;
-       __u16 rd_size;
-       compat_uptr_t rd_data;
-       __u8  country;
-       __u8  subclass;
-       __u16 vendor;
-       __u16 product;
-       __u16 version;
-       __u32 flags;
-       __u32 idle_to;
-       char  name[128];
-};
-
-static int hidp_sock_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-{
-       if (cmd == HIDPGETCONNLIST) {
-               struct hidp_connlist_req cl;
-               uint32_t uci;
-               int err;
-
-               if (get_user(cl.cnum, (uint32_t __user *) arg) ||
-                               get_user(uci, (u32 __user *) (arg + 4)))
-                       return -EFAULT;
-
-               cl.ci = compat_ptr(uci);
-
-               if (cl.cnum <= 0)
-                       return -EINVAL;
-
-               err = hidp_get_connlist(&cl);
-
-               if (!err && put_user(cl.cnum, (uint32_t __user *) arg))
-                       err = -EFAULT;
-
-               return err;
-       } else if (cmd == HIDPCONNADD) {
-               struct compat_hidp_connadd_req ca;
-               struct hidp_connadd_req __user *uca;
-
-               uca = compat_alloc_user_space(sizeof(*uca));
-
-               if (copy_from_user(&ca, (void *) arg, sizeof(ca)))
-                       return -EFAULT;
-
-               if (put_user(ca.ctrl_sock, &uca->ctrl_sock) ||
-                               put_user(ca.intr_sock, &uca->intr_sock) ||
-                               put_user(ca.parser, &uca->parser) ||
-                               put_user(ca.rd_size, &uca->parser) ||
-                               put_user(compat_ptr(ca.rd_data), &uca->rd_data) ||
-                               put_user(ca.country, &uca->country) ||
-                               put_user(ca.subclass, &uca->subclass) ||
-                               put_user(ca.vendor, &uca->vendor) ||
-                               put_user(ca.product, &uca->product) ||
-                               put_user(ca.version, &uca->version) ||
-                               put_user(ca.flags, &uca->flags) ||
-                               put_user(ca.idle_to, &uca->idle_to) ||
-                               copy_to_user(&uca->name[0], &ca.name[0], 128))
-                       return -EFAULT;
-               
-               arg = (unsigned long) uca;
-
-               /* Fall through. We don't actually write back any _changes_
-                  to the structure anyway, so there's no need to copy back
-                  into the original compat version */
-       }
-
-       return hidp_sock_ioctl(sock, cmd, arg);
-}
-#endif
-
 static const struct proto_ops hidp_sock_ops = {
        .family         = PF_BLUETOOTH,
        .owner          = THIS_MODULE,
        .release        = hidp_sock_release,
        .ioctl          = hidp_sock_ioctl,
-#ifdef CONFIG_COMPAT
-       .compat_ioctl   = hidp_sock_compat_ioctl,
-#endif
        .bind           = sock_no_bind,
        .getname        = sock_no_getname,
        .sendmsg        = sock_no_sendmsg,