Pull networking fixes from David Miller:
"It looks like a sizeble collection but this is nearly 3 weeks of bug
fixing while you were away.
1) Fix crashes over IPSEC tunnels with NAT, the latter can reroute
the packet through a non-IPSEC protected path and the code has to
be able to handle SKBs attached to routes lacking an attached xfrm
state. From Steffen Klassert.
2) Fix OOPSs in ipv4 and ipv6 ipsec layers for unsupported
sub-protocols, also from Steffen Klassert.
3) Set local_df on fragmented netfilter skbs otherwise we won't be
able to forward successfully, from Florian Westphal.
4) cdc_mbim ipv6 neighbour code does __vlan_find_dev_deep without
holding RCU lock, from Bjorn Mork.
5) local_df test in ip_may_fragment is inverted, from Florian
Westphal.
6) jme driver doesn't check for DMA mapping failures, from Neil
Horman.
7) qlogic driver doesn't calculate number of TX queues properly, from
Shahed Shaikh.
8) fib_info_cnt can drift irreversibly positive if we fail to
allocate the fi->fib_metrics array, from Sergey Popovich.
9) Fix use after free in ip6_route_me_harder(), also from Sergey
Popovich.
10) When SYSCTL is disabled, we don't handle local_port_range and
ping_group_range defaults properly at all, from Cong Wang.
11) Unaccelerated VLAN tagged frames improperly handled by cdc_mbim
driver, fix from Bjorn Mork.
12) cassini driver needs nested lock annotations for TX locking, from
Emil Goode.
13) On init error ipv6 VTI driver can unregister pernet ops twice,
oops. Fix from Mahtias Krause.
14) If macvlan device is down, don't propagate IFF_ALLMULTI changes,
from Peter Christensen.
15) Missing NULL pointer check while parsing netlink config options in
ip6_tnl_validate(). From Susant Sahani.
16) Fix handling of neighbour entries during ipv6 router reachability
probing, from Duan Jiong.
17) x86 and s390 JIT address randomization has some address
calculation bugs leading to crashes, from Alexei Starovoitov and
Heiko Carstens.
18) Clear up those uglies with nop patching and net_get_random_once(),
from Hannes Frederic Sowa.
19) Option length miscalculated in ip6_append_data(), fix also from
Hannes Frederic Sowa.
20) A while ago we fixed a race during device unregistry when a
namespace went down, turns out there is a second place that needs
similar protection. From Cong Wang.
21) In the new Altera TSE driver multicast filtering isn't working,
disable it and just use promisc mode until the cause is found.
From Vince Bridgers.
22) When we disable router enabling in ipv6 we have to flush the
cached routes explicitly, from Duan Jiong.
23) NBMA tunnels should not cache routes on the tunnel object because
the key is variable, from Timo Teräs.
24) With stacked devices GRO information in skb->cb[] can be not setup
properly, make sure it is in all code paths. From Eric Dumazet.
25) Really fix stacked vlan locking, multiple levels of nesting with
intervening non-vlan devices are possible. From Vlad Yasevich.
26) Fallback ipip tunnel device's mtu is not setup properly, from
Steffen Klassert.
27) The packet scheduler's tcindex filter can crash because we
structure copy objects with list_head's inside, oops. From Cong
Wang.
28) Fix CHECKSUM_COMPLETE handling for ipv6 GRE tunnels, from Eric
Dumazet.
29) In some configurations 'itag' in __mkroute_input() can end up
being used uninitialized because of how fib_validate_source()
works. Fix it by explitly initializing itag to zero like all the
other fib_validate_source() callers do, from Li RongQing"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (116 commits)
batman: fix a bogus warning from batadv_is_on_batman_iface()
ipv4: initialise the itag variable in __mkroute_input
bonding: Send ALB learning packets using the right source
bonding: Don't assume 802.1Q when sending alb learning packets.
net: doc: Update references to skb->rxhash
stmmac: Remove unbalanced clk_disable call
ipv6: gro: fix CHECKSUM_COMPLETE support
net_sched: fix an oops in tcindex filter
can: peak_pci: prevent use after free at netdev removal
ip_tunnel: Initialize the fallback device properly
vlan: Fix build error wth vlan_get_encap_level()
can: c_can: remove obsolete STRICT_FRAME_ORDERING Kconfig option
MAINTAINERS: Pravin Shelar is Open vSwitch maintainer.
bnx2x: Convert return 0 to return rc
bonding: Fix alb mode to only use first level vlans.
bonding: Fix stacked device detection in arp monitoring
macvlan: Fix lockdep warnings with stacked macvlan devices
vlan: Fix lockdep warning with stacked vlan devices.
net: Allow for more then a single subclass for netif_addr_lock
net: Find the nesting level of a given device by type.
...
* Clean up bcm281xx/21664 SMC code
* Clean up bcm281xx/21664 L2C code
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTf0TFAAoJEOfTILNwq7R4nvIQAI8T/EVvRaGQYgkgyer8rnCq
cfurHHrn51uEFUS+kER522wYmGgqK7+B00h6u5QohcLelb7f2CdC2MQarmSA8G1G
M5zl5EpmkBBoEpq+co2IGMtdpDk3vQqZbh1yBIb3DsJAQZzsMDUyS/L4vQ/LSCQN
VLDLptro5kJmsgMdZ37XhkcLUXYhWPTXEggSHBvVDWk9hjc0h+75ZSwkCegUdA4X
JhmojUyb3qyh/Gq+9vRvdakkwlbQQv/duvkzwEDgpFXns7gt7jz/DSuKhH2HymPc
N/F3l/mEwVt1k3Ve0ij7tjejXsm/to2goD2YJEkxjdO8QeK808WcHMXQRJL5xNPc
803LI/LtpL9gw0MinLQX7w7WoFbQXI9dUofCzu16va42k0uNmF/OFcTo6Y0R4Fla
qhvZDQksHjO0c64P87ly2ypRNhjqkSzrnA+umjJ5UAItSG3AwJYYK8/uuaKJbugp
r5QnjRcSJI+k+iA03I9lZCrETS1hUFlMpzlv8ZjoMpRhJ9H4Y7S/xWqtQMJyE9bi
ABjJj2Q3Y67NAmKJYYXcCZUNwMuiwitMVo+wamsDbIWEFVk1NTsZBqWRvGkD1Ev4
STKz9UohrlFisODUsBhSt0VgX9D9BMihn5DwsN8Eh0OHbWbPrzWitcO26YBfsEue
CH591KjF5+fiPYHMme9j
=QVlm
-----END PGP SIGNATURE-----
Merge tag 'for-3.16/bcm-cleanup' of git://github.com/broadcom/mach-bcm into next/cleanup
* Clean up mach-bcm config and build targets
* Clean up bcm281xx/21664 SMC code
* Clean up bcm281xx/21664 L2C code
* tag 'for-3.16/bcm-cleanup' of git://github.com/broadcom/mach-bcm:
ARM: bcm: rename "kona.h" and "kona.c"
ARM: bcm: rewrite commentary for bcm_kona_do_smc()
ARM: bcm: use inline assembly for "smc" request
ARM: bcm: tidy up a few includes
ARM: bcm: config option for l2 cache support
ARM: bcm: don't special-case CPU 0 in bcm_kona_smc()
ARM: bcm: have bcm_kona_smc() return request result
ARM: bcm: clean up SMC code
ARM: bcm: err, don't BUG() on SMC init failures
ARM: bcm: use memory accessors for ioremapped area
ARM: bcm: clean up config and build targets
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Conflicts:
arch/arm/mach-bcm/Kconfig
devm_request_and_ioremap was the only function to use device
instead of dev. This fixes kernel-doc warning.
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch outsources the big PHS-rule-applying code chunk into a
function.
It also replaces member accessing by using variables.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch replaces long object->member.member foo by variable useage.
Increases the reading experience a lot by introducing only one variable
(as it decreases the whoa-wall-of-text experience).
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Checkpatch.pl cleanup
Thanks again to Greg KH and Dan Carpenter for the patience :)
Signed-off-by: Davide Gianforte <davide@gengisdave.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There are certain client bugs (double unmap, for example) that can cause
the handle->kmap_cnt (an unsigned int) to wrap around from zero. This
causes problems when the handle is destroyed because we have:
while (handle->kmap_cnt)
ion_handle_kmap_put(handle);
which takes a long time to complete when kmap_cnt starts at ~0 and can
result in a watchdog timeout.
WARN and bail when kmap_cnt is about to wrap around from zero.
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Acked-by: Colin Cross <ccross@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
WARNING: Missing a blank line after declarations
Signed-off-by: Nicolas Joseph <nicolas.joseph@homecomputing.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Toradex Colibri Evaluation Board uses the DS1307 RTC and the
MCP251x CAN controller. The NVIDIA Tegra 3 based Colibri T30
module can be used on this carrier board, hence enable those
drivers in tegra_defonfig and multi_v7_defconfig.
Furthermore the NVIDIA Tegra 3 based Apalis T30 module too
contains two MCP251x CAN controller.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
When it fails to allocate div, gate should be free'd before return
Signed-off-by: Valentin Ilie <valentin.ilie@gmail.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
The Marvell Armada 38x platform has a SDHCI interface managed by the
sdhci-pxav3 MMC host driver. It therefore makes sense to enable this
driver in multi_v7_defconfig, which supports the Armada 38x platform.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The Marvell Armada 38x platform needs the xhci_mvebu driver enabled
for the xHCI USB hosts, so this commit enables the corresponding
Kconfig option in multi_v7_defconfig.
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: arm@kernel.org
Cc: Kevin Hilman <khilman@linaro.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* Add a new qcom_defconfig for mach-qcom
* Update msm_defconfig for handling building the old mach-msm
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: GPGTools - https://gpgtools.org
iQIcBAABCgAGBQJTf5MmAAoJEF9hYXeAcXzBZqwP/3urUaYsZ8aFO5/j7vaJn+1l
+WrIdwKTw1DokH71NcdOGe2JA1fvolos7TkId3w6xwXNursuuMX3snCPfUPgYwHU
jbufp5pRSzjF4y9mzs8f8vMgIiTcZYCenQ3U7CHiKZm2Ufv3U4r94iXeHUe+v3WR
0DYEqS1IAc/JGQJxqS52g6u+YrIum+ntZUyRliUSe4IhvC92DQlAb5jVDW1oI59G
Sd+O78dUeJw57uObVCa8V6P3l7TRVOfM6R3suPetBod5N7E/7qH6CM29P9SA/+F3
3esLMAEqe6uARzhT/XkM7yLh4N5y92eAYmhfff346QY36KhKfTiJHbQ6lz2nTZy+
DBJY4ntD5zp6NQ5CHph66CgS7ihnLXkHDpkPeYxn2jF/NmjkEjdzqc2FQJHmezkB
3xid1u5BUAlez3VIL38u4boGGUsO1POm02C80PANr2iuYY0ImxVOTYt/JfYqrSfP
l9xNKew/MczbJZBvolMCm5gfUYsAPCTGJ5k3sno6R/J/rvW5uNb4wTccF/vq0glx
eSLC3iwdqXmwLZNeepiLFDWdJ13QoG5ke3vrwM+pQdlezScm2lZatHwNqkY8kxuT
W3rhvvFOeIiCeE+nrFlPZo1uSl48Zvy5OOMOrP1IvQKC9XMH30o9OLTXLAa1aGNE
4MeWrY2Vn00pfvw0hAcw
=RyxN
-----END PGP SIGNATURE-----
Merge tag 'qcom-defconfig-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig
Merge "Qualcomm ARM Based defconfig Updates for v3.16" from Kumar Gala:
* Add a new qcom_defconfig for mach-qcom
* Update msm_defconfig for handling building the old mach-msm
* tag 'qcom-defconfig-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
ARM: config: Update msm_defconfig
ARM: config: Add qcom_defconfig
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add the A31 reset driver to the sunxi-related defconfigs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTf4VbAAoJEBx+YmzsjxAgfykP/iCSozhJ1LPS1YlqgFcpAeDq
OZ6BEEWp+Oriw8x3SiMzt1a6E8wu8plj0kDuaN3DbXNOG9iVri7c09nviPzMB8W2
rJa5ng/CZ8C59Le7jjU6u7ST948oMUISQTUsx8HXnKww9gNwlmXVuFS046TRprD4
AfvrfLpuI9IrdJ3S7zIXGzbaKp+oF/lrMIQ9GG/Llt6kxTOo5GDYrE2qoi8cY8mp
lPZFGFVVEsj8bR9PEgiDxqFvt97aKaZH8kqEWmihLFrzem6lF+reNxiWxeUbDdNH
wjUo1ZQPGXblkll8ksPoNRfolr8crI2AwyaNe2fHMAXt//DqmEKa4YEQU4/S551L
8CJQe63nHhJa0aUY+eTz1N9H939rUo7Jc9fElSyxw655RYbjscdRO5LsnZHKPuSl
AdBv6GWkXDhP/XVtxQUveGYW8jS6vejsYMHKCQAFmAi+Axh7wZ2AeHaQoUdRK7Pu
4h1cFvbcDva6+95DWfYVpz5ZEV/AjuchhECpIA2HSnpfyfuqG7sgHE9kivXucWyT
drz8Ug1NFfcjn9HadEC16mGysvasb+0ZoN/gudXLsSpeBexctODEFFPJuF26a1Rf
mU2Jr5F3ltUgUjJJJnvScdxJJM6+ttEhUvPktYpflwCki+kdqmU0KCRXno/netbZ
AcsEMOhCfYGfhHCIagFm
=1akP
-----END PGP SIGNATURE-----
Merge tag 'sunxi-defconfig-for-3.16-2' of https://github.com/mripard/linux into next/defconfig
Merge "Allwinner defconfig changes, take 2" from Maxime Ripard:
Add the A31 reset driver to the sunxi-related defconfigs
* tag 'sunxi-defconfig-for-3.16-2' of https://github.com/mripard/linux:
ARM: multi_v7: Add Allwinner reset drivers to multi_v7_defconfig
ARM: sunxi: Add A31 reset driver to sunxi_defconfig
ARM: sunxi: drop CONFIG_COMMON_CLK_DEBUG
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- mvebu
- enable MSI and XHCI in mvebu_v7_defconfig
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJTfhwQAAoJEP45WPkGe8Zn79sQAJlEN7xM7y7sFF8sEaEvkOD+
4c3wJHItvDOSAu3KMn4yrTp8O9h1jiIM8fvA/Z08291xcEX1eJbtXtTOI/hgp77G
YWuV0cL139iSxZyedrKv5xj7nxEytqdSUPBnSMOM+VZfSAChqLsKlirIZ5OkAvEF
JagKHaYIePYqQ8Tg2dq1zj7nrqKWlXHvG10He58msw1TcHHOB2KTZEz8OhrvsLp2
/QfjyouHoBAEgYtcB/FsUZiYG5clecJIS6RrBjItUicaqeX31DC/1+W+hmDyUYdk
m4DcwxJDj1V0OIabHcQfwTY7+e/BFIhNtaXipn6PbNOZ5uWpVhiCv6ahZqzoB0q1
asHnIIEKdqZVJOmCdmyqg+G7L0O4V0WFdLprTKYFpF9nTBx/y4co7fGHAYQdOTCT
nV+rYBbHoXg0wVXi3+RmbPzK7+M26QQRyMmkBsI7eajGdR8rmEXmfcYKjIagT2QH
UFNwZYFVHAqMdfmJFimnsMmvhHw6UlHF4MHqrUSl8cCiMrT40Y1WUpC+JISzMpUV
hbEumOl/VqAfqYZ6r9+SoKc0qgjZMYE2QrQvkVP70QFUncr4cxp4cDcptLf/ZLHJ
B/SVsC6VTaXJW7A+Vqs8flhi6owTMjk0aarLZy/z0fR5yAOWL+EN23Gfm1V6jxEO
t+lv/Thil9SOmDog4OPG
=ZWKb
-----END PGP SIGNATURE-----
Merge tag 'mvebu-defconfig-3.16-2' of git://git.infradead.org/linux-mvebu into next/defconfig
Merge "mvebu defconfig changes for v3.16 (incremental #2)" from Jason Cooper:
- mvebu
- enable MSI and XHCI in mvebu_v7_defconfig
* tag 'mvebu-defconfig-3.16-2' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: enable MSI support in mvebu_v7_defconfig
ARM: configs: enable XHCI mvebu support in mvebu_v7_defconfig
ARM: multi_v5_defconfig: Enable sound modules needed for t5325
ARM: mvebu_v5_defconfig: Enable sound modules needed for t5325
ARM: mvebu: defconfig: add MTD_SPI_NOR (new dependency for M25P80)
ARM: configs: add ahci_mvebu to mvebu_v7_defconfig
ARM: configs: add CONFIG_MMC_SDHCI_PXAV3 to the mvebu_v7_defconfig
ARM: mvebu: enable fhandle in the defconfigs
ARM: mvebu: Enable nfsroot in the defconfig
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "mvebu DT changes for v3.16 (incremental #2)" from Jason Cooper:
- kirkwood
- add OpenRD boards
- make keymile boards bootable with latest kernels
- mvebu
- add ehci/xhci to Armada 375/38x boards
* tag 'mvebu-dt-3.16-2' of git://git.infradead.org/linux-mvebu:
ARM: dts: kirkwood: add kirkwood-km_fixedeth DTS file
ARM: dts: kirkwood: add kirkwood-km_common DTSI files
ARM: dts: kirkwood: resynch 98dx4122 dtsi
ARM: mvebu: add Device Tree description for the EHCI controllers on Armada 375
ARM: mvebu: add Device Tree description of the xHCI controller on Armada 375
ARM: mvebu: add Device Tree description of the EHCI controller on Armada 38x
ARM: mvebu: add Device Tree description of xHCI controllers on Armada 38x
ARM: Kirkwood: DT versions of OpenRD boards
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "Allwinner DT changes for 3.16, take 2" from Maxime Ripard:
- Introduction of a new board, the i12-tvbox
- Enable the MMC and USB controllers on the Colombus
- Add the enable-method to the A31 cpus
- a few fixes
* tag 'sunxi-dt-for-3.16-2' of https://github.com/mripard/linux:
ARM: dts: sun7i: Add new i12-tvbox board
ARM: dts: sun7i: cubietruck: set mmc3 bus-width property
ARM: sun6i: Add MMC0 controller to the Colombus board
ARM: sun6i: Fix OHCI2 node name
ARM: sun6i: Enable USB Host support on the Colombus board
ARM: sunxi: Add fixed 3V regulator
ARM: sun6i: Define the A31 CPUs enable-method
ARM: sunxi: dt: build DTs according to new MACH_SUNxI Kconfig symbols
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Conflicts:
arch/arm/boot/dts/Makefile
Merge "mach-bcm dt updates for 3.16" from Matt Porter:
* Add PWM support to bcm281xx and bcm28155 ap board
* Add gpldo and vbus regulators to bcm590xx
* tag 'for-3.16/bcm-dt' of git://github.com/broadcom/mach-bcm:
ARM: dts: bcm590xx: add support for GPLDO and VBUS regulators
ARM: dts: Enable the PWM for bcm28155 AP board
ARM: dts: Declare the PWM for bcm11351 (bcm281xx)
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "Qualcomm ARM Based Device Tree Updates for v3.16" from Kumar Gala:
* Added device tree nodes for pinctrl and SDHC for msm8974 SoC/DB8074 board
* Added binding spec for GSBI configuration node
* tag 'qcom-dt-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
soc: qcom: Add device tree binding for GSBI
ARM: dts: msm: Add SDHC controller nodes for MSM8974 and DB8074 board
ARM: dts: MSM8974: Add pinctrl node
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Commit 1d9fe6b97 ("clk: divider: Fix best div calculation for power-of-two and
table dividers") introduces a regression in its _table_round_up function.
When the divider passed to this function is greater than the max divider
available in the table, this function returns table's max divider.
Problem is that it causes an infinite loop in clk_divider_bestdiv() because
_next_div() will never return a value greater than maxdiv.
Instead of returning table's max divider, this patch returns INT_MAX.
Reported-by: Fabio Estevam <festevam@gmail.com>
Reported-by: Shawn Guo <shawn.guo@freescale.com>
Tested-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>