aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-06 22:53:34 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-06 22:53:34 -0500
commit5b3c1184e78dd7d74eced83b25af88cf1d13e686 (patch)
tree2a172026fc3492a9cdd66bca1e57d019eb78bf28 /drivers/net
parentfe1b4ba400193176213f95be3ea711a53518a609 (diff)
parent99c72ce091ec85868a0847e598eb7562dc0d8205 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [DCCP]: Set RTO for newly created child socket [DCCP]: Correctly split CCID half connections [NET]: Fix compat_sock_common_getsockopt typo. [NET]: Revert incorrect accept queue backlog changes. [INET]: twcal_jiffie should be unsigned long, not int [GIANFAR]: Fix compile error in latest git [PPPOE]: Use ifindex instead of device pointer in key lookups. [NETFILTER]: ip6_route_me_harder should take into account mark [NETFILTER]: nfnetlink_log: fix reference counting [NETFILTER]: nfnetlink_log: fix module reference counting [NETFILTER]: nfnetlink_log: fix possible NULL pointer dereference [NETFILTER]: nfnetlink_log: fix NULL pointer dereference [NETFILTER]: nfnetlink_log: fix use after free [NETFILTER]: nfnetlink_log: fix reference leak [NETFILTER]: tcp conntrack: accept SYN|URG as valid [NETFILTER]: nf_conntrack/nf_nat: fix incorrect config ifdefs [NETFILTER]: conntrack: fix {nf,ip}_ct_iterate_cleanup endless loops
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/gianfar.c2
-rw-r--r--drivers/net/pppoe.c11
2 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 02b61b85b62c..d981d4c41dd3 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -1132,7 +1132,7 @@ static void gfar_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid)
1132 1132
1133 spin_lock_irqsave(&priv->rxlock, flags); 1133 spin_lock_irqsave(&priv->rxlock, flags);
1134 1134
1135 vlan_group_set_device(priv->vgrp, vid, NULL); 1135 vlan_group_set_device(priv->vlgrp, vid, NULL);
1136 1136
1137 spin_unlock_irqrestore(&priv->rxlock, flags); 1137 spin_unlock_irqrestore(&priv->rxlock, flags);
1138} 1138}
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c
index 86e56f1f2f0b..ebfa2967cd68 100644
--- a/drivers/net/pppoe.c
+++ b/drivers/net/pppoe.c
@@ -140,7 +140,7 @@ static struct pppox_sock *__get_item(unsigned long sid, unsigned char *addr, int
140 140
141 ret = item_hash_table[hash]; 141 ret = item_hash_table[hash];
142 142
143 while (ret && !(cmp_addr(&ret->pppoe_pa, sid, addr) && ret->pppoe_dev->ifindex == ifindex)) 143 while (ret && !(cmp_addr(&ret->pppoe_pa, sid, addr) && ret->pppoe_ifindex == ifindex))
144 ret = ret->next; 144 ret = ret->next;
145 145
146 return ret; 146 return ret;
@@ -153,7 +153,7 @@ static int __set_item(struct pppox_sock *po)
153 153
154 ret = item_hash_table[hash]; 154 ret = item_hash_table[hash];
155 while (ret) { 155 while (ret) {
156 if (cmp_2_addr(&ret->pppoe_pa, &po->pppoe_pa) && ret->pppoe_dev->ifindex == po->pppoe_dev->ifindex) 156 if (cmp_2_addr(&ret->pppoe_pa, &po->pppoe_pa) && ret->pppoe_ifindex == po->pppoe_ifindex)
157 return -EALREADY; 157 return -EALREADY;
158 158
159 ret = ret->next; 159 ret = ret->next;
@@ -174,7 +174,7 @@ static struct pppox_sock *__delete_item(unsigned long sid, char *addr, int ifind
174 src = &item_hash_table[hash]; 174 src = &item_hash_table[hash];
175 175
176 while (ret) { 176 while (ret) {
177 if (cmp_addr(&ret->pppoe_pa, sid, addr) && ret->pppoe_dev->ifindex == ifindex) { 177 if (cmp_addr(&ret->pppoe_pa, sid, addr) && ret->pppoe_ifindex == ifindex) {
178 *src = ret->next; 178 *src = ret->next;
179 break; 179 break;
180 } 180 }
@@ -529,7 +529,7 @@ static int pppoe_release(struct socket *sock)
529 529
530 po = pppox_sk(sk); 530 po = pppox_sk(sk);
531 if (po->pppoe_pa.sid) { 531 if (po->pppoe_pa.sid) {
532 delete_item(po->pppoe_pa.sid, po->pppoe_pa.remote, po->pppoe_dev->ifindex); 532 delete_item(po->pppoe_pa.sid, po->pppoe_pa.remote, po->pppoe_ifindex);
533 } 533 }
534 534
535 if (po->pppoe_dev) 535 if (po->pppoe_dev)
@@ -577,7 +577,7 @@ static int pppoe_connect(struct socket *sock, struct sockaddr *uservaddr,
577 pppox_unbind_sock(sk); 577 pppox_unbind_sock(sk);
578 578
579 /* Delete the old binding */ 579 /* Delete the old binding */
580 delete_item(po->pppoe_pa.sid,po->pppoe_pa.remote,po->pppoe_dev->ifindex); 580 delete_item(po->pppoe_pa.sid,po->pppoe_pa.remote,po->pppoe_ifindex);
581 581
582 if(po->pppoe_dev) 582 if(po->pppoe_dev)
583 dev_put(po->pppoe_dev); 583 dev_put(po->pppoe_dev);
@@ -597,6 +597,7 @@ static int pppoe_connect(struct socket *sock, struct sockaddr *uservaddr,
597 goto end; 597 goto end;
598 598
599 po->pppoe_dev = dev; 599 po->pppoe_dev = dev;
600 po->pppoe_ifindex = dev->ifindex;
600 601
601 if (!(dev->flags & IFF_UP)) 602 if (!(dev->flags & IFF_UP))
602 goto err_put; 603 goto err_put;