14 Aug, 2020

1 commit

  • syzkaller reports splat:
    ------------[ cut here ]------------
    Buffer overflow detected (80 < 137)!
    Call Trace:
    do_ebt_get_ctl+0x2b4/0x790 net/bridge/netfilter/ebtables.c:2317
    nf_getsockopt+0x72/0xd0 net/netfilter/nf_sockopt.c:116
    ip_getsockopt net/ipv4/ip_sockglue.c:1778 [inline]

    caused by a copy-to-user with a too-large "*len" value.
    This adds a argument check on *len just like in the non-compat version
    of the handler.

    Before the "Fixes" commit, the reproducer fails with -EINVAL as
    expected:
    1. core calls the "compat" getsockopt version
    2. compat getsockopt version detects the *len value is possibly
    in 64-bit layout (*len != compat_len)
    3. compat getsockopt version delegates everything to native getsockopt
    version
    4. native getsockopt rejects invalid *len

    -> compat handler only sees len == sizeof(compat_struct) for GET_ENTRIES.

    After the refactor, event sequence is:
    1. getsockopt calls "compat" version (len != native_len)
    2. compat version attempts to copy *len bytes, where *len is random
    value from userspace

    Fixes: fc66de8e16ec ("netfilter/ebtables: clean up compat {get, set}sockopt handling")
    Reported-by: syzbot+5accb5c62faa1d346480@syzkaller.appspotmail.com
    Signed-off-by: Florian Westphal
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Pablo Neira Ayuso

    Florian Westphal
     

13 Aug, 2020

1 commit

  • nf_ct_frag6_gather is part of nf_defrag_ipv6.ko, not ipv6 core.

    The current use of the netfilter ipv6 stub indirections causes a module
    dependency between ipv6 and nf_defrag_ipv6.

    This prevents nf_defrag_ipv6 module from being removed because ipv6 can't
    be unloaded.

    Remove the indirection and always use a direct call. This creates a
    depency from nf_conntrack_bridge to nf_defrag_ipv6 instead:

    modinfo nf_conntrack
    depends: nf_conntrack,nf_defrag_ipv6,bridge

    .. and nf_conntrack already depends on nf_defrag_ipv6 anyway.

    Signed-off-by: Florian Westphal
    Signed-off-by: Pablo Neira Ayuso

    Florian Westphal
     

06 Aug, 2020

1 commit

  • Pull networking updates from David Miller:

    1) Support 6Ghz band in ath11k driver, from Rajkumar Manoharan.

    2) Support UDP segmentation in code TSO code, from Eric Dumazet.

    3) Allow flashing different flash images in cxgb4 driver, from Vishal
    Kulkarni.

    4) Add drop frames counter and flow status to tc flower offloading,
    from Po Liu.

    5) Support n-tuple filters in cxgb4, from Vishal Kulkarni.

    6) Various new indirect call avoidance, from Eric Dumazet and Brian
    Vazquez.

    7) Fix BPF verifier failures on 32-bit pointer arithmetic, from
    Yonghong Song.

    8) Support querying and setting hardware address of a port function via
    devlink, use this in mlx5, from Parav Pandit.

    9) Support hw ipsec offload on bonding slaves, from Jarod Wilson.

    10) Switch qca8k driver over to phylink, from Jonathan McDowell.

    11) In bpftool, show list of processes holding BPF FD references to
    maps, programs, links, and btf objects. From Andrii Nakryiko.

    12) Several conversions over to generic power management, from Vaibhav
    Gupta.

    13) Add support for SO_KEEPALIVE et al. to bpf_setsockopt(), from Dmitry
    Yakunin.

    14) Various https url conversions, from Alexander A. Klimov.

    15) Timestamping and PHC support for mscc PHY driver, from Antoine
    Tenart.

    16) Support bpf iterating over tcp and udp sockets, from Yonghong Song.

    17) Support 5GBASE-T i40e NICs, from Aleksandr Loktionov.

    18) Add kTLS RX HW offload support to mlx5e, from Tariq Toukan.

    19) Fix the ->ndo_start_xmit() return type to be netdev_tx_t in several
    drivers. From Luc Van Oostenryck.

    20) XDP support for xen-netfront, from Denis Kirjanov.

    21) Support receive buffer autotuning in MPTCP, from Florian Westphal.

    22) Support EF100 chip in sfc driver, from Edward Cree.

    23) Add XDP support to mvpp2 driver, from Matteo Croce.

    24) Support MPTCP in sock_diag, from Paolo Abeni.

    25) Commonize UDP tunnel offloading code by creating udp_tunnel_nic
    infrastructure, from Jakub Kicinski.

    26) Several pci_ --> dma_ API conversions, from Christophe JAILLET.

    27) Add FLOW_ACTION_POLICE support to mlxsw, from Ido Schimmel.

    28) Add SK_LOOKUP bpf program type, from Jakub Sitnicki.

    29) Refactor a lot of networking socket option handling code in order to
    avoid set_fs() calls, from Christoph Hellwig.

    30) Add rfc4884 support to icmp code, from Willem de Bruijn.

    31) Support TBF offload in dpaa2-eth driver, from Ioana Ciornei.

    32) Support XDP_REDIRECT in qede driver, from Alexander Lobakin.

    33) Support PCI relaxed ordering in mlx5 driver, from Aya Levin.

    34) Support TCP syncookies in MPTCP, from Flowian Westphal.

    35) Fix several tricky cases of PMTU handling wrt. briding, from Stefano
    Brivio.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2056 commits)
    net: thunderx: initialize VF's mailbox mutex before first usage
    usb: hso: remove bogus check for EINPROGRESS
    usb: hso: no complaint about kmalloc failure
    hso: fix bailout in error case of probe
    ip_tunnel_core: Fix build for archs without _HAVE_ARCH_IPV6_CSUM
    selftests/net: relax cpu affinity requirement in msg_zerocopy test
    mptcp: be careful on subflow creation
    selftests: rtnetlink: make kci_test_encap() return sub-test result
    selftests: rtnetlink: correct the final return value for the test
    net: dsa: sja1105: use detected device id instead of DT one on mismatch
    tipc: set ub->ifindex for local ipv6 address
    ipv6: add ipv6_dev_find()
    net: openvswitch: silence suspicious RCU usage warning
    Revert "vxlan: fix tos value before xmit"
    ptp: only allow phase values lower than 1 period
    farsync: switch from 'pci_' to 'dma_' API
    wan: wanxl: switch from 'pci_' to 'dma_' API
    hv_netvsc: do not use VF device if link is down
    dpaa2-eth: Fix passing zero to 'PTR_ERR' warning
    net: macb: Properly handle phylink on at91sam9x
    ...

    Linus Torvalds
     

05 Aug, 2020

1 commit

  • Pull audit updates from Paul Moore:
    "Aside from some smaller bug fixes, here are the highlights:

    - add a new backlog wait metric to the audit status message, this is
    intended to help admins determine how long processes have been
    waiting for the audit backlog queue to clear

    - generate audit records for nftables configuration changes

    - generate CWD audit records for for the relevant LSM audit records"

    * tag 'audit-pr-20200803' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
    audit: report audit wait metric in audit status reply
    audit: purge audit_log_string from the intra-kernel audit API
    audit: issue CWD record to accompany LSM_AUDIT_DATA_* records
    audit: use the proper gfp flags in the audit_log_nfcfg() calls
    audit: remove unused !CONFIG_AUDITSYSCALL __audit_inode* stubs
    audit: add gfp parameter to audit_log_nfcfg
    audit: log nftables configuration change events
    audit: Use struct_size() helper in alloc_chunk

    Linus Torvalds
     

04 Aug, 2020

2 commits

  • Pablo Neira Ayuso says:

    ====================
    Netfilter updates for net-next

    1) UAF in chain binding support from previous batch, from Dan Carpenter.

    2) Queue up delayed work to expire connections with no destination,
    from Andrew Sy Kim.

    3) Use fallthrough pseudo-keyword, from Gustavo A. R. Silva.

    4) Replace HTTP links with HTTPS, from Alexander A. Klimov.

    5) Remove superfluous null header checks in ip6tables, from
    Gaurav Singh.

    6) Add extended netlink error reporting for expression.

    7) Report EEXIST on overlapping chain, set elements and flowtable
    devices.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • We need to clear all of the bridge private skb variables as they can be
    stale due to the packet being recirculated through the stack and then
    transmitted through the bridge device. Similar memset is already done on
    bridge's input. We've seen cases where proxyarp_replied was 1 on routed
    multicast packets transmitted through the bridge to ports with neigh
    suppress which were getting dropped. Same thing can in theory happen with
    the port isolation bit as well.

    Fixes: 821f1b21cabb ("bridge: add new BR_NEIGH_SUPPRESS port flag to suppress arp and nd flood")
    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     

25 Jul, 2020

2 commits


22 Jul, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva
    Signed-off-by: Pablo Neira Ayuso

    Gustavo A. R. Silva
     

20 Jul, 2020

1 commit


15 Jul, 2020

8 commits

  • This patch adds a new port attribute, IFLA_BRPORT_MRP_IN_OPEN, which
    allows to notify the userspace when the node lost the contiuity of
    MRP_InTest frames.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • This patch extends the function br_mrp_fill_info to return also the
    status for the interconnect ring.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • This patch extends the existing MRP netlink interface with the following
    attributes: IFLA_BRIDGE_MRP_IN_ROLE, IFLA_BRIDGE_MRP_IN_STATE and
    IFLA_BRIDGE_MRP_START_IN_TEST. These attributes are similar with their
    ring attributes but they apply to the interconnect port.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • Thie patch adds support for MRP Interconnect. Similar with the MRP ring,
    if the HW can't generate MRP_InTest frames, then the SW will try to
    generate them. And if also the SW fails to generate the frames then an
    error is return to userspace.

    The forwarding/termination of MRP_In frames is happening in the kernel
    and is done by MRP instances.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • Implement the MRP API for interconnect switchdev. Similar with the other
    br_mrp_switchdev function, these function will just eventually call the
    switchdev functions: switchdev_port_obj_add/del.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • This function notifies the userspace when the node lost the continuity
    of MRP_InTest frames.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • This patch renames the function br_mrp_port_open to
    br_mrp_ring_port_open. In this way is more clear that a ring port lost
    the continuity because there will be also a br_mrp_in_port_open.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • This patch extends the 'struct br_mrp' to contain information regarding
    the MRP interconnect. It contains the following:
    - the interconnect port 'i_port', which is NULL if the node doesn't have
    a interconnect role
    - the interconnect id, which is similar with the ring id, but this field
    is also part of the MRP_InTest frames.
    - the interconnect role, which can be MIM or MIC.
    - the interconnect state, which can be open or closed.
    - the interconnect delayed_work for sending MRP_InTest frames and check
    for lost of continuity.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     

14 Jul, 2020

1 commit

  • If bridge vlan filtering is not defined we won't have
    br_vlan_can_enter_range and thus will get a compile error as was
    reported by Stephen and the build bot. So let's define a stub for when
    vlan filtering is not used.

    Fixes: 94339443686b ("net: bridge: notify on vlan tunnel changes done via the old api")
    Reported-by: Stephen Rothwell
    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     

13 Jul, 2020

1 commit

  • If someone uses the old vlan API to configure tunnel mappings we'll only
    generate the old-style full port notification. That would be a problem
    if we are monitoring the new vlan notifications for changes. The patch
    resolves the issue by adding vlan notifications to the old tunnel netlink
    code. As usual we try to compress the notifications for as many vlans
    in a range as possible, thus a vlan tunnel change is considered able
    to enter the "current" vlan notification range if:
    1. vlan exists
    2. it has actually changed (curr_change == true)
    3. it passes all standard vlan notification range checks done by
    br_vlan_can_enter_range() such as option equality, id continuity etc

    Note that vlan tunnel changes (add/del) are considered a part of vlan
    options so only RTM_NEWVLAN notification is generated with the relevant
    information inside.

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     

11 Jul, 2020

1 commit


08 Jul, 2020

1 commit

  • Commit e57f61858b7c ("net: bridge: mcast: fix stale nsrcs pointer in
    igmp3/mld2 report handling") introduced a bug in the IPv6 header payload
    length check which would potentially lead to rejecting a valid MLD2 Report:

    The check needs to take into account the 2 bytes for the "Number of
    Sources" field in the "Multicast Address Record" before reading it.
    And not the size of a pointer to this field.

    Fixes: e57f61858b7c ("net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling")
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: Linus Lüssing
    Signed-off-by: David S. Miller

    Linus Lüssing
     

03 Jul, 2020

2 commits

  • This patch extends the function br_fill_ifinfo to return also the MRP
    status for each instance on a bridge. It also adds a new filter
    RTEXT_FILTER_MRP to return the MRP status only when this is set, not to
    interfer with the vlans. The MRP status is return only on the bridge
    interfaces.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     
  • Add the function br_mrp_fill_info which populates the MRP attributes
    regarding the status of each MRP instance.

    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     

30 Jun, 2020

1 commit

  • Fixed an inconsistent use of GFP flags in nft_obj_notify() that used
    GFP_KERNEL when a GFP flag was passed in to that function. Given this
    allocated memory was then used in audit_log_nfcfg() it led to an audit
    of all other GFP allocations in net/netfilter/nf_tables_api.c and a
    modification of audit_log_nfcfg() to accept a GFP parameter.

    Reported-by: Dan Carptenter
    Signed-off-by: Richard Guy Briggs
    Signed-off-by: Paul Moore

    Richard Guy Briggs
     

29 Jun, 2020

1 commit

  • The following sparse warnings are fixed:
    net/bridge/br_mrp.c:106:18: warning: incorrect type in assignment (different base types)
    net/bridge/br_mrp.c:106:18: expected unsigned short [usertype]
    net/bridge/br_mrp.c:106:18: got restricted __be16 [usertype]
    net/bridge/br_mrp.c:281:23: warning: incorrect type in argument 1 (different modifiers)
    net/bridge/br_mrp.c:281:23: expected struct list_head *entry
    net/bridge/br_mrp.c:281:23: got struct list_head [noderef] *
    net/bridge/br_mrp.c:332:28: warning: incorrect type in argument 1 (different modifiers)
    net/bridge/br_mrp.c:332:28: expected struct list_head *new
    net/bridge/br_mrp.c:332:28: got struct list_head [noderef] *
    net/bridge/br_mrp.c:332:40: warning: incorrect type in argument 2 (different modifiers)
    net/bridge/br_mrp.c:332:40: expected struct list_head *head
    net/bridge/br_mrp.c:332:40: got struct list_head [noderef] *
    net/bridge/br_mrp.c:682:29: warning: incorrect type in argument 1 (different modifiers)
    net/bridge/br_mrp.c:682:29: expected struct list_head const *head
    net/bridge/br_mrp.c:682:29: got struct list_head [noderef] *

    Reported-by: kernel test robot
    Fixes: 2f1a11ae11d222 ("bridge: mrp: Add MRP interface.")
    Fixes: 4b8d7d4c599182 ("bridge: mrp: Extend bridge interface")
    Fixes: 9a9f26e8f7ea30 ("bridge: mrp: Connect MRP API with the switchdev API")
    Signed-off-by: Horatiu Vultur
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Horatiu Vultur
     

26 Jun, 2020

3 commits

  • Minor overlapping changes in xfrm_device.c, between the double
    ESP trailing bug fix setting the XFRM_INIT flag and the changes
    in net-next preparing for bonding encryption support.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pablo Neira Ayuso says:

    ====================
    Netfilter fixes for net

    The following patchset contains Netfilter fixes for net, they are:

    1) Unaligned atomic access in ipset, from Russell King.

    2) Missing module description, from Rob Gill.

    3) Patches to fix a module unload causing NULL pointer dereference in
    xtables, from David Wilder. For the record, I posting here his cover
    letter explaining the problem:

    A crash happened on ppc64le when running ltp network tests triggered by
    "rmmod iptable_mangle".

    See previous discussion in this thread:
    https://lists.openwall.net/netdev/2020/06/03/161 .

    In the crash I found in iptable_mangle_hook() that
    state->net->ipv4.iptable_mangle=NULL causing a NULL pointer dereference.
    net->ipv4.iptable_mangle is set to NULL in +iptable_mangle_net_exit() and
    called when ip_mangle modules is unloaded. A rmmod task was found running
    in the crash dump. A 2nd crash showed the same problem when running
    "rmmod iptable_filter" (net->ipv4.iptable_filter=NULL).

    To fix this I added .pre_exit hook in all iptable_foo.c. The pre_exit will
    un-register the underlying hook and exit would do the table freeing. The
    netns core does an unconditional +synchronize_rcu after the pre_exit hooks
    insuring no packets are in flight that have picked up the pointer before
    completing the un-register.

    These patches include changes for both iptables and ip6tables.

    We tested this fix with ltp running iptables01.sh and iptables01.sh -6 a
    loop for 72 hours.

    4) Add a selftest for conntrack helper assignment, from Florian Westphal.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The eth_addr member is passed to ether_addr functions that require
    2-byte alignment, therefore the member must be properly aligned
    to avoid unaligned accesses.

    The problem is in place since the initial merge of multicast to unicast:
    commit 6db6f0eae6052b70885562e1733896647ec1d807 bridge: multicast to unicast

    Fixes: 6db6f0eae605 ("bridge: multicast to unicast")
    Cc: Roopa Prabhu
    Cc: Nikolay Aleksandrov
    Cc: David S. Miller
    Cc: Jakub Kicinski
    Cc: Felix Fietkau
    Signed-off-by: Thomas Martitz
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Thomas Martitz
     

25 Jun, 2020

4 commits

  • The user tool modinfo is used to get information on kernel modules, including a
    description where it is available.

    This patch adds a brief MODULE_DESCRIPTION to netfilter kernel modules
    (descriptions taken from Kconfig file or code comments)

    Signed-off-by: Rob Gill
    Signed-off-by: Pablo Neira Ayuso

    Rob Gill
     
  • When we modify or create a new fdb entry sometimes we want to avoid
    refreshing its activity in order to track it properly. One example is
    when a mac is received from EVPN multi-homing peer by FRR, which doesn't
    want to change local activity accounting. It makes it static and sets a
    flag to track its activity.

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • This patch adds the ability to notify about activity of any entries
    (static, permanent or ext_learn). EVPN multihoming peers need it to
    properly and efficiently handle mac sync (peer active/locally active).
    We add a new NFEA_ACTIVITY_NOTIFY attribute which is used to dump the
    current activity state and to control if static entries should be monitored
    at all. We use 2 bits - one to activate fdb entry tracking (disabled by
    default) and the second to denote that an entry is inactive. We need
    the second bit in order to avoid multiple notifications of inactivity.
    Obviously this makes no difference for dynamic entries since at the time
    of inactivity they get deleted, while the tracked non-dynamic entries get
    the inactive bit set and get a notification.

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • We can just pass ndm as an argument instead of its fields separately.

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     

24 Jun, 2020

1 commit

  • This patch adds specific checks for primary(0x0) and secondary(0x1) when
    setting the port role. For any other value the function
    'br_mrp_set_port_role' will return -EINVAL.

    Fixes: 20f6a05ef63594 ("bridge: mrp: Rework the MRP netlink interface")
    Signed-off-by: Horatiu Vultur
    Signed-off-by: David S. Miller

    Horatiu Vultur
     

14 Jun, 2020

2 commits

  • Pull networking fixes from David Miller:

    1) Fix cfg80211 deadlock, from Johannes Berg.

    2) RXRPC fails to send norigications, from David Howells.

    3) MPTCP RM_ADDR parsing has an off by one pointer error, fix from
    Geliang Tang.

    4) Fix crash when using MSG_PEEK with sockmap, from Anny Hu.

    5) The ucc_geth driver needs __netdev_watchdog_up exported, from
    Valentin Longchamp.

    6) Fix hashtable memory leak in dccp, from Wang Hai.

    7) Fix how nexthops are marked as FDB nexthops, from David Ahern.

    8) Fix mptcp races between shutdown and recvmsg, from Paolo Abeni.

    9) Fix crashes in tipc_disc_rcv(), from Tuong Lien.

    10) Fix link speed reporting in iavf driver, from Brett Creeley.

    11) When a channel is used for XSK and then reused again later for XSK,
    we forget to clear out the relevant data structures in mlx5 which
    causes all kinds of problems. Fix from Maxim Mikityanskiy.

    12) Fix memory leak in genetlink, from Cong Wang.

    13) Disallow sockmap attachments to UDP sockets, it simply won't work.
    From Lorenz Bauer.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (83 commits)
    net: ethernet: ti: ale: fix allmulti for nu type ale
    net: ethernet: ti: am65-cpsw-nuss: fix ale parameters init
    net: atm: Remove the error message according to the atomic context
    bpf: Undo internal BPF_PROBE_MEM in BPF insns dump
    libbpf: Support pre-initializing .bss global variables
    tools/bpftool: Fix skeleton codegen
    bpf: Fix memlock accounting for sock_hash
    bpf: sockmap: Don't attach programs to UDP sockets
    bpf: tcp: Recv() should return 0 when the peer socket is closed
    ibmvnic: Flush existing work items before device removal
    genetlink: clean up family attributes allocations
    net: ipa: header pad field only valid for AP->modem endpoint
    net: ipa: program upper nibbles of sequencer type
    net: ipa: fix modem LAN RX endpoint id
    net: ipa: program metadata mask differently
    ionic: add pcie_print_link_status
    rxrpc: Fix race between incoming ACK parser and retransmitter
    net/mlx5: E-Switch, Fix some error pointer dereferences
    net/mlx5: Don't fail driver on failure to create debugfs
    net/mlx5e: CT: Fix ipv6 nat header rewrite actions
    ...

    Linus Torvalds
     
  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

10 Jun, 2020

1 commit

  • The dynamic key update for addr_list_lock still causes troubles,
    for example the following race condition still exists:

    CPU 0: CPU 1:
    (RCU read lock) (RTNL lock)
    dev_mc_seq_show() netdev_update_lockdep_key()
    -> lockdep_unregister_key()
    -> netif_addr_lock_bh()

    because lockdep doesn't provide an API to update it atomically.
    Therefore, we have to move it back to static keys and use subclass
    for nest locking like before.

    In commit 1a33e10e4a95 ("net: partially revert dynamic lockdep key
    changes"), I already reverted most parts of commit ab92d68fc22f
    ("net: core: add generic lockdep keys").

    This patch reverts the rest and also part of commit f3b0a18bb6cb
    ("net: remove unnecessary variables and callback"). After this
    patch, addr_list_lock changes back to using static keys and
    subclasses to satisfy lockdep. Thanks to dev->lower_level, we do
    not have to change back to ->ndo_get_lock_subclass().

    And hopefully this reduces some syzbot lockdep noises too.

    Reported-by: syzbot+f3a0e80c34b3fc28ac5e@syzkaller.appspotmail.com
    Cc: Taehee Yoo
    Cc: Dmitry Vyukov
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Cong Wang
     

04 Jun, 2020

1 commit

  • Pull networking updates from David Miller:

    1) Allow setting bluetooth L2CAP modes via socket option, from Luiz
    Augusto von Dentz.

    2) Add GSO partial support to igc, from Sasha Neftin.

    3) Several cleanups and improvements to r8169 from Heiner Kallweit.

    4) Add IF_OPER_TESTING link state and use it when ethtool triggers a
    device self-test. From Andrew Lunn.

    5) Start moving away from custom driver versions, use the globally
    defined kernel version instead, from Leon Romanovsky.

    6) Support GRO vis gro_cells in DSA layer, from Alexander Lobakin.

    7) Allow hard IRQ deferral during NAPI, from Eric Dumazet.

    8) Add sriov and vf support to hinic, from Luo bin.

    9) Support Media Redundancy Protocol (MRP) in the bridging code, from
    Horatiu Vultur.

    10) Support netmap in the nft_nat code, from Pablo Neira Ayuso.

    11) Allow UDPv6 encapsulation of ESP in the ipsec code, from Sabrina
    Dubroca. Also add ipv6 support for espintcp.

    12) Lots of ReST conversions of the networking documentation, from Mauro
    Carvalho Chehab.

    13) Support configuration of ethtool rxnfc flows in bcmgenet driver,
    from Doug Berger.

    14) Allow to dump cgroup id and filter by it in inet_diag code, from
    Dmitry Yakunin.

    15) Add infrastructure to export netlink attribute policies to
    userspace, from Johannes Berg.

    16) Several optimizations to sch_fq scheduler, from Eric Dumazet.

    17) Fallback to the default qdisc if qdisc init fails because otherwise
    a packet scheduler init failure will make a device inoperative. From
    Jesper Dangaard Brouer.

    18) Several RISCV bpf jit optimizations, from Luke Nelson.

    19) Correct the return type of the ->ndo_start_xmit() method in several
    drivers, it's netdev_tx_t but many drivers were using
    'int'. From Yunjian Wang.

    20) Add an ethtool interface for PHY master/slave config, from Oleksij
    Rempel.

    21) Add BPF iterators, from Yonghang Song.

    22) Add cable test infrastructure, including ethool interfaces, from
    Andrew Lunn. Marvell PHY driver is the first to support this
    facility.

    23) Remove zero-length arrays all over, from Gustavo A. R. Silva.

    24) Calculate and maintain an explicit frame size in XDP, from Jesper
    Dangaard Brouer.

    25) Add CAP_BPF, from Alexei Starovoitov.

    26) Support terse dumps in the packet scheduler, from Vlad Buslov.

    27) Support XDP_TX bulking in dpaa2 driver, from Ioana Ciornei.

    28) Add devm_register_netdev(), from Bartosz Golaszewski.

    29) Minimize qdisc resets, from Cong Wang.

    30) Get rid of kernel_getsockopt and kernel_setsockopt in order to
    eliminate set_fs/get_fs calls. From Christoph Hellwig.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2517 commits)
    selftests: net: ip_defrag: ignore EPERM
    net_failover: fixed rollback in net_failover_open()
    Revert "tipc: Fix potential tipc_aead refcnt leak in tipc_crypto_rcv"
    Revert "tipc: Fix potential tipc_node refcnt leak in tipc_rcv"
    vmxnet3: allow rx flow hash ops only when rss is enabled
    hinic: add set_channels ethtool_ops support
    selftests/bpf: Add a default $(CXX) value
    tools/bpf: Don't use $(COMPILE.c)
    bpf, selftests: Use bpf_probe_read_kernel
    s390/bpf: Use bcr 0,%0 as tail call nop filler
    s390/bpf: Maintain 8-byte stack alignment
    selftests/bpf: Fix verifier test
    selftests/bpf: Fix sample_cnt shared between two threads
    bpf, selftests: Adapt cls_redirect to call csum_level helper
    bpf: Add csum_level helper for fixing up csum levels
    bpf: Fix up bpf_skb_adjust_room helper's skb csum setting
    sfc: add missing annotation for efx_ef10_try_update_nic_stats_vf()
    crypto/chtls: IPv6 support for inline TLS
    Crypto/chcr: Fixes a coccinile check error
    Crypto/chcr: Fixes compilations warnings
    ...

    Linus Torvalds
     

03 Jun, 2020

2 commits

  • Pull audit updates from Paul Moore:
    "Summary of the significant patches:

    - Record information about binds/unbinds to the audit multicast
    socket. This helps identify which processes have/had access to the
    information in the audit stream.

    - Cleanup and add some additional information to the netfilter
    configuration events collected by audit.

    - Fix some of the audit error handling code so we don't leak network
    namespace references"

    * tag 'audit-pr-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
    audit: add subj creds to NETFILTER_CFG record to
    audit: Replace zero-length array with flexible-array
    audit: make symbol 'audit_nfcfgs' static
    netfilter: add audit table unregister actions
    audit: tidy and extend netfilter_cfg x_tables
    audit: log audit netlink multicast bind and unbind
    audit: fix a net reference leak in audit_list_rules_send()
    audit: fix a net reference leak in audit_send_reply()

    Linus Torvalds
     
  • The pgprot argument to __vmalloc is always PAGE_KERNEL now, so remove it.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Reviewed-by: Michael Kelley [hyperv]
    Acked-by: Gao Xiang [erofs]
    Acked-by: Peter Zijlstra (Intel)
    Acked-by: Wei Liu
    Cc: Christian Borntraeger
    Cc: Christophe Leroy
    Cc: Daniel Vetter
    Cc: David Airlie
    Cc: Greg Kroah-Hartman
    Cc: Haiyang Zhang
    Cc: Johannes Weiner
    Cc: "K. Y. Srinivasan"
    Cc: Laura Abbott
    Cc: Mark Rutland
    Cc: Minchan Kim
    Cc: Nitin Gupta
    Cc: Robin Murphy
    Cc: Sakari Ailus
    Cc: Stephen Hemminger
    Cc: Sumit Semwal
    Cc: Benjamin Herrenschmidt
    Cc: Catalin Marinas
    Cc: Heiko Carstens
    Cc: Paul Mackerras
    Cc: Vasily Gorbik
    Cc: Will Deacon
    Link: http://lkml.kernel.org/r/20200414131348.444715-22-hch@lst.de
    Signed-off-by: Linus Torvalds

    Christoph Hellwig