1. 24 Aug, 2022 6 commits
  2. 23 Aug, 2022 13 commits
    • Florian Westphal's avatar
      netfilter: nft_tproxy: restrict to prerouting hook · 18bbc321
      Florian Westphal authored
      TPROXY is only allowed from prerouting, but nft_tproxy doesn't check this.
      This fixes a crash (null dereference) when using tproxy from e.g. output.
      
      Fixes: 4ed8eb65 ("netfilter: nf_tables: Add native tproxy support")
      Reported-by: default avatarShell Chen <xierch@gmail.com>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      18bbc321
    • Florian Westphal's avatar
      netfilter: conntrack: work around exceeded receive window · cf97769c
      Florian Westphal authored
      When a TCP sends more bytes than allowed by the receive window, all future
      packets can be marked as invalid.
      This can clog up the conntrack table because of 5-day default timeout.
      
      Sequence of packets:
       01 initiator > responder: [S], seq 171, win 5840, options [mss 1330,sackOK,TS val 63 ecr 0,nop,wscale 1]
       02 responder > initiator: [S.], seq 33211, ack 172, win 65535, options [mss 1460,sackOK,TS val 010 ecr 63,nop,wscale 8]
       03 initiator > responder: [.], ack 33212, win 2920, options [nop,nop,TS val 068 ecr 010], length 0
       04 initiator > responder: [P.], seq 172:240, ack 33212, win 2920, options [nop,nop,TS val 279 ecr 010], length 68
      
      Window is 5840 starting from 33212 -> 39052.
      
       05 responder > initiator: [.], ack 240, win 256, options [nop,nop,TS val 872 ecr 279], length 0
       06 responder > initiator: [.], seq 33212:34530, ack 240, win 256, options [nop,nop,TS val 892 ecr 279], length 1318
      
      This is fine, conntrack will flag the connection as having outstanding
      data (UNACKED), which lowers the conntrack timeout to 300s.
      
       07 responder > initiator: [.], seq 34530:35848, ack 240, win 256, options [nop,nop,TS val 892 ecr 279], length 1318
       08 responder > initiator: [.], seq 35848:37166, ack 240, win 256, options [nop,nop,TS val 892 ecr 279], length 1318
       09 responder > initiator: [.], seq 37166:38484, ack 240, win 256, options [nop,nop,TS val 892 ecr 279], length 1318
       10 responder > initiator: [.], seq 38484:39802, ack 240, win 256, options [nop,nop,TS val 892 ecr 279], length 1318
      
      Packet 10 is already sending more than permitted, but conntrack doesn't
      validate this (only seq is tested vs. maxend, not 'seq+len').
      
      38484 is acceptable, but only up to 39052, so this packet should
      not have been sent (or only 568 bytes, not 1318).
      
      At this point, connection is still in '300s' mode.
      
      Next packet however will get flagged:
       11 responder > initiator: [P.], seq 39802:40128, ack 240, win 256, options [nop,nop,TS val 892 ecr 279], length 326
      
      nf_ct_proto_6: SEQ is over the upper bound (over the window of the receiver) .. LEN=378 .. SEQ=39802 ACK=240 ACK PSH ..
      
      Now, a couple of replies/acks comes in:
      
       12 initiator > responder: [.], ack 34530, win 4368,
      [.. irrelevant acks removed ]
       16 initiator > responder: [.], ack 39802, win 8712, options [nop,nop,TS val 296201291 ecr 2982371892], length 0
      
      This ack is significant -- this acks the last packet send by the
      responder that conntrack considered valid.
      
      This means that ack == td_end.  This will withdraw the
      'unacked data' flag, the connection moves back to the 5-day timeout
      of established conntracks.
      
       17 initiator > responder: ack 40128, win 10030, ...
      
      This packet is also flagged as invalid.
      
      Because conntrack only updates state based on packets that are
      considered valid, packet 11 'did not exist' and that gets us:
      
      nf_ct_proto_6: ACK is over upper bound 39803 (ACKed data not seen yet) .. SEQ=240 ACK=40128 WINDOW=10030 RES=0x00 ACK URG
      
      Because this received and processed by the endpoints, the conntrack entry
      remains in a bad state, no packets will ever be considered valid again:
      
       30 responder > initiator: [F.], seq 40432, ack 2045, win 391, ..
       31 initiator > responder: [.], ack 40433, win 11348, ..
       32 initiator > responder: [F.], seq 2045, ack 40433, win 11348 ..
      
      ... all trigger 'ACK is over bound' test and we end up with
      non-early-evictable 5-day default timeout.
      
      NB: This patch triggers a bunch of checkpatch warnings because of silly
      indent.  I will resend the cleanup series linked below to reduce the
      indent level once this change has propagated to net-next.
      
      I could route the cleanup via nf but that causes extra backport work for
      stable maintainers.
      
      Link: https://lore.kernel.org/netfilter-devel/20220720175228.17880-1-fw@strlen.de/T/#mb1d7147d36294573cc4f81d00f9f8dadfdd06cd8Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      cf97769c
    • Florian Westphal's avatar
      netfilter: ebtables: reject blobs that don't provide all entry points · 7997eff8
      Florian Westphal authored
      Harshit Mogalapalli says:
       In ebt_do_table() function dereferencing 'private->hook_entry[hook]'
       can lead to NULL pointer dereference. [..] Kernel panic:
      
      general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] PREEMPT SMP KASAN
      KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]
      [..]
      RIP: 0010:ebt_do_table+0x1dc/0x1ce0
      Code: 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 5c 16 00 00 48 b8 00 00 00 00 00 fc ff df 49 8b 6c df 08 48 8d 7d 2c 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 88
      [..]
      Call Trace:
       nf_hook_slow+0xb1/0x170
       __br_forward+0x289/0x730
       maybe_deliver+0x24b/0x380
       br_flood+0xc6/0x390
       br_dev_xmit+0xa2e/0x12c0
      
      For some reason ebtables rejects blobs that provide entry points that are
      not supported by the table, but what it should instead reject is the
      opposite: blobs that DO NOT provide an entry point supported by the table.
      
      t->valid_hooks is the bitmask of hooks (input, forward ...) that will see
      packets.  Providing an entry point that is not support is harmless
      (never called/used), but the inverse isn't: it results in a crash
      because the ebtables traverser doesn't expect a NULL blob for a location
      its receiving packets for.
      
      Instead of fixing all the individual checks, do what iptables is doing and
      reject all blobs that differ from the expected hooks.
      
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Reported-by: default avatarHarshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
      Reported-by: default avatarsyzkaller <syzkaller@googlegroups.com>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      7997eff8
    • Vladimir Oltean's avatar
      net: dsa: don't dereference NULL extack in dsa_slave_changeupper() · 855a28f9
      Vladimir Oltean authored
      When a driver returns -EOPNOTSUPP in dsa_port_bridge_join() but failed
      to provide a reason for it, DSA attempts to set the extack to say that
      software fallback will kick in.
      
      The problem is, when we use brctl and the legacy bridge ioctls, the
      extack will be NULL, and DSA dereferences it in the process of setting
      it.
      
      Sergei Antonov proves this using the following stack trace:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      PC is at dsa_slave_changeupper+0x5c/0x158
      
       dsa_slave_changeupper from raw_notifier_call_chain+0x38/0x6c
       raw_notifier_call_chain from __netdev_upper_dev_link+0x198/0x3b4
       __netdev_upper_dev_link from netdev_master_upper_dev_link+0x50/0x78
       netdev_master_upper_dev_link from br_add_if+0x430/0x7f4
       br_add_if from br_ioctl_stub+0x170/0x530
       br_ioctl_stub from br_ioctl_call+0x54/0x7c
       br_ioctl_call from dev_ifsioc+0x4e0/0x6bc
       dev_ifsioc from dev_ioctl+0x2f8/0x758
       dev_ioctl from sock_ioctl+0x5f0/0x674
       sock_ioctl from sys_ioctl+0x518/0xe40
       sys_ioctl from ret_fast_syscall+0x0/0x1c
      
      Fix the problem by only overriding the extack if non-NULL.
      
      Fixes: 1c6e8088 ("net: dsa: allow port_bridge_join() to override extack message")
      Link: https://lore.kernel.org/netdev/CABikg9wx7vB5eRDAYtvAm7fprJ09Ta27a4ZazC=NX5K4wn6pWA@mail.gmail.com/Reported-by: default avatarSergei Antonov <saproj@gmail.com>
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Tested-by: default avatarSergei Antonov <saproj@gmail.com>
      Link: https://lore.kernel.org/r/20220819173925.3581871-1-vladimir.oltean@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      855a28f9
    • Maciej Żenczykowski's avatar
      net: ipvtap - add __init/__exit annotations to module init/exit funcs · 4b2e3a17
      Maciej Żenczykowski authored
      Looks to have been left out in an oversight.
      
      Cc: Mahesh Bandewar <maheshb@google.com>
      Cc: Sainath Grandhi <sainath.grandhi@intel.com>
      Fixes: 235a9d89 ('ipvtap: IP-VLAN based tap driver')
      Signed-off-by: default avatarMaciej Żenczykowski <maze@google.com>
      Link: https://lore.kernel.org/r/20220821130808.12143-1-zenczykowski@gmail.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      4b2e3a17
    • Jakub Kicinski's avatar
      Merge branch 'bonding-802-3ad-fix-no-transmission-of-lacpdus' · 5003e52c
      Jakub Kicinski authored
      Jonathan Toppins says:
      
      ====================
      bonding: 802.3ad: fix no transmission of LACPDUs
      
      Configuring a bond in a specific order can leave the bond in a state
      where it never transmits LACPDUs.
      
      The first patch adds some kselftest infrastructure and the reproducer
      that demonstrates the problem. The second patch fixes the issue. The
      new third patch makes ad_ticks_per_sec a static const and removes the
      passing of this variable via the stack.
      ====================
      
      Link: https://lore.kernel.org/r/cover.1660919940.git.jtoppins@redhat.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5003e52c
    • Jonathan Toppins's avatar
      bonding: 3ad: make ad_ticks_per_sec a const · f2e44dff
      Jonathan Toppins authored
      The value is only ever set once in bond_3ad_initialize and only ever
      read otherwise. There seems to be no reason to set the variable via
      bond_3ad_initialize when setting the global variable will do. Change
      ad_ticks_per_sec to a const to enforce its read-only usage.
      Signed-off-by: default avatarJonathan Toppins <jtoppins@redhat.com>
      Acked-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f2e44dff
    • Jonathan Toppins's avatar
      bonding: 802.3ad: fix no transmission of LACPDUs · d745b506
      Jonathan Toppins authored
      This is caused by the global variable ad_ticks_per_sec being zero as
      demonstrated by the reproducer script discussed below. This causes
      all timer values in __ad_timer_to_ticks to be zero, resulting
      in the periodic timer to never fire.
      
      To reproduce:
      Run the script in
      `tools/testing/selftests/drivers/net/bonding/bond-break-lacpdu-tx.sh` which
      puts bonding into a state where it never transmits LACPDUs.
      
      line 44: ip link add fbond type bond mode 4 miimon 200 \
                  xmit_hash_policy 1 ad_actor_sys_prio 65535 lacp_rate fast
      setting bond param: ad_actor_sys_prio
      given:
          params.ad_actor_system = 0
      call stack:
          bond_option_ad_actor_sys_prio()
          -> bond_3ad_update_ad_actor_settings()
             -> set ad.system.sys_priority = bond->params.ad_actor_sys_prio
             -> ad.system.sys_mac_addr = bond->dev->dev_addr; because
                  params.ad_actor_system == 0
      results:
           ad.system.sys_mac_addr = bond->dev->dev_addr
      
      line 48: ip link set fbond address 52:54:00:3B:7C:A6
      setting bond MAC addr
      call stack:
          bond->dev->dev_addr = new_mac
      
      line 52: ip link set fbond type bond ad_actor_sys_prio 65535
      setting bond param: ad_actor_sys_prio
      given:
          params.ad_actor_system = 0
      call stack:
          bond_option_ad_actor_sys_prio()
          -> bond_3ad_update_ad_actor_settings()
             -> set ad.system.sys_priority = bond->params.ad_actor_sys_prio
             -> ad.system.sys_mac_addr = bond->dev->dev_addr; because
                  params.ad_actor_system == 0
      results:
           ad.system.sys_mac_addr = bond->dev->dev_addr
      
      line 60: ip link set veth1-bond down master fbond
      given:
          params.ad_actor_system = 0
          params.mode = BOND_MODE_8023AD
          ad.system.sys_mac_addr == bond->dev->dev_addr
      call stack:
          bond_enslave
          -> bond_3ad_initialize(); because first slave
             -> if ad.system.sys_mac_addr != bond->dev->dev_addr
                return
      results:
           Nothing is run in bond_3ad_initialize() because dev_addr equals
           sys_mac_addr leaving the global ad_ticks_per_sec zero as it is
           never initialized anywhere else.
      
      The if check around the contents of bond_3ad_initialize() is no longer
      needed due to commit 5ee14e6d ("bonding: 3ad: apply ad_actor settings
      changes immediately") which sets ad.system.sys_mac_addr if any one of
      the bonding parameters whos set function calls
      bond_3ad_update_ad_actor_settings(). This is because if
      ad.system.sys_mac_addr is zero it will be set to the current bond mac
      address, this causes the if check to never be true.
      
      Fixes: 5ee14e6d ("bonding: 3ad: apply ad_actor settings changes immediately")
      Signed-off-by: default avatarJonathan Toppins <jtoppins@redhat.com>
      Acked-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d745b506
    • Jonathan Toppins's avatar
      selftests: include bonding tests into the kselftest infra · c078290a
      Jonathan Toppins authored
      This creates a test collection in drivers/net/bonding for bonding
      specific kernel selftests.
      
      The first test is a reproducer that provisions a bond and given the
      specific order in how the ip-link(8) commands are issued the bond never
      transmits an LACPDU frame on any of its slaves.
      Signed-off-by: default avatarJonathan Toppins <jtoppins@redhat.com>
      Acked-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c078290a
    • Sergei Antonov's avatar
      net: moxa: get rid of asymmetry in DMA mapping/unmapping · 0ee7828d
      Sergei Antonov authored
      Since priv->rx_mapping[i] is maped in moxart_mac_open(), we
      should unmap it from moxart_mac_stop(). Fixes 2 warnings.
      
      1. During error unwinding in moxart_mac_probe(): "goto init_fail;",
      then moxart_mac_free_memory() calls dma_unmap_single() with
      priv->rx_mapping[i] pointers zeroed.
      
      WARNING: CPU: 0 PID: 1 at kernel/dma/debug.c:963 check_unmap+0x704/0x980
      DMA-API: moxart-ethernet 92000000.mac: device driver tries to free DMA memory it has not allocated [device address=0x0000000000000000] [size=1600 bytes]
      CPU: 0 PID: 1 Comm: swapper Not tainted 5.19.0+ #60
      Hardware name: Generic DT based system
       unwind_backtrace from show_stack+0x10/0x14
       show_stack from dump_stack_lvl+0x34/0x44
       dump_stack_lvl from __warn+0xbc/0x1f0
       __warn from warn_slowpath_fmt+0x94/0xc8
       warn_slowpath_fmt from check_unmap+0x704/0x980
       check_unmap from debug_dma_unmap_page+0x8c/0x9c
       debug_dma_unmap_page from moxart_mac_free_memory+0x3c/0xa8
       moxart_mac_free_memory from moxart_mac_probe+0x190/0x218
       moxart_mac_probe from platform_probe+0x48/0x88
       platform_probe from really_probe+0xc0/0x2e4
      
      2. After commands:
       ip link set dev eth0 down
       ip link set dev eth0 up
      
      WARNING: CPU: 0 PID: 55 at kernel/dma/debug.c:570 add_dma_entry+0x204/0x2ec
      DMA-API: moxart-ethernet 92000000.mac: cacheline tracking EEXIST, overlapping mappings aren't supported
      CPU: 0 PID: 55 Comm: ip Not tainted 5.19.0+ #57
      Hardware name: Generic DT based system
       unwind_backtrace from show_stack+0x10/0x14
       show_stack from dump_stack_lvl+0x34/0x44
       dump_stack_lvl from __warn+0xbc/0x1f0
       __warn from warn_slowpath_fmt+0x94/0xc8
       warn_slowpath_fmt from add_dma_entry+0x204/0x2ec
       add_dma_entry from dma_map_page_attrs+0x110/0x328
       dma_map_page_attrs from moxart_mac_open+0x134/0x320
       moxart_mac_open from __dev_open+0x11c/0x1ec
       __dev_open from __dev_change_flags+0x194/0x22c
       __dev_change_flags from dev_change_flags+0x14/0x44
       dev_change_flags from devinet_ioctl+0x6d4/0x93c
       devinet_ioctl from inet_ioctl+0x1ac/0x25c
      
      v1 -> v2:
      Extraneous change removed.
      
      Fixes: 6c821bd9 ("net: Add MOXA ART SoCs ethernet driver")
      Signed-off-by: default avatarSergei Antonov <saproj@gmail.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20220819110519.1230877-1-saproj@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0ee7828d
    • Xiaolei Wang's avatar
      net: phy: Don't WARN for PHY_READY state in mdio_bus_phy_resume() · 6dbe852c
      Xiaolei Wang authored
      For some MAC drivers, they set the mac_managed_pm to true in its
      ->ndo_open() callback. So before the mac_managed_pm is set to true,
      we still want to leverage the mdio_bus_phy_suspend()/resume() for
      the phy device suspend and resume. In this case, the phy device is
      in PHY_READY, and we shouldn't warn about this. It also seems that
      the check of mac_managed_pm in WARN_ON is redundant since we already
      check this in the entry of mdio_bus_phy_resume(), so drop it.
      
      Fixes: 744d23c7 ("net: phy: Warn about incorrect mdio_bus_phy_resume() state")
      Signed-off-by: default avatarXiaolei Wang <xiaolei.wang@windriver.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Link: https://lore.kernel.org/r/20220819082451.1992102-1-xiaolei.wang@windriver.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6dbe852c
    • Alex Elder's avatar
      net: ipa: don't assume SMEM is page-aligned · b8d43803
      Alex Elder authored
      In ipa_smem_init(), a Qualcomm SMEM region is allocated (if needed)
      and then its virtual address is fetched using qcom_smem_get().  The
      physical address associated with that region is also fetched.
      
      The physical address is adjusted so that it is page-aligned, and an
      attempt is made to update the size of the region to compensate for
      any non-zero adjustment.
      
      But that adjustment isn't done properly.  The physical address is
      aligned twice, and as a result the size is never actually adjusted.
      
      Fix this by *not* aligning the "addr" local variable, and instead
      making the "phys" local variable be the adjusted "addr" value.
      
      Fixes: a0036bb4 ("net: ipa: define SMEM memory region for IPA")
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Link: https://lore.kernel.org/r/20220818134206.567618-1-elder@linaro.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b8d43803
    • Vladimir Oltean's avatar
      net: dsa: microchip: keep compatibility with device tree blobs with no phy-mode · 5fbb08eb
      Vladimir Oltean authored
      DSA has multiple ways of specifying a MAC connection to an internal PHY.
      One requires a DT description like this:
      
      	port@0 {
      		reg = <0>;
      		phy-handle = <&internal_phy>;
      		phy-mode = "internal";
      	};
      
      (which is IMO the recommended approach, as it is the clearest
      description)
      
      but it is also possible to leave the specification as just:
      
      	port@0 {
      		reg = <0>;
      	}
      
      and if the driver implements ds->ops->phy_read and ds->ops->phy_write,
      the DSA framework "knows" it should create a ds->slave_mii_bus, and it
      should connect to a non-OF-based internal PHY on this MDIO bus, at an
      MDIO address equal to the port address.
      
      There is also an intermediary way of describing things:
      
      	port@0 {
      		reg = <0>;
      		phy-handle = <&internal_phy>;
      	};
      
      In case 2, DSA calls phylink_connect_phy() and in case 3, it calls
      phylink_of_phy_connect(). In both cases, phylink_create() has been
      called with a phy_interface_t of PHY_INTERFACE_MODE_NA, and in both
      cases, PHY_INTERFACE_MODE_NA is translated into phy->interface.
      
      It is important to note that phy_device_create() initializes
      dev->interface = PHY_INTERFACE_MODE_GMII, and so, when we use
      phylink_create(PHY_INTERFACE_MODE_NA), no one will override this, and we
      will end up with a PHY_INTERFACE_MODE_GMII interface inherited from the
      PHY.
      
      All this means that in order to maintain compatibility with device tree
      blobs where the phy-mode property is missing, we need to allow the
      "gmii" phy-mode and treat it as "internal".
      
      Fixes: 2c709e0b ("net: dsa: microchip: ksz8795: add phylink support")
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=216320Reported-by: default avatarCraig McQueen <craig@mcqueen.id.au>
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: default avatarAlvin Šipraga <alsi@bang-olufsen.dk>
      Tested-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
      Link: https://lore.kernel.org/r/20220818143250.2797111-1-vladimir.oltean@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5fbb08eb
  3. 22 Aug, 2022 5 commits
  4. 19 Aug, 2022 5 commits
    • Sabrina Dubroca's avatar
      Revert "net: macsec: update SCI upon MAC address change." · e82c649e
      Sabrina Dubroca authored
      This reverts commit 6fc498bc.
      
      Commit 6fc498bc states:
      
          SCI should be updated, because it contains MAC in its first 6
          octets.
      
      That's not entirely correct. The SCI can be based on the MAC address,
      but doesn't have to be. We can also use any 64-bit number as the
      SCI. When the SCI based on the MAC address, it uses a 16-bit "port
      number" provided by userspace, which commit 6fc498bc overwrites
      with 1.
      
      In addition, changing the SCI after macsec has been setup can just
      confuse the receiver. If we configure the RXSC on the peer based on
      the original SCI, we should keep the same SCI on TX.
      
      When the macsec device is being managed by a userspace key negotiation
      daemon such as wpa_supplicant, commit 6fc498bc would also
      overwrite the SCI defined by userspace.
      
      Fixes: 6fc498bc ("net: macsec: update SCI upon MAC address change.")
      Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Link: https://lore.kernel.org/r/9b1a9d28327e7eb54550a92eebda45d25e54dd0d.1660667033.git.sd@queasysnail.netSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e82c649e
    • Sean Anderson's avatar
      net: dpaa: Fix <1G ethernet on LS1046ARDB · 9dbdfd4a
      Sean Anderson authored
      As discussed in commit 73a21fa8 ("dpaa_eth: support all modes with
      rate adapting PHYs"), we must add a workaround for Aquantia phys with
      in-tree support in order to keep 1G support working. Update this
      workaround for the AQR113C phy found on revision C LS1046ARDB boards.
      
      Fixes: 12cf1b89 ("net: phy: Add support for AQR113C EPHY")
      Signed-off-by: default avatarSean Anderson <sean.anderson@seco.com>
      Acked-by: default avatarCamelia Groza <camelia.groza@nxp.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20220818164029.2063293-1-sean.anderson@seco.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9dbdfd4a
    • Linus Torvalds's avatar
      Merge tag 'net-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 4c2d0b03
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter.
      
        Current release - regressions:
      
         - tcp: fix cleanup and leaks in tcp_read_skb() (the new way BPF
           socket maps get data out of the TCP stack)
      
         - tls: rx: react to strparser initialization errors
      
         - netfilter: nf_tables: fix scheduling-while-atomic splat
      
         - net: fix suspicious RCU usage in bpf_sk_reuseport_detach()
      
        Current release - new code bugs:
      
         - mlxsw: ptp: fix a couple of races, static checker warnings and
           error handling
      
        Previous releases - regressions:
      
         - netfilter:
            - nf_tables: fix possible module reference underflow in error path
            - make conntrack helpers deal with BIG TCP (skbs > 64kB)
            - nfnetlink: re-enable conntrack expectation events
      
         - net: fix potential refcount leak in ndisc_router_discovery()
      
        Previous releases - always broken:
      
         - sched: cls_route: disallow handle of 0
      
         - neigh: fix possible local DoS due to net iface start/stop loop
      
         - rtnetlink: fix module refcount leak in rtnetlink_rcv_msg
      
         - sched: fix adding qlen to qcpu->backlog in gnet_stats_add_queue_cpu
      
         - virtio_net: fix endian-ness for RSS
      
         - dsa: mv88e6060: prevent crash on an unused port
      
         - fec: fix timer capture timing in `fec_ptp_enable_pps()`
      
         - ocelot: stats: fix races, integer wrapping and reading incorrect
           registers (the change of register definitions here accounts for
           bulk of the changed LoC in this PR)"
      
      * tag 'net-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (77 commits)
        net: moxa: MAC address reading, generating, validity checking
        tcp: handle pure FIN case correctly
        tcp: refactor tcp_read_skb() a bit
        tcp: fix tcp_cleanup_rbuf() for tcp_read_skb()
        tcp: fix sock skb accounting in tcp_read_skb()
        igb: Add lock to avoid data race
        dt-bindings: Fix incorrect "the the" corrections
        net: genl: fix error path memory leak in policy dumping
        stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove()
        net: ethernet: mtk_eth_soc: fix possible NULL pointer dereference in mtk_xdp_run
        net/mlx5e: Allocate flow steering storage during uplink initialization
        net: mscc: ocelot: report ndo_get_stats64 from the wraparound-resistant ocelot->stats
        net: mscc: ocelot: keep ocelot_stat_layout by reg address, not offset
        net: mscc: ocelot: make struct ocelot_stat_layout array indexable
        net: mscc: ocelot: fix race between ndo_get_stats64 and ocelot_check_stats_work
        net: mscc: ocelot: turn stats_lock into a spinlock
        net: mscc: ocelot: fix address of SYS_COUNT_TX_AGING counter
        net: mscc: ocelot: fix incorrect ndo_get_stats64 packet counters
        net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters
        net: dsa: don't warn in dsa_port_set_state_now() when driver doesn't support it
        ...
      4c2d0b03
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-6.0-rc2' of... · 90b6b686
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest fix from Shuah Khan:
      
       - fix landlock test build regression
      
      * tag 'linux-kselftest-next-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/landlock: fix broken include of linux/landlock.h
      90b6b686
    • Linus Torvalds's avatar
      Merge tag 'trace-rtla-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 0de277d4
      Linus Torvalds authored
      Pull rtla tool fixes from Steven Rostedt:
       "Fixes for the Real-Time Linux Analysis tooling:
      
         - Fix tracer name in comments and prints
      
         - Fix setting up symlinks
      
         - Allow extra flags to be set in build
      
         - Consolidate and show all necessary libraries not found in build
           error"
      
      * tag 'trace-rtla-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        rtla: Consolidate and show all necessary libraries that failed for building
        tools/rtla: Build with EXTRA_{C,LD}FLAGS
        tools/rtla: Fix command symlinks
        rtla: Fix tracer name
      0de277d4
  5. 18 Aug, 2022 11 commits