[GIT] Networking

From: David Miller
Date: Mon May 15 2017 - 16:01:41 EST



1) Track alignment in BPF verifier so that legitimate programs won't
be rejected on !CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
architectures.

2) Make tail calls work properly in arm64 BPF JIT, from Deniel
Borkmann.

3) Make the configuration and semantics Generic XDP make more
sense and don't allow both generic XDP and a driver specific
instance to be active at the same time. Also from Daniel.

4) Don't crash on resume in xen-netfront, from Vitaly Kuznetsov.

5) Fix use-after-free in VRF driver, from Gao Feng.

6) Use netdev_alloc_skb_ip_align() to avoid unaligned IP headers
in qca_spi driver, from Stefan Wahren.

7) Always run cleanup routines in BPF samples when we get SIGTERM,
from Andy Gospodarek.

8) The mdio phy code should bring PHYs out of reset using the shared
GPIO lines before invoking bus->reset(). From Florian Fainelli.

9) Some USB descriptor access endian fixes in various drivers from
Johan Hovold.

10) Handle PAUSE advertisements properly in mlx5 driver, from Gal
Pressman.

11) Fix reversed test in mlx5e_setup_tc(), from Saeed Mahameed.

12) Cure netdev leak in AF_PACKET when using timestamping via control
messages. From Douglas Caetano dos Santos.

13) netcp doesn't support HWTSTAMP_FILTER_ALl, reject it. From
Miroslav Lichvar.

Please pull, thanks a lot!

The following changes since commit 56868a460b83c0f93d339256a81064d89aadae8e:

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide (2017-05-09 15:56:58 -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 66f4bc819d71bb600f1c879c9a7161de1cc725f8:

Merge branch 'ldmsw-fixes' (2017-05-15 15:36:09 -0400)

----------------------------------------------------------------
Andy Gospodarek (1):
samples/bpf: run cleanup routines when receiving SIGTERM

Bert Kenward (1):
sfc: revert changes to NIC revision numbers

Chopra, Manish (2):
qlcnic: Fix link configuration with autoneg disabled
qlcnic: Update version to 5.3.66

Colin Ian King (2):
netxen_nic: set rcode to the return status from the call to netxen_issue_cmd
ethernet: aquantia: remove redundant checks on error status

Daniel Borkmann (3):
bpf, arm64: fix faulty emission of map access in tail calls
xdp: add flag to enforce driver mode
xdp: refine xdp api with regards to generic xdp

David S. Miller (14):
Merge branch 's390-net-fixes'
bpf: Track alignment of register values in the verifier.
bpf: Do per-instruction state dumping in verifier when log_level > 1.
bpf: Add strict alignment flag for BPF_PROG_LOAD.
bpf: Add bpf_verify_program() to the library.
bpf: Add verifier test case for alignment.
Merge branch 'bpf-pkt-ptr-align'
bpf: Provide a linux/types.h override for bpf selftests.
Merge branch 'generic-xdp-followups'
Merge branch 'qlcnic-fixes'
bpf: Remove commented out debugging hack in test_align.
bpf: Handle multiple variable additions into packet pointers in verifier.
Merge tag 'mlx5-fixes-2017-05-12-V2' of git://git.kernel.org/.../saeed/linux
Merge branch 'ldmsw-fixes'

Douglas Caetano dos Santos (1):
net/packet: fix missing net_device reference release

Eric Dumazet (2):
netem: fix skb_orphan_partial()
net: sched: optimize class dumps

Florian Fainelli (1):
net: phy: Call bus->reset() after releasing PHYs from reset

Gal Pressman (2):
net/mlx5e: Use the correct pause values for ethtool advertising
net/mlx5e: Fix ethtool pause support and advertise reporting

Gao Feng (1):
driver: vrf: Fix one possible use-after-free issue

Gustavo A. R. Silva (1):
net: dsa: mv88e6xxx: add default case to switch

Ivan Khoronzhuk (1):
net: ethernet: ti: netcp_core: return error while dma channel open issue

Johan Hovold (2):
net: irda: irda-usb: fix firmware name on big-endian hosts
net: ch9200: add missing USB-descriptor endianness conversions

Jon Mason (1):
mdio: mux: Correct mdio_mux_init error path issues

Jon Paul Maloy (1):
tipc: make macro tipc_wait_for_cond() smp safe

Julia Lawall (1):
mdio: mux: fix device_node_continue.cocci warnings

Julian Wiedmann (2):
s390/qeth: unbreak OSM and OSN support
s390/qeth: avoid null pointer dereference on OSN

Mahesh Bandewar (1):
ipv6: avoid dad-failures for addresses with NODAD

Mintz, Yuval (1):
qed: Fix uninitialized data in aRFS infrastructure

Miroslav Lichvar (1):
net: netcp: fix check of requested timestamping filter

Neil Horman (1):
vmxnet3: ensure that adapter is in proper state during force_close

Niklas Cassel (1):
net: stmmac: use correct pointer when printing normal descriptor ring

Saeed Mahameed (2):
net/mlx5e: Fix setup TC ndo
net/mlx5e: IPoIB, Only support regular RQ for now

Shannon Nelson (1):
ldmvsw: stop the clean timer at beginning of remove

Stefan Wahren (1):
net: qca_spi: Fix alignment issues in rx path

Thomas Tai (1):
ldmvsw: unregistering netdev before disable hardware

Ursula Braun (2):
s390/qeth: handle sysfs error during initialization
s390/qeth: add missing hash table initializations

Vitaly Kuznetsov (1):
xen-netfront: avoid crashing on resume after a failure in talk_to_netback()

Vlad Yasevich (1):
macvlan: Fix performance issues with vlan tagged packets

WANG Cong (1):
ipv6/dccp: do not inherit ipv6_mc_list from parent

Xin Long (1):
sctp: fix src address selection if using secondary addresses for ipv6

Yishai Hadas (1):
net/mlx5: Use underlay QPN from the root name space

Yuchung Cheng (1):
tcp: avoid fragmenting peculiar skbs in SACK

yuval.shaia@xxxxxxxxxx (1):
net/mlx4_core: Use min3 to select number of MSI-X vectors

arch/arm64/net/bpf_jit_comp.c | 5 +-
drivers/net/dsa/mv88e6xxx/chip.c | 3 +
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c | 13 +--
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c | 12 +--
drivers/net/ethernet/mellanox/mlx4/main.c | 10 +--
drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h | 3 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 25 +++++-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/ipoib.c | 11 ++-
drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.c | 2 +-
drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c | 2 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 4 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 34 ++++++++
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h | 1 +
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 3 +
drivers/net/ethernet/qualcomm/qca_spi.c | 10 ++-
drivers/net/ethernet/sfc/nic.h | 8 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
drivers/net/ethernet/sun/ldmvsw.c | 4 +-
drivers/net/ethernet/ti/netcp_core.c | 6 +-
drivers/net/ethernet/ti/netcp_ethss.c | 1 -
drivers/net/irda/irda-usb.c | 2 +-
drivers/net/macvlan.c | 7 +-
drivers/net/phy/mdio-mux.c | 11 +--
drivers/net/phy/mdio_bus.c | 6 +-
drivers/net/usb/ch9200.c | 4 +-
drivers/net/vmxnet3/vmxnet3_drv.c | 5 ++
drivers/net/vrf.c | 3 +-
drivers/net/xen-netfront.c | 3 +-
drivers/s390/net/qeth_core.h | 4 +
drivers/s390/net/qeth_core_main.c | 21 +++--
drivers/s390/net/qeth_core_sys.c | 24 ++++--
drivers/s390/net/qeth_l2.h | 2 +
drivers/s390/net/qeth_l2_main.c | 26 ++++--
drivers/s390/net/qeth_l2_sys.c | 8 ++
drivers/s390/net/qeth_l3_main.c | 8 +-
drivers/soc/ti/knav_dma.c | 2 +-
include/linux/bpf_verifier.h | 4 +
include/linux/mlx5/fs.h | 4 +-
include/linux/netdevice.h | 8 +-
include/uapi/linux/bpf.h | 8 ++
include/uapi/linux/if_link.h | 13 ++-
kernel/bpf/syscall.c | 5 +-
kernel/bpf/verifier.c | 133 +++++++++++++++++++++++------
net/core/dev.c | 57 ++++++++-----
net/core/rtnetlink.c | 45 +++++-----
net/core/sock.c | 20 ++---
net/dccp/ipv6.c | 6 ++
net/ipv4/tcp_input.c | 9 +-
net/ipv6/addrconf.c | 5 +-
net/ipv6/tcp_ipv6.c | 2 +
net/packet/af_packet.c | 14 +--
net/sched/sch_api.c | 6 ++
net/sctp/ipv6.c | 46 ++++++----
net/tipc/socket.c | 38 ++++-----
samples/bpf/cookie_uid_helper_example.c | 4 +-
samples/bpf/offwaketime_user.c | 1 +
samples/bpf/sampleip_user.c | 1 +
samples/bpf/trace_event_user.c | 1 +
samples/bpf/tracex2_user.c | 1 +
samples/bpf/xdp1_user.c | 9 +-
samples/bpf/xdp_tx_iptunnel_user.c | 8 +-
tools/build/feature/test-bpf.c | 1 +
tools/include/uapi/linux/bpf.h | 11 ++-
tools/lib/bpf/bpf.c | 22 +++++
tools/lib/bpf/bpf.h | 4 +
tools/testing/selftests/bpf/Makefile | 6 +-
tools/testing/selftests/bpf/include/uapi/linux/types.h | 6 ++
tools/testing/selftests/bpf/test_align.c | 453 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74 files changed, 1026 insertions(+), 249 deletions(-)
create mode 100644 tools/testing/selftests/bpf/include/uapi/linux/types.h
create mode 100644 tools/testing/selftests/bpf/test_align.c