mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 14:13:01 -04:00
wext: Dispatch and handle compat ioctls entirely in net/wireless/wext.c
Next we can kill the hacks in fs/compat_ioctl.c and also dispatch compat ioctls down into the driver and 80211 protocol helper layers in order to handle iw_point objects embedded in stream replies which need to be translated. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a67fa76d8b
commit
87de87d5e4
5 changed files with 134 additions and 6 deletions
|
|
@ -677,6 +677,19 @@ struct iw_point
|
|||
__u16 flags; /* Optional params */
|
||||
};
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef CONFIG_COMPAT
|
||||
|
||||
#include <linux/compat.h>
|
||||
|
||||
struct compat_iw_point {
|
||||
compat_caddr_t pointer;
|
||||
__u16 length;
|
||||
__u16 flags;
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A frequency
|
||||
* For numbers lower than 10^9, we encode the number in 'm' and
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ extern int wext_proc_init(struct net *net);
|
|||
extern void wext_proc_exit(struct net *net);
|
||||
extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
|
||||
void __user *arg);
|
||||
extern int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
|
||||
unsigned long arg);
|
||||
#else
|
||||
static inline int wext_proc_init(struct net *net)
|
||||
{
|
||||
|
|
@ -26,6 +28,11 @@ static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned
|
|||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
|
||||
unsigned long arg)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NET_WEXT_H */
|
||||
|
|
|
|||
Loading…
Reference in a new issue