diff options
-rw-r--r-- | fs/compat_ioctl.c | 107 |
1 files changed, 1 insertions, 106 deletions
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index 8ab850bf2eee..05ec7eef8690 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c | |||
@@ -58,7 +58,6 @@ | |||
58 | #include <linux/syscalls.h> | 58 | #include <linux/syscalls.h> |
59 | #include <linux/i2c.h> | 59 | #include <linux/i2c.h> |
60 | #include <linux/i2c-dev.h> | 60 | #include <linux/i2c-dev.h> |
61 | #include <linux/wireless.h> | ||
62 | #include <linux/atalk.h> | 61 | #include <linux/atalk.h> |
63 | #include <linux/loop.h> | 62 | #include <linux/loop.h> |
64 | 63 | ||
@@ -1757,58 +1756,6 @@ static int do_i2c_smbus_ioctl(unsigned int fd, unsigned int cmd, unsigned long a | |||
1757 | return sys_ioctl(fd, cmd, (unsigned long)tdata); | 1756 | return sys_ioctl(fd, cmd, (unsigned long)tdata); |
1758 | } | 1757 | } |
1759 | 1758 | ||
1760 | static int do_wireless_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) | ||
1761 | { | ||
1762 | struct iwreq __user *iwr; | ||
1763 | struct iwreq __user *iwr_u; | ||
1764 | struct iw_point __user *iwp; | ||
1765 | struct compat_iw_point __user *iwp_u; | ||
1766 | compat_caddr_t pointer_u; | ||
1767 | void __user *pointer; | ||
1768 | __u16 length, flags; | ||
1769 | int ret; | ||
1770 | |||
1771 | iwr_u = compat_ptr(arg); | ||
1772 | iwp_u = (struct compat_iw_point __user *) &iwr_u->u.data; | ||
1773 | iwr = compat_alloc_user_space(sizeof(*iwr)); | ||
1774 | if (iwr == NULL) | ||
1775 | return -ENOMEM; | ||
1776 | |||
1777 | iwp = &iwr->u.data; | ||
1778 | |||
1779 | if (!access_ok(VERIFY_WRITE, iwr, sizeof(*iwr))) | ||
1780 | return -EFAULT; | ||
1781 | |||
1782 | if (__copy_in_user(&iwr->ifr_ifrn.ifrn_name[0], | ||
1783 | &iwr_u->ifr_ifrn.ifrn_name[0], | ||
1784 | sizeof(iwr->ifr_ifrn.ifrn_name))) | ||
1785 | return -EFAULT; | ||
1786 | |||
1787 | if (__get_user(pointer_u, &iwp_u->pointer) || | ||
1788 | __get_user(length, &iwp_u->length) || | ||
1789 | __get_user(flags, &iwp_u->flags)) | ||
1790 | return -EFAULT; | ||
1791 | |||
1792 | if (__put_user(compat_ptr(pointer_u), &iwp->pointer) || | ||
1793 | __put_user(length, &iwp->length) || | ||
1794 | __put_user(flags, &iwp->flags)) | ||
1795 | return -EFAULT; | ||
1796 | |||
1797 | ret = sys_ioctl(fd, cmd, (unsigned long) iwr); | ||
1798 | |||
1799 | if (__get_user(pointer, &iwp->pointer) || | ||
1800 | __get_user(length, &iwp->length) || | ||
1801 | __get_user(flags, &iwp->flags)) | ||
1802 | return -EFAULT; | ||
1803 | |||
1804 | if (__put_user(ptr_to_compat(pointer), &iwp_u->pointer) || | ||
1805 | __put_user(length, &iwp_u->length) || | ||
1806 | __put_user(flags, &iwp_u->flags)) | ||
1807 | return -EFAULT; | ||
1808 | |||
1809 | return ret; | ||
1810 | } | ||
1811 | |||
1812 | /* Since old style bridge ioctl's endup using SIOCDEVPRIVATE | 1759 | /* Since old style bridge ioctl's endup using SIOCDEVPRIVATE |
1813 | * for some operations; this forces use of the newer bridge-utils that | 1760 | * for some operations; this forces use of the newer bridge-utils that |
1814 | * use compatiable ioctls | 1761 | * use compatiable ioctls |
@@ -2489,36 +2436,6 @@ COMPATIBLE_IOCTL(I2C_TENBIT) | |||
2489 | COMPATIBLE_IOCTL(I2C_PEC) | 2436 | COMPATIBLE_IOCTL(I2C_PEC) |
2490 | COMPATIBLE_IOCTL(I2C_RETRIES) | 2437 | COMPATIBLE_IOCTL(I2C_RETRIES) |
2491 | COMPATIBLE_IOCTL(I2C_TIMEOUT) | 2438 | COMPATIBLE_IOCTL(I2C_TIMEOUT) |
2492 | /* wireless */ | ||
2493 | COMPATIBLE_IOCTL(SIOCSIWCOMMIT) | ||
2494 | COMPATIBLE_IOCTL(SIOCGIWNAME) | ||
2495 | COMPATIBLE_IOCTL(SIOCSIWNWID) | ||
2496 | COMPATIBLE_IOCTL(SIOCGIWNWID) | ||
2497 | COMPATIBLE_IOCTL(SIOCSIWFREQ) | ||
2498 | COMPATIBLE_IOCTL(SIOCGIWFREQ) | ||
2499 | COMPATIBLE_IOCTL(SIOCSIWMODE) | ||
2500 | COMPATIBLE_IOCTL(SIOCGIWMODE) | ||
2501 | COMPATIBLE_IOCTL(SIOCSIWSENS) | ||
2502 | COMPATIBLE_IOCTL(SIOCGIWSENS) | ||
2503 | COMPATIBLE_IOCTL(SIOCSIWRANGE) | ||
2504 | COMPATIBLE_IOCTL(SIOCSIWPRIV) | ||
2505 | COMPATIBLE_IOCTL(SIOCSIWSTATS) | ||
2506 | COMPATIBLE_IOCTL(SIOCSIWAP) | ||
2507 | COMPATIBLE_IOCTL(SIOCGIWAP) | ||
2508 | COMPATIBLE_IOCTL(SIOCSIWRATE) | ||
2509 | COMPATIBLE_IOCTL(SIOCGIWRATE) | ||
2510 | COMPATIBLE_IOCTL(SIOCSIWRTS) | ||
2511 | COMPATIBLE_IOCTL(SIOCGIWRTS) | ||
2512 | COMPATIBLE_IOCTL(SIOCSIWFRAG) | ||
2513 | COMPATIBLE_IOCTL(SIOCGIWFRAG) | ||
2514 | COMPATIBLE_IOCTL(SIOCSIWTXPOW) | ||
2515 | COMPATIBLE_IOCTL(SIOCGIWTXPOW) | ||
2516 | COMPATIBLE_IOCTL(SIOCSIWRETRY) | ||
2517 | COMPATIBLE_IOCTL(SIOCGIWRETRY) | ||
2518 | COMPATIBLE_IOCTL(SIOCSIWPOWER) | ||
2519 | COMPATIBLE_IOCTL(SIOCGIWPOWER) | ||
2520 | COMPATIBLE_IOCTL(SIOCSIWAUTH) | ||
2521 | COMPATIBLE_IOCTL(SIOCGIWAUTH) | ||
2522 | /* hiddev */ | 2439 | /* hiddev */ |
2523 | COMPATIBLE_IOCTL(HIDIOCGVERSION) | 2440 | COMPATIBLE_IOCTL(HIDIOCGVERSION) |
2524 | COMPATIBLE_IOCTL(HIDIOCAPPLICATION) | 2441 | COMPATIBLE_IOCTL(HIDIOCAPPLICATION) |
@@ -2749,29 +2666,7 @@ COMPATIBLE_IOCTL(USBDEVFS_IOCTL32) | |||
2749 | HANDLE_IOCTL(I2C_FUNCS, w_long) | 2666 | HANDLE_IOCTL(I2C_FUNCS, w_long) |
2750 | HANDLE_IOCTL(I2C_RDWR, do_i2c_rdwr_ioctl) | 2667 | HANDLE_IOCTL(I2C_RDWR, do_i2c_rdwr_ioctl) |
2751 | HANDLE_IOCTL(I2C_SMBUS, do_i2c_smbus_ioctl) | 2668 | HANDLE_IOCTL(I2C_SMBUS, do_i2c_smbus_ioctl) |
2752 | /* wireless */ | 2669 | /* bridge */ |
2753 | HANDLE_IOCTL(SIOCGIWRANGE, do_wireless_ioctl) | ||
2754 | HANDLE_IOCTL(SIOCGIWPRIV, do_wireless_ioctl) | ||
2755 | HANDLE_IOCTL(SIOCGIWSTATS, do_wireless_ioctl) | ||
2756 | HANDLE_IOCTL(SIOCSIWSPY, do_wireless_ioctl) | ||
2757 | HANDLE_IOCTL(SIOCGIWSPY, do_wireless_ioctl) | ||
2758 | HANDLE_IOCTL(SIOCSIWTHRSPY, do_wireless_ioctl) | ||
2759 | HANDLE_IOCTL(SIOCGIWTHRSPY, do_wireless_ioctl) | ||
2760 | HANDLE_IOCTL(SIOCSIWMLME, do_wireless_ioctl) | ||
2761 | HANDLE_IOCTL(SIOCGIWAPLIST, do_wireless_ioctl) | ||
2762 | HANDLE_IOCTL(SIOCSIWSCAN, do_wireless_ioctl) | ||
2763 | HANDLE_IOCTL(SIOCGIWSCAN, do_wireless_ioctl) | ||
2764 | HANDLE_IOCTL(SIOCSIWESSID, do_wireless_ioctl) | ||
2765 | HANDLE_IOCTL(SIOCGIWESSID, do_wireless_ioctl) | ||
2766 | HANDLE_IOCTL(SIOCSIWNICKN, do_wireless_ioctl) | ||
2767 | HANDLE_IOCTL(SIOCGIWNICKN, do_wireless_ioctl) | ||
2768 | HANDLE_IOCTL(SIOCSIWENCODE, do_wireless_ioctl) | ||
2769 | HANDLE_IOCTL(SIOCGIWENCODE, do_wireless_ioctl) | ||
2770 | HANDLE_IOCTL(SIOCSIWGENIE, do_wireless_ioctl) | ||
2771 | HANDLE_IOCTL(SIOCGIWGENIE, do_wireless_ioctl) | ||
2772 | HANDLE_IOCTL(SIOCSIWENCODEEXT, do_wireless_ioctl) | ||
2773 | HANDLE_IOCTL(SIOCGIWENCODEEXT, do_wireless_ioctl) | ||
2774 | HANDLE_IOCTL(SIOCSIWPMKSA, do_wireless_ioctl) | ||
2775 | HANDLE_IOCTL(SIOCSIFBR, old_bridge_ioctl) | 2670 | HANDLE_IOCTL(SIOCSIFBR, old_bridge_ioctl) |
2776 | HANDLE_IOCTL(SIOCGIFBR, old_bridge_ioctl) | 2671 | HANDLE_IOCTL(SIOCGIFBR, old_bridge_ioctl) |
2777 | /* Not implemented in the native kernel */ | 2672 | /* Not implemented in the native kernel */ |