Fix -Ofast optimization errors

Possibly uninitialized variables.
Array subscripts above/below bounds.

Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
net: netfilter: Force no unsafe math optimizations

GCC spouts some weird segmentation fault.

Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
phy: fix compiler array bounds warning on settings[]

With -Werror=array-bounds, gcc v4.7.x warns that in phy_find_valid(), the
settings[] "array subscript is above array bounds", I think because idx is
a signed integer and if the caller supplied idx < 0, we pass the guard but
still reference out of bounds.

Fix this by making idx unsigned here and elsewhere.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[zwliew: Backport to Linux 3.4]
Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>

Conflicts:
	drivers/net/phy/phy.c