1. 09 Apr, 2021 5 commits
    • Heiner Kallweit's avatar
      r8169: use mac-managed PHY PM · 5c2280fc
      Heiner Kallweit authored
      Use the new mac_managed_pm flag to indicate that the driver takes care
      of PHY power management.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5c2280fc
    • Heiner Kallweit's avatar
      net: fec: use mac-managed PHY PM · 557d5dc8
      Heiner Kallweit authored
      Use the new mac_managed_pm flag to work around an issue with KSZ8081 PHY
      that becomes unstable when a soft reset is triggered during aneg.
      Reported-by: default avatarJoakim Zhang <qiangqing.zhang@nxp.com>
      Tested-by: default avatarJoakim Zhang <qiangqing.zhang@nxp.com>
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      557d5dc8
    • Heiner Kallweit's avatar
      net: phy: make PHY PM ops a no-op if MAC driver manages PHY PM · fba863b8
      Heiner Kallweit authored
      Resume callback of the PHY driver is called after the one for the MAC
      driver. The PHY driver resume callback calls phy_init_hw(), and this is
      potentially problematic if the MAC driver calls phy_start() in its resume
      callback. One issue was reported with the fec driver and a KSZ8081 PHY
      which seems to become unstable if a soft reset is triggered during aneg.
      
      The new flag allows MAC drivers to indicate that they take care of
      suspending/resuming the PHY. Then the MAC PM callbacks can handle
      any dependency between MAC and PHY PM.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      fba863b8
    • Eric Dumazet's avatar
      Revert "tcp: Reset tcp connections in SYN-SENT state" · a7150e38
      Eric Dumazet authored
      This reverts commit e880f8b3.
      
      1) Patch has not been properly tested, and is wrong [1]
      2) Patch submission did not include TCP maintainer (this is me)
      
      [1]
      divide error: 0000 [#1] PREEMPT SMP KASAN
      CPU: 0 PID: 8426 Comm: syz-executor478 Not tainted 5.12.0-rc4-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      RIP: 0010:__tcp_select_window+0x56d/0xad0 net/ipv4/tcp_output.c:3015
      Code: 44 89 ff e8 d5 cd f0 f9 45 39 e7 0f 8d 20 ff ff ff e8 f7 c7 f0 f9 44 89 e3 e9 13 ff ff ff e8 ea c7 f0 f9 44 89 e0 44 89 e3 99 <f7> 7c 24 04 29 d3 e9 fc fe ff ff e8 d3 c7 f0 f9 41 f7 dc bf 1f 00
      RSP: 0018:ffffc9000184fac0 EFLAGS: 00010293
      RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
      RDX: 0000000000000000 RSI: ffffffff87832e76 RDI: 0000000000000003
      RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
      R10: ffffffff87832e14 R11: 0000000000000000 R12: 0000000000000000
      R13: 1ffff92000309f5c R14: 0000000000000000 R15: 0000000000000000
      FS:  00000000023eb300(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007fc2b5f426c0 CR3: 000000001c5cf000 CR4: 00000000001506f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       tcp_select_window net/ipv4/tcp_output.c:264 [inline]
       __tcp_transmit_skb+0xa82/0x38f0 net/ipv4/tcp_output.c:1351
       tcp_transmit_skb net/ipv4/tcp_output.c:1423 [inline]
       tcp_send_active_reset+0x475/0x8e0 net/ipv4/tcp_output.c:3449
       tcp_disconnect+0x15a9/0x1e60 net/ipv4/tcp.c:2955
       inet_shutdown+0x260/0x430 net/ipv4/af_inet.c:905
       __sys_shutdown_sock net/socket.c:2189 [inline]
       __sys_shutdown_sock net/socket.c:2183 [inline]
       __sys_shutdown+0xf1/0x1b0 net/socket.c:2201
       __do_sys_shutdown net/socket.c:2209 [inline]
       __se_sys_shutdown net/socket.c:2207 [inline]
       __x64_sys_shutdown+0x50/0x70 net/socket.c:2207
       do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      Fixes: e880f8b3 ("tcp: Reset tcp connections in SYN-SENT state")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Cc: Manoj Basapathi <manojbm@codeaurora.org>
      Cc: Sauvik Saha <ssaha@codeaurora.org>
      Link: https://lore.kernel.org/r/20210409170237.274904-1-eric.dumazet@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a7150e38
    • Florian Westphal's avatar
      net: dccp: use net_generic storage · b98b3304
      Florian Westphal authored
      DCCP is virtually never used, so no need to use space in struct net for it.
      
      Put the pernet ipv4/v6 socket in the dccp ipv4/ipv6 modules instead.
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Link: https://lore.kernel.org/r/20210408174502.1625-1-fw@strlen.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b98b3304
  2. 08 Apr, 2021 35 commits