[GIT] Networking

From: David Miller
Date: Mon Jun 17 2019 - 14:22:37 EST



Lots of bug fixes here:

1) Out of bounds access in __bpf_skc_lookup, from Lorenz Bauer.

2) Fix rate reporting in cfg80211_calculate_bitrate_he(), from
John Crispin.

3) Use after free in psock backlog workqueue, from John Fastabend.

4) Fix source port matching in fdb peer flow rule of mlx5, from
Raed Salem.

5) Use atomic_inc_not_zero() in fl6_sock_lookup(), from Eric Dumazet.

6) Network header needs to be set for packet redirect in nfp, from
John Hurley.

7) Fix udp zerocopy refcnt, from Willem de Bruijn.

8) Don't assume linear buffers in vxlan and geneve error handlers,
from Stefano Brivio.

9) Fix TOS matching in mlxsw, from Jiri Pirko.

10) More SCTP cookie memory leak fixes, from Neil Horman.

11) Fix VLAN filtering in rtl8366, from Linus Walluij.

12) Various TCP SACK payload size and fragmentation memory limit fixes
from Eric Dumazet.

13) Use after free in pneigh_get_next(), also from Eric Dumazet.

14) LAPB control block leak fix from Jeremy Sowden.

Please pull, thanks a lot!

The following changes since commit 1e1d926369545ea09c98c6c7f5d109aa4ee0cd0b:

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2019-06-07 09:29:14 -0700)

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 4fddbf8a99ee5a65bdd31b3ebbf5a84b9395d496:

Merge branch 'tcp-fixes' (2019-06-17 10:39:56 -0700)

----------------------------------------------------------------
Alaa Hleihel (2):
net/mlx5: Avoid reloading already removed devices
net/mlx5e: Avoid detaching non-existing netdev under switchdev mode

Alakesh Haloi (1):
selftests: bpf: fix compiler warning in flow_dissector test

Alexander Dahl (1):
can: usb: Kconfig: Remove duplicate menu entry

Alexei Starovoitov (3):
Merge branch 'reuseport-fixes'
Merge branch 'fix-unconnected-udp'
bpf, x64: fix stack layout of JITed bpf code

Anders Roxell (1):
net: dsa: fix warning same module names

Andy Strohman (1):
nl80211: fix station_info pertid memory leak

Anssi Hannula (1):
can: xilinx_can: use correct bittiming_const for CAN FD core

Arthur Fabre (1):
bpf: Fix out of bounds memory access in bpf_sk_storage

Avraham Stern (1):
cfg80211: report measurement start TSF correctly

Björn Töpel (2):
bpf, riscv: clear target register high 32-bits for and/or/xor on ALU32
selftests: bpf: add zero extend checks for ALU32 and/or/xor

Chang-Hsien Tsai (1):
samples, bpf: fix to change the buffer size for read()

Chris Mi (1):
net/mlx5e: Add ndo_set_feature for uplink representor

Daniel Borkmann (8):
Merge branch 'bpf-subreg-tests'
bpf: fix unconnected udp hooks
bpf: sync tooling uapi header
bpf, libbpf: enable recvmsg attach types
bpf, bpftool: enable recvmsg attach types
bpf: more msg_name rewrite tests to test_sock_addr
bpf: expand section tests for test_section_names
Merge branch 'bpf-ppc-div-fix'

David S. Miller (14):
Merge tag 'wireless-drivers-for-davem-2019-06-07' of git://git.kernel.org/.../kvalo/wireless-drivers
Merge git://git.kernel.org/.../bpf/bpf
Merge tag 'linux-can-fixes-for-5.2-20190607' of git://git.kernel.org/.../mkl/linux-can
Merge tag 'mlx5-fixes-2019-06-07' of git://git.kernel.org/.../saeed/linux
Merge branch 'ibmvnic-Fixes-for-device-reset-handling'
Merge branch 'vxlan-geneve-linear'
Merge branch 'mlxsw-Various-fixes'
Merge branch 'net-mvpp2-prs-Fixes-for-VID-filtering'
Merge tag 'mac80211-for-davem-2019-06-14' of git://git.kernel.org/.../jberg/mac80211
Merge branch 'qmi_wwan-fix-QMAP-handling'
Merge branch 'tcp-add-three-static-keys'
Revert "net: phylink: set the autoneg state in phylink_phy_change"
Merge git://git.kernel.org/.../bpf/bpf
Merge branch 'tcp-fixes'

Dexuan Cui (1):
hv_sock: Suppress bogus "may be used uninitialized" warnings

Edward Srouji (1):
net/mlx5: Update pci error handler entries and command translation

Eli Britstein (1):
net/mlx5e: Support tagged tunnel over bond

Emmanuel Grumbach (1):
iwlwifi: fix load in rfkill flow for unified firmware

Enrico Weigelt (1):
net: ipv4: fib_semantics: fix uninitialized variable

Eric Biggers (1):
cfg80211: fix memory leak of wiphy device name

Eric Dumazet (12):
ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero
sysctl: define proc_do_static_key()
tcp: add tcp_rx_skb_cache sysctl
tcp: add tcp_tx_skb_cache sysctl
net: add high_order_alloc_disable sysctl/static key
tcp: limit payload size of sacked skbs
tcp: tcp_fragment() should apply sane memory limits
tcp: add tcp_min_snd_mss sysctl
tcp: enforce tcp_min_snd_mss in tcp_mtu_probing()
tcp: fix compile error if !CONFIG_SYSCTL
neigh: fix use-after-free read in pneigh_get_next
ax25: fix inconsistent lock state in ax25_destroy_timer

Eugen Hristev (1):
can: m_can: implement errata "Needless activation of MRAF irq"

Fabio Estevam (1):
can: flexcan: Remove unneeded registration message

George Wilkie (1):
mpls: fix warning with multi-label encap

Govindarajulu Varadarajan (1):
net: handle 802.1P vlan 0 packets properly

Gustavo A. R. Silva (1):
mac80211_hwsim: mark expected switch fall-through

Haiyang Zhang (1):
hv_netvsc: Set probe mode to sync

Hangbin Liu (1):
selftests/bpf: move test_lirc_mode2_user to TEST_GEN_PROGS_EXTENDED

Ido Schimmel (4):
mlxsw: spectrum: Use different seeds for ECMP and LAG hash
mlxsw: spectrum_router: Refresh nexthop neighbour when it becomes dead
selftests: mlxsw: Test nexthop offload indication
mlxsw: spectrum: Disallow prio-tagged packets when PVID is removed

Ilya Maximets (1):
xdp: check device pointer before clearing

Ioana Ciornei (1):
net: phylink: set the autoneg state in phylink_phy_change

Ivan Vecera (1):
be2net: Fix number of Rx queues used for flow hashing

Jakub Sitnicki (1):
bpf: sockmap, restore sk_write_space when psock gets dropped

Jeremy Sowden (1):
lapb: fixed leak of control-blocks.

Jia-Ju Bai (1):
iwlwifi: Fix double-free problems in iwl_req_fw_callback()

Jiong Wang (2):
selftests: bpf: move sub-register zero extension checks into subreg.c
selftests: bpf: complete sub-register zero extension checks

Jiri Pirko (2):
mlxsw: spectrum_flower: Fix TOS matching
selftests: tc_flower: Add TOS matching test

Joakim Zhang (1):
can: flexcan: fix timeout when set small bitrate

Johannes Berg (3):
nl80211: fill all policy .type entries
iwlwifi: mvm: remove d3_sram debugfs file
mac80211: drop robust management frames from unknown TA

John Crispin (1):
mac80211: fix rate reporting inside cfg80211_calculate_bitrate_he()

John Fastabend (2):
bpf: sockmap, fix use after free from sleep in psock backlog workqueue
net: tls, correctly account for copied bytes with multiple sk_msgs

John Hurley (1):
nfp: ensure skb network header is set for packet redirect

Jonathan Lemon (1):
bpf: lpm_trie: check left child of last leftmost node for NULL

Jouni Malinen (1):
mac80211: Do not use stack memory with scatterlist for GMAC

Krzesimir Nowak (1):
tools: bpftool: Fix JSON output when lookup fails

Linus Walleij (1):
net: dsa: rtl8366: Fix up VLAN filtering

Lior Cohen (1):
iwlwifi: mvm: change TLC config cmd sent by rs to be async

Lorenz Bauer (1):
bpf: fix out-of-bounds read in __bpf_skc_lookup

Luca Coelho (1):
cfg80211: use BIT_ULL in cfg80211_parse_mbssid_data()

Luke Nelson (1):
bpf, riscv: clear high 32 bits for ALU32 add/sub/neg/lsh/rsh/arsh

Manikanta Pubbisetty (1):
{nl,mac}80211: allow 4addr AP operation on crypto controlled devices

Martin KaFai Lau (4):
bpf: Check sk_fullsock() before returning from bpf_sk_lookup()
bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err
bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro
bpf: net: Set sk_bpf_storage back to NULL for cloned sk

Martynas Pumputis (2):
bpf: simplify definition of BPF_FIB_LOOKUP related flags
bpf: sync BPF_FIB_LOOKUP flag changes with BPF uapi

Masanari Iida (1):
linux-next: DOC: RDS: Fix a typo in rds.txt

Matt Chen (1):
iwlwifi: fix AX201 killer sku loading firmware issue

Matt Mullins (1):
bpf: fix nested bpf tracepoints with per-cpu data

Matteo Croce (3):
samples, bpf: suppress compiler warning
mpls: fix af_mpls dependencies
mpls: fix af_mpls dependencies for real

Maxim Mikityanskiy (1):
wireless: Skip directory when generating certificates

Maxime Chevallier (3):
net: ethtool: Allow matching on vlan DEI bit
net: mvpp2: prs: Fix parser range for VID filtering
net: mvpp2: prs: Use the correct helpers when removing all VID filters

Michael Schmitz (1):
net: phy: rename Asix Electronics PHY driver

Michal Rostecki (1):
libbpf: Return btf_fd for load_sk_storage_btf

Mordechay Goodstein (1):
cfg80211: util: fix bit count off by one

Naftali Goldstein (1):
mac80211: do not start any work during reconfigure flow

Nathan Chancellor (1):
rsi: Properly initialize data in rsi_sdio_ta_reset

Naveen N. Rao (2):
bpf: fix div64 overflow tests to properly detect errors
powerpc/bpf: use unsigned division instruction for 64-bit operations

Neil Horman (1):
sctp: Free cookie before we memdup a new one

Petr Machata (1):
mlxsw: spectrum_buffers: Reduce pool size on Spectrum-2

Pradeep Kumar Chitrapu (1):
mac80211: free peer keys before vif down in mesh

Raed Salem (1):
net/mlx5e: Fix source port matching in fdb peer flow rule

Randy Dunlap (1):
Documentation/networking: fix af_xdp.rst Sphinx warnings

Reinhard Speyerer (4):
qmi_wwan: add support for QMAP padding in the RX path
qmi_wwan: add network device usage statistics for qmimux devices
qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode
qmi_wwan: extend permitted QMAP mux_id value range

Robert Hancock (1):
net: dsa: microchip: Don't try to read stats for unused ports

Russell King - ARM Linux admin (1):
net: phylink: further mac_config documentation improvements

Sean Nyekjaer (2):
dt-bindings: can: mcp251x: add mcp25625 support
can: mcp251x: add support for mcp25625

Shahar S Matityahu (2):
iwlwifi: clear persistence bit according to device family
iwlwifi: print fseq info upon fw assert

Shay Agroskin (1):
net/mlx5e: Replace reciprocal_scale in TX select queue function

Stanislaw Gruszka (2):
rtw88: fix subscript above array bounds compiler warning
rtw88: avoid circular locking between local->iflist_mtx and rtwdev->mutex

Stefano Brivio (2):
vxlan: Don't assume linear buffers in error handler
geneve: Don't assume linear buffers in error handler

Stephen Barber (1):
vsock/virtio: set SOCK_DONE on peer shutdown

Stephen Suryaputra (1):
vrf: Increment Icmp6InMsgs on the original netdev

Taehee Yoo (1):
net: openvswitch: do not free vport if register_netdevice() is failed.

Takashi Iwai (3):
mwifiex: Fix possible buffer overflows at parsing bss descriptor
mwifiex: Abort at too short BSS descriptor element
mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies()

Thomas Falcon (3):
ibmvnic: Do not close unopened driver during reset
ibmvnic: Refresh device multicast list after reset
ibmvnic: Fix unchecked return codes of memory allocations

Thomas Pedersen (1):
mac80211: mesh: fix RCU warning

Toshiaki Makita (3):
bpf, devmap: Fix premature entry free on destroying map
bpf, devmap: Add missing bulk queue free
bpf, devmap: Add missing RCU read lock on flush

Vlad Buslov (1):
net: sched: flower: don't call synchronize_rcu() on mask creation

Willem de Bruijn (2):
can: purge socket error queue on sock destruct
net: correct udp zerocopy refcnt also when zerocopy only on append

Xin Long (1):
tipc: purge deferredq list for each grp member in tipc_group_delete

Yan-Hsuan Chuang (1):
rtw88: fix unassigned rssi_level in rtw_sta_info

Yibo Zhao (1):
mac80211: only warn once on chanctx_conf being NULL

Young Xiao (1):
nfc: Ensure presence of required attributes in the deactivate_target handler

Yu Wang (1):
mac80211: handle deauthentication/disassociation from TDLS peer

Yuchung Cheng (1):
tcp: fix undo spurious SYNACK in passive Fast Open

YueHaibing (3):
mac80211: remove set but not used variable 'old'
rtw88: Make some symbols static
can: af_can: Fix error path of can_init()

Documentation/ABI/testing/sysfs-class-net-qmi | 4 +-
.../bindings/net/can/microchip,mcp251x.txt | 1 +
Documentation/networking/af_xdp.rst | 8 +-
Documentation/networking/ip-sysctl.txt | 16 +
Documentation/networking/rds.txt | 2 +-
arch/powerpc/include/asm/ppc-opcode.h | 1 +
arch/powerpc/net/bpf_jit.h | 2 +-
arch/powerpc/net/bpf_jit_comp64.c | 8 +-
arch/riscv/net/bpf_jit_comp.c | 24 +
arch/x86/net/bpf_jit_comp.c | 74 +--
drivers/net/can/flexcan.c | 5 +-
drivers/net/can/m_can/m_can.c | 21 +
drivers/net/can/spi/Kconfig | 5 +-
drivers/net/can/spi/mcp251x.c | 25 +-
drivers/net/can/usb/Kconfig | 6 -
drivers/net/can/xilinx_can.c | 2 +-
drivers/net/dsa/Makefile | 4 +-
drivers/net/dsa/microchip/ksz_common.c | 3 +
.../net/dsa/{realtek-smi.c => realtek-smi-core.c} | 2 +-
.../net/dsa/{realtek-smi.h => realtek-smi-core.h} | 0
drivers/net/dsa/rtl8366.c | 9 +-
drivers/net/dsa/rtl8366rb.c | 2 +-
drivers/net/ethernet/8390/Kconfig | 2 +-
drivers/net/ethernet/emulex/benet/be_ethtool.c | 2 +-
drivers/net/ethernet/ibm/ibmvnic.c | 19 +-
drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c | 23 +-
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 8 +
drivers/net/ethernet/mellanox/mlx5/core/dev.c | 25 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +
.../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 10 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 3 -
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 12 +-
drivers/net/ethernet/mellanox/mlxsw/reg.h | 2 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 5 +-
.../net/ethernet/mellanox/mlxsw/spectrum_buffers.c | 4 +-
.../net/ethernet/mellanox/mlxsw/spectrum_flower.c | 4 +-
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 73 ++-
.../net/ethernet/netronome/nfp/nfp_net_common.c | 1 +
drivers/net/geneve.c | 2 +-
drivers/net/hyperv/netvsc_drv.c | 2 +-
drivers/net/phy/Kconfig | 2 +-
drivers/net/phy/Makefile | 2 +-
drivers/net/phy/{asix.c => ax88796b.c} | 0
drivers/net/usb/qmi_wwan.c | 103 +++-
drivers/net/vxlan.c | 2 +-
drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 39 ++
drivers/net/wireless/intel/iwlwifi/fw/dbg.h | 2 +
drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 1 -
drivers/net/wireless/intel/iwlwifi/iwl-prph.h | 22 +-
drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 22 -
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | 57 ---
drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 23 +-
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 2 +-
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 4 +-
drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 20 +-
drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c | 3 +-
drivers/net/wireless/intel/iwlwifi/mvm/utils.c | 2 +
drivers/net/wireless/intel/iwlwifi/pcie/internal.h | 2 +-
drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 53 +-
drivers/net/wireless/mac80211_hwsim.c | 1 +
drivers/net/wireless/marvell/mwifiex/ie.c | 47 +-
drivers/net/wireless/marvell/mwifiex/scan.c | 19 +
drivers/net/wireless/realtek/rtw88/fw.c | 6 +-
drivers/net/wireless/realtek/rtw88/main.c | 3 +-
drivers/net/wireless/realtek/rtw88/phy.c | 22 +-
drivers/net/wireless/rsi/rsi_91x_sdio.c | 21 +-
include/linux/bpf-cgroup.h | 8 +
include/linux/bpf.h | 1 -
include/linux/phylink.h | 13 +-
include/linux/skmsg.h | 2 +
include/linux/sysctl.h | 3 +
include/linux/tcp.h | 4 +
include/net/addrconf.h | 16 +
include/net/cfg80211.h | 3 +-
include/net/flow_dissector.h | 1 +
include/net/netns/ipv4.h | 1 +
include/net/sock.h | 12 +-
include/net/tcp.h | 2 +
include/uapi/linux/bpf.h | 6 +-
include/uapi/linux/snmp.h | 1 +
kernel/bpf/core.c | 1 -
kernel/bpf/devmap.c | 9 +-
kernel/bpf/lpm_trie.c | 9 +-
kernel/bpf/syscall.c | 8 +
kernel/bpf/verifier.c | 12 +-
kernel/sysctl.c | 44 +-
kernel/trace/bpf_trace.c | 100 +++-
net/ax25/ax25_route.c | 2 +
net/can/af_can.c | 25 +-
net/core/bpf_sk_storage.c | 3 +-
net/core/dev.c | 30 +-
net/core/ethtool.c | 5 +
net/core/filter.c | 26 +-
net/core/neighbour.c | 7 +
net/core/skbuff.c | 1 +
net/core/sock.c | 7 +-
net/core/sysctl_net_core.c | 7 +
net/ipv4/fib_semantics.c | 2 +-
net/ipv4/ip_output.c | 2 +-
net/ipv4/proc.c | 1 +
net/ipv4/sysctl_net_ipv4.c | 23 +
net/ipv4/tcp.c | 6 +
net/ipv4/tcp_input.c | 28 +-
net/ipv4/tcp_ipv4.c | 1 +
net/ipv4/tcp_output.c | 10 +-
net/ipv4/tcp_timer.c | 1 +
net/ipv4/udp.c | 10 +-
net/ipv6/icmp.c | 17 +-
net/ipv6/ip6_flowlabel.c | 7 +-
net/ipv6/ip6_output.c | 2 +-
net/ipv6/reassembly.c | 4 +-
net/ipv6/udp.c | 8 +-
net/lapb/lapb_iface.c | 1 +
net/mac80211/ieee80211_i.h | 12 +-
net/mac80211/key.c | 2 -
net/mac80211/mesh.c | 6 +-
net/mac80211/mlme.c | 12 +-
net/mac80211/rx.c | 2 +
net/mac80211/tdls.c | 23 +
net/mac80211/util.c | 8 +-
net/mac80211/wpa.c | 7 +-
net/mpls/Kconfig | 1 +
net/mpls/mpls_iptunnel.c | 2 +-
net/nfc/netlink.c | 3 +-
net/openvswitch/vport-internal_dev.c | 18 +-
net/sched/cls_flower.c | 34 +-
net/sctp/sm_make_chunk.c | 8 +
net/tipc/group.c | 1 +
net/tls/tls_sw.c | 1 -
net/vmw_vsock/hyperv_transport.c | 4 +-
net/vmw_vsock/virtio_transport_common.c | 4 +-
net/wireless/Makefile | 1 +
net/wireless/core.c | 8 +-
net/wireless/nl80211.c | 99 +++-
net/wireless/pmsr.c | 4 +-
net/wireless/scan.c | 4 +-
net/wireless/util.c | 4 +-
net/xdp/xdp_umem.c | 11 +-
samples/bpf/bpf_load.c | 2 +-
samples/bpf/task_fd_query_user.c | 2 +-
tools/bpf/bpftool/Documentation/bpftool-cgroup.rst | 6 +-
tools/bpf/bpftool/Documentation/bpftool-prog.rst | 2 +-
tools/bpf/bpftool/bash-completion/bpftool | 5 +-
tools/bpf/bpftool/cgroup.c | 5 +-
tools/bpf/bpftool/map.c | 2 +
tools/bpf/bpftool/prog.c | 3 +-
tools/include/uapi/linux/bpf.h | 6 +-
tools/lib/bpf/libbpf.c | 32 +-
tools/lib/bpf/libbpf_internal.h | 4 +-
tools/lib/bpf/libbpf_probes.c | 13 +-
tools/testing/selftests/bpf/Makefile | 7 +-
.../selftests/bpf/prog_tests/flow_dissector.c | 1 +
tools/testing/selftests/bpf/test_lpm_map.c | 41 +-
tools/testing/selftests/bpf/test_section_names.c | 10 +
tools/testing/selftests/bpf/test_sock_addr.c | 213 +++++++-
.../testing/selftests/bpf/verifier/div_overflow.c | 14 +-
tools/testing/selftests/bpf/verifier/subreg.c | 533 +++++++++++++++++++++
.../selftests/drivers/net/mlxsw/rtnetlink.sh | 47 ++
.../testing/selftests/net/forwarding/tc_flower.sh | 36 +-
161 files changed, 2139 insertions(+), 539 deletions(-)
rename drivers/net/dsa/{realtek-smi.c => realtek-smi-core.c} (99%)
rename drivers/net/dsa/{realtek-smi.h => realtek-smi-core.h} (100%)
rename drivers/net/phy/{asix.c => ax88796b.c} (100%)
create mode 100644 tools/testing/selftests/bpf/verifier/subreg.c