Revision a84a79e4d369a73c0130b5858199e949432da4c6 authored by Linus Torvalds on 17 October 2011, 15:24:24 UTC, committed by Linus Torvalds on 17 October 2011, 15:24:24 UTC
The size is always valid, but variable-length arrays generate worse code
for no good reason (unless the function happens to be inlined and the
compiler sees the length for the simple constant it is).

Also, there seems to be some code generation problem on POWER, where
Henrik Bakken reports that register r28 can get corrupted under some
subtle circumstances (interrupt happening at the wrong time?).  That all
indicates some seriously broken compiler issues, but since variable
length arrays are bad regardless, there's little point in trying to
chase it down.

"Just don't do that, then".

Reported-by: Henrik Grindal Bakken <henribak@cisco.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 8bc03e8
History
File Mode Size
appletalk
arcnet
arm
atl1c
atl1e
atlx
benet
bna
bnx2x
bonding
caif
can
chelsio
cris
cxgb3
cxgb4
cxgb4vf
e1000
e1000e
ehea
enic
fs_enet
hamradio
ibm_newemac
igb
igbvf
irda
ixgb
ixgbe
ixgbevf
ixp2000
mlx4
myri10ge
netxen
octeon
pch_gbe
pcmcia
phy
qlcnic
qlge
sfc
skfp
stmmac
tile
tokenring
tulip
usb
vmxnet3
vxge
wan
wimax
wireless
xen-netback
3c501.c -rw-r--r-- 23.3 KB
3c501.h -rw-r--r-- 2.6 KB
3c503.c -rw-r--r-- 22.2 KB
3c503.h -rw-r--r-- 3.8 KB
3c505.c -rw-r--r-- 47.4 KB
3c505.h -rw-r--r-- 6.4 KB
3c507.c -rw-r--r-- 28.1 KB
3c509.c -rw-r--r-- 41.9 KB
3c515.c -rw-r--r-- 48.5 KB
3c523.c -rw-r--r-- 38.2 KB
3c523.h -rw-r--r-- 10.9 KB
3c527.c -rw-r--r-- 42.1 KB
3c527.h -rw-r--r-- 1.4 KB
3c59x.c -rw-r--r-- 102.4 KB
7990.c -rw-r--r-- 21.3 KB
7990.h -rw-r--r-- 10.2 KB
8139cp.c -rw-r--r-- 53.3 KB
8139too.c -rw-r--r-- 69.3 KB
82596.c -rw-r--r-- 40.6 KB
8390.c -rw-r--r-- 2.1 KB
8390.h -rw-r--r-- 9.4 KB
8390p.c -rw-r--r-- 2.2 KB
Kconfig -rw-r--r-- 111.1 KB
LICENSE.SRC -rw-r--r-- 891 bytes
Makefile -rw-r--r-- 9.6 KB
Space.c -rw-r--r-- 9.2 KB
a2065.c -rw-r--r-- 20.0 KB
a2065.h -rw-r--r-- 5.0 KB
ac3200.c -rw-r--r-- 11.6 KB
acenic.c -rw-r--r-- 85.4 KB
acenic.h -rw-r--r-- 15.5 KB
amd8111e.c -rw-r--r-- 51.6 KB
amd8111e.h -rw-r--r-- 20.4 KB
apne.c -rw-r--r-- 16.7 KB
ariadne.c -rw-r--r-- 21.8 KB
ariadne.h -rw-r--r-- 15.2 KB
at1700.c -rw-r--r-- 24.8 KB
atarilance.c -rw-r--r-- 33.3 KB
atp.c -rw-r--r-- 29.0 KB
atp.h -rw-r--r-- 8.5 KB
au1000_eth.c -rw-r--r-- 32.7 KB
au1000_eth.h -rw-r--r-- 3.0 KB
ax88796.c -rw-r--r-- 23.9 KB
b44.c -rw-r--r-- 57.9 KB
b44.h -rw-r--r-- 17.2 KB
bcm63xx_enet.c -rw-r--r-- 48.0 KB
bcm63xx_enet.h -rw-r--r-- 6.6 KB
bfin_mac.c -rw-r--r-- 43.6 KB
bfin_mac.h -rw-r--r-- 2.4 KB
bmac.c -rw-r--r-- 41.3 KB
bmac.h -rw-r--r-- 8.0 KB
bnx2.c -rw-r--r-- 209.1 KB
bnx2.h -rw-r--r-- 321.8 KB
bnx2_fw.h -rw-r--r-- 2.8 KB
bsd_comp.c -rw-r--r-- 28.9 KB
cassini.c -rw-r--r-- 139.8 KB
cassini.h -rw-r--r-- 122.7 KB
cnic.c -rw-r--r-- 140.0 KB
cnic.h -rw-r--r-- 12.1 KB
cnic_defs.h -rw-r--r-- 170.0 KB
cnic_if.h -rw-r--r-- 8.3 KB
cpmac.c -rw-r--r-- 34.9 KB
cs89x0.c -rw-r--r-- 56.4 KB
cs89x0.h -rw-r--r-- 15.8 KB
davinci_cpdma.c -rw-r--r-- 24.7 KB
davinci_cpdma.h -rw-r--r-- 3.4 KB
davinci_emac.c -rw-r--r-- 58.1 KB
davinci_mdio.c -rw-r--r-- 10.9 KB
de600.c -rw-r--r-- 13.0 KB
de600.h -rw-r--r-- 5.5 KB
de620.c -rw-r--r-- 26.0 KB
de620.h -rw-r--r-- 4.9 KB
declance.c -rw-r--r-- 34.8 KB
defxx.c -rw-r--r-- 113.4 KB
defxx.h -rw-r--r-- 53.2 KB
depca.c -rw-r--r-- 59.9 KB
depca.h -rw-r--r-- 6.7 KB
dl2k.c -rw-r--r-- 47.4 KB
dl2k.h -rw-r--r-- 14.6 KB
dm9000.c -rw-r--r-- 38.4 KB
dm9000.h -rw-r--r-- 4.7 KB
dnet.c -rw-r--r-- 25.2 KB
dnet.h -rw-r--r-- 7.1 KB
dummy.c -rw-r--r-- 4.9 KB
e100.c -rw-r--r-- 88.9 KB
e2100.c -rw-r--r-- 14.2 KB
eepro.c -rw-r--r-- 51.0 KB
eexpress.c -rw-r--r-- 45.2 KB
eexpress.h -rw-r--r-- 4.8 KB
enc28j60.c -rw-r--r-- 44.5 KB
enc28j60_hw.h -rw-r--r-- 8.7 KB
epic100.c -rw-r--r-- 45.0 KB
eql.c -rw-r--r-- 14.8 KB
es3210.c -rw-r--r-- 12.5 KB
eth16i.c -rw-r--r-- 40.3 KB
ethoc.c -rw-r--r-- 28.8 KB
ewrk3.c -rw-r--r-- 51.1 KB
ewrk3.h -rw-r--r-- 11.5 KB
fealnx.c -rw-r--r-- 54.0 KB
fec.c -rw-r--r-- 40.9 KB
fec.h -rw-r--r-- 6.5 KB
fec_mpc52xx.c -rw-r--r-- 28.4 KB
fec_mpc52xx.h -rw-r--r-- 9.6 KB
fec_mpc52xx_phy.c -rw-r--r-- 3.8 KB
forcedeth.c -rw-r--r-- 178.5 KB
fsl_pq_mdio.c -rw-r--r-- 11.4 KB
fsl_pq_mdio.h -rw-r--r-- 1.9 KB
ftgmac100.c -rw-r--r-- 34.8 KB
ftgmac100.h -rw-r--r-- 8.7 KB
ftmac100.c -rw-r--r-- 30.5 KB
ftmac100.h -rw-r--r-- 5.8 KB
gianfar.c -rw-r--r-- 86.6 KB
gianfar.h -rw-r--r-- 38.9 KB
gianfar_ethtool.c -rw-r--r-- 45.9 KB
gianfar_ptp.c -rw-r--r-- 16.1 KB
gianfar_sysfs.c -rw-r--r-- 8.3 KB
greth.c -rw-r--r-- 40.1 KB
greth.h -rw-r--r-- 3.5 KB
hamachi.c -rw-r--r-- 62.8 KB
hp-plus.c -rw-r--r-- 15.0 KB
hp.c -rw-r--r-- 12.9 KB
hp100.c -rw-r--r-- 88.5 KB
hp100.h -rw-r--r-- 26.3 KB
hplance.c -rw-r--r-- 7.1 KB
hplance.h -rw-r--r-- 1.3 KB
hydra.c -rw-r--r-- 7.5 KB
ibmlana.c -rw-r--r-- 26.8 KB
ibmlana.h -rw-r--r-- 11.6 KB
ibmveth.c -rw-r--r-- 43.9 KB
ibmveth.h -rw-r--r-- 5.9 KB
ifb.c -rw-r--r-- 7.1 KB
ioc3-eth.c -rw-r--r-- 43.9 KB
ipg.c -rw-r--r-- 60.4 KB
ipg.h -rw-r--r-- 24.5 KB
iseries_veth.c -rw-r--r-- 42.8 KB
jazzsonic.c -rw-r--r-- 7.7 KB
jme.c -rw-r--r-- 71.2 KB
jme.h -rw-r--r-- 30.1 KB
korina.c -rw-r--r-- 32.1 KB
ks8842.c -rw-r--r-- 32.7 KB
ks8851.c -rw-r--r-- 43.7 KB
ks8851.h -rw-r--r-- 8.4 KB
ks8851_mll.c -rw-r--r-- 42.1 KB
ksz884x.c -rw-r--r-- 179.7 KB
lance.c -rw-r--r-- 40.4 KB
lantiq_etop.c -rw-r--r-- 18.8 KB
lasi_82596.c -rw-r--r-- 6.7 KB
lib82596.c -rw-r--r-- 38.0 KB
lib8390.c -rw-r--r-- 34.3 KB
ll_temac.h -rw-r--r-- 12.8 KB
ll_temac_main.c -rw-r--r-- 29.2 KB
ll_temac_mdio.c -rw-r--r-- 3.1 KB
lne390.c -rw-r--r-- 12.5 KB
loopback.c -rw-r--r-- 5.4 KB
lp486e.c -rw-r--r-- 32.2 KB
mac8390.c -rw-r--r-- 23.2 KB
mac89x0.c -rw-r--r-- 18.1 KB
macb.c -rw-r--r-- 32.2 KB
macb.h -rw-r--r-- 10.2 KB
mace.c -rw-r--r-- 27.4 KB
mace.h -rw-r--r-- 7.0 KB
macmace.c -rw-r--r-- 18.3 KB
macsonic.c -rw-r--r-- 18.7 KB
macvlan.c -rw-r--r-- 22.1 KB
macvtap.c -rw-r--r-- 24.3 KB
mdio.c -rw-r--r-- 12.7 KB
meth.c -rw-r--r-- 23.3 KB
meth.h -rw-r--r-- 9.5 KB
mii.c -rw-r--r-- 13.3 KB
mipsnet.c -rw-r--r-- 8.2 KB
mv643xx_eth.c -rw-r--r-- 70.7 KB
mvme147.c -rw-r--r-- 5.7 KB
natsemi.c -rw-r--r-- 92.9 KB
ne-h8300.c -rw-r--r-- 19.3 KB
ne.c -rw-r--r-- 29.0 KB
ne2.c -rw-r--r-- 22.4 KB
ne2k-pci.c -rw-r--r-- 20.7 KB
ne3210.c -rw-r--r-- 10.1 KB
netconsole.c -rw-r--r-- 20.1 KB
netx-eth.c -rw-r--r-- 13.7 KB
ni5010.c -rw-r--r-- 22.3 KB
ni5010.h -rw-r--r-- 6.7 KB
ni52.c -rw-r--r-- 36.7 KB
ni52.h -rw-r--r-- 8.8 KB
ni65.c -rw-r--r-- 29.9 KB
ni65.h -rw-r--r-- 3.7 KB
niu.c -rw-r--r-- 230.4 KB
niu.h -rw-r--r-- 119.8 KB
ns83820.c -rw-r--r-- 61.5 KB
pasemi_mac.c -rw-r--r-- 47.3 KB
pasemi_mac.h -rw-r--r-- 6.6 KB
pasemi_mac_ethtool.c -rw-r--r-- 4.2 KB
pci-skeleton.c -rw-r--r-- 49.8 KB
pcnet32.c -rw-r--r-- 80.4 KB
plip.c -rw-r--r-- 34.4 KB
ppp_async.c -rw-r--r-- 23.7 KB
ppp_deflate.c -rw-r--r-- 18.9 KB
ppp_generic.c -rw-r--r-- 68.9 KB
ppp_mppe.c -rw-r--r-- 20.8 KB
ppp_mppe.h -rw-r--r-- 4.0 KB
ppp_synctty.c -rw-r--r-- 17.6 KB
pppoe.c -rw-r--r-- 27.5 KB
pppox.c -rw-r--r-- 3.3 KB
pptp.c -rw-r--r-- 16.5 KB
ps3_gelic_net.c -rw-r--r-- 48.1 KB
ps3_gelic_net.h -rw-r--r-- 12.0 KB
ps3_gelic_wireless.c -rw-r--r-- 68.3 KB
ps3_gelic_wireless.h -rw-r--r-- 9.5 KB
pxa168_eth.c -rw-r--r-- 42.0 KB
qla3xxx.c -rw-r--r-- 101.7 KB
qla3xxx.h -rw-r--r-- 30.4 KB
r6040.c -rw-r--r-- 32.8 KB
r8169.c -rw-r--r-- 138.4 KB
rionet.c -rw-r--r-- 13.7 KB
rrunner.c -rw-r--r-- 41.7 KB
rrunner.h -rw-r--r-- 14.8 KB
s2io-regs.h -rw-r--r-- 31.9 KB
s2io.c -rw-r--r-- 240.7 KB
s2io.h -rw-r--r-- 31.7 KB
s6gmac.c -rw-r--r-- 33.4 KB
sb1000.c -rw-r--r-- 31.5 KB
sb1250-mac.c -rw-r--r-- 65.2 KB
sc92031.c -rw-r--r-- 39.8 KB
seeq8005.c -rw-r--r-- 20.1 KB
seeq8005.h -rw-r--r-- 6.4 KB
sgiseeq.c -rw-r--r-- 22.4 KB
sgiseeq.h -rw-r--r-- 4.5 KB
sh_eth.c -rw-r--r-- 48.0 KB
sh_eth.h -rw-r--r-- 18.4 KB
sis190.c -rw-r--r-- 46.4 KB
sis900.c -rw-r--r-- 72.5 KB
sis900.h -rw-r--r-- 10.5 KB
skge.c -rw-r--r-- 104.7 KB
skge.h -rw-r--r-- 100.6 KB
sky2.c -rw-r--r-- 133.4 KB
sky2.h -rw-r--r-- 90.1 KB
slhc.c -rw-r--r-- 18.7 KB
slip.c -rw-r--r-- 33.3 KB
slip.h -rw-r--r-- 3.4 KB
smc-mca.c -rw-r--r-- 16.1 KB
smc-ultra.c -rw-r--r-- 18.7 KB
smc-ultra32.c -rw-r--r-- 13.7 KB
smc911x.c -rw-r--r-- 57.8 KB
smc911x.h -rw-r--r-- 32.1 KB
smc9194.c -rw-r--r-- 43.2 KB
smc9194.h -rw-r--r-- 6.7 KB
smc91x.c -rw-r--r-- 62.4 KB
smc91x.h -rw-r--r-- 34.5 KB
smsc911x.c -rw-r--r-- 61.8 KB
smsc911x.h -rw-r--r-- 12.2 KB
smsc9420.c -rw-r--r-- 43.6 KB
smsc9420.h -rw-r--r-- 8.4 KB
sni_82596.c -rw-r--r-- 4.6 KB
sonic.c -rw-r--r-- 21.6 KB
sonic.h -rw-r--r-- 13.4 KB
spider_net.c -rw-r--r-- 70.4 KB
spider_net.h -rw-r--r-- 14.8 KB
spider_net_ethtool.c -rw-r--r-- 4.9 KB
starfire.c -rw-r--r-- 62.3 KB
stnic.c -rw-r--r-- 7.0 KB
sun3_82586.c -rw-r--r-- 32.6 KB
sun3_82586.h -rw-r--r-- 9.9 KB
sun3lance.c -rw-r--r-- 25.7 KB
sunbmac.c -rw-r--r-- 33.2 KB
sunbmac.h -rw-r--r-- 17.6 KB
sundance.c -rw-r--r-- 56.0 KB
sungem.c -rw-r--r-- 76.1 KB
sungem.h -rw-r--r-- 41.6 KB
sungem_phy.c -rw-r--r-- 28.6 KB
sungem_phy.h -rw-r--r-- 3.9 KB
sunhme.c -rw-r--r-- 91.3 KB
sunhme.h -rw-r--r-- 26.6 KB
sunlance.c -rw-r--r-- 40.4 KB
sunqe.c -rw-r--r-- 25.4 KB
sunqe.h -rw-r--r-- 18.6 KB
sunvnet.c -rw-r--r-- 28.1 KB
sunvnet.h -rw-r--r-- 1.6 KB
tc35815.c -rw-r--r-- 64.3 KB
tehuti.c -rw-r--r-- 66.6 KB
tehuti.h -rw-r--r-- 14.9 KB
tg3.c -rw-r--r-- 413.7 KB
tg3.h -rw-r--r-- 116.3 KB
tlan.c -rw-r--r-- 84.6 KB
tlan.h -rw-r--r-- 14.2 KB
tsi108_eth.c -rw-r--r-- 46.8 KB
tsi108_eth.h -rw-r--r-- 12.0 KB
tun.c -rw-r--r-- 38.1 KB
typhoon.c -rw-r--r-- 71.1 KB
typhoon.h -rw-r--r-- 20.9 KB
ucc_geth.c -rw-r--r-- 119.3 KB
ucc_geth.h -rw-r--r-- 44.9 KB
ucc_geth_ethtool.c -rw-r--r-- 11.3 KB
veth.c -rw-r--r-- 9.5 KB
via-rhine.c -rw-r--r-- 64.0 KB
via-velocity.c -rw-r--r-- 90.4 KB
via-velocity.h -rw-r--r-- 41.0 KB
virtio_net.c -rw-r--r-- 29.0 KB
wd.c -rw-r--r-- 17.2 KB
xen-netfront.c -rw-r--r-- 48.5 KB
xilinx_emaclite.c -rw-r--r-- 37.8 KB
xtsonic.c -rw-r--r-- 8.4 KB
yellowfin.c -rw-r--r-- 44.8 KB
znet.c -rw-r--r-- 29.2 KB
zorro8390.c -rw-r--r-- 12.6 KB

back to top