1. 28 Jun, 2021 8 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 5 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
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec · 7c2becf7
      David S. Miller authored
      Steffen Klassert says:
      
      ====================
      pull request (net): ipsec 2021-06-23
      
      1) Don't return a mtu smaller than 1280 on IPv6 pmtu discovery.
         From Sabrina Dubroca
      
      2) Fix seqcount rcu-read side in xfrm_policy_lookup_bytype
         for the PREEMPT_RT case. From Varad Gautam.
      
      3) Remove a repeated declaration of xfrm_parse_spi.
         From Shaokun Zhang.
      
      4) IPv4 beet mode can't handle fragments, but IPv6 does.
         commit 68dc022d ("xfrm: BEET mode doesn't support
         fragments for inner packets") handled IPv4 and IPv6
         the same way. Relax the check for IPv6 because fragments
         are possible here. From Xin Long.
      
      5) Memory allocation failures are not reported for
         XFRMA_ENCAP and XFRMA_COADDR in xfrm_state_construct.
         Fix this by moving both cases in front of the function.
      
      6) Fix a missing initialization in the xfrm offload fallback
         fail case for bonding devices. From Ayush Sawal.
      
      Please pull or let me know if there are problems.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7c2becf7