1. 03 Sep, 2021 11 commits
    • Nikolay Aleksandrov's avatar
      net: bridge: mcast: fix vlan port router deadlock · ddd0d529
      Nikolay Aleksandrov authored
      Before vlan/port mcast router support was added
      br_multicast_set_port_router was used only with bh already disabled due
      to the bridge port lock, but that is no longer the case and when it is
      called to configure a vlan/port mcast router we can deadlock with the
      timer, so always disable bh to make sure it can be called from contexts
      with both enabled and disabled bh.
      
      Fixes: 2796d846 ("net: bridge: vlan: convert mcast router global option to per-vlan entry")
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ddd0d529
    • Arnd Bergmann's avatar
      net: cs89x0: disable compile testing on powerpc · f1181e39
      Arnd Bergmann authored
      The ISA DMA API is inconsistent between architectures, and while
      powerpc implements most of what the others have, it does not provide
      isa_virt_to_bus():
      
      ../drivers/net/ethernet/cirrus/cs89x0.c: In function ‘net_open’:
      ../drivers/net/ethernet/cirrus/cs89x0.c:897:20: error: implicit declaration of function ‘isa_virt_to_bus’ [-Werror=implicit-function-declaration]
           (unsigned long)isa_virt_to_bus(lp->dma_buff));
      ../drivers/net/ethernet/cirrus/cs89x0.c:894:3: note: in expansion of macro ‘cs89_dbg’
         cs89_dbg(1, debug, "%s: dma %lx %lx\n",
      
      I tried a couple of approaches to handle this consistently across
      all architectures, but as this driver is really only used on
      ARM, I ended up taking the easy way out and just disable compile
      testing on powerpc.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Reported-by: default avatarReported-by: kernel test robot <lkp@intel.com>
      Fixes: 47fd22f2 ("cs89x0: rework driver configuration")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f1181e39
    • Carlo Lobrano's avatar
      net: usb: qmi_wwan: add Telit 0x1060 composition · 8d17a33b
      Carlo Lobrano authored
      This patch adds support for Telit LN920 0x1060 composition
      
      0x1060: tty, adb, rmnet, tty, tty, tty, tty
      Signed-off-by: default avatarCarlo Lobrano <c.lobrano@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d17a33b
    • Colin Ian King's avatar
      seg6_iptunnel: Remove redundant initialization of variable err · bf0df73a
      Colin Ian King authored
      The variable err is being initialized with a value that is never read, it
      is being updated later on. The assignment is redundant and can be removed.
      
      Addresses-Coverity: ("Unused value")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf0df73a
    • Colin Ian King's avatar
      tipc: clean up inconsistent indenting · 743902c5
      Colin Ian King authored
      There is a statement that is indented one character too deeply,
      clean this up.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      743902c5
    • Colin Ian King's avatar
      skbuff: clean up inconsistent indenting · c645fe9b
      Colin Ian King authored
      There is a statement that is indented one character too deeply,
      clean this up.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c645fe9b
    • Colin Ian King's avatar
      drivers: net: smc911x: clean up inconsistent indenting · 73fc9815
      Colin Ian King authored
      There are various function arguments that are not indented correctly,
      clean these up with correct indentation.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      73fc9815
    • Colin Ian King's avatar
      net: 3com: 3c59x: clean up inconsistent indenting · 74323889
      Colin Ian King authored
      There is a statement that is not indented correctly, add in the
      missing tab.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      74323889
    • Mat Martineau's avatar
      mptcp: Only send extra TCP acks in eligible socket states · 340fa666
      Mat Martineau authored
      Recent changes exposed a bug where specifically-timed requests to the
      path manager netlink API could trigger a divide-by-zero in
      __tcp_select_window(), as syzkaller does:
      
      divide error: 0000 [#1] SMP KASAN NOPTI
      CPU: 0 PID: 9667 Comm: syz-executor.0 Not tainted 5.14.0-rc6+ #3
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
      RIP: 0010:__tcp_select_window+0x509/0xa60 net/ipv4/tcp_output.c:3016
      Code: 44 89 ff e8 c9 29 e9 fd 45 39 e7 0f 8d 20 ff ff ff e8 db 28 e9 fd 44 89 e3 e9 13 ff ff ff e8 ce 28 e9 fd 44 89 e0 44 89 e3 99 <f7> 7c 24 04 29 d3 e9 fc fe ff ff e8 b7 28 e9 fd 44 89 f1 48 89 ea
      RSP: 0018:ffff888031ccf020 EFLAGS: 00010216
      RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000040000
      RDX: 0000000000000000 RSI: ffff88811532c080 RDI: 0000000000000002
      RBP: 0000000000000000 R08: ffffffff835807c2 R09: 0000000000000000
      R10: 0000000000000004 R11: ffffed1020b92441 R12: 0000000000000000
      R13: 1ffff11006399e08 R14: 0000000000000000 R15: 0000000000000000
      FS:  00007fa4c8344700(0000) GS:ffff88811ae00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000001b2f424000 CR3: 000000003e4e2003 CR4: 0000000000770ef0
      PKRU: 55555554
      Call Trace:
       tcp_select_window net/ipv4/tcp_output.c:264 [inline]
       __tcp_transmit_skb+0xc00/0x37a0 net/ipv4/tcp_output.c:1351
       __tcp_send_ack.part.0+0x3ec/0x760 net/ipv4/tcp_output.c:3972
       __tcp_send_ack net/ipv4/tcp_output.c:3978 [inline]
       tcp_send_ack+0x7d/0xa0 net/ipv4/tcp_output.c:3978
       mptcp_pm_nl_addr_send_ack+0x1ab/0x380 net/mptcp/pm_netlink.c:654
       mptcp_pm_remove_addr+0x161/0x200 net/mptcp/pm.c:58
       mptcp_nl_remove_id_zero_address+0x197/0x460 net/mptcp/pm_netlink.c:1328
       mptcp_nl_cmd_del_addr+0x98b/0xd40 net/mptcp/pm_netlink.c:1359
       genl_family_rcv_msg_doit.isra.0+0x225/0x340 net/netlink/genetlink.c:731
       genl_family_rcv_msg net/netlink/genetlink.c:775 [inline]
       genl_rcv_msg+0x341/0x5b0 net/netlink/genetlink.c:792
       netlink_rcv_skb+0x148/0x430 net/netlink/af_netlink.c:2504
       genl_rcv+0x24/0x40 net/netlink/genetlink.c:803
       netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline]
       netlink_unicast+0x537/0x750 net/netlink/af_netlink.c:1340
       netlink_sendmsg+0x846/0xd80 net/netlink/af_netlink.c:1929
       sock_sendmsg_nosec net/socket.c:704 [inline]
       sock_sendmsg+0x14e/0x190 net/socket.c:724
       ____sys_sendmsg+0x709/0x870 net/socket.c:2403
       ___sys_sendmsg+0xff/0x170 net/socket.c:2457
       __sys_sendmsg+0xe5/0x1b0 net/socket.c:2486
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x38/0x90 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      mptcp_pm_nl_addr_send_ack() was attempting to send a TCP ACK on the
      first subflow in the MPTCP socket's connection list without validating
      that the subflow was in a suitable connection state. To address this,
      always validate subflow state when sending extra ACKs on subflows
      for address advertisement or subflow priority change.
      
      Fixes: 84dfe367 ("mptcp: send out dedicated ADD_ADDR packet")
      Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/229Co-developed-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Acked-by: default avatarGeliang Tang <geliangtang@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      340fa666
    • Eric Dumazet's avatar
      pktgen: remove unused variable · 20e7b9f8
      Eric Dumazet authored
      pktgen_thread_worker() no longer needs wait variable, delete it.
      
      Fixes: ef87979c ("pktgen: better scheduler friendliness")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Stephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20e7b9f8
    • Shannon Nelson's avatar
      ionic: fix double use of queue-lock · 79a58c06
      Shannon Nelson authored
      Deadlock seen in an instance where the hwstamp configuration
      is changed while the driver is running:
      
      [ 3988.736671]  schedule_preempt_disabled+0xe/0x10
      [ 3988.736676]  __mutex_lock.isra.5+0x276/0x4e0
      [ 3988.736683]  __mutex_lock_slowpath+0x13/0x20
      [ 3988.736687]  ? __mutex_lock_slowpath+0x13/0x20
      [ 3988.736692]  mutex_lock+0x2f/0x40
      [ 3988.736711]  ionic_stop_queues_reconfig+0x16/0x40 [ionic]
      [ 3988.736726]  ionic_reconfigure_queues+0x43e/0xc90 [ionic]
      [ 3988.736738]  ionic_lif_config_hwstamp_rxq_all+0x85/0x90 [ionic]
      [ 3988.736751]  ionic_lif_hwstamp_set_ts_config+0x29c/0x360 [ionic]
      [ 3988.736763]  ionic_lif_hwstamp_set+0x76/0xf0 [ionic]
      [ 3988.736776]  ionic_eth_ioctl+0x33/0x40 [ionic]
      [ 3988.736781]  dev_ifsioc+0x12c/0x420
      [ 3988.736785]  dev_ioctl+0x316/0x720
      
      This can be demonstrated with "ptp4l -m -i <intf>"
      
      To fix this, we pull the use of the queue_lock further up above the
      callers of ionic_reconfigure_queues() and ionic_stop_queues_reconfig().
      
      Fixes: 7ee99fc5 ("ionic: pull hwstamp queue_lock up a level")
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      79a58c06
  2. 02 Sep, 2021 12 commits
    • Rafał Miłecki's avatar
      net: dsa: b53: Set correct number of ports in the DSA struct · d12e1c46
      Rafał Miłecki authored
      Setting DSA_MAX_PORTS caused DSA to call b53 callbacks (e.g.
      b53_disable_port() during dsa_register_switch()) for invalid
      (non-existent) ports. That made b53 modify unrelated registers and is
      one of reasons for a broken BCM5301x support.
      
      This problem exists for years but DSA_MAX_PORTS usage has changed few
      times. It seems the most accurate to reference commit dropping
      dsa_switch_alloc() in the Fixes tag.
      
      Fixes: 7e99e347 ("net: dsa: remove dsa_switch_alloc helper")
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d12e1c46
    • Rafał Miłecki's avatar
      net: dsa: b53: Fix calculating number of switch ports · cdb067d3
      Rafał Miłecki authored
      It isn't true that CPU port is always the last one. Switches BCM5301x
      have 9 ports (port 6 being inactive) and they use port 5 as CPU by
      default (depending on design some other may be CPU ports too).
      
      A more reliable way of determining number of ports is to check for the
      last set bit in the "enabled_ports" bitfield.
      
      This fixes b53 internal state, it will allow providing accurate info to
      the DSA and is required to fix BCM5301x support.
      
      Fixes: 967dd82f ("net: dsa: b53: Add support for Broadcom RoboSwitch")
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cdb067d3
    • Daniele Palmas's avatar
      net: usb: cdc_mbim: avoid altsetting toggling for Telit LN920 · aabbdc67
      Daniele Palmas authored
      Add quirk CDC_MBIM_FLAG_AVOID_ALTSETTING_TOGGLE for Telit LN920
      0x1061 composition in order to avoid bind error.
      Signed-off-by: default avatarDaniele Palmas <dnlplm@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aabbdc67
    • Ziyang Xuan's avatar
      net: hso: add failure handler for add_net_device · ecdc28de
      Ziyang Xuan authored
      If the network devices connected to the system beyond
      HSO_MAX_NET_DEVICES. add_net_device() in hso_create_net_device()
      will be failed for the network_table is full. It will lead to
      business failure which rely on network_table, for example,
      hso_suspend() and hso_resume(). It will also lead to memory leak
      because resource release process can not search the hso_device
      object from network_table in hso_free_interface().
      
      Add failure handler for add_net_device() in hso_create_net_device()
      to solve the above problems.
      
      Fixes: 72dc1c09 ("HSO: add option hso driver")
      Signed-off-by: default avatarZiyang Xuan <william.xuanziyang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecdc28de
    • Tetsuo Handa's avatar
      flow: fix object-size-mismatch warning in flowi{4,6}_to_flowi_common() · b9edbfe1
      Tetsuo Handa authored
      Commit 3df98d79 ("lsm,selinux: pass flowi_common instead of flowi
      to the LSM hooks") introduced flowi{4,6}_to_flowi_common() functions which
      cause UBSAN warning when building with LLVM 11.0.1 on Ubuntu 21.04.
      
       ================================================================================
       UBSAN: object-size-mismatch in ./include/net/flow.h:197:33
       member access within address ffffc9000109fbd8 with insufficient space
       for an object of type 'struct flowi'
       CPU: 2 PID: 7410 Comm: systemd-resolve Not tainted 5.14.0 #51
       Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 02/27/2020
       Call Trace:
        dump_stack_lvl+0x103/0x171
        ubsan_type_mismatch_common+0x1de/0x390
        __ubsan_handle_type_mismatch_v1+0x41/0x50
        udp_sendmsg+0xda2/0x1300
        ? ip_skb_dst_mtu+0x1f0/0x1f0
        ? sock_rps_record_flow+0xe/0x200
        ? inet_send_prepare+0x2d/0x90
        sock_sendmsg+0x49/0x80
        ____sys_sendmsg+0x269/0x370
        __sys_sendmsg+0x15e/0x1d0
        ? syscall_enter_from_user_mode+0xf0/0x1b0
        do_syscall_64+0x3d/0xb0
        entry_SYSCALL_64_after_hwframe+0x44/0xae
       RIP: 0033:0x7f7081a50497
       Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
       RSP: 002b:00007ffc153870f8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
       RAX: ffffffffffffffda RBX: 000000000000000c RCX: 00007f7081a50497
       RDX: 0000000000000000 RSI: 00007ffc15387140 RDI: 000000000000000c
       RBP: 00007ffc15387140 R08: 0000563f29a5e4fc R09: 000000000000cd28
       R10: 0000563f29a68a30 R11: 0000000000000246 R12: 000000000000000c
       R13: 0000000000000001 R14: 0000563f29a68a30 R15: 0000563f29a5e50c
       ================================================================================
      
      I don't think we need to call flowi{4,6}_to_flowi() from these functions
      because the first member of "struct flowi4" and "struct flowi6" is
      
        struct flowi_common __fl_common;
      
      while the first member of "struct flowi" is
      
        union {
          struct flowi_common __fl_common;
          struct flowi4       ip4;
          struct flowi6       ip6;
          struct flowidn      dn;
        } u;
      
      which should point to the same address without access to "struct flowi".
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b9edbfe1
    • Ryoga Saito's avatar
      Set fc_nlinfo in nh_create_ipv4, nh_create_ipv6 · 9aca491e
      Ryoga Saito authored
      This patch fixes kernel NULL pointer dereference when creating nexthop
      which is bound with SRv6 decapsulation. In the creation of nexthop,
      __seg6_end_dt_vrf_build is called. __seg6_end_dt_vrf_build expects
      fc_lninfo in fib6_config is set correctly, but it isn't set in
      nh_create_ipv6, which causes kernel crash.
      
      Here is steps to reproduce kernel crash:
      
      1. modprobe vrf
      2. ip -6 nexthop add encap seg6local action End.DT4 vrftable 1 dev eth0
      
      We got the following message:
      
      [  901.370336] BUG: kernel NULL pointer dereference, address: 0000000000000ba0
      [  901.371658] #PF: supervisor read access in kernel mode
      [  901.372672] #PF: error_code(0x0000) - not-present page
      [  901.373672] PGD 0 P4D 0
      [  901.374248] Oops: 0000 [#1] SMP PTI
      [  901.374944] CPU: 0 PID: 8593 Comm: ip Not tainted 5.14-051400-generic #202108310811-Ubuntu
      [  901.376404] Hardware name: Red Hat KVM, BIOS 1.11.1-4.module_el8.2.0+320+13f867d7 04/01/2014
      [  901.377907] RIP: 0010:vrf_ifindex_lookup_by_table_id+0x19/0x90 [vrf]
      [  901.379182] Code: c1 e9 72 ff ff ff e8 96 49 01 c2 66 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 89 f5 41 54 53 8b 05 47 4c 00 00 <48> 8b 97 a0 0b 00 00 48 8b 1c c2 e8 57 27 53 c1 4c 8d a3 88 00 00
      [  901.382652] RSP: 0018:ffffbf2d02043590 EFLAGS: 00010282
      [  901.383746] RAX: 000000000000000b RBX: ffff990808255e70 RCX: ffffbf2d02043aa8
      [  901.385436] RDX: 0000000000000001 RSI: 0000000000000001 RDI: 0000000000000000
      [  901.386924] RBP: ffffbf2d020435b0 R08: 00000000000000c0 R09: ffff990808255e40
      [  901.388537] R10: ffffffff83b08c90 R11: 0000000000000009 R12: 0000000000000000
      [  901.389937] R13: 0000000000000001 R14: 0000000000000000 R15: 000000000000000b
      [  901.391226] FS:  00007fe49381f740(0000) GS:ffff99087dc00000(0000) knlGS:0000000000000000
      [  901.392737] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  901.393803] CR2: 0000000000000ba0 CR3: 000000000e3e8003 CR4: 0000000000770ef0
      [  901.395122] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  901.396496] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  901.397833] PKRU: 55555554
      [  901.398578] Call Trace:
      [  901.399144]  l3mdev_ifindex_lookup_by_table_id+0x3b/0x70
      [  901.400179]  __seg6_end_dt_vrf_build+0x34/0xd0
      [  901.401067]  seg6_end_dt4_build+0x16/0x20
      [  901.401904]  seg6_local_build_state+0x271/0x430
      [  901.402797]  lwtunnel_build_state+0x81/0x130
      [  901.403645]  fib_nh_common_init+0x82/0x100
      [  901.404465]  ? sock_def_readable+0x4b/0x80
      [  901.405285]  fib6_nh_init+0x115/0x7c0
      [  901.406033]  nh_create_ipv6.isra.0+0xe1/0x140
      [  901.406932]  rtm_new_nexthop+0x3b7/0xeb0
      [  901.407828]  rtnetlink_rcv_msg+0x152/0x3a0
      [  901.408663]  ? rtnl_calcit.isra.0+0x130/0x130
      [  901.409535]  netlink_rcv_skb+0x55/0x100
      [  901.410319]  rtnetlink_rcv+0x15/0x20
      [  901.411026]  netlink_unicast+0x1a8/0x250
      [  901.411813]  netlink_sendmsg+0x238/0x470
      [  901.412602]  ? _copy_from_user+0x2b/0x60
      [  901.413394]  sock_sendmsg+0x65/0x70
      [  901.414112]  ____sys_sendmsg+0x218/0x290
      [  901.414929]  ? copy_msghdr_from_user+0x5c/0x90
      [  901.415814]  ___sys_sendmsg+0x81/0xc0
      [  901.416559]  ? fsnotify_destroy_marks+0x27/0xf0
      [  901.417447]  ? call_rcu+0xa4/0x230
      [  901.418153]  ? kmem_cache_free+0x23f/0x410
      [  901.418972]  ? dentry_free+0x37/0x70
      [  901.419705]  ? mntput_no_expire+0x4c/0x260
      [  901.420574]  __sys_sendmsg+0x62/0xb0
      [  901.421297]  __x64_sys_sendmsg+0x1f/0x30
      [  901.422057]  do_syscall_64+0x5c/0xc0
      [  901.422756]  ? syscall_exit_to_user_mode+0x27/0x50
      [  901.423675]  ? __x64_sys_close+0x12/0x40
      [  901.424462]  ? do_syscall_64+0x69/0xc0
      [  901.425219]  ? irqentry_exit_to_user_mode+0x9/0x20
      [  901.426149]  ? irqentry_exit+0x19/0x30
      [  901.426901]  ? exc_page_fault+0x89/0x160
      [  901.427709]  ? asm_exc_page_fault+0x8/0x30
      [  901.428536]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [  901.429514] RIP: 0033:0x7fe493945747
      [  901.430248] Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
      [  901.433549] RSP: 002b:00007ffe9932cf68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
      [  901.434981] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fe493945747
      [  901.436303] RDX: 0000000000000000 RSI: 00007ffe9932cfe0 RDI: 0000000000000003
      [  901.437607] RBP: 00000000613053f7 R08: 0000000000000001 R09: 00007ffe9932d07c
      [  901.438990] R10: 000055f4a903a010 R11: 0000000000000246 R12: 0000000000000001
      [  901.440340] R13: 0000000000000001 R14: 000055f4a802b163 R15: 000055f4a8042020
      [  901.441630] Modules linked in: vrf nls_utf8 isofs nls_iso8859_1 dm_multipath scsi_dh_rdac scsi_dh_emc scsi_dh_alua intel_rapl_msr intel_rapl_common isst_if_mbox_msr isst_if_common nfit rapl input_leds joydev serio_raw qemu_fw_cfg mac_hid sch_fq_codel drm virtio_rng ip_tables x_tables autofs4 btrfs blake2b_generic zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd virtio_net net_failover cryptd psmouse virtio_blk failover i2c_piix4 pata_acpi floppy
      [  901.450808] CR2: 0000000000000ba0
      [  901.451514] ---[ end trace c27b934b99ade304 ]---
      [  901.452403] RIP: 0010:vrf_ifindex_lookup_by_table_id+0x19/0x90 [vrf]
      [  901.453626] Code: c1 e9 72 ff ff ff e8 96 49 01 c2 66 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 89 f5 41 54 53 8b 05 47 4c 00 00 <48> 8b 97 a0 0b 00 00 48 8b 1c c2 e8 57 27 53 c1 4c 8d a3 88 00 00
      [  901.456910] RSP: 0018:ffffbf2d02043590 EFLAGS: 00010282
      [  901.457912] RAX: 000000000000000b RBX: ffff990808255e70 RCX: ffffbf2d02043aa8
      [  901.459238] RDX: 0000000000000001 RSI: 0000000000000001 RDI: 0000000000000000
      [  901.460552] RBP: ffffbf2d020435b0 R08: 00000000000000c0 R09: ffff990808255e40
      [  901.461882] R10: ffffffff83b08c90 R11: 0000000000000009 R12: 0000000000000000
      [  901.463208] R13: 0000000000000001 R14: 0000000000000000 R15: 000000000000000b
      [  901.464529] FS:  00007fe49381f740(0000) GS:ffff99087dc00000(0000) knlGS:0000000000000000
      [  901.466058] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  901.467189] CR2: 0000000000000ba0 CR3: 000000000e3e8003 CR4: 0000000000770ef0
      [  901.468515] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  901.469858] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  901.471139] PKRU: 55555554
      Signed-off-by: default avatarRyoga Saito <contact@proelbtn.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9aca491e
    • Dan Carpenter's avatar
      net: qrtr: revert check in qrtr_endpoint_post() · d2cabd2d
      Dan Carpenter authored
      I tried to make this check stricter as a hardenning measure but it broke
      audo and wifi on these devices so revert it.
      
      Fixes: aaa8e492 ("net: qrtr: make checks in qrtr_endpoint_post() stricter")
      Reported-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Tested-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d2cabd2d
    • Jan Hoffmann's avatar
      net: dsa: lantiq_gswip: fix maximum frame length · 552799f8
      Jan Hoffmann authored
      Currently, outgoing packets larger than 1496 bytes are dropped when
      tagged VLAN is used on a switch port.
      
      Add the frame check sequence length to the value of the register
      GSWIP_MAC_FLEN to fix this. This matches the lantiq_ppa vendor driver,
      which uses a value consisting of 1518 bytes for the MAC frame, plus the
      lengths of special tag and VLAN tags.
      
      Fixes: 14fceff4 ("net: dsa: Add Lantiq / Intel DSA driver for vrx200")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJan Hoffmann <jan@3e8.eu>
      Acked-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      552799f8
    • Jakub Kicinski's avatar
      selftests: add simple GSO GRE test · 025efa0a
      Jakub Kicinski authored
      Test case for commit a6e3f298 ("ip6_tunnel: fix GRE6 segmentation").
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      025efa0a
    • Jiwon Kim's avatar
      ipv6: change return type from int to void for mld_process_v2 · 3f22bb13
      Jiwon Kim authored
      The mld_process_v2 only returned 0.
      
      So, the return type is changed to void.
      Signed-off-by: default avatarJiwon Kim <jiwonaid0@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f22bb13
    • Geert Uytterhoeven's avatar
      net/sun3_82586: Fix return value of sun3_82586_probe() · 66abf5fb
      Geert Uytterhoeven authored
      drivers/net/ethernet/i825xx/sun3_82586.c: In function ‘sun3_82586_probe’:
      drivers/net/ethernet/i825xx/sun3_82586.c:317:9: warning: returning ‘struct net_device *’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion]
        317 |  return dev;
            |         ^~~
      
      The return type of sun3_82586_probe() was changed, but one return value
      was forgotten to be updated.
      
      Fixes: e179d78e ("m68k: remove legacy probing")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      66abf5fb
    • Ivan Mikhaylov's avatar
      net/ncsi: add get MAC address command to get Intel i210 MAC address · 205b95fe
      Ivan Mikhaylov authored
      This patch adds OEM Intel GMA command and response handler for it.
      Signed-off-by: default avatarBrad Ho <Brad_Ho@phoenix.com>
      Signed-off-by: default avatarPaul Fertser <fercerpav@gmail.com>
      Signed-off-by: default avatarIvan Mikhaylov <i.mikhaylov@yadro.com>
      Link: https://lore.kernel.org/r/20210830171806.119857-2-i.mikhaylov@yadro.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      205b95fe
  3. 01 Sep, 2021 10 commits
  4. 31 Aug, 2021 7 commits
    • Linus Torvalds's avatar
      Merge tag 'net-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 9e9fb765
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core:
      
         - Enable memcg accounting for various networking objects.
      
        BPF:
      
         - Introduce bpf timers.
      
         - Add perf link and opaque bpf_cookie which the program can read out
           again, to be used in libbpf-based USDT library.
      
         - Add bpf_task_pt_regs() helper to access user space pt_regs in
           kprobes, to help user space stack unwinding.
      
         - Add support for UNIX sockets for BPF sockmap.
      
         - Extend BPF iterator support for UNIX domain sockets.
      
         - Allow BPF TCP congestion control progs and bpf iterators to call
           bpf_setsockopt(), e.g. to switch to another congestion control
           algorithm.
      
        Protocols:
      
         - Support IOAM Pre-allocated Trace with IPv6.
      
         - Support Management Component Transport Protocol.
      
         - bridge: multicast: add vlan support.
      
         - netfilter: add hooks for the SRv6 lightweight tunnel driver.
      
         - tcp:
             - enable mid-stream window clamping (by user space or BPF)
             - allow data-less, empty-cookie SYN with TFO_SERVER_COOKIE_NOT_REQD
             - more accurate DSACK processing for RACK-TLP
      
         - mptcp:
             - add full mesh path manager option
             - add partial support for MP_FAIL
             - improve use of backup subflows
             - optimize option processing
      
         - af_unix: add OOB notification support.
      
         - ipv6: add IFLA_INET6_RA_MTU to expose MTU value advertised by the
           router.
      
         - mac80211: Target Wake Time support in AP mode.
      
         - can: j1939: extend UAPI to notify about RX status.
      
        Driver APIs:
      
         - Add page frag support in page pool API.
      
         - Many improvements to the DSA (distributed switch) APIs.
      
         - ethtool: extend IRQ coalesce uAPI with timer reset modes.
      
         - devlink: control which auxiliary devices are created.
      
         - Support CAN PHYs via the generic PHY subsystem.
      
         - Proper cross-chip support for tag_8021q.
      
         - Allow TX forwarding for the software bridge data path to be
           offloaded to capable devices.
      
        Drivers:
      
         - veth: more flexible channels number configuration.
      
         - openvswitch: introduce per-cpu upcall dispatch.
      
         - Add internet mix (IMIX) mode to pktgen.
      
         - Transparently handle XDP operations in the bonding driver.
      
         - Add LiteETH network driver.
      
         - Renesas (ravb):
             - support Gigabit Ethernet IP
      
         - NXP Ethernet switch (sja1105):
             - fast aging support
             - support for "H" switch topologies
             - traffic termination for ports under VLAN-aware bridge
      
         - Intel 1G Ethernet
             - support getcrosststamp() with PCIe PTM (Precision Time
               Measurement) for better time sync
             - support Credit-Based Shaper (CBS) offload, enabling HW traffic
               prioritization and bandwidth reservation
      
         - Broadcom Ethernet (bnxt)
             - support pulse-per-second output
             - support larger Rx rings
      
         - Mellanox Ethernet (mlx5)
             - support ethtool RSS contexts and MQPRIO channel mode
             - support LAG offload with bridging
             - support devlink rate limit API
             - support packet sampling on tunnels
      
         - Huawei Ethernet (hns3):
             - basic devlink support
             - add extended IRQ coalescing support
             - report extended link state
      
         - Netronome Ethernet (nfp):
             - add conntrack offload support
      
         - Broadcom WiFi (brcmfmac):
             - add WPA3 Personal with FT to supported cipher suites
             - support 43752 SDIO device
      
         - Intel WiFi (iwlwifi):
             - support scanning hidden 6GHz networks
             - support for a new hardware family (Bz)
      
         - Xen pv driver:
             - harden netfront against malicious backends
      
         - Qualcomm mobile
             - ipa: refactor power management and enable automatic suspend
             - mhi: move MBIM to WWAN subsystem interfaces
      
        Refactor:
      
         - Ambient BPF run context and cgroup storage cleanup.
      
         - Compat rework for ndo_ioctl.
      
        Old code removal:
      
         - prism54 remove the obsoleted driver, deprecated by the p54 driver.
      
         - wan: remove sbni/granch driver"
      
      * tag 'net-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1715 commits)
        net: Add depends on OF_NET for LiteX's LiteETH
        ipv6: seg6: remove duplicated include
        net: hns3: remove unnecessary spaces
        net: hns3: add some required spaces
        net: hns3: clean up a type mismatch warning
        net: hns3: refine function hns3_set_default_feature()
        ipv6: remove duplicated 'net/lwtunnel.h' include
        net: w5100: check return value after calling platform_get_resource()
        net/mlxbf_gige: Make use of devm_platform_ioremap_resourcexxx()
        net: mdio: mscc-miim: Make use of the helper function devm_platform_ioremap_resource()
        net: mdio-ipq4019: Make use of devm_platform_ioremap_resource()
        fou: remove sparse errors
        ipv4: fix endianness issue in inet_rtm_getroute_build_skb()
        octeontx2-af: Set proper errorcode for IPv4 checksum errors
        octeontx2-af: Fix static code analyzer reported issues
        octeontx2-af: Fix mailbox errors in nix_rss_flowkey_cfg
        octeontx2-af: Fix loop in free and unmap counter
        af_unix: fix potential NULL deref in unix_dgram_connect()
        dpaa2-eth: Replace strlcpy with strscpy
        octeontx2-af: Use NDC TX for transmit packet data
        ...
      9e9fb765
    • Linus Torvalds's avatar
      Merge branch 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 86ac54e7
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "There is a long-standing subtle destroy_workqueue() bug where a
        workqueue can be destroyed while internal work items used for flushing
        are still in flight. Lai fixed it by assigning a flush color to the
        internal work items so that they are correctly waited for during
        destruction.
      
        Other than that, all are minor cleanups"
      
      * 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Remove unused WORK_NO_COLOR
        workqueue: Assign a color to barrier work items
        workqueue: Mark barrier work with WORK_STRUCT_INACTIVE
        workqueue: Change the code of calculating work_flags in insert_wq_barrier()
        workqueue: Change arguement of pwq_dec_nr_in_flight()
        workqueue: Rename "delayed" (delayed by active management) to "inactive"
        workqueue: Replace deprecated CPU-hotplug functions.
        workqueue: Replace deprecated ida_simple_*() with ida_alloc()/ida_free()
        workqueue: Fix typo in comments
        workqueue: Fix possible memory leaks in wq_numa_init()
      86ac54e7
    • Linus Torvalds's avatar
      Merge branch 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 69dc8010
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "Two cpuset behavior changes:
      
         - cpuset on cgroup2 is changed to enable memory migration based on
           nodemask by default.
      
         - A notification is generated when cpuset partition state changes.
      
        All other patches are minor fixes and cleanups"
      
      * 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: Avoid compiler warnings with no subsystems
        cgroup/cpuset: Avoid memory migration when nodemasks match
        cgroup/cpuset: Enable memory migration for cpuset v2
        cgroup/cpuset: Enable event notification when partition state changes
        cgroup: cgroup-v1: clean up kernel-doc notation
        cgroup: Replace deprecated CPU-hotplug functions.
        cgroup/cpuset: Fix violation of cpuset locking rule
        cgroup/cpuset: Fix a partition bug with hotplug
        cgroup/cpuset: Miscellaneous code cleanup
        cgroup: remove cgroup_mount from comments
      69dc8010
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft · 81b0b29b
      Linus Torvalds authored
      Pull ibft updates from Konrad Rzeszutek Wilk:
       "A fix for iBFT parsing code badly interfacing when KASLR is enabled"
      
      * 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:
        iscsi_ibft: fix warning in reserve_ibft_region()
        iscsi_ibft: fix crash due to KASLR physical memory remapping
      81b0b29b
    • Linus Torvalds's avatar
      Merge tag 'for-5.15/dm-changes' of... · efa916af
      Linus Torvalds authored
      Merge tag 'for-5.15/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Add DM infrastructure for IMA-based remote attestion. These changes
         are the basis for deploying DM-based storage in a "cloud" that must
         validate configurations end-users run to maintain trust. These DM
         changes allow supported DM targets' configurations to be measured via
         IMA. But the policy and enforcement (of which configurations are
         valid) is managed by something outside the kernel (e.g. Keylime).
      
       - Fix DM crypt scalability regression on systems with many cpus due to
         percpu_counter spinlock contention in crypt_page_alloc().
      
       - Use in_hardirq() instead of deprecated in_irq() in DM crypt.
      
       - Add event counters to DM writecache to allow users to further assess
         how the writecache is performing.
      
       - Various code cleanup in DM writecache's main IO mapping function.
      
      * tag 'for-5.15/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm crypt: use in_hardirq() instead of deprecated in_irq()
        dm ima: update dm documentation for ima measurement support
        dm ima: update dm target attributes for ima measurements
        dm ima: add a warning in dm_init if duplicate ima events are not measured
        dm ima: prefix ima event name related to device mapper with dm_
        dm ima: add version info to dm related events in ima log
        dm ima: prefix dm table hashes in ima log with hash algorithm
        dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc()
        dm: add documentation for IMA measurement support
        dm: update target status functions to support IMA measurement
        dm ima: measure data on device rename
        dm ima: measure data on table clear
        dm ima: measure data on device remove
        dm ima: measure data on device resume
        dm ima: measure data on table load
        dm writecache: add event counters
        dm writecache: report invalid return from writecache_map helpers
        dm writecache: further writecache_map() cleanup
        dm writecache: factor out writecache_map_remap_origin()
        dm writecache: split up writecache_map() to improve code readability
      efa916af
    • Linus Torvalds's avatar
      Merge tag 'leds-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · a998a62b
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Usual driver changes, some documentation that should hopefully get LED
        names standartized, and many fixes"
      
      * tag 'leds-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (32 commits)
        leds: pca955x: Switch to i2c probe_new
        leds: pca955x: Let the core process the fwnode
        leds: pca955x: Implement the default-state property
        leds: pca955x: Add brightness_get function
        leds: pca955x: Clean up code formatting
        leds: leds-core: Implement the retain-state-shutdown property
        dt-bindings: leds: Add retain-state-shutdown boolean
        Documentation: leds: standartizing LED names
        leds: trigger: remove reference to obsolete CONFIG_IDE_GD_ATA
        leds: lp50xx: Fix chip name in KConfig
        leds: pwm: add support for default-state device property
        leds: move default_state read from fwnode to core
        leds: flash: Remove redundant initialization of variable ret
        leds: lgm-sso: Propagate error codes from callee to caller
        leds: trigger: audio: Add an activate callback to ensure the initial brightness is set
        leds: rt8515: Put fwnode in any case during ->probe()
        leds: lt3593: Put fwnode in any case during ->probe()
        leds: lm3697: Make error handling more robust
        leds: lm3697: Update header block to reflect reality
        leds: lm3692x: Correct headers (of*.h -> mod_devicetable.h)
        ...
      a998a62b
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · e7c1bbcf
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "New drivers for:
      
         - Aquacomputer D5 Next
      
         - SB-RMI power module
      
        Added chip support to existing drivers:
      
         - Support for various Zen2 and Zen3 APUs and for Yellow Carp (SMU
           v13) added to k10temp driver
      
         - Support for Silicom n5010 PAC added to intel-m10-bmc driver
      
         - Support for BPD-RS600 added to pmbus/bpa-rs600 driver
      
        Other notable changes:
      
         - In k10temp, do not display Tdie on Zen CPUs if there is no
           difference between Tdie and Tctl
      
         - Converted adt7470 and dell-smm drivers to use
           devm_hwmon_device_register_with_info API
      
         - Support for temperature/pwm tables added to axi-fan-control driver
      
         - Enabled fan control for Dell Precision 7510 in dell-smm driver
      
        Various other minor improvements and fixes in several drivers"
      
      * tag 'hwmon-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (41 commits)
        hwmon: add driver for Aquacomputer D5 Next
        hwmon: (adt7470) Convert to devm_hwmon_device_register_with_info API
        hwmon: (adt7470) Convert to use regmap
        hwmon: (adt7470) Fix some style issues
        hwmon: (k10temp) Add support for yellow carp
        hwmon: (k10temp) Rework the temperature offset calculation
        hwmon: (k10temp) Don't show Tdie for all Zen/Zen2/Zen3 CPU/APU
        hwmon: (k10temp) Add additional missing Zen2 and Zen3 APUs
        hwmon: remove amd_energy driver in Makefile
        hwmon: (dell-smm) Rework SMM function debugging
        hwmon: (dell-smm) Mark i8k_get_fan_nominal_speed as __init
        hwmon: (dell-smm) Mark tables as __initconst
        hwmon: (pmbus/bpa-rs600) Add workaround for incorrect Pin max
        hwmon: (pmbus/bpa-rs600) Don't use rated limits as warn limits
        hwmon: (axi-fan-control) Support temperature vs pwm points
        hwmon: (axi-fan-control) Handle irqs in natural order
        hwmon: (axi-fan-control) Make sure the clock is enabled
        hwmon: (pmbus/ibm-cffps) Fix write bits for LED control
        hwmon: (w83781d) Match on device tree compatibles
        dt-bindings: hwmon: Add bindings for Winbond W83781D
        ...
      e7c1bbcf