Skip to content

Commit 25c3412

Browse files
author
Linus Torvalds
committed
Merge bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
2 parents 686ed0a + a2e2c69 commit 25c3412

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+110
-126
lines changed

arch/cris/arch-v10/drivers/ethernet.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1396,8 +1396,8 @@ e100_close(struct net_device *dev)
13961396
static int
13971397
e100_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
13981398
{
1399-
struct mii_ioctl_data *data = (struct mii_ioctl_data *)&ifr->ifr_data;
1400-
struct net_local *np = (struct net_local *)dev->priv;
1399+
struct mii_ioctl_data *data = if_mii(ifr);
1400+
struct net_local *np = netdev_priv(dev);
14011401

14021402
spin_lock(&np->lock); /* Preempt protection */
14031403
switch (cmd) {

drivers/net/3c59x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2873,7 +2873,7 @@ static int vortex_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
28732873
{
28742874
struct vortex_private *vp = netdev_priv(dev);
28752875
long ioaddr = dev->base_addr;
2876-
struct mii_ioctl_data *data = (struct mii_ioctl_data *)&rq->ifr_data;
2876+
struct mii_ioctl_data *data = if_mii(rq);
28772877
int phy = vp->phys[0] & 0x1f;
28782878
int retval;
28792879

drivers/net/8139cp.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1546,15 +1546,14 @@ static struct ethtool_ops cp_ethtool_ops = {
15461546
static int cp_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
15471547
{
15481548
struct cp_private *cp = netdev_priv(dev);
1549-
struct mii_ioctl_data *mii = (struct mii_ioctl_data *) &rq->ifr_data;
15501549
int rc;
15511550
unsigned long flags;
15521551

15531552
if (!netif_running(dev))
15541553
return -EINVAL;
15551554

15561555
spin_lock_irqsave(&cp->lock, flags);
1557-
rc = generic_mii_ioctl(&cp->mii_if, mii, cmd, NULL);
1556+
rc = generic_mii_ioctl(&cp->mii_if, if_mii(rq), cmd, NULL);
15581557
spin_unlock_irqrestore(&cp->lock, flags);
15591558
return rc;
15601559
}

drivers/net/8139too.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2458,14 +2458,13 @@ static struct ethtool_ops rtl8139_ethtool_ops = {
24582458
static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
24592459
{
24602460
struct rtl8139_private *np = dev->priv;
2461-
struct mii_ioctl_data *data = (struct mii_ioctl_data *) & rq->ifr_data;
24622461
int rc;
24632462

24642463
if (!netif_running(dev))
24652464
return -EINVAL;
24662465

24672466
spin_lock_irq(&np->lock);
2468-
rc = generic_mii_ioctl(&np->mii, data, cmd, NULL);
2467+
rc = generic_mii_ioctl(&np->mii, if_mii(rq), cmd, NULL);
24692468
spin_unlock_irq(&np->lock);
24702469

24712470
return rc;

drivers/net/amd8111e.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1694,7 +1694,7 @@ static int amd8111e_ethtool_ioctl(struct net_device* dev, void __user *useraddr)
16941694
}
16951695
static int amd8111e_ioctl(struct net_device * dev , struct ifreq *ifr, int cmd)
16961696
{
1697-
struct mii_ioctl_data *data = (struct mii_ioctl_data *)&ifr->ifr_data;
1697+
struct mii_ioctl_data *data = if_mii(ifr);
16981698
struct amd8111e_priv *lp = netdev_priv(dev);
16991699
int err;
17001700
u32 mii_regval;

drivers/net/appletalk/cops.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ static void cops_reset(struct net_device *dev, int sleep)
524524
static void cops_load (struct net_device *dev)
525525
{
526526
struct ifreq ifr;
527-
struct ltfirmware *ltf= (struct ltfirmware *)&ifr.ifr_data;
527+
struct ltfirmware *ltf= (struct ltfirmware *)&ifr.ifr_ifru;
528528
struct cops_local *lp = netdev_priv(dev);
529529
int ioaddr=dev->base_addr;
530530
int length, i = 0;

drivers/net/appletalk/ipddp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ static struct ipddp_route* ipddp_find_route(struct ipddp_route *rt)
259259

260260
static int ipddp_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
261261
{
262-
struct ipddp_route *rt = (struct ipddp_route *)ifr->ifr_data;
262+
struct ipddp_route __user *rt = ifr->ifr_data;
263263
struct ipddp_route rcp;
264264

265265
if(!capable(CAP_NET_ADMIN))

drivers/net/au1000_eth.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1269,7 +1269,7 @@ static void set_rx_mode(struct net_device *dev)
12691269

12701270
static int au1000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
12711271
{
1272-
u16 *data = (u16 *)&rq->ifr_data;
1272+
u16 *data = (u16 *)&rq->ifr_ifru;
12731273

12741274
/* fixme */
12751275
switch(cmd) {

drivers/net/b44.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1633,7 +1633,7 @@ static struct ethtool_ops b44_ethtool_ops = {
16331633

16341634
static int b44_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
16351635
{
1636-
struct mii_ioctl_data __user *data = ifr->ifr_data;
1636+
struct mii_ioctl_data *data = if_mii(ifr);
16371637
struct b44 *bp = netdev_priv(dev);
16381638
int err;
16391639

drivers/net/bonding/bond_main.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,7 +1103,7 @@ static int bond_check_dev_link(struct bonding *bond, struct net_device *slave_de
11031103

11041104
/* Yes, the mii is overlaid on the ifreq.ifr_ifru */
11051105
strncpy(ifr.ifr_name, slave_dev->name, IFNAMSIZ);
1106-
mii = (struct mii_ioctl_data *)&ifr.ifr_data;
1106+
mii = if_mii(&ifr);
11071107
if (IOCTL(slave_dev, &ifr, SIOCGMIIPHY) == 0) {
11081108
mii->reg_num = MII_BMSR;
11091109
if (IOCTL(slave_dev, &ifr, SIOCGMIIREG) == 0) {
@@ -3682,7 +3682,7 @@ static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd
36823682
case SIOCETHTOOL:
36833683
return bond_ethtool_ioctl(bond_dev, ifr);
36843684
case SIOCGMIIPHY:
3685-
mii = (struct mii_ioctl_data *)&ifr->ifr_data;
3685+
mii = if_mii(ifr);
36863686
if (!mii) {
36873687
return -EINVAL;
36883688
}
@@ -3693,7 +3693,7 @@ static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd
36933693
* We do this again just in case we were called by SIOCGMIIREG
36943694
* instead of SIOCGMIIPHY.
36953695
*/
3696-
mii = (struct mii_ioctl_data *)&ifr->ifr_data;
3696+
mii = if_mii(ifr);
36973697
if (!mii) {
36983698
return -EINVAL;
36993699
}

drivers/net/depca.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1937,7 +1937,7 @@ static void depca_dbg_open(struct net_device *dev)
19371937
static int depca_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
19381938
{
19391939
struct depca_private *lp = (struct depca_private *) dev->priv;
1940-
struct depca_ioctl *ioc = (struct depca_ioctl *) &rq->ifr_data;
1940+
struct depca_ioctl *ioc = (struct depca_ioctl *) &rq->ifr_ifru;
19411941
int i, status = 0;
19421942
u_long ioaddr = dev->base_addr;
19431943
union {

drivers/net/depca.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@
162162
struct depca_ioctl {
163163
unsigned short cmd; /* Command to run */
164164
unsigned short len; /* Length of the data buffer */
165-
unsigned char *data; /* Pointer to the data buffer */
165+
unsigned char __user *data; /* Pointer to the data buffer */
166166
};
167167

168168
/*

drivers/net/dl2k.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1325,7 +1325,7 @@ rio_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
13251325
{
13261326
int phy_addr;
13271327
struct netdev_private *np = dev->priv;
1328-
struct mii_data *miidata = (struct mii_data *) &rq->ifr_data;
1328+
struct mii_data *miidata = (struct mii_data *) &rq->ifr_ifru;
13291329

13301330
struct netdev_desc *desc;
13311331
int i;

drivers/net/e100.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2075,9 +2075,8 @@ static struct ethtool_ops e100_ethtool_ops = {
20752075
static int e100_do_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
20762076
{
20772077
struct nic *nic = netdev_priv(netdev);
2078-
struct mii_ioctl_data *mii = (struct mii_ioctl_data *)&ifr->ifr_data;
20792078

2080-
return generic_mii_ioctl(&nic->mii, mii, cmd, NULL);
2079+
return generic_mii_ioctl(&nic->mii, if_mii(ifr), cmd, NULL);
20812080
}
20822081

20832082
static int e100_alloc(struct nic *nic)

drivers/net/e1000/e1000_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2503,7 +2503,7 @@ static int
25032503
e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
25042504
{
25052505
struct e1000_adapter *adapter = netdev->priv;
2506-
struct mii_ioctl_data *data = (struct mii_ioctl_data *)&ifr->ifr_data;
2506+
struct mii_ioctl_data *data = if_mii(ifr);
25072507
int retval;
25082508
uint16_t mii_reg;
25092509
uint16_t spddplx;

drivers/net/eepro100.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2096,7 +2096,7 @@ static int netdev_ethtool_ioctl(struct net_device *dev, void __user *useraddr)
20962096
static int speedo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
20972097
{
20982098
struct speedo_private *sp = netdev_priv(dev);
2099-
struct mii_ioctl_data *data = (struct mii_ioctl_data *)&rq->ifr_data;
2099+
struct mii_ioctl_data *data = if_mii(rq);
21002100
int phy = sp->phy[0] & 0x1f;
21012101
int saved_acpi;
21022102
int t;

drivers/net/epic100.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1440,7 +1440,7 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
14401440
{
14411441
struct epic_private *np = dev->priv;
14421442
long ioaddr = dev->base_addr;
1443-
struct mii_ioctl_data *data = (struct mii_ioctl_data *)&rq->ifr_data;
1443+
struct mii_ioctl_data *data = if_mii(rq);
14441444
int rc;
14451445

14461446
/* power-up, if interface is down */

drivers/net/eql.c

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -255,14 +255,14 @@ static int eql_close(struct net_device *dev)
255255
return 0;
256256
}
257257

258-
static int eql_enslave(struct net_device *dev, slaving_request_t *srq);
259-
static int eql_emancipate(struct net_device *dev, slaving_request_t *srq);
258+
static int eql_enslave(struct net_device *dev, slaving_request_t __user *srq);
259+
static int eql_emancipate(struct net_device *dev, slaving_request_t __user *srq);
260260

261-
static int eql_g_slave_cfg(struct net_device *dev, slave_config_t *sc);
262-
static int eql_s_slave_cfg(struct net_device *dev, slave_config_t *sc);
261+
static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *sc);
262+
static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *sc);
263263

264-
static int eql_g_master_cfg(struct net_device *dev, master_config_t *mc);
265-
static int eql_s_master_cfg(struct net_device *dev, master_config_t *mc);
264+
static int eql_g_master_cfg(struct net_device *dev, master_config_t __user *mc);
265+
static int eql_s_master_cfg(struct net_device *dev, master_config_t __user *mc);
266266

267267
static int eql_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
268268
{
@@ -272,23 +272,17 @@ static int eql_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
272272

273273
switch (cmd) {
274274
case EQL_ENSLAVE:
275-
return eql_enslave(dev,
276-
(slaving_request_t *) ifr->ifr_data);
275+
return eql_enslave(dev, ifr->ifr_data);
277276
case EQL_EMANCIPATE:
278-
return eql_emancipate(dev,
279-
(slaving_request_t *) ifr->ifr_data);
277+
return eql_emancipate(dev, ifr->ifr_data);
280278
case EQL_GETSLAVECFG:
281-
return eql_g_slave_cfg(dev,
282-
(slave_config_t *) ifr->ifr_data);
279+
return eql_g_slave_cfg(dev, ifr->ifr_data);
283280
case EQL_SETSLAVECFG:
284-
return eql_s_slave_cfg(dev,
285-
(slave_config_t *) ifr->ifr_data);
281+
return eql_s_slave_cfg(dev, ifr->ifr_data);
286282
case EQL_GETMASTRCFG:
287-
return eql_g_master_cfg(dev,
288-
(master_config_t *) ifr->ifr_data);
283+
return eql_g_master_cfg(dev, ifr->ifr_data);
289284
case EQL_SETMASTRCFG:
290-
return eql_s_master_cfg(dev,
291-
(master_config_t *) ifr->ifr_data);
285+
return eql_s_master_cfg(dev, ifr->ifr_data);
292286
default:
293287
return -EOPNOTSUPP;
294288
};
@@ -411,7 +405,7 @@ static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave)
411405
return -ENOSPC;
412406
}
413407

414-
static int eql_enslave(struct net_device *master_dev, slaving_request_t *srqp)
408+
static int eql_enslave(struct net_device *master_dev, slaving_request_t __user *srqp)
415409
{
416410
struct net_device *slave_dev;
417411
slaving_request_t srq;
@@ -457,7 +451,7 @@ static int eql_enslave(struct net_device *master_dev, slaving_request_t *srqp)
457451
return -EINVAL;
458452
}
459453

460-
static int eql_emancipate(struct net_device *master_dev, slaving_request_t *srqp)
454+
static int eql_emancipate(struct net_device *master_dev, slaving_request_t __user *srqp)
461455
{
462456
equalizer_t *eql = master_dev->priv;
463457
struct net_device *slave_dev;
@@ -489,7 +483,7 @@ static int eql_emancipate(struct net_device *master_dev, slaving_request_t *srqp
489483
return ret;
490484
}
491485

492-
static int eql_g_slave_cfg(struct net_device *dev, slave_config_t *scp)
486+
static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
493487
{
494488
equalizer_t *eql = dev->priv;
495489
slave_t *slave;
@@ -522,7 +516,7 @@ static int eql_g_slave_cfg(struct net_device *dev, slave_config_t *scp)
522516
return ret;
523517
}
524518

525-
static int eql_s_slave_cfg(struct net_device *dev, slave_config_t *scp)
519+
static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
526520
{
527521
slave_t *slave;
528522
equalizer_t *eql;
@@ -553,7 +547,7 @@ static int eql_s_slave_cfg(struct net_device *dev, slave_config_t *scp)
553547
return ret;
554548
}
555549

556-
static int eql_g_master_cfg(struct net_device *dev, master_config_t *mcp)
550+
static int eql_g_master_cfg(struct net_device *dev, master_config_t __user *mcp)
557551
{
558552
equalizer_t *eql;
559553
master_config_t mc;
@@ -569,7 +563,7 @@ static int eql_g_master_cfg(struct net_device *dev, master_config_t *mcp)
569563
return -EINVAL;
570564
}
571565

572-
static int eql_s_master_cfg(struct net_device *dev, master_config_t *mcp)
566+
static int eql_s_master_cfg(struct net_device *dev, master_config_t __user *mcp)
573567
{
574568
equalizer_t *eql;
575569
master_config_t mc;

drivers/net/ewrk3.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1707,7 +1707,7 @@ static int ewrk3_ethtool_ioctl(struct net_device *dev, void __user *useraddr)
17071707
static int ewrk3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
17081708
{
17091709
struct ewrk3_private *lp = (struct ewrk3_private *) dev->priv;
1710-
struct ewrk3_ioctl *ioc = (struct ewrk3_ioctl *) &rq->ifr_data;
1710+
struct ewrk3_ioctl *ioc = (struct ewrk3_ioctl *) &rq->ifr_ifru;
17111711
u_long iobase = dev->base_addr;
17121712
int i, j, status = 0;
17131713
u_char csr;

drivers/net/ewrk3.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@
296296
struct ewrk3_ioctl {
297297
unsigned short cmd; /* Command to run */
298298
unsigned short len; /* Length of the data buffer */
299-
unsigned char *data; /* Pointer to the data buffer */
299+
unsigned char __user *data; /* Pointer to the data buffer */
300300
};
301301

302302
/*

drivers/net/fealnx.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1923,14 +1923,13 @@ static struct ethtool_ops netdev_ethtool_ops = {
19231923
static int mii_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
19241924
{
19251925
struct netdev_private *np = dev->priv;
1926-
struct mii_ioctl_data *data = (struct mii_ioctl_data *) & rq->ifr_data;
19271926
int rc;
19281927

19291928
if (!netif_running(dev))
19301929
return -EINVAL;
19311930

19321931
spin_lock_irq(&np->lock);
1933-
rc = generic_mii_ioctl(&np->mii, data, cmd, NULL);
1932+
rc = generic_mii_ioctl(&np->mii, if_mii(rq), cmd, NULL);
19341933
spin_unlock_irq(&np->lock);
19351934

19361935
return rc;

drivers/net/hamachi.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1937,7 +1937,7 @@ static int netdev_ethtool_ioctl(struct net_device *dev, void __user *useraddr)
19371937
static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
19381938
{
19391939
struct hamachi_private *np = dev->priv;
1940-
struct mii_ioctl_data *data = (struct mii_ioctl_data *) & rq->ifr_data;
1940+
struct mii_ioctl_data *data = if_mii(rq);
19411941
int rc;
19421942

19431943
if (!netif_running(dev))
@@ -1947,7 +1947,7 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
19471947
rc = netdev_ethtool_ioctl(dev, rq->ifr_data);
19481948

19491949
else if (cmd == (SIOCDEVPRIVATE+3)) { /* set rx,tx intr params */
1950-
u32 *d = (u32 *)&rq->ifr_data;
1950+
u32 *d = (u32 *)&rq->ifr_ifru;
19511951
/* Should add this check here or an ordinary user can do nasty
19521952
* things. -KDU
19531953
*

drivers/net/hamradio/baycom_par.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,6 @@ static int baycom_ioctl(struct net_device *dev, struct ifreq *ifr,
414414
{
415415
struct baycom_state *bc;
416416
struct baycom_ioctl bi;
417-
int cmd2;
418417

419418
if (!dev || !dev->priv ||
420419
((struct baycom_state *)dev->priv)->hdrv.magic != HDLCDRV_MAGIC) {
@@ -425,8 +424,6 @@ static int baycom_ioctl(struct net_device *dev, struct ifreq *ifr,
425424

426425
if (cmd != SIOCDEVPRIVATE)
427426
return -ENOIOCTLCMD;
428-
if (get_user(cmd2, (int *)ifr->ifr_data))
429-
return -EFAULT;
430427
switch (hi->cmd) {
431428
default:
432429
break;

drivers/net/hamradio/baycom_ser_fdx.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,6 @@ static int baycom_ioctl(struct net_device *dev, struct ifreq *ifr,
529529
{
530530
struct baycom_state *bc;
531531
struct baycom_ioctl bi;
532-
int cmd2;
533532

534533
if (!dev || !dev->priv ||
535534
((struct baycom_state *)dev->priv)->hdrv.magic != HDLCDRV_MAGIC) {
@@ -540,8 +539,6 @@ static int baycom_ioctl(struct net_device *dev, struct ifreq *ifr,
540539

541540
if (cmd != SIOCDEVPRIVATE)
542541
return -ENOIOCTLCMD;
543-
if (get_user(cmd2, (int *)ifr->ifr_data))
544-
return -EFAULT;
545542
switch (hi->cmd) {
546543
default:
547544
break;

drivers/net/hamradio/baycom_ser_hdx.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,6 @@ static int baycom_ioctl(struct net_device *dev, struct ifreq *ifr,
569569
{
570570
struct baycom_state *bc;
571571
struct baycom_ioctl bi;
572-
int cmd2;
573572

574573
if (!dev || !dev->priv ||
575574
((struct baycom_state *)dev->priv)->hdrv.magic != HDLCDRV_MAGIC) {
@@ -580,8 +579,6 @@ static int baycom_ioctl(struct net_device *dev, struct ifreq *ifr,
580579

581580
if (cmd != SIOCDEVPRIVATE)
582581
return -ENOIOCTLCMD;
583-
if (get_user(cmd2, (int *)ifr->ifr_data))
584-
return -EFAULT;
585582
switch (hi->cmd) {
586583
default:
587584
break;

0 commit comments

Comments
 (0)