1. 19 Oct, 2021 1 commit
  2. 18 Oct, 2021 12 commits
  3. 17 Oct, 2021 11 commits
  4. 16 Oct, 2021 3 commits
    • Nikolay Aleksandrov's avatar
      net: bridge: mcast: use multicast_membership_interval for IGMPv3 · fac3cb82
      Nikolay Aleksandrov authored
      When I added IGMPv3 support I decided to follow the RFC for computing
      the GMI dynamically:
      " 8.4. Group Membership Interval
      
         The Group Membership Interval is the amount of time that must pass
         before a multicast router decides there are no more members of a
         group or a particular source on a network.
      
         This value MUST be ((the Robustness Variable) times (the Query
         Interval)) plus (one Query Response Interval)."
      
      But that actually is inconsistent with how the bridge used to compute it
      for IGMPv2, where it was user-configurable that has a correct default value
      but it is up to user-space to maintain it. This would make it consistent
      with the other timer values which are also maintained correct by the user
      instead of being dynamically computed. It also changes back to the previous
      user-expected GMI behaviour for IGMPv3 queries which were supported before
      IGMPv3 was added. Note that to properly compute it dynamically we would
      need to add support for "Robustness Variable" which is currently missing.
      Reported-by: default avatarHangbin Liu <liuhangbin@gmail.com>
      Fixes: 0436862e ("net: bridge: mcast: support for IGMPv3/MLDv2 ALLOW_NEW_SOURCES report")
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fac3cb82
    • Stefano Garzarella's avatar
      vsock_diag_test: remove free_sock_stat() call in test_no_sockets · ba95a622
      Stefano Garzarella authored
      In `test_no_sockets` we don't expect any sockets, indeed
      check_no_sockets() prints an error and exits if `sockets` list is
      not empty, so free_sock_stat() call is unnecessary since it would
      only be called when the `sockets` list is empty.
      
      This was discovered by a strange warning printed by gcc v11.2.1:
        In file included from ../../include/linux/list.h:7,
                         from vsock_diag_test.c:18:
        vsock_diag_test.c: In function ‘test_no_sockets’:
        ../../include/linux/kernel.h:35:45: error: array subscript ‘struct vsock_stat[0]’ is partly outside array bound
        s of ‘struct list_head[1]’ [-Werror=array-bounds]
           35 |         const typeof(((type *)0)->member) * __mptr = (ptr);     \
              |                                             ^~~~~~
        ../../include/linux/list.h:352:9: note: in expansion of macro ‘container_of’
          352 |         container_of(ptr, type, member)
              |         ^~~~~~~~~~~~
        ../../include/linux/list.h:393:9: note: in expansion of macro ‘list_entry’
          393 |         list_entry((pos)->member.next, typeof(*(pos)), member)
              |         ^~~~~~~~~~
        ../../include/linux/list.h:522:21: note: in expansion of macro ‘list_next_entry’
          522 |                 n = list_next_entry(pos, member);                       \
              |                     ^~~~~~~~~~~~~~~
        vsock_diag_test.c:325:9: note: in expansion of macro ‘list_for_each_entry_safe’
          325 |         list_for_each_entry_safe(st, next, sockets, list) {
              |         ^~~~~~~~~~~~~~~~~~~~~~~~
        In file included from vsock_diag_test.c:18:
        vsock_diag_test.c:333:19: note: while referencing ‘sockets’
          333 |         LIST_HEAD(sockets);
              |                   ^~~~~~~
        ../../include/linux/list.h:23:26: note: in definition of macro ‘LIST_HEAD’
           23 |         struct list_head name = LIST_HEAD_INIT(name)
      
      It seems related to some compiler optimization and assumption
      about the empty `sockets` list, since this warning is printed
      only with -02 or -O3. Also removing `exit(1)` from
      check_no_sockets() makes the warning disappear since in that
      case free_sock_stat() can be reached also when the list is
      not empty.
      Reported-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Link: https://lore.kernel.org/r/20211014152045.173872-1-sgarzare@redhat.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ba95a622
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · 2151135a
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2021-10-14
      
      Brett ensures RDMA nodes are removed during release and rebuild. He also
      corrects fw.mgmt.api to include the patch number for proper
      identification.
      
      Dave stops ida_free() being called when an IDA has not been allocated.
      
      Michal corrects the order of parameters being provided and the number of
      entries skipped for UDP tunnels.
      ====================
      
      Link: https://lore.kernel.org/r/20211014181953.3538330-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2151135a
  5. 15 Oct, 2021 9 commits
  6. 14 Oct, 2021 4 commits
    • Linus Torvalds's avatar
      Merge tag 'net-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · ec681c53
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Quite calm.
      
        The noisy DSA driver (embedded switches) changes, and adjustment to
        IPv6 IOAM behavior add to diffstat's bottom line but are not scary.
      
        Current release - regressions:
      
         - af_unix: rename UNIX-DGRAM to UNIX to maintain backwards
           compatibility
      
         - procfs: revert "add seq_puts() statement for dev_mcast", minor
           format change broke user space
      
        Current release - new code bugs:
      
         - dsa: fix bridge_num not getting cleared after ports leaving the
           bridge, resource leak
      
         - dsa: tag_dsa: send packets with TX fwd offload from VLAN-unaware
           bridges using VID 0, prevent packet drops if pvid is removed
      
         - dsa: mv88e6xxx: keep the pvid at 0 when VLAN-unaware, prevent HW
           getting confused about station to VLAN mapping
      
        Previous releases - regressions:
      
         - virtio-net: fix for skb_over_panic inside big mode
      
         - phy: do not shutdown PHYs in READY state
      
         - dsa: mv88e6xxx: don't use PHY_DETECT on internal PHY's, fix link
           LED staying lit after ifdown
      
         - mptcp: fix possible infinite wait on recvmsg(MSG_WAITALL)
      
         - mqprio: Correct stats in mqprio_dump_class_stats()
      
         - ice: fix deadlock for Tx timestamp tracking flush
      
         - stmmac: fix feature detection on old hardware
      
        Previous releases - always broken:
      
         - sctp: account stream padding length for reconf chunk
      
         - icmp: fix icmp_ext_echo_iio parsing in icmp_build_probe()
      
         - isdn: cpai: check ctr->cnr to avoid array index out of bound
      
         - isdn: mISDN: fix sleeping function called from invalid context
      
         - nfc: nci: fix potential UAF of rf_conn_info object
      
         - dsa: microchip: prevent ksz_mib_read_work from kicking back in
           after it's canceled in .remove and crashing
      
         - dsa: mv88e6xxx: isolate the ATU databases of standalone and bridged
           ports
      
         - dsa: sja1105, ocelot: break circular dependency between switch and
           tag drivers
      
         - dsa: felix: improve timestamping in presence of packe loss
      
         - mlxsw: thermal: fix out-of-bounds memory accesses
      
        Misc:
      
         - ipv6: ioam: move the check for undefined bits to improve
           interoperability"
      
      * tag 'net-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (60 commits)
        icmp: fix icmp_ext_echo_iio parsing in icmp_build_probe
        MAINTAINERS: Update the devicetree documentation path of imx fec driver
        sctp: account stream padding length for reconf chunk
        mlxsw: thermal: Fix out-of-bounds memory accesses
        ethernet: s2io: fix setting mac address during resume
        NFC: digital: fix possible memory leak in digital_in_send_sdd_req()
        NFC: digital: fix possible memory leak in digital_tg_listen_mdaa()
        nfc: fix error handling of nfc_proto_register()
        Revert "net: procfs: add seq_puts() statement for dev_mcast"
        net: encx24j600: check error in devm_regmap_init_encx24j600
        net: korina: select CRC32
        net: arc: select CRC32
        net: dsa: felix: break at first CPU port during init and teardown
        net: dsa: tag_ocelot_8021q: fix inability to inject STP BPDUs into BLOCKING ports
        net: dsa: felix: purge skb from TX timestamping queue if it cannot be sent
        net: dsa: tag_ocelot_8021q: break circular dependency with ocelot switch lib
        net: dsa: tag_ocelot: break circular dependency with ocelot switch lib driver
        net: mscc: ocelot: cross-check the sequence id from the timestamp FIFO with the skb PTP header
        net: mscc: ocelot: deny TX timestamping of non-PTP packets
        net: mscc: ocelot: warn when a PTP IRQ is raised for an unknown skb
        ...
      ec681c53
    • Brett Creeley's avatar
      ice: Print the api_patch as part of the fw.mgmt.api · b726ddf9
      Brett Creeley authored
      Currently when a user uses "devlink dev info", the fw.mgmt.api will be
      the major.minor numbers as shown below:
      
      devlink dev info pci/0000:3b:00.0
      pci/0000:3b:00.0:
        driver ice
        serial_number 00-01-00-ff-ff-00-00-00
        versions:
            fixed:
              board.id K91258-000
            running:
              fw.mgmt 6.1.2
              fw.mgmt.api 1.7 <--- No patch number included
              fw.mgmt.build 0xd75e7d06
              fw.mgmt.srev 5
              fw.undi 1.2992.0
              fw.undi.srev 5
              fw.psid.api 3.10
              fw.bundle_id 0x800085cc
              fw.app.name ICE OS Default Package
              fw.app 1.3.27.0
              fw.app.bundle_id 0xc0000001
              fw.netlist 3.10.2000-3.1e.0
              fw.netlist.build 0x2a76e110
            stored:
              fw.mgmt.srev 5
              fw.undi 1.2992.0
              fw.undi.srev 5
              fw.psid.api 3.10
              fw.bundle_id 0x800085cc
              fw.netlist 3.10.2000-3.1e.0
              fw.netlist.build 0x2a76e110
      
      There are many features in the driver that depend on the major, minor,
      and patch version of the FW. Without the patch number in the output for
      fw.mgmt.api debugging issues related to the FW API version is difficult.
      Also, using major.minor.patch aligns with the existing firmware version
      which uses a 3 digit value.
      
      Fix this by making the fw.mgmt.api print the major.minor.patch
      versions. Shown below is the result:
      
      devlink dev info pci/0000:3b:00.0
      pci/0000:3b:00.0:
        driver ice
        serial_number 00-01-00-ff-ff-00-00-00
        versions:
            fixed:
              board.id K91258-000
            running:
              fw.mgmt 6.1.2
              fw.mgmt.api 1.7.9 <--- patch number included
              fw.mgmt.build 0xd75e7d06
              fw.mgmt.srev 5
              fw.undi 1.2992.0
              fw.undi.srev 5
              fw.psid.api 3.10
              fw.bundle_id 0x800085cc
              fw.app.name ICE OS Default Package
              fw.app 1.3.27.0
              fw.app.bundle_id 0xc0000001
              fw.netlist 3.10.2000-3.1e.0
              fw.netlist.build 0x2a76e110
            stored:
              fw.mgmt.srev 5
              fw.undi 1.2992.0
              fw.undi.srev 5
              fw.psid.api 3.10
              fw.bundle_id 0x800085cc
              fw.netlist 3.10.2000-3.1e.0
              fw.netlist.build 0x2a76e110
      
      Fixes: ff2e5c70 ("ice: add basic handler for devlink .info_get")
      Signed-off-by: default avatarBrett Creeley <brett.creeley@intel.com>
      Tested-by: default avatarGurucharan G <gurucharanx.g@intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      b726ddf9
    • Michal Swiatkowski's avatar
      ice: fix getting UDP tunnel entry · e4c2efa1
      Michal Swiatkowski authored
      Correct parameters order in call to ice_tunnel_idx_to_entry function.
      
      Entry in sparse port table is correct when the idx is 0. For idx 1 one
      correct entry should be skipped, for idx 2 two of them should be skipped
      etc. Change if condition to be true when idx is 0, which means that
      previous valid entry of this tunnel type were skipped.
      
      Fixes: b20e6c17 ("ice: convert to new udp_tunnel infrastructure")
      Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
      Tested-by: default avatarGurucharan G <gurucharanx.g@intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      e4c2efa1
    • Dave Ertman's avatar
      ice: Avoid crash from unnecessary IDA free · 73e30a62
      Dave Ertman authored
      In the remove path, there is an attempt to free the aux_idx IDA whether
      it was allocated or not.  This can potentially cause a crash when
      unloading the driver on systems that do not initialize support for RDMA.
      But, this free cannot be gated by the status bit for RDMA, since it is
      allocated if the driver detects support for RDMA at probe time, but the
      driver can enter into a state where RDMA is not supported after the IDA
      has been allocated at probe time and this would lead to a memory leak.
      
      Initialize aux_idx to an invalid value and check for a valid value when
      unloading to determine if an IDA free is necessary.
      
      Fixes: d25a0fc4 ("ice: Initialize RDMA support")
      Reported-by: default avatarJun Miao <jun.miao@windriver.com>
      Signed-off-by: default avatarDave Ertman <david.m.ertman@intel.com>
      Tested-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      73e30a62