linux/drivers/net
Herbert Xu db7bf6d97c [PPP] pppoe: Fix data clobbering in __pppoe_xmit and return value
The function __pppoe_xmit modifies the skb data and therefore it needs
to copy and skb data if it's cloned.

In fact, it currently allocates a new skb so that it can return 0 in
case of error without freeing the original skb.  This is totally wrong
because returning zero is meant to indicate congestion whereupon pppoe
is supposed to wake up the upper layer once the congestion subsides.

This makes sense for ppp_async and ppp_sync but is out-of-place for
pppoe.  This patch makes it always return 1 and free the skb.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-09-16 16:19:50 -07:00
..
appletalk [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
arcnet [ARCNET]: Use menuconfig objects. 2007-05-24 16:36:51 -07:00
arm [ARM] rpc: silence two section mismatch warnings 2007-07-20 09:39:56 +01:00
atl1 atl1: use spin_trylock_irqsave() 2007-08-07 17:18:32 -04:00
bonding [NET]: Share correct feature code between bridging and bonding 2007-08-13 22:52:14 -07:00
chelsio network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
cris [SK_BUFF]: Convert skb->end to sk_buff_data_t 2007-04-25 22:26:29 -07:00
cxgb3 - cxgb3 engine microcode load 2007-08-31 07:29:08 -04:00
e1000 e1000: Add device IDs of new 82571 board variants 2007-08-14 01:54:47 -04:00
ehea ehea: fix queue destructor 2007-08-25 02:31:20 -04:00
fec_8xx Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
fs_enet Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
hamradio bpqether: fix rcu usage 2007-07-31 15:39:40 -07:00
ibm_emac ibm_emac: fix link speed detection change 2007-05-17 20:43:15 -04:00
irda [IRDA]: Do not do pointless kmalloc return value cast in KingSun driver 2007-08-26 18:35:44 -07:00
ixgb [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ixp2000 [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
mlx4 mlx4_core: Wait 1 second after reset before accessing device 2007-08-13 08:47:44 -07:00
myri10ge myri10ge: update driver version to 1.3.2-1.269 2007-08-25 02:31:25 -04:00
netxen netxen: fix crashes during module unload 2007-08-31 06:52:57 -04:00
pcmcia Fix a potential NULL pointer dereference in mace_interrupt() in drivers/net/pcmcia/nmclan_cs.c 2007-07-30 15:58:54 -04:00
phy phy layer: fix genphy_setup_forced (don't reset) 2007-08-25 02:31:02 -04:00
skfp Typo fixes errror -> error 2007-07-31 15:39:42 -07:00
tokenring drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
tulip DDB5477: remove driver bits of support 2007-07-31 15:39:38 -07:00
usb Fix a potential NULL pointer dereference in write_bulk_callback() in drivers/net/usb/pegasus.c 2007-07-30 15:44:50 -04:00
wan [WAN] drivers/net/wan/hdlc_fr.c: kmalloc + memset conversion to kzalloc 2007-08-13 22:52:11 -07:00
wireless [PATCH] zd1211rw: fix filter for PSPOLL frames 2007-08-06 15:06:03 -04:00
3c59x.c 3c59x: fix duplex configuration 2007-08-14 01:38:37 -04:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
3c505.h
3c507.c
3c509.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
3c515.c
3c523.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
3c523.h
3c527.c
3c527.h
7990.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
7990.h
8139cp.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8139too.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8390.c
8390.h AX88796 network driver 2007-07-10 12:41:08 -04:00
82596.c netdev: i82596 Ethernet needs <asm/cacheflush.h> 2007-07-24 16:28:42 -04:00
Kconfig Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
LICENSE.SRC
Makefile Make lguest compile with CONFIG_BLOCK=n and CONFIG_NET=n 2007-07-29 17:37:45 -07:00
Space.c more ACSI removal 2007-07-16 15:02:47 +02:00
a2065.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
a2065.h
ac3200.c
acenic.c drivers/net/acenic.c: fix check-after-use 2007-07-24 16:28:41 -04:00
acenic.h network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
acenic_firmware.h
amd8111e.c network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
amd8111e.h potential parse error in ifdef 2007-06-01 08:18:27 -07:00
apne.c
ariadne.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ariadne.h
at1700.c
atarilance.c
atp.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
atp.h
au1000_eth.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
au1000_eth.h
ax88796.c ax88796 printk fixes 2007-08-14 01:34:53 -04:00
b44.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
b44.h b44: packet offset is constant 2007-07-08 22:16:40 -04:00
bfin_mac.c Blackfin Ethernet MAC driver: fix bug Report returned -ENOMEM upwards (in case L1/uncached memory alloc fails) 2007-07-25 14:09:54 +08:00
bfin_mac.h Blackfin ethernet driver: on chip ethernet MAC controller driver 2007-07-18 18:38:25 -04:00
bmac.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
bmac.h
bnx2.c [BNX2]: Add write posting comment. 2007-08-28 15:39:42 -07:00
bnx2.h [BNX2]: Support NVRAM on 5709. 2007-07-18 01:46:46 -07:00
bnx2_fw.h [BNX2]: Update 5708 firmware. 2007-05-03 13:21:13 -07:00
bnx2_fw2.h [BNX2]: Update 5709 firmware. 2007-05-03 13:21:48 -07:00
bsd_comp.c [NET]: Avoid pointless allocation casts in BSD compression module 2007-08-26 18:35:45 -07:00
cassini.c PCI: add pci_try_set_mwi 2007-07-11 16:02:11 -07:00
cassini.h
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c declance: Remove a dangling spin_unlock_irq() thingy 2007-05-21 19:41:19 -04:00
defxx.c defxx: Use __maybe_unused rather than a local hack 2007-07-24 16:28:41 -04:00
defxx.h
depca.c
depca.h
dgrs.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
dgrs.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dl2k.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
dl2k.h PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
dm9000.c DM9000: fix interface hang under load 2007-08-25 02:31:04 -04:00
dm9000.h
dummy.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
e100.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
e2100.c
eepro.c Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
eepro100.c [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails 2007-07-17 16:17:59 -04:00
eexpress.c [netdrvr] eexpress: minor corrections 2007-04-28 11:05:43 -04:00
eexpress.h
epic100.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
eql.c [EQL]: sparse warning fix 2007-08-26 18:35:38 -07:00
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
fec.c setup and detect 2nd phy on MCF5275 in FEC driver 2007-07-30 10:52:09 -07:00
fec.h
forcedeth.c fix realtek phy id in forcedeth 2007-08-25 02:30:57 -04:00
gianfar.c Fix RGMII-ID handling in gianfar 2007-07-18 18:29:37 -04:00
gianfar.h gianfar: add support for SGMII 2007-07-08 22:16:38 -04:00
gianfar_ethtool.c
gianfar_mii.c gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_mii.h gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_sysfs.c
hamachi.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
hp-plus.c
hp.c
hp100.c net/hp100: fix section mismatch warning 2007-06-01 08:18:30 -07:00
hp100.h
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c drivers/net/ibmveth.c: memset fix 2007-08-07 17:36:20 -04:00
ibmveth.h ibmveth: Fix rx pool deactivate oops 2007-08-07 17:34:13 -04:00
ifb.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
ioc3-eth.c IOC3: Program UART predividers. 2007-08-31 06:52:57 -04:00
isa-skeleton.c
iseries_veth.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
jazzsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
lance.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
lasi_82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
lguest_net.c lguest: documentation VII: FIXMEs 2007-07-26 11:35:17 -07:00
lib8390.c lib8390: comment on locking by Alan Cox 2007-07-30 15:47:20 -04:00
lib82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
lne390.c
loopback.c [NET] loopback: Panic if registration fails 2007-07-31 02:28:14 -07:00
lp486e.c
mac89x0.c mac89x0: missing __init 2007-07-20 08:24:49 -07:00
mac8390.c m68k: Mac DP8390 update 2007-05-04 17:59:07 -07:00
macb.c macb: Add multicast capability 2007-07-16 18:28:04 -04:00
macb.h macb: Use generic PHY layer 2007-07-16 18:28:04 -04:00
mace.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
mace.h
macmace.c macmace: use "unsigned long flags;" 2007-07-10 12:41:18 -04:00
macsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
macvlan.c [NET]: Add macvlan driver 2007-07-14 18:55:06 -07:00
meth.c Don't use GFP_DMA for zone allocation. 2007-08-25 02:30:59 -04:00
meth.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
mii.c mii: add kernel-doc notation 2007-04-28 11:01:05 -04:00
mipsnet.c [MIPS] Don't drag a platform specific header into generic arch code. 2007-06-20 22:27:10 +01:00
mipsnet.h
mv643xx_eth.c mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mv643xx_eth.h mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric 2007-04-28 11:01:02 -04:00
mvme147.c
myri_code.h
myri_sbus.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
myri_sbus.h
natsemi.c natsemi: fix netdev error acounting 2007-08-14 01:36:39 -04:00
ne-h8300.c
ne.c ne: MIPS: Use platform_driver for ne on RBTX49XX 2007-05-08 01:23:09 -04:00
ne2.c
ne2k-pci.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ne3210.c
netconsole.c
netx-eth.c
ni52.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni52.h
ni65.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni65.h
ni5010.c NI5010: Handle multicast frames. 2007-07-18 18:29:38 -04:00
ni5010.h
ns83820.c NS83820: Handle multicast frames. 2007-07-18 18:29:37 -04:00
pasemi_mac.c pasemi_mac: Fix TX interrupt threshold 2007-07-08 22:16:45 -04:00
pasemi_mac.h pasemi_mac: Fix register defines 2007-05-15 17:44:39 -04:00
pci-skeleton.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
pcnet32.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
plip.c
ppp_async.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_deflate.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_generic.c [PPP]: Fix output buffer size in ppp_decompress_frame(). 2007-08-21 20:59:35 -07:00
ppp_mppe.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_mppe.h
ppp_synctty.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pppoe.c [PPP] pppoe: Fix data clobbering in __pppoe_xmit and return value 2007-09-16 16:19:50 -07:00
pppol2tp.c misannotation in pppol2tp 2007-07-26 11:11:57 -07:00
pppox.c [PPPoX/E]: return ENOTTY on unknown ioctl requests 2007-07-31 02:28:22 -07:00
ps3_gelic_net.c PS3: fix the bug that 'ifconfig down' would hang 2007-08-31 06:52:57 -04:00
ps3_gelic_net.h ps3: reduce allocation size of rx skb buffers 2007-07-24 16:28:41 -04:00
qla3xxx.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
qla3xxx.h qla3xxx: Adding support for the Agere PHY (ET1011C) 2007-04-28 11:01:02 -04:00
r8169.c Merge branch 'r8169-for-jeff-20070806' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into upstream-fixes 2007-08-07 17:28:23 -04:00
rionet.c
rrunner.c rrunner.c:rr_init() must be __devinit 2007-07-10 12:24:42 -04:00
rrunner.h
s2io-regs.h S2io: Mask spurious interrupts 2007-07-30 15:56:04 -04:00
s2io.c fix s2io regression 2007-08-03 15:10:44 -07:00
s2io.h S2IO: Checking for the return value of pci map function 2007-07-30 15:56:04 -04:00
saa9730.c SAA9730: Handle multicast frames. 2007-07-18 18:29:38 -04:00
saa9730.h
sb1000.c
sb1250-mac.c potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
sc92031.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
seeq8005.c
seeq8005.h
sgiseeq.c sgiseeq: Fix return type of sgiseeq_remove 2007-08-25 02:31:13 -04:00
sgiseeq.h
shaper.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sis190.c sis190 check for ISA bridge on SiS966 2007-08-07 17:18:32 -04:00
sis900.c sis900_mii_probe() must be __devinit 2007-07-10 12:24:42 -04:00
sis900.h
skge.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
skge.h skge: rearrange fields 2007-04-28 11:01:00 -04:00
sky2.c sky2 1.17 2007-08-25 02:31:11 -04:00
sky2.h sky2: only bring up watchdog if link is active 2007-08-25 02:31:08 -04:00
slhc.c
slip.c [SLIP]: trivial sparse warning fix 2007-08-26 18:35:39 -07:00
slip.h
smc-mca.c
smc-ultra.c
smc-ultra32.c
smc91x.c
smc91x.h net: smc91x: Build fixes for general sh boards. 2007-08-07 17:18:31 -04:00
smc911x.c smc911x: fix compilation breakage 2007-05-15 17:44:39 -04:00
smc911x.h
smc9194.c
smc9194.h
sni_82596.c Ethernet driver for EISA only SNI RM200/RM400 machines 2007-07-08 22:16:46 -04:00
sonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
sonic.h
spider_net.c spidernet: improve interrupt handling 2007-07-10 12:22:30 -04:00
spider_net.h spidernet: Replace literal with const 2007-07-08 22:16:45 -04:00
spider_net_ethtool.c spidernet: checksum and ethtool 2007-06-20 19:09:33 -04:00
starfire.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sun3_82586.h
sun3lance.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.h
sundance.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sungem.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem.h [SUNGEM]: Consolidate powerpc and sparc MAC probing code. 2007-04-26 01:54:48 -07:00
sungem_phy.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem_phy.h
sunhme.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
sunhme.h
sunlance.c [SUNLANCE]: Fix sparc32 crashes by using of_*() interfaces. 2007-07-30 18:23:39 -07:00
sunqe.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunqe.h
sunvnet.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sunvnet.h [SPARC64]: Add proper multicast support to VNET driver. 2007-07-20 17:14:30 -07:00
tc35815.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
tg3.c [TG3]: Workaround MSI bug on 5714/5780. 2007-09-11 10:28:44 +02:00
tg3.h [TG3]: Fix msi issue with kexec/kdump. 2007-07-18 21:49:10 -07:00
tlan.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
tlan.h
tsi108_eth.c [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tsi108_eth.h [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tun.c [NET]: Allow group ownership of TUN/TAP devices. 2007-07-10 22:16:42 -07:00
typhoon-firmware.h
typhoon.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
typhoon.h
ucc_geth.c ucc_geth: add support to netif message level 2007-07-24 16:28:38 -04:00
ucc_geth.h ucc_geth: add ethtool support 2007-07-24 16:28:38 -04:00
ucc_geth_ethtool.c ucc_geth: remove get_perm_addr from ucc_geth_ethtool.c 2007-08-03 16:08:15 +08:00
ucc_geth_mii.c ucc_geth: fix section mismatch 2007-08-03 16:07:58 +08:00
ucc_geth_mii.h ucc_geth: eliminate max-speed, change interface-type to phy-connection-type 2007-05-15 17:44:40 -04:00
via-rhine.c via-rhine: disable rx_copybreak on archs that don't allow unaligned DMA access 2007-08-14 01:27:10 -04:00
via-velocity.c in-string typos of "error" 2007-07-31 15:39:40 -07:00
via-velocity.h
wd.c
xen-netfront.c xen-netfront: Avoid deref'ing skbafter it is potentially freed. 2007-08-14 01:51:09 -04:00
yellowfin.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
znet.c
zorro8390.c