bonding: quit messing with IOCTL
The only remaining users are issuing SIOCGMIIPHY and SIOCGMIIREG, neither of which deals with userland pointers. Simply calling ->ndo_do_ioctl() is fine; no messing with set_fs() is needed. It used to mess with SIOCETHTOOL, which would've needed set_fs(), but that has been killed in "[NET] ethtool ops are the only way" 9 years ago... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
93b5097fe5
commit
4ad41c1e26
|
@ -471,9 +471,9 @@ static int bond_check_dev_link(struct bonding *bond,
|
||||||
/* Yes, the mii is overlaid on the ifreq.ifr_ifru */
|
/* Yes, the mii is overlaid on the ifreq.ifr_ifru */
|
||||||
strncpy(ifr.ifr_name, slave_dev->name, IFNAMSIZ);
|
strncpy(ifr.ifr_name, slave_dev->name, IFNAMSIZ);
|
||||||
mii = if_mii(&ifr);
|
mii = if_mii(&ifr);
|
||||||
if (IOCTL(slave_dev, &ifr, SIOCGMIIPHY) == 0) {
|
if (ioctl(slave_dev, &ifr, SIOCGMIIPHY) == 0) {
|
||||||
mii->reg_num = MII_BMSR;
|
mii->reg_num = MII_BMSR;
|
||||||
if (IOCTL(slave_dev, &ifr, SIOCGMIIREG) == 0)
|
if (ioctl(slave_dev, &ifr, SIOCGMIIREG) == 0)
|
||||||
return mii->val_out & BMSR_LSTATUS;
|
return mii->val_out & BMSR_LSTATUS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,18 +37,6 @@
|
||||||
#ifndef __long_aligned
|
#ifndef __long_aligned
|
||||||
#define __long_aligned __attribute__((aligned((sizeof(long)))))
|
#define __long_aligned __attribute__((aligned((sizeof(long)))))
|
||||||
#endif
|
#endif
|
||||||
/*
|
|
||||||
* Less bad way to call ioctl from within the kernel; this needs to be
|
|
||||||
* done some other way to get the call out of interrupt context.
|
|
||||||
* Needs "ioctl" variable to be supplied by calling context.
|
|
||||||
*/
|
|
||||||
#define IOCTL(dev, arg, cmd) ({ \
|
|
||||||
int res = 0; \
|
|
||||||
mm_segment_t fs = get_fs(); \
|
|
||||||
set_fs(get_ds()); \
|
|
||||||
res = ioctl(dev, arg, cmd); \
|
|
||||||
set_fs(fs); \
|
|
||||||
res; })
|
|
||||||
|
|
||||||
#define BOND_MODE(bond) ((bond)->params.mode)
|
#define BOND_MODE(bond) ((bond)->params.mode)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue