kernel_optimize_test/drivers/net
James Chapman 739840d529 ppp: fix segfaults introduced by netdev_priv changes
This patch fixes a segfault in ppp_shutdown_interface() and
ppp_destroy_interface() when a PPP connection is closed. I bisected
the problem to the following commit:

  commit c8019bf3af
  Author: Wang Chen <wangchen@cn.fujitsu.com>
  Date:   Thu Nov 20 04:24:17 2008 -0800

    netdevice ppp: Convert directly reference of netdev->priv

    1. Use netdev_priv(dev) to replace dev->priv.
    2. Alloc netdev's private data by alloc_netdev().

    Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

The original ppp_generic code treated the netdev and struct ppp as
independent data structures which were freed separately. In moving the
ppp struct into the netdev, it is now possible for the private data to
be freed before the call to ppp_shutdown_interface(), which is bad.

The kfree(ppp) in ppp_destroy_interface() is also wrong; presumably
ppp hasn't worked since the above commit.

The following patch fixes both problems.

Signed-off-by: James Chapman <jchapman@katalix.com>
Reviewed-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-18 19:41:42 -08:00
..
appletalk net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
arcnet drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
arm at91_ether: request/free GPIO for PHY interrupt 2008-10-31 00:47:56 -04:00
atl1e atl1e: fix broken multicast by removing unnecessary crc inversion 2008-11-14 18:18:55 -05:00
atlx atl2: don't request irq on resume if netif running 2008-11-20 04:18:25 -08:00
bonding bonding: fix panic when taking bond interface down before removing module 2008-10-31 00:46:12 -04:00
can
chelsio drivers/net/chelsio/sge.c: remove redundant argument comments 2008-11-23 15:47:24 -08:00
cris [CRIS] Move header files from include to arch/cris/include. 2008-10-29 17:29:44 +01:00
cxgb3 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2008-11-12 10:56:31 -08:00
e1000 e1000: Use device_set_wakeup_enable 2008-11-16 01:35:56 -08:00
e1000e e1000e: fix double release of mutex 2008-12-11 21:28:11 -08:00
ehea ehea: Detect 16GB hugepages for firmware restriction 2008-10-27 14:49:55 -04:00
enic net: fix driver build errors due to missing net/ip6_checksum.h include 2008-10-13 18:41:01 -07:00
fs_enet fs_enet: fix polling 2008-11-03 15:23:02 -05:00
hamradio drivers/net: use nr_irqs 2008-10-16 16:52:05 +02:00
ibm_newemac ibm_newemac: Fix typo in flow control config option 2008-10-27 14:49:58 -04:00
igb driver/net/*: remove redundant argument comments 2008-11-23 15:46:55 -08:00
irda IRDA: remove double inclusion of module.h 2008-11-01 21:30:50 -07:00
ixgb ixgb: fix bug when freeing resources 2008-10-08 16:53:40 -07:00
ixgbe Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-02 15:55:05 -08:00
ixp2000 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
mlx4 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2008-12-01 11:01:54 -08:00
myri10ge myri10ge: fix stop/go ordering even more 2008-11-11 03:49:53 -05:00
netxen netxen: enable msi-x for quad-gig boards 2008-09-24 18:59:01 -04:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-02 15:55:05 -08:00
phy net: kernel BUG at drivers/net/phy/mdio_bus.c:165! 2008-12-17 00:24:13 -08:00
qlge qlge: Fix MSI/legacy single interrupt bug. 2008-10-22 07:00:49 -04:00
sfc sfc: Correct address of gPXE boot configuration in EEPROM 2008-11-07 03:33:45 -05:00
skfp drivers/net/skfp/pmf.c: Use offsetof() macro 2008-09-24 18:48:56 -04:00
tokenring net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
tulip dmfe: check pci_alloc_consistent errors 2008-10-27 14:49:02 -04:00
usb asix: Fix asix-based cards connecting to 10/100Mbs LAN. 2008-11-20 01:48:46 -08:00
wan net: delete excess kernel-doc notation 2008-10-30 23:54:35 -07:00
wireless zd1211rw: use unaligned safe memcmp() in-place of compare_ether_addr() 2008-12-05 09:18:35 -05:00
3c59x.c drivers/net: use nr_irqs 2008-10-16 16:52:05 +02:00
3c501.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
3c501.h
3c503.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
3c503.h
3c505.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
3c505.h
3c507.c
3c509.c el3_common_init() should be __devinit, not __init 2008-11-07 03:33:44 -05:00
3c515.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
3c523.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
3c523.h
3c527.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
3c527.h
7990.c
7990.h
8139cp.c 8139x: reduce message severity on driver overlap 2008-10-22 07:00:28 -04:00
8139too.c 8139x: reduce message severity on driver overlap 2008-10-22 07:00:28 -04:00
8390.c drivers/net: coding styles fixes to drivers/net/8390.c 2008-08-07 02:21:05 -04:00
8390.h 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
8390p.c drivers/net: coding styles fixes to drivers/net/8390p.c 2008-08-07 02:21:03 -04:00
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
acenic.h
amd8111e.c amd8111e: fix dma_free_coherent context 2008-10-31 00:47:43 -04:00
amd8111e.h
apne.c
ariadne.c ariadne: use netstats in net_device structure 2008-07-20 17:24:38 -07:00
ariadne.h
at1700.c
atarilance.c
atp.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
atp.h
au1000_eth.c net/au1000_eth.c MDIO namespace fixes 2008-10-12 21:02:19 -07:00
au1000_eth.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
ax88796.c AX88796: ax_probe() fix irq assignment 2008-10-22 06:22:08 -04:00
b44.c ssb, b43, b43legacy, b44: Rewrite SSB DMA API 2008-06-27 09:09:15 -04:00
b44.h
bfin_mac.c net/bfin_mac.c MDIO namespace fixes 2008-10-12 21:15:17 -07:00
bfin_mac.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
bmac.c
bmac.h
bnx2_fw2.h bnx2: Update TPAT firmware 2008-07-18 17:54:17 -07:00
bnx2_fw.h bnx2: Update 5706/5708 firmware. 2008-10-09 12:22:38 -07:00
bnx2.c bnx2: Fix bug in bnx2_free_rx_mem(). 2008-12-17 19:06:08 -08:00
bnx2.h bnx2: Add workaround to handle missed MSI. 2008-12-03 00:36:15 -08:00
bnx2x_fw_defs.h bnx2x: Checkpatch compliance 2008-08-13 16:05:38 -07:00
bnx2x_hsi.h bnx2x: Spelling mistakes 2008-08-13 16:05:37 -07:00
bnx2x_init_values.h bnx2x: FW Internal Memory structure 2008-08-13 16:01:48 -07:00
bnx2x_init.h bnx2x: PCI configuration bug on big-endian 2008-11-03 16:46:19 -08:00
bnx2x_link.c [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
bnx2x_link.h bnx2x: Spelling mistakes 2008-08-13 16:05:37 -07:00
bnx2x_main.c bnx2x: Version Update 2008-11-03 16:46:58 -08:00
bnx2x_reg.h bnx2x: Spelling mistakes 2008-08-13 16:05:37 -07:00
bnx2x.h bnx2x: Accessing un-mapped page 2008-09-03 14:38:00 -07:00
bsd_comp.c
cassini.c cassini: use request_firmware 2008-09-22 19:27:10 -07:00
cassini.h cassini: use request_firmware 2008-09-22 19:27:10 -07:00
cpmac.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
cs89x0.c Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
cs89x0.h
de600.c
de600.h
de620.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
dl2k.h
dm9000.c netdev: DM9000: remove BLACKFIN hacking in DM9000 netdev driver 2008-10-22 06:22:15 -04:00
dm9000.h DM9000: Add support for DM9000A and DM9000B chips 2008-06-24 22:57:16 -04:00
dummy.c
e100.c e100: fix dma error in direction for mapping 2008-11-16 01:45:24 -08:00
e2100.c
eepro100.c
eepro.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
eexpress.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
eexpress.h
enc28j60_hw.h
enc28j60.c enc28j60: use netif_rx_ni() to deliver RX packets 2008-12-16 01:48:29 -08:00
epic100.c
eql.c
es3210.c
eth16i.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
ewrk3.c
ewrk3.h
fealnx.c netdev: uniquify the tx_timeout name 2008-10-08 17:09:54 -07:00
fec_mpc52xx_phy.c powerpc/mpc5200: Refactor FEC mdio read/write routines 2008-10-15 11:10:00 -06:00
fec_mpc52xx.c [netdrvr] fec_mpc52xx: Implement polling, to make netconsole work. 2008-10-22 07:26:49 -04:00
fec_mpc52xx.h
fec.c m68knommu: remove last use of CONFIG_FADS and CONFIG_RPXCLASSIC 2008-07-23 15:11:29 +10:00
fec.h
forcedeth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-01 06:12:56 -07:00
gianfar_ethtool.c gianfar: Add magic packet and suspend/resume support. 2008-07-16 17:57:47 -05:00
gianfar_mii.c gianfar: Fix race in TBI/SerDes configuration 2008-10-31 00:59:46 -04:00
gianfar_mii.h gianfar: Fix race in TBI/SerDes configuration 2008-10-31 00:59:46 -04:00
gianfar_sysfs.c [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
gianfar.c gianfar: Fix DMA unmap invocations 2008-11-14 18:18:30 -05:00
gianfar.h net: don't grab a mutex within a timer context in gianfar 2008-08-27 05:55:19 -04:00
hamachi.c
hp100.c
hp100.h
hp-plus.c net: hp-plus uses eip_poll 2008-11-25 21:05:51 -08:00
hp.c net 8390p: fix interface usage 2008-07-22 17:50:44 -04:00
hplance.c
hplance.h
hydra.c
ibmlana.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
ibmlana.h
ibmveth.c ibmveth: fix bad UDP checksums 2008-08-27 05:36:57 -04:00
ibmveth.h ibmveth: enable driver for CMO 2008-07-25 15:44:44 +10:00
ifb.c netdev: Fix lockdep warnings in multiqueue configurations. 2008-07-31 16:58:50 -07:00
ioc3-eth.c
ipg.c net: ipg.c fix bracing on endian swapping 2008-11-19 15:54:38 -08:00
ipg.h [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
isa-skeleton.c
iseries_veth.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
jazzsonic.c
jme.c net: jme.c rxdesc.flags is __le16, other missing endian swaps 2008-11-19 15:50:59 -08:00
jme.h jme: Fixed a typo 2008-12-17 00:26:37 -08:00
Kconfig powerpc/mpc5200: fix bestcomm Kconfig dependencies 2008-11-13 22:37:27 -07:00
korina.c
lance.c
lasi_82596.c
lib8390.c lib8390: Fix locking in ei_poll (poll controller) 2008-10-08 16:56:48 -07:00
lib82596.c
LICENSE.SRC
lne390.c
loopback.c net: Really remove all of LOOPBACK_TSO code. 2008-10-31 00:00:33 -07:00
lp486e.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
mac89x0.c
mac8390.c
macb.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
macb.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
mace.c
mace.h
macmace.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
macsonic.c
macvlan.c macvlan: don't broadcast PAUSE frames to macvlan devices 2008-11-26 15:30:48 -08:00
Makefile net/hp-plus: fix link errors 2008-11-21 16:33:25 -08:00
meth.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
meth.h
mii.c
mipsnet.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
mv643xx_eth.c mv643xx_eth: fix recycle check bound 2008-11-20 01:39:52 -08:00
mvme147.c
myri_code.h
myri_sbus.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
myri_sbus.h myri_sbus: Convert to pure OF driver. 2008-08-29 02:13:32 -07:00
natsemi.c netdev: uniquify the tx_timeout name 2008-10-08 17:09:54 -07:00
ne2.c net 8390p: fix interface usage 2008-07-22 17:50:44 -04:00
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c ne.c: fix rmmod, platform driver improvements 2008-09-24 20:49:00 -04:00
netconsole.c Remove newline from the description of module parameters 2008-08-01 12:46:41 -07:00
netx-eth.c netx-eth: initialize per device spinlock 2008-12-03 22:18:59 -08:00
ni52.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
ni52.h
ni65.c
ni65.h
ni5010.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
ni5010.h
niu.c niu: Bump driver version and release date. 2008-11-14 14:47:29 -08:00
niu.h NIU: Add Sun CP3260 ATCA blade support 2008-11-14 14:44:08 -08:00
ns83820.c
pasemi_mac_ethtool.c
pasemi_mac.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
pasemi_mac.h
pci-skeleton.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
pcnet32.c
plip.c
ppp_async.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
ppp_deflate.c
ppp_generic.c ppp: fix segfaults introduced by netdev_priv changes 2008-12-18 19:41:42 -08:00
ppp_mppe.c [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
ppp_mppe.h
ppp_synctty.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
pppoe.c pppoe: Fix socket leak. 2008-10-30 23:35:02 -07:00
pppol2tp.c pppol2tp: Add missing sock_put() in pppol2tp_release() 2008-11-28 22:12:02 -08:00
pppox.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c PS3: gelic: use unsigned long for irqflags 2008-07-29 16:55:08 -04:00
ps3_gelic_wireless.h
qla3xxx.c qla3xxx: Cleanup: Fix link print statements. 2008-11-16 01:38:18 -08:00
qla3xxx.h qla3xxx: cleanup: Remove some unused structure definitions and structure elements. 2008-08-07 02:11:14 -04:00
r6040.c r6040: fix wrong assignment in r6040_free_txbufs 2008-09-24 20:48:08 -04:00
r8169.c r8169: revert "read MAC address from EEPROM on init" 2008-10-26 09:35:05 -07:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
s2io.h s2io: Fix enabling VLAN tag stripping at driver initialization 2008-09-24 18:49:04 -04:00
sb1000.c
sb1250-mac.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c sh: sh_eth: Update to change of mii_bus 2008-11-20 01:28:30 -08:00
sh_eth.h [netdrvr] sh_eth: Add SH7619 support 2008-08-07 02:20:57 -04:00
sis190.c sis190: add identifier for Atheros AR8021 PHY 2008-10-22 07:00:34 -04:00
sis900.c driver/net/*: remove redundant argument comments 2008-11-23 15:46:55 -08:00
sis900.h
skge.c skge: Fix skge_set_ring_param() losing error return 2008-10-08 16:02:40 -07:00
skge.h
sky2.c sky2: Fix WOL regression 2008-10-12 20:59:48 -07:00
sky2.h sky2: fix PM related regressions 2008-08-07 01:55:50 -04:00
slhc.c
slip.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
slip.h
smc91x.c section errors in smc911x/smc91x 2008-11-30 10:03:37 -08:00
smc91x.h Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
smc911x.c section errors in smc911x/smc91x 2008-11-30 10:03:37 -08:00
smc911x.h SMC911x: unbreak PXA builds 2008-10-22 06:22:13 -04:00
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c driver/net/*: remove redundant argument comments 2008-11-23 15:46:55 -08:00
spider_net.h
starfire_firmware.h
starfire_firmware.pl
starfire.c drivers/net: starfire: Fix napi ->poll() weight handling 2008-12-16 15:42:20 -08:00
stnic.c net: stnic: Fix up fallout from SH header migration. 2008-08-02 04:39:33 +09:00
sun3_82586.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
sun3_82586.h
sun3lance.c
sunbmac.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
sunbmac.h sunbmac: Convert to pure OF driver. 2008-08-29 02:13:33 -07:00
sundance.c sundance: set carrier status on link change events 2008-09-24 18:59:01 -04:00
sungem_phy.c
sungem_phy.h
sungem.c sungem: improve ethtool output with internal pcs and serdes 2008-12-09 15:39:14 -08:00
sungem.h
sunhme.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunhme.h sunhme: Convert to pure OF driver. 2008-08-29 02:14:29 -07:00
sunlance.c sparc: remove CONFIG_SUN4 2008-08-31 20:59:37 -07:00
sunqe.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunqe.h sunqe: Convert to pure OF driver. 2008-08-29 02:14:43 -07:00
sunvnet.c sparc64: Apply const or __initdata to vio_device_id[] 2008-09-01 01:48:52 -07:00
sunvnet.h
tc35815.c net/tc35815.c: fix compilation 2008-10-12 21:01:53 -07:00
tehuti_fw.h
tehuti.c netdrv: don't truncate VLAN TCI with VLAN stripping 2008-07-06 20:48:41 -07:00
tehuti.h drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
tg3.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
tg3.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
tlan.c tlan: Fix pci memory unmapping 2008-12-16 15:22:41 -08:00
tlan.h
tsi108_eth.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
tsi108_eth.h
tun.c saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
typhoon-firmware.h
typhoon.c [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
typhoon.h
ucc_geth_ethtool.c net/ucc_geth: Fix oops in uec_get_ethtool_stats() 2008-11-14 18:18:17 -05:00
ucc_geth_mii.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
ucc_geth_mii.h
ucc_geth.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
ucc_geth.h
veth.c
via-rhine.c via-rhine: changed to use netdev_alloc_skb() from dev_alloc_skb 2008-09-03 10:24:04 -04:00
via-velocity.c via-velocity: enable perfect filtering for multicast packets 2008-11-16 00:39:35 -08:00
via-velocity.h drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
virtio_net.c virtio: Recycle unused recv buffer pages for large skbs in net driver 2008-07-25 12:06:02 +10:00
wd.c [netdrvr] fix build issue: undefined reference to `NS8390p_init' 2008-08-27 05:17:46 -04:00
xen-netfront.c get xenbus_driver ->probe() "recognized" by modpost 2008-11-30 10:03:38 -08:00
xtsonic.c xtensa: Add support for the Sonic Ethernet device for the XT2000 board. 2008-10-21 07:58:06 -07:00
yellowfin.c
znet.c
zorro8390.c