[GIT] Networking

From: David Miller
Date: Fri Dec 02 2016 - 14:40:40 EST



1) Lots more phydev and probe error path leaks in various drivers by
Johan Hovold.

2) Fix race in packet_set_ring(), from Philip Pettersson.

3) Use after free in dccp_invalid_packet(), from Eric Dumazet.

4) Signnedness overflow in SO_{SND,RCV}BUFFORCE, also from Eric
Dumazet.

5) When tunneling between ipv4 and ipv6 we can be left with the wrong
skb->protocol value as we enter the IPSEC engine and this causes
all kinds of problems. Set it before the output path does any
dst_output() calls, from Eli Cooper.

6) bcmgenet uses wrong device struct pointer in DMA API calls,
fix from Florian Fainelli.

7) Various netfilter nat bug fixes from FLorian Westphal.

8) Fix memory leak in ipvlan_link_new(), from Gao Feng.

9) Locking fixes, particularly wrt. socket lookups, in l2tp from
Guillaume Nault.

10) Avoid invoking rhash teardowns in atomic context by moving
netlink cb->done() dump completion from a worker thread. Fix
from Herbert Xu.

11) Buffer refcount problems in tun and macvtap on errors, from
Jason Wang.

12) We don't set Kconfig symbol DEFAULT_TCP_CONG properly when the
user selects BBR. Fix from Julian Wollrath.

13) Fix deadlock in transmit path on altera TSE driver, from Lino
Sanfilippo.

14) Fix unbalanced reference counting in dsa_switch_tree, from Nikita
Yushchenko.

15) tc_tunnel_key needs to be properly exported to userspace via uapi,
fix from Roi Dayan.

16) rds_tcp_init_net() doesn't unregister notifier in error path, fix
from Sowmini Varadhan.

17) Stale packet header pointer access after pskb_expand_head() in
genenve driver, fix from Sabrina Dubroca.

Please pull, thanks a lot!

The following changes since commit d8e435f3ab6fea2ea324dce72b51dd7761747523:

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs (2016-11-26 17:21:13 -0800)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git

for you to fetch changes up to b98b0bc8c431e3ceb4b26b0dfc8db509518fb290:

net: avoid signed overflows for SO_{SND|RCV}BUFFORCE (2016-12-02 14:10:14 -0500)

----------------------------------------------------------------
Alexander Duyck (2):
igb/igbvf: Don't use lco_csum to compute IPv4 checksum
ixgbe/ixgbevf: Don't use lco_csum to compute IPv4 checksum

Amir Vadai (1):
net/sched: pedit: make sure that offset is valid

Anders K. Pedersen (1):
netfilter: nf_tables: fix inconsistent element expiration calculation

Arnaldo Carvalho de Melo (1):
GSO: Reload iph after pskb_may_pull

Arnd Bergmann (1):
irda: fix overly long udelay()

Artem Savkov (1):
ip6_offload: check segs for NULL in ipv6_gso_segment.

Borislav Petkov (1):
amd-xgbe: Fix unused suspend handlers build warning

Brian Norris (1):
mwifiex: printk() overflow with 32-byte SSIDs

Chris Brandt (1):
sh_eth: remove unchecked interrupts for RZ/A1

Cyrille Pitchen (1):
net: macb: fix the RX queue reset in macb_rx()

Dan Carpenter (1):
net: renesas: ravb: unintialized return value

Daniel Borkmann (1):
net, sched: respect rcu grace period on cls destruction

Daniele Di Proietto (1):
openvswitch: Fix skb leak in IPv6 reassembly.

Daniele Palmas (1):
NET: usb: qmi_wwan: add support for Telit LE922A PID 0x1040

David Ahern (3):
netfilter: Update ip_route_me_harder to consider L3 domain
netfilter: Update nf_send_reset6 to consider L3 domain
net: handle no dst on skb in icmp6_send

David S. Miller (11):
Merge branch 'more-phydev-leaks'
Merge branch 'master' of git://git.kernel.org/.../klassert/ipsec
Merge branch 'fix-RTL8211F-TX-delay-handling'
Merge branch 'mlx4-fixes'
Merge branch 'fixed-phy-phydev-leaks'
Merge branch 'l2tp-fixes'
Merge tag 'wireless-drivers-for-davem-2016-11-29' of git://git.kernel.org/.../kvalo/wireless-drivers
Merge git://git.kernel.org/.../pablo/nf
Merge branch 'master' of git://git.kernel.org/.../klassert/ipsec
Merge branch 'stmmac-probe-error-handling-and-phydev-leaks'
Merge tag 'linux-can-fixes-for-4.9-20161201' of git://git.kernel.org/.../mkl/linux-can

Eli Cooper (3):
ipv4: Set skb->protocol properly for local output
ipv6: Set skb->protocol properly for local output
Revert: "ip6_tunnel: Update skb->protocol to ETH_P_IPV6 in ip6_tnl_xmit()"

Eric Dumazet (2):
net/dccp: fix use-after-free in dccp_invalid_packet
net: avoid signed overflows for SO_{SND|RCV}BUFFORCE

Florian Fainelli (1):
net: bcmgenet: Utilize correct struct device for all DMA operations

Florian Westphal (6):
xfrm: unbreak xfrm_sk_policy_lookup
netfilter: fix nf_conntrack_helper documentation
netfilter: nat: fix cmp return value
netfilter: nat: switch to new rhlist interface
netfilter: nat: fix crash when conntrack entry is re-used
netfilter: ipv6: nf_defrag: drop mangled skb on ream error

Gao Feng (2):
driver: ipvlan: Fix one possible memleak in ipvlan_link_new
driver: macvtap: Unregister netdev rx_handler if macvtap_newlink fails

Grygorii Strashko (1):
net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during resume

Guillaume Nault (5):
l2tp: lock socket before checking flags in connect()
l2tp: hold socket before dropping lock in l2tp_ip{, 6}_recv()
l2tp: fix racy socket lookup in l2tp_ip and l2tp_ip6 bind()
l2tp: fix lookup for sockets not bound to a device in l2tp_ip
l2tp: fix address test in __l2tp_ip6_bind_lookup()

Haishuang Yan (1):
vxlan: fix a potential issue when create a new vxlan fdb entry.

Hariprasad Shenai (1):
cxgb4: Add PCI device ID for new adapter

Herbert Xu (1):
netlink: Call cb->done from a worker thread

Hongxu Jia (1):
netfilter: arp_tables: fix invoking 32bit "iptable -P INPUT ACCEPT" failed in 64bit kernel

Jack Morgenstein (1):
net/mlx4: Fix uninitialized fields in rule when adding promiscuous mode to device managed flow steering

Jason Wang (2):
tun: handle ubuf refcount correctly when meet errors
macvtap: handle ubuf refcount correctly when meet errors

Jiri Pirko (1):
sched: cls_flower: remove from hashtable only in case skip sw flag is not set

Johan Hovold (28):
net: dsa: fix fixed-link-phy device leaks
net: bcmgenet: fix phydev reference leak
net: fsl/fman: fix phydev reference leak
net: fsl/fman: fix fixed-link-phydev reference leak
net: qcom/emac: fix of_node and phydev leaks
net: dsa: slave: fix of-node leak and phy priority
of_mdio: add helper to deregister fixed-link PHYs
net: ethernet: altera: fix fixed-link phydev leaks
net: ethernet: aurora: nb8800: fix fixed-link phydev leaks
net: ethernet: bcmsysport: fix fixed-link phydev leaks
net: ethernet: bcmgenet: fix fixed-link phydev leaks
net: ethernet: fec: fix fixed-link phydev leaks
net: ethernet: fs_enet: fix fixed-link phydev leaks
net: ethernet: gianfar: fix fixed-link phydev leaks
net: ethernet: ucc_geth: fix fixed-link phydev leaks
net: ethernet: marvell: mvneta: fix fixed-link phydev leaks
net: ethernet: mediatek: fix fixed-link phydev leaks
net: ethernet: renesas: ravb: fix fixed-link phydev leaks
net: ethernet: dwc_eth_qos: fix fixed-link phydev leaks
net: ethernet: ti: davinci_emac: fix fixed-link phydev and of-node leaks
net: dsa: slave: fix fixed-link phydev leaks
net: ethernet: stmmac: dwmac-socfpga: fix use-after-free on probe errors
net: ethernet: stmmac: dwmac-sti: fix probe error path
net: ethernet: stmmac: dwmac-rk: fix probe error path
net: ethernet: stmmac: dwmac-generic: fix probe error path
net: ethernet: stmmac: dwmac-meson8b: fix probe error path
net: ethernet: stmmac: platform: fix outdated function header
net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks

Jon Paul Maloy (1):
tipc: fix link statistics counter errors

Josef Bacik (1):
bpf: fix states equal logic for varlen access

Julian Wollrath (1):
tcp: Set DEFAULT_TCP_CONG to bbr if DEFAULT_BBR is set

Kristian Evensen (1):
cdc_ether: Fix handling connection notification

Laura Garcia Liebana (1):
netfilter: nft_hash: validate maximum value of u32 netlink hash attribute

Lino Sanfilippo (2):
net: ethernet: altera: TSE: Remove unneeded dma sync for tx buffers
net: ethernet: altera: TSE: do not use tx queue lock in tx completion handler

Liping Zhang (1):
netfilter: nft_range: add the missing NULL pointer check

Martin Blumenstingl (2):
Documentation: devicetree: clarify usage of the RGMII phy-modes
net: phy: realtek: fix enabling of the TX-delay for RTL8211F

Michael Holzheu (1):
bpf/samples: Fix PT_REGS_IP on s390x and use it

Michal Kubeček (1):
tipc: check minimum bearer MTU

Miroslav Urbanek (1):
flowcache: Increase threshold for refusing new allocations

Nicolas Dichtel (1):
vti6: flush x-netns xfrm cache when vti interface is removed

Nikita Yushchenko (2):
net: dsa: fix unbalanced dsa_switch_tree reference counting
net: fec: cache statistics while device is down

Philip Pettersson (1):
packet: fix race condition in packet_set_ring

Roi Dayan (1):
net/sched: Export tc_tunnel_key so its UAPI accessible

Sabrina Dubroca (1):
geneve: avoid use-after-free of skb->data

Sowmini Varadhan (1):
RDS: TCP: unregister_netdevice_notifier() in error path of rds_tcp_init_net

Stephane Grosjean (2):
can: peak: Fix bittiming fields size in bits
can: peak: Add support for PCAN-USB X6 USB interface

Tariq Toukan (1):
Revert "net/mlx4_en: Avoid unregister_netdev at shutdown flow"

Tobias Brunner (2):
esp4: Fix integrity verification when ESN are used
esp6: Fix integrity verification when ESN are used

Tobias Klauser (1):
net/rtnetlink: fix attribute name in nlmsg_size() comments

Yi Zhao (1):
xfrm_user: fix return value from xfrm_user_rcv_msg

Zumeng Chen (1):
net: macb: ensure ordering write to re-enable RX smoothly

allan (1):
net: asix: Fix AX88772_suspend() USB vendor commands failure issues

Documentation/devicetree/bindings/net/ethernet.txt | 24 ++++++++++++++++++++----
Documentation/networking/nf_conntrack-sysctl.txt | 7 +++++--
drivers/net/can/usb/peak_usb/pcan_ucan.h | 37 +++++++++++++++++++++++++++++--------
drivers/net/can/usb/peak_usb/pcan_usb_core.c | 2 ++
drivers/net/can/usb/peak_usb/pcan_usb_core.h | 2 ++
drivers/net/can/usb/peak_usb/pcan_usb_fd.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
drivers/net/ethernet/altera/altera_tse_main.c | 21 ++++++++-------------
drivers/net/ethernet/amd/xgbe/xgbe-main.c | 4 ++--
drivers/net/ethernet/aurora/nb8800.c | 9 +++++++--
drivers/net/ethernet/broadcom/bcmsysport.c | 17 ++++++++++++-----
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 8 +++++---
drivers/net/ethernet/broadcom/genet/bcmmii.c | 10 +++++++++-
drivers/net/ethernet/cadence/macb.c | 5 +++--
drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h | 1 +
drivers/net/ethernet/freescale/fec.h | 2 ++
drivers/net/ethernet/freescale/fec_main.c | 28 ++++++++++++++++++++++++----
drivers/net/ethernet/freescale/fman/fman_memac.c | 3 +++
drivers/net/ethernet/freescale/fman/mac.c | 2 ++
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 7 ++++++-
drivers/net/ethernet/freescale/gianfar.c | 8 ++++++++
drivers/net/ethernet/freescale/ucc_geth.c | 23 ++++++++++++++++-------
drivers/net/ethernet/intel/igb/igb_main.c | 8 ++++++--
drivers/net/ethernet/intel/igbvf/netdev.c | 8 ++++++--
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8 ++++++--
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 8 ++++++--
drivers/net/ethernet/marvell/mvneta.c | 5 +++++
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 17 ++---------------
drivers/net/ethernet/mellanox/mlx4/main.c | 5 +----
drivers/net/ethernet/mellanox/mlx4/mcg.c | 7 ++++++-
drivers/net/ethernet/qualcomm/emac/emac-phy.c | 1 +
drivers/net/ethernet/qualcomm/emac/emac.c | 4 ++++
drivers/net/ethernet/renesas/ravb_main.c | 19 ++++++++++++++-----
drivers/net/ethernet/renesas/sh_eth.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/dwmac-generic.c | 17 +++++++++++++++--
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c | 25 +++++++++++++++++++------
drivers/net/ethernet/stmicro/stmmac/dwmac-lpc18xx.c | 17 ++++++++++++++---
drivers/net/ethernet/stmicro/stmmac/dwmac-meson.c | 23 ++++++++++++++++++-----
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 32 ++++++++++++++++++++++++--------
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 21 +++++++++++++++++----
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 39 ++++++++++++++++++++++++++-------------
drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 23 ++++++++++++++++++-----
drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c | 19 ++++++++++++++-----
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 26 +++++++++++++++++++-------
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 -
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 33 +++++++++++++++++++++++++++++----
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.h | 2 ++
drivers/net/ethernet/synopsys/dwc_eth_qos.c | 20 +++++++++++++-------
drivers/net/ethernet/ti/cpsw.c | 20 ++++++--------------
drivers/net/ethernet/ti/davinci_emac.c | 10 +++++++++-
drivers/net/geneve.c | 14 ++++----------
drivers/net/ipvlan/ipvlan_main.c | 17 ++++++++++++-----
drivers/net/irda/w83977af_ir.c | 4 +++-
drivers/net/macvtap.c | 19 ++++++++++++-------
drivers/net/phy/realtek.c | 20 ++++++++++++--------
drivers/net/tun.c | 10 ++++------
drivers/net/usb/asix_devices.c | 6 +++---
drivers/net/usb/cdc_ether.c | 38 +++++++++++++++++++++++++++++++-------
drivers/net/usb/qmi_wwan.c | 1 +
drivers/net/vxlan.c | 10 +++++++---
drivers/net/wireless/marvell/mwifiex/cfg80211.c | 13 +++++++------
drivers/of/of_mdio.c | 15 +++++++++++++++
include/linux/mlx4/device.h | 1 -
include/linux/of_mdio.h | 4 ++++
include/net/ipv6.h | 2 ++
include/net/netfilter/nf_conntrack.h | 6 +++---
include/net/netfilter/nf_tables.h | 2 +-
include/uapi/linux/tc_act/Kbuild | 1 +
kernel/bpf/verifier.c | 10 ++++++++--
net/core/flow.c | 6 ++----
net/core/rtnetlink.c | 4 ++--
net/core/sock.c | 4 ++--
net/dccp/ipv4.c | 12 +++++++-----
net/dsa/dsa.c | 13 ++++---------
net/dsa/dsa2.c | 4 +++-
net/dsa/slave.c | 19 ++++++++++++++++---
net/ipv4/Kconfig | 1 +
net/ipv4/af_inet.c | 2 +-
net/ipv4/esp4.c | 2 +-
net/ipv4/ip_output.c | 2 ++
net/ipv4/netfilter.c | 5 ++++-
net/ipv4/netfilter/arp_tables.c | 4 ++--
net/ipv6/datagram.c | 4 +++-
net/ipv6/esp6.c | 2 +-
net/ipv6/icmp.c | 6 ++++--
net/ipv6/ip6_offload.c | 2 +-
net/ipv6/ip6_tunnel.c | 1 -
net/ipv6/ip6_vti.c | 31 +++++++++++++++++++++++++++++++
net/ipv6/netfilter/nf_conntrack_reasm.c | 4 ++--
net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 2 +-
net/ipv6/netfilter/nf_reject_ipv6.c | 1 +
net/ipv6/output_core.c | 2 ++
net/l2tp/l2tp_ip.c | 63 ++++++++++++++++++++++++++++++++++-----------------------------
net/l2tp/l2tp_ip6.c | 79 ++++++++++++++++++++++++++++++++++++++++++-------------------------------------
net/netfilter/nf_nat_core.c | 49 ++++++++++++++++++++++++++++++-------------------
net/netfilter/nf_tables_api.c | 14 +++++++++-----
net/netfilter/nft_hash.c | 7 +++++--
net/netfilter/nft_range.c | 6 ++++++
net/netlink/af_netlink.c | 27 +++++++++++++++++++++++----
net/netlink/af_netlink.h | 2 ++
net/openvswitch/conntrack.c | 5 ++++-
net/packet/af_packet.c | 18 ++++++++++++------
net/rds/tcp.c | 2 ++
net/sched/act_pedit.c | 24 ++++++++++++++++++++----
net/sched/cls_basic.c | 4 ----
net/sched/cls_bpf.c | 4 ----
net/sched/cls_cgroup.c | 7 +++----
net/sched/cls_flow.c | 1 -
net/sched/cls_flower.c | 41 ++++++++++++++++++++++++++++++++---------
net/sched/cls_matchall.c | 1 -
net/sched/cls_rsvp.h | 3 ++-
net/sched/cls_tcindex.c | 1 -
net/tipc/bearer.c | 11 +++++++++--
net/tipc/bearer.h | 13 +++++++++++++
net/tipc/link.c | 35 +++++++++++++++++++----------------
net/tipc/udp_media.c | 5 +++++
net/xfrm/xfrm_policy.c | 10 ++++++----
net/xfrm/xfrm_user.c | 2 +-
samples/bpf/bpf_helpers.h | 2 +-
samples/bpf/sampleip_kern.c | 2 +-
samples/bpf/trace_event_kern.c | 2 +-
121 files changed, 1064 insertions(+), 450 deletions(-)