1. 28 Jun, 2021 9 commits
  2. 25 Jun, 2021 3 commits
    • Petr Oros's avatar
      Revert "be2net: disable bh with spin_lock in be_process_mcc" · d6765985
      Petr Oros authored
      Patch was based on wrong presumption that be_poll can be called only
      from bh context. It reintroducing old regression (also reverted) and
      causing deadlock when we use netconsole with benet in bonding.
      
      Old revert: commit 072a9c48 ("netpoll: revert 6bdb7fe3 and fix
      be_poll() instead")
      
      [  331.269715] bond0: (slave enp0s7f0): Releasing backup interface
      [  331.270121] CPU: 4 PID: 1479 Comm: ifenslave Not tainted 5.13.0-rc7+ #2
      [  331.270122] Call Trace:
      [  331.270122] [c00000001789f200] [c0000000008c505c] dump_stack+0x100/0x174 (unreliable)
      [  331.270124] [c00000001789f240] [c008000001238b9c] be_poll+0x64/0xe90 [be2net]
      [  331.270125] [c00000001789f330] [c000000000d1e6e4] netpoll_poll_dev+0x174/0x3d0
      [  331.270127] [c00000001789f400] [c008000001bc167c] bond_poll_controller+0xb4/0x130 [bonding]
      [  331.270128] [c00000001789f450] [c000000000d1e624] netpoll_poll_dev+0xb4/0x3d0
      [  331.270129] [c00000001789f520] [c000000000d1ed88] netpoll_send_skb+0x448/0x470
      [  331.270130] [c00000001789f5d0] [c0080000011f14f8] write_msg+0x180/0x1b0 [netconsole]
      [  331.270131] [c00000001789f640] [c000000000230c0c] console_unlock+0x54c/0x790
      [  331.270132] [c00000001789f7b0] [c000000000233098] vprintk_emit+0x2d8/0x450
      [  331.270133] [c00000001789f810] [c000000000234758] vprintk+0xc8/0x270
      [  331.270134] [c00000001789f850] [c000000000233c28] printk+0x40/0x54
      [  331.270135] [c00000001789f870] [c000000000ccf908] __netdev_printk+0x150/0x198
      [  331.270136] [c00000001789f910] [c000000000ccfdb4] netdev_info+0x68/0x94
      [  331.270137] [c00000001789f950] [c008000001bcbd70] __bond_release_one+0x188/0x6b0 [bonding]
      [  331.270138] [c00000001789faa0] [c008000001bcc6f4] bond_do_ioctl+0x42c/0x490 [bonding]
      [  331.270139] [c00000001789fb60] [c000000000d0d17c] dev_ifsioc+0x17c/0x400
      [  331.270140] [c00000001789fbc0] [c000000000d0db70] dev_ioctl+0x390/0x890
      [  331.270141] [c00000001789fc10] [c000000000c7c76c] sock_do_ioctl+0xac/0x1b0
      [  331.270142] [c00000001789fc90] [c000000000c7ffac] sock_ioctl+0x31c/0x6e0
      [  331.270143] [c00000001789fd60] [c0000000005b9728] sys_ioctl+0xf8/0x150
      [  331.270145] [c00000001789fdb0] [c0000000000336c0] system_call_exception+0x160/0x2f0
      [  331.270146] [c00000001789fe10] [c00000000000d35c] system_call_common+0xec/0x278
      [  331.270147] --- interrupt: c00 at 0x7fffa6c6ec00
      [  331.270147] NIP:  00007fffa6c6ec00 LR: 0000000105c4185c CTR: 0000000000000000
      [  331.270148] REGS: c00000001789fe80 TRAP: 0c00   Not tainted  (5.13.0-rc7+)
      [  331.270148] MSR:  800000000280f033 <SF,VEC,VSX,EE,PR,FP,ME,IR,DR,RI,LE>  CR: 28000428  XER: 00000000
      [  331.270155] IRQMASK: 0
      [  331.270156] GPR00: 0000000000000036 00007fffd494d5b0 00007fffa6d57100 0000000000000003
      [  331.270158] GPR04: 0000000000008991 00007fffd494d6d0 0000000000000008 00007fffd494f28c
      [  331.270161] GPR08: 0000000000000003 0000000000000000 0000000000000000 0000000000000000
      [  331.270164] GPR12: 0000000000000000 00007fffa6dfa220 0000000000000000 0000000000000000
      [  331.270167] GPR16: 0000000105c44880 0000000000000000 0000000105c60088 0000000105c60318
      [  331.270170] GPR20: 0000000105c602c0 0000000105c44560 0000000000000000 0000000000000000
      [  331.270172] GPR24: 00007fffd494dc50 00007fffd494d6a8 0000000105c60008 00007fffd494d6d0
      [  331.270175] GPR28: 00007fffd494f27e 0000000105c6026c 00007fffd494f284 0000000000000000
      [  331.270178] NIP [00007fffa6c6ec00] 0x7fffa6c6ec00
      [  331.270178] LR [0000000105c4185c] 0x105c4185c
      [  331.270179] --- interrupt: c00
      
      This reverts commit d0d006a4.
      
      Fixes: d0d006a4 ("be2net: disable bh with spin_lock in be_process_mcc")
      Signed-off-by: default avatarPetr Oros <poros@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d6765985
    • Bailey Forrest's avatar
      gve: Fix swapped vars when fetching max queues · 1db1a862
      Bailey Forrest authored
      Fixes: 893ce44d ("gve: Add basic driver framework for Compute Engine Virtual NIC")
      Signed-off-by: default avatarBailey Forrest <bcf@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1db1a862
    • Nicolas Dichtel's avatar
      dev_forward_skb: do not scrub skb mark within the same name space · ff70202b
      Nicolas Dichtel authored
      The goal is to keep the mark during a bpf_redirect(), like it is done for
      legacy encapsulation / decapsulation, when there is no x-netns.
      This was initially done in commit 213dd74a ("skbuff: Do not scrub skb
      mark within the same name space").
      
      When the call to skb_scrub_packet() was added in dev_forward_skb() (commit
      8b27f277 ("skb: allow skb_scrub_packet() to be used by tunnels")), the
      second argument (xnet) was set to true to force a call to skb_orphan(). At
      this time, the mark was always cleanned up by skb_scrub_packet(), whatever
      xnet value was.
      This call to skb_orphan() was removed later in commit
      9c4c3252 ("skbuff: preserve sock reference when scrubbing the skb.").
      But this 'true' stayed here without any real reason.
      
      Let's correctly set xnet in ____dev_forward_skb(), this function has access
      to the previous interface and to the new interface.
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ff70202b
  3. 24 Jun, 2021 24 commits
  4. 23 Jun, 2021 4 commits
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · c2f5c57d
      David S. Miller authored
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf 2021-06-23
      
      The following pull-request contains BPF updates for your *net* tree.
      
      We've added 14 non-merge commits during the last 6 day(s) which contain
      a total of 13 files changed, 137 insertions(+), 64 deletions(-).
      
      Note that when you merge net into net-next, there is a small merge conflict
      between 9f2470fb ("skmsg: Improve udp_bpf_recvmsg() accuracy") from bpf
      with c49661aa ("skmsg: Remove unused parameters of sk_msg_wait_data()")
      from net-next. Resolution is to: i) net/ipv4/udp_bpf.c: take udp_msg_wait_data()
      and remove err parameter from the function, ii) net/ipv4/tcp_bpf.c: take
      tcp_msg_wait_data() and remove err parameter from the function, iii) for
      net/core/skmsg.c and include/linux/skmsg.h: remove the sk_msg_wait_data()
      implementation and its prototype in header.
      
      The main changes are:
      
      1) Fix BPF poke descriptor adjustments after insn rewrite, from John Fastabend.
      
      2) Fix regression when using BPF_OBJ_GET with non-O_RDWR flags, from Maciej Żenczykowski.
      
      3) Various bug and error handling fixes for UDP-related sock_map, from Cong Wang.
      
      4) Fix patching of vmlinux BTF IDs with correct endianness, from Tony Ambardar.
      
      5) Two fixes for TX descriptor validation in AF_XDP, from Magnus Karlsson.
      
      6) Fix overflow in size calculation for bpf_map_area_alloc(), from Bui Quang Minh.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c2f5c57d
    • Eric Dumazet's avatar
      ipv6: exthdrs: do not blindly use init_net · bcc3f2a8
      Eric Dumazet authored
      I see no reason why max_dst_opts_cnt and max_hbh_opts_cnt
      are fetched from the initial net namespace.
      
      The other sysctls (max_dst_opts_len & max_hbh_opts_len)
      are in fact already using the current ns.
      
      Note: it is not clear why ipv6_destopt_rcv() use two ways to
      get to the netns :
      
       1) dev_net(dst->dev)
          Originally used to increment IPSTATS_MIB_INHDRERRORS
      
       2) dev_net(skb->dev)
           Tom used this variant in his patch.
      
      Maybe this calls to use ipv6_skb_net() instead ?
      
      Fixes: 47d3d7ac ("ipv6: Implement limits on Hop-by-Hop and Destination options")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Tom Herbert <tom@quantonium.net>
      Cc: Coco Li <lixiaoyan@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bcc3f2a8
    • Jian-Hong Pan's avatar
      net: bcmgenet: Fix attaching to PYH failed on RPi 4B · b2ac9800
      Jian-Hong Pan authored
      The Broadcom UniMAC MDIO bus from mdio-bcm-unimac module comes too late.
      So, GENET cannot find the ethernet PHY on UniMAC MDIO bus. This leads
      GENET fail to attach the PHY as following log:
      
      bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
      ...
      could not attach to PHY
      bcmgenet fd580000.ethernet eth0: failed to connect to PHY
      uart-pl011 fe201000.serial: no DMA platform data
      libphy: bcmgenet MII bus: probed
      ...
      unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
      
      This patch adds the soft dependency to load mdio-bcm-unimac module
      before genet module to avoid the issue.
      
      Fixes: 9a4e7969 ("net: bcmgenet: utilize generic Broadcom UniMAC MDIO controller driver")
      Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=213485Signed-off-by: default avatarJian-Hong Pan <jhp@endlessos.org>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2ac9800
    • Di Zhu's avatar
      bonding: allow nesting of bonding device · 4d293fe1
      Di Zhu authored
      The commit 3c9ef511 ("bonding: avoid adding slave device with
      IFF_MASTER flag") fix a crash when add slave device with IFF_MASTER,
      but it rejects the scenario of nested bonding device.
      
      As Eric Dumazet described: since there indeed is a usage scenario about
      nesting bonding, we should not break it.
      
      So we add a new judgment condition to allow nesting of bonding device.
      
      Fixes: 3c9ef511 ("bonding: avoid adding slave device with IFF_MASTER flag")
      Suggested-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
      Signed-off-by: default avatarDi Zhu <zhudi21@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d293fe1