linux/drivers/net
James Chapman c3259c8a70 l2tp: Fix UDP socket reference count bugs in the pppol2tp driver
This patch fixes UDP socket refcnt bugs in the pppol2tp driver.

A bug can cause a kernel stack trace when a tunnel socket is closed.

A way to reproduce the issue is to prepare the UDP socket for L2TP (by
opening a tunnel pppol2tp socket) and then close it before any L2TP
sessions are added to it. The sequence is

Create UDP socket
Create tunnel pppol2tp socket to prepare UDP socket for L2TP
  pppol2tp_connect: session_id=0, peer_session_id=0
L2TP SCCRP control frame received (tunnel_id==0)
  pppol2tp_recv_core: sock_hold()
  pppol2tp_recv_core: sock_put
L2TP ZLB control frame received (tunnel_id=nnn)
  pppol2tp_recv_core: sock_hold()
  pppol2tp_recv_core: sock_put
Close tunnel management socket
  pppol2tp_release: session_id=0, peer_session_id=0
Close UDP socket
  udp_lib_close: BUG

The addition of sock_hold() in pppol2tp_connect() solves the problem.

For data frames, two sock_put() calls were added to plug a refcnt leak
per received data frame. The ref that is grabbed at the top of
pppol2tp_recv_core() must always be released, but this wasn't done for
accepted data frames or data frames discarded because of bad UDP
checksums. This leak meant that any UDP socket that had passed L2TP
data traffic (i.e. L2TP data frames, not just L2TP control frames)
using pppol2tp would not be released by the kernel.

WARNING: at include/net/sock.h:435 udp_lib_unhash+0x117/0x120()
Pid: 1086, comm: openl2tpd Not tainted 2.6.33-rc1 #8
Call Trace:
 [<c119e9b7>] ? udp_lib_unhash+0x117/0x120
 [<c101b871>] ? warn_slowpath_common+0x71/0xd0
 [<c119e9b7>] ? udp_lib_unhash+0x117/0x120
 [<c101b8e3>] ? warn_slowpath_null+0x13/0x20
 [<c119e9b7>] ? udp_lib_unhash+0x117/0x120
 [<c11598a7>] ? sk_common_release+0x17/0x90
 [<c11a5e33>] ? inet_release+0x33/0x60
 [<c11577b0>] ? sock_release+0x10/0x60
 [<c115780f>] ? sock_close+0xf/0x30
 [<c106e542>] ? __fput+0x52/0x150
 [<c106b68e>] ? filp_close+0x3e/0x70
 [<c101d2e2>] ? put_files_struct+0x62/0xb0
 [<c101eaf7>] ? do_exit+0x5e7/0x650
 [<c1081623>] ? mntput_no_expire+0x13/0x70
 [<c106b68e>] ? filp_close+0x3e/0x70
 [<c101eb8a>] ? do_group_exit+0x2a/0x70
 [<c101ebe1>] ? sys_exit_group+0x11/0x20
 [<c10029b0>] ? sysenter_do_call+0x12/0x26

Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-03-16 14:15:44 -07:00
..
appletalk net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
arcnet drivers/net/: use DEFINE_PCI_DEVICE_TABLE() 2010-01-07 23:54:26 -08:00
arm fix a race in ks8695_poll 2010-03-07 15:25:49 -08:00
atl1c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
atl1e net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
atlx Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
benet be2net: fix mccq create for big endian architectures 2010-03-15 15:46:59 -07:00
bonding driver-core: Add attribute argument to class_attribute show/store 2010-03-07 17:04:48 -08:00
can can: fix bfin_can build error after alloc_candev() change 2010-03-08 12:13:57 -08:00
chelsio Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
cris net: convert multiple drivers to use netdev_for_each_mc_addr 2010-02-17 13:27:12 -08:00
cxgb3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-03-13 14:50:18 -08:00
e1000 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-02-25 23:22:42 -08:00
e1000e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-03-13 14:50:18 -08:00
ehea net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
enic net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
fs_enet fs_enet: add FEC TX buffer alignment workaround for MPC5121 2010-02-27 02:34:36 -08:00
hamradio hamradio: avoid null deref v3 2010-01-03 21:42:50 -08:00
ibm_newemac net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
igb Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
igbvf net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
irda Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-03-15 16:23:54 -07:00
ixgb net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
ixgbe bitops: rename for_each_bit() to for_each_set_bit() 2010-03-06 11:26:23 -08:00
ixgbevf bitops: rename for_each_bit() to for_each_set_bit() 2010-03-06 11:26:23 -08:00
ixp2000 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-10-13 12:55:20 -07:00
mlx4 mlx4: replace the dma_sync_single_range_for_cpu/device API 2010-02-19 13:19:51 -08:00
myri10ge myri: remove dead code 2010-03-15 16:00:50 -07:00
netxen net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
octeon octeon: convert to use netdev_for_each_mc_addr 2010-02-26 02:08:33 -08:00
pcmcia Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-02-28 19:23:06 -08:00
phy tg3: Push phylib definitions to phylib 2010-02-17 17:27:40 -08:00
qlcnic qlcnic: remove extra space from board names 2010-03-08 10:45:30 -08:00
qlge Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
sfc Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
skfp Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
stmmac net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
tokenring Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
tulip drivers/net/tulip/eeprom.c: fix bogus "(null)" in tulip init messages 2010-03-13 12:26:15 -08:00
usb smsc95xx: wait for PHY to complete reset during init 2010-03-16 14:15:44 -07:00
vmxnet3 net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
vxge net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
wan Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
wimax Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-03-13 14:50:18 -08:00
3c59x.c 3c5xx: use netdev_mc_* helpers 2010-02-18 14:47:48 -08:00
3c501.c 3c5xx: use netdev_mc_* helpers 2010-02-18 14:47:48 -08:00
3c501.h 3com: convert drivers to netdev_tx_t 2009-09-01 01:13:50 -07:00
3c503.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
3c503.h
3c505.c 3c5xx: use netdev_mc_* helpers 2010-02-18 14:47:48 -08:00
3c505.h
3c507.c Fix MAC address access in 3c507, ibmlana, pcnet32 and libertas 2009-12-26 20:24:45 -08:00
3c509.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
3c515.c 3c5xx: use netdev_mc_* helpers 2010-02-18 14:47:48 -08:00
3c523.c 3c5xx: use netdev_mc_* helpers 2010-02-18 14:47:48 -08:00
3c523.h
3c527.c 3c5xx: use netdev_mc_* helpers 2010-02-18 14:47:48 -08:00
3c527.h
7990.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
7990.h
8139cp.c drivers/net/8139cp.c: Use (pr|netdev|netif)_<level> macro helpers 2010-02-17 17:45:18 -08:00
8139too.c drivers/net/8139too.c: Use (pr|netdev|netif)_<level> macro helpers 2010-02-17 17:45:18 -08:00
8390.c netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
8390.h netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
8390p.c netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
82596.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
a2065.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
a2065.h
ac3200.c
acenic.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
acenic.h netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
amd8111e.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
amd8111e.h net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
apne.c
ariadne.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
ariadne.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
at1700.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
atarilance.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
atp.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
atp.h
au1000_eth.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-02-28 19:23:06 -08:00
au1000_eth.h NET: au1000-eth: Convert to platform_driver model 2010-02-27 12:53:02 +01:00
ax88796.c drivers/net: Correct NULL test 2010-02-08 22:44:18 -08:00
b44.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
b44.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
bcm63xx_enet.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
bcm63xx_enet.h MIPS: BCM63xx: Add integrated ethernet mac support. 2009-09-17 20:07:53 +02:00
bfin_mac.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
bfin_mac.h
bmac.c net: convert multiple drivers to use netdev_for_each_mc_addr, part3 2010-02-22 15:45:51 -08:00
bmac.h
bnx2_fw.h
bnx2.c bnx2: Remove now useless VPD code 2010-02-28 00:43:33 -08:00
bnx2.h bnx2: Adjust flow control water marks. 2010-02-16 15:19:03 -08:00
bnx2x_dump.h bnx2x: Beautify bnx2x_dump.h 2009-08-12 23:03:00 -07:00
bnx2x_fw_defs.h bnx2x: Use firmware 5.2.13 2010-02-17 13:35:44 -08:00
bnx2x_fw_file_hdr.h bnx2x: Separated FW from the source. 2009-04-27 03:27:43 -07:00
bnx2x_hsi.h bnx2x: Use firmware 5.2.13 2010-02-17 13:35:44 -08:00
bnx2x_init_ops.h bnx2x: Use firmware 5.2.13 2010-02-17 13:35:44 -08:00
bnx2x_init.h bnx2x: Re-factor the initialization code 2009-08-12 23:02:59 -07:00
bnx2x_link.c drivers/net/bnx2x: Use (pr|netdev|netif)_<level> macro helpers 2010-02-17 17:45:20 -08:00
bnx2x_link.h bnx2x: Fix CL73 autoneg issues 2009-11-05 20:00:29 -08:00
bnx2x_main.c bnx2x: change smp_mb() comment to conform the true 2010-03-15 15:47:01 -07:00
bnx2x_reg.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
bnx2x.h drivers/net/bnx2x: Use (pr|netdev|netif)_<level> macro helpers 2010-02-17 17:45:20 -08:00
bsd_comp.c
cassini.c cassini: fix off by one 2010-03-03 01:04:39 -08:00
cassini.h
cnic_defs.h cnic: Update version to 2.1.1. 2010-02-26 02:10:14 -08:00
cnic_if.h cnic: Update version to 2.1.1. 2010-02-26 02:10:14 -08:00
cnic.c cnic: Update version to 2.1.1. 2010-02-26 02:10:14 -08:00
cnic.h cnic: Update version to 2.1.1. 2010-02-26 02:10:14 -08:00
cpmac.c cpmac: bump version to 0.5.2 2010-03-07 15:25:53 -08:00
cs89x0.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
cs89x0.h
davinci_emac.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-03-15 16:23:54 -07:00
de600.c net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
de600.h
de620.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
de620.h
declance.c net: convert multiple drivers to use netdev_for_each_mc_addr 2010-02-17 13:27:12 -08:00
defxx.c net: convert multiple drivers to use netdev_for_each_mc_addr 2010-02-17 13:27:12 -08:00
defxx.h
depca.c depca: remove forgotten needless inicialization 2010-02-18 14:47:47 -08:00
depca.h
dl2k.c net: convert multiple drivers to use netdev_for_each_mc_addr 2010-02-17 13:27:12 -08:00
dl2k.h drivers/net/: use DEFINE_PCI_DEVICE_TABLE() 2010-01-07 23:54:26 -08:00
dm9000.c net: convert multiple drivers to use netdev_for_each_mc_addr 2010-02-17 13:27:12 -08:00
dm9000.h DM9000: Wake on LAN support 2009-11-11 19:22:21 -08:00
dnet.c netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
dnet.h
dummy.c netdev: convert pseudo drivers to netdev_tx_t 2009-09-01 01:13:40 -07:00
e100.c e100: Fix ring parameter change handling regression. 2010-03-15 15:23:30 -07:00
e2100.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
eepro.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
eexpress.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
eexpress.h
enc28j60_hw.h
enc28j60.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
epic100.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
eql.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
es3210.c
eth16i.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
ethoc.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
ewrk3.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
ewrk3.h
fealnx.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
fec_mpc52xx_phy.c net: Fix OF platform drivers coldplug/hotplug when compiled as modules 2009-10-14 14:54:52 -07:00
fec_mpc52xx.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
fec_mpc52xx.h
fec.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
fec.h fec: fix definition of 5272 version of FEC_X_DES_ACTIVE register 2009-07-06 18:56:11 -07:00
forcedeth.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
fsl_pq_mdio.c fsl_pq_mdio: Fix iomem unmapping for non-eTSEC2.0 controllers 2009-12-30 22:03:43 -08:00
fsl_pq_mdio.h fsl_pq_mdio: Add Suport for etsec2.0 devices. 2009-11-02 23:40:57 -08:00
gianfar_ethtool.c gianfar: Basic Support for programming hash rules 2009-11-02 23:40:59 -08:00
gianfar_sysfs.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
gianfar.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-03-13 14:50:18 -08:00
gianfar.h gianfar: Fix bit definitions of IMASK_GRSC and IMASK_GTSC 2009-12-18 20:38:37 -08:00
greth.c greth: fall through to common return statement on error 2010-02-26 04:18:43 -08:00
greth.h net: Add Aeroflex Gaisler 10/100/1G Ethernet MAC driver 2010-02-17 15:59:40 -08:00
hamachi.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
hp100.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
hp100.h
hp-plus.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
hp.c
hplance.c
hplance.h
hydra.c net: fix hydra printk format warning 2009-09-07 01:56:52 -07:00
ibmlana.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
ibmlana.h
ibmveth.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
ibmveth.h
ifb.c net: rename skb->iif to skb->skb_iif 2009-11-20 15:35:04 -08:00
ioc3-eth.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
ipg.c net: convert multiple drivers to use netdev_for_each_mc_addr, part4 2010-02-22 15:45:52 -08:00
ipg.h trivial: fix typo milisecond/millisecond for documentation and source comments. 2009-06-12 18:01:46 +02:00
iseries_veth.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
jazzsonic.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
jme.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
jme.h drivers/net/jme: Use netif_printk helpers 2010-02-12 13:27:46 -08:00
Kconfig net: add ColdFire support to the smc91x driver 2010-03-10 07:37:06 -08:00
korina.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
ks8842.c net: Use netdev_alloc_skb_ip_align() 2009-10-13 11:48:18 -07:00
ks8851_mll.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
ks8851.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
ks8851.h KS8851: Fix MAC address write order 2009-10-20 19:11:06 -07:00
ksz884x.c NET: ksz884x, fix lock imbalance 2010-03-16 14:15:41 -07:00
lance.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
lasi_82596.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
lib8390.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
lib82596.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
LICENSE.SRC
ll_temac_main.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
ll_temac_mdio.c net: add Xilinx ll_temac device driver 2009-04-27 02:53:52 -07:00
ll_temac.h net: add Xilinx ll_temac device driver 2009-04-27 02:53:52 -07:00
lne390.c
loopback.c percpu: add __percpu sparse annotations to net drivers 2010-02-16 23:05:38 -08:00
lp486e.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
mac89x0.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
mac8390.c mac8390: Fix build breakage 2010-01-09 23:00:32 -08:00
macb.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
macb.h
mace.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-02-28 19:23:06 -08:00
mace.h
macmace.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2010-02-28 19:23:06 -08:00
macsonic.c mac68k: move macsonic and macmace platform devices 2010-02-27 18:31:11 +01:00
macvlan.c macvlan: allow multiple driver backends 2010-02-03 20:20:33 -08:00
macvtap.c macvtap: add GSO/csum offload support 2010-02-18 14:08:38 -08:00
Makefile net: Add Aeroflex Gaisler 10/100/1G Ethernet MAC driver 2010-02-17 15:59:40 -08:00
mdio.c mdio: Expose pause frame advertising flags to ethtool 2009-10-12 23:59:08 -07:00
meth.c netdev: remove HAVE_ leftovers 2010-01-28 06:01:35 -08:00
meth.h
mii.c netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations 2009-09-03 20:02:11 -07:00
mipsnet.c drivers/net: request_irq - Remove unnecessary leading & from second arg 2009-11-18 23:29:17 -08:00
mv643xx_eth.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
mvme147.c
myri_sbus.c llc: use dev_hard_header 2009-12-26 20:38:23 -08:00
myri_sbus.h
natsemi.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
ne2.c
ne2k-pci.c drivers/net/: use DEFINE_PCI_DEVICE_TABLE() 2010-01-07 23:54:26 -08:00
ne3210.c net: remove driver_data direct access of struct device 2009-05-01 15:21:55 -07:00
ne-h8300.c
ne.c ne: Do not use slashes in irq name string 2010-03-16 14:15:42 -07:00
netconsole.c netconsole: take care of NETDEV_UNREGISTER event 2009-05-01 15:24:18 -07:00
netx-eth.c drivers/net: request_irq - Remove unnecessary leading & from second arg 2009-11-18 23:29:17 -08:00
ni52.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
ni52.h
ni65.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
ni65.h
ni5010.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
ni5010.h
niu.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
niu.h trivial: typo (en|dis|avail|remove)bale -> (en|dis|avail|remove)able 2009-06-12 18:01:45 +02:00
ns83820.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
pasemi_mac_ethtool.c pasemi_mac: ethtool set settings support 2009-10-12 13:26:39 -07:00
pasemi_mac.c drivers/net/: use DEFINE_PCI_DEVICE_TABLE() 2010-01-07 23:54:26 -08:00
pasemi_mac.h net: Rework pasemi_mac driver to use of_mdio infrastructure 2009-04-27 02:53:49 -07:00
pci-skeleton.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
pcnet32.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
plip.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
ppp_async.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
ppp_deflate.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
ppp_generic.c ppp_generic.c severly whitespace damanged by 9c705260fe 2010-01-19 02:12:34 -08:00
ppp_mppe.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
ppp_mppe.h
ppp_synctty.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
pppoe.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
pppol2tp.c l2tp: Fix UDP socket reference count bugs in the pppol2tp driver 2010-03-16 14:15:44 -07:00
pppox.c net: pass kern to net_proto_family create function 2009-11-05 22:18:14 -08:00
ps3_gelic_net.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
ps3_gelic_net.h net/ps3: Add support for gelic link negotiation 2009-12-02 00:52:31 -08:00
ps3_gelic_wireless.c ps3_gelic_wireless: Remove superfluous debug info 2010-02-01 15:40:09 -05:00
ps3_gelic_wireless.h tree-wide: fix typos "aquire" -> "acquire", "cumsumed" -> "consumed" 2009-11-09 09:40:57 +01:00
qla3xxx.c drivers/net: Eliminate useless code 2010-01-18 00:29:19 -08:00
qla3xxx.h
r6040.c net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2 2010-02-26 02:07:30 -08:00
r8169.c r8169: use correct barrier between cacheable and non-cacheable memory 2010-03-04 00:53:53 -08:00
rionet.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
rrunner.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-01-10 22:55:03 -08:00
rrunner.h netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
s2io-regs.h s2io: Use generic MDIO definitions 2009-04-29 17:32:34 -07:00
s2io.c drivers/net: drop redundant memset 2010-03-15 15:47:03 -07:00
s2io.h s2io: Generate complete messages using single line DBG_PRINTs 2009-08-30 22:35:11 -07:00
s6gmac.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
sb1000.c drivers/net: request_irq - Remove unnecessary leading & from second arg 2009-11-18 23:29:17 -08:00
sb1250-mac.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sc92031.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
seeq8005.c drivers/net: request_irq - Remove unnecessary leading & from second arg 2009-11-18 23:29:17 -08:00
seeq8005.h
sgiseeq.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
sgiseeq.h
sh_eth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-01-10 22:55:03 -08:00
sh_eth.h net: add Runtime PM to the sh_eth driver 2009-10-13 03:44:05 -07:00
sis190.c sis190: fix cable detect via link status poll 2010-03-02 03:44:41 -08:00
sis900.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sis900.h
skge.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
skge.h skge: use unique IRQ name 2009-10-01 15:14:54 -07:00
sky2.c sky2: Avoid rtnl_unlock without rtnl_lock 2010-03-13 12:24:18 -08:00
sky2.h sky2: jumbo packet changes 2010-02-12 16:21:01 -08:00
slhc.c
slip.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
slip.h
smc91x.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
smc91x.h net: add ColdFire support to the smc91x driver 2010-03-10 07:37:06 -08:00
smc911x.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
smc911x.h omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3 2010-02-15 09:27:02 -08:00
smc9194.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
smc9194.h
smc-mca.c drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
smc-ultra32.c
smc-ultra.c
smsc911x.c smsc911x: convert to use netdev_for_each_mc_addr 2010-02-18 14:47:48 -08:00
smsc911x.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
smsc9420.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
smsc9420.h
sni_82596.c
sonic.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
spider_net.h
starfire.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
stnic.c
sun3_82586.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sun3_82586.h
sun3lance.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
sunbmac.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sunbmac.h
sundance.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sungem_phy.c
sungem_phy.h
sungem.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
sungem.h drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00
sunhme.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sunhme.h
sunlance.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sunqe.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sunqe.h
sunvnet.c net: convert multiple drivers to use netdev_for_each_mc_addr, part2 2010-02-18 14:47:49 -08:00
sunvnet.h
tc35815.c tc35815: Fix double locking on NAPI 2010-02-26 02:08:42 -08:00
tehuti.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
tehuti.h drivers/net/tehuti.c: Use (pr|netdev|netif)_<levels> macro helpers 2010-02-16 15:45:43 -08:00
tg3.c drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant 2010-03-13 12:22:16 -08:00
tg3.h tg3: Push phylib definitions to phylib 2010-02-17 17:27:40 -08:00
tlan.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
tlan.h drivers/net/tlan: Remove TRUE/FALSE defines, use bool 2010-01-13 20:37:01 -08:00
tsi108_eth.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
tsi108_eth.h
tun.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
typhoon.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-03-13 14:50:18 -08:00
typhoon.h
ucc_geth_ethtool.c ucc_geth: Implement suspend/resume and Wake-On-LAN support 2009-08-30 21:51:47 -07:00
ucc_geth.c Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
ucc_geth.h ucc_geth: Fix the wrong the Rx/Tx FIFO size 2010-01-06 20:32:38 -08:00
veth.c rtnetlink: support specifying device flags on device creation 2010-02-27 02:43:40 -08:00
via-rhine.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
via-velocity.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
via-velocity.h via-velocity: Bump version 2009-11-26 15:51:29 -08:00
virtio_net.c virtio_net: remove forgotten assignment 2010-03-02 03:57:33 -08:00
wd.c
xen-netfront.c xen: move Xen-testing predicates to common header 2009-11-04 08:47:24 -08:00
xilinx_emaclite.c net: emaclite: adding MDIO and phy lib support 2010-02-15 21:51:00 -08:00
xtsonic.c drivers/net: request_irq - Remove unnecessary leading & from second arg 2009-11-18 23:29:17 -08:00
yellowfin.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
znet.c net: convert multiple drivers to use netdev_for_each_mc_addr, part6 2010-02-26 02:07:31 -08:00
zorro8390.c zorro8390: Fix read buffer overflow in zorro8390_init_one() 2009-08-09 21:46:53 -07:00