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(-)