1. 04 9月, 2021 4 次提交
  2. 03 9月, 2021 12 次提交
  3. 02 9月, 2021 16 次提交
    • R
      net: dsa: b53: Set correct number of ports in the DSA struct · d12e1c46
      Rafał Miłecki 提交于
      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: NRafał Miłecki <rafal@milecki.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d12e1c46
    • R
      net: dsa: b53: Fix calculating number of switch ports · cdb067d3
      Rafał Miłecki 提交于
      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: NRafał Miłecki <rafal@milecki.pl>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cdb067d3
    • D
      net: usb: cdc_mbim: avoid altsetting toggling for Telit LN920 · aabbdc67
      Daniele Palmas 提交于
      Add quirk CDC_MBIM_FLAG_AVOID_ALTSETTING_TOGGLE for Telit LN920
      0x1061 composition in order to avoid bind error.
      Signed-off-by: NDaniele Palmas <dnlplm@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aabbdc67
    • Z
      net: hso: add failure handler for add_net_device · ecdc28de
      Ziyang Xuan 提交于
      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: NZiyang Xuan <william.xuanziyang@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ecdc28de
    • T
      flow: fix object-size-mismatch warning in flowi{4,6}_to_flowi_common() · b9edbfe1
      Tetsuo Handa 提交于
      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: NTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b9edbfe1
    • R
      Set fc_nlinfo in nh_create_ipv4, nh_create_ipv6 · 9aca491e
      Ryoga Saito 提交于
      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: NRyoga Saito <contact@proelbtn.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9aca491e
    • D
      net: qrtr: revert check in qrtr_endpoint_post() · d2cabd2d
      Dan Carpenter 提交于
      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: NJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Tested-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d2cabd2d
    • J
      net: dsa: lantiq_gswip: fix maximum frame length · 552799f8
      Jan Hoffmann 提交于
      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: NJan Hoffmann <jan@3e8.eu>
      Acked-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      552799f8
    • J
      selftests: add simple GSO GRE test · 025efa0a
      Jakub Kicinski 提交于
      Test case for commit a6e3f298 ("ip6_tunnel: fix GRE6 segmentation").
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      025efa0a
    • J
      ipv6: change return type from int to void for mld_process_v2 · 3f22bb13
      Jiwon Kim 提交于
      The mld_process_v2 only returned 0.
      
      So, the return type is changed to void.
      Signed-off-by: NJiwon Kim <jiwonaid0@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3f22bb13
    • G
      net/sun3_82586: Fix return value of sun3_82586_probe() · 66abf5fb
      Geert Uytterhoeven 提交于
      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: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66abf5fb
    • I
      net/ncsi: add get MAC address command to get Intel i210 MAC address · 205b95fe
      Ivan Mikhaylov 提交于
      This patch adds OEM Intel GMA command and response handler for it.
      Signed-off-by: NBrad Ho <Brad_Ho@phoenix.com>
      Signed-off-by: NPaul Fertser <fercerpav@gmail.com>
      Signed-off-by: NIvan Mikhaylov <i.mikhaylov@yadro.com>
      Link: https://lore.kernel.org/r/20210830171806.119857-2-i.mikhaylov@yadro.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      205b95fe
    • E
      bnxt_en: fix kernel doc warnings in bnxt_hwrm.c · 5240118f
      Edwin Peer 提交于
      Parameter names in the comments did not match the function arguments.
      
      Fixes: 21380817 ("bnxt_en: add support for HWRM request slices")
      Signed-off-by: NEdwin Peer <edwin.peer@broadcom.com>
      Reported-by: NJakub Kicinski <kuba@kernel.org>
      Reviewed-by: NMichael Chan <michael.chan@broadcom.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Link: https://lore.kernel.org/r/20210901185315.57137-1-edwin.peer@broadcom.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      5240118f
    • J
      Merge branch 'mptcp-prevent-tcp_push-crash-and-selftest-temp-file-buildup' · 36e784a6
      Jakub Kicinski 提交于
      Mat Martineau says:
      
      ====================
      mptcp: Prevent tcp_push() crash and selftest temp file buildup
      
      These are two fixes for the net tree, addressing separate issues.
      
      Patch 1 addresses a divide-by-zero crash seen in syzkaller and also
      reported by a user on the netdev list. This changes MPTCP code so
      tcp_push() cannot be called with an invalid (0) mss_now value.
      
      Patch 2 fixes a selftest temp file cleanup issue that consumes excessive
      disk space when running repeated tests.
      ====================
      
      Link: https://lore.kernel.org/r/20210901171537.121255-1-mathew.j.martineau@linux.intel.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      36e784a6
    • M
      selftests: mptcp: clean tmp files in simult_flows · bfd862a7
      Matthieu Baerts 提交于
      '$cin' and '$sin' variables are local to a function: they are then not
      available from the cleanup trap.
      
      Instead, we need to use '$large' and '$small' that are not local and
      defined just before setting the trap.
      
      Without this patch, running this script in a loop might cause a:
      
        write: No space left on device
      
      issue.
      
      Fixes: 1a418cb8 ("mptcp: simult flow self-tests")
      Acked-by: NPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: NMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: NMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      bfd862a7
    • P
      mptcp: fix possible divide by zero · 1094c6fe
      Paolo Abeni 提交于
      Florian noted that if mptcp_alloc_tx_skb() allocation fails
      in __mptcp_push_pending(), we can end-up invoking
      mptcp_push_release()/tcp_push() with a zero mss, causing
      a divide by 0 error.
      
      This change addresses the issue refactoring the skb allocation
      code checking if skb collapsing will happen for sure and doing
      the skb allocation only after such check. Skb allocation will
      now happen only after the call to tcp_send_mss() which
      correctly initializes mss_now.
      
      As side bonuses we now fill the skb tx cache only when needed,
      and this also clean-up a bit the output path.
      
      v1 -> v2:
       - use lockdep_assert_held_once() - Jakub
       - fix indentation - Jakub
      Reported-by: NFlorian Westphal <fw@strlen.de>
      Fixes: 724cfd2e ("mptcp: allocate TX skbs in msk context")
      Signed-off-by: NPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: NMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      1094c6fe
  4. 01 9月, 2021 8 次提交
    • W
      mptcp: Fix duplicated argument in protocol.h · 780aa120
      Wan Jiabing 提交于
      Fix the following coccicheck warning:
      ./net/mptcp/protocol.h:36:50-73: duplicated argument to & or |
      
      The OPTION_MPTCP_MPJ_SYNACK here is duplicate.
      Here should be OPTION_MPTCP_MPJ_ACK.
      
      Fixes: 74c7dfbe ("mptcp: consolidate in_opt sub-options fields in a bitmask")
      Signed-off-by: NWan Jiabing <wanjiabing@vivo.com>
      Acked-by: NPaolo Abeni <pabeni@redhat.com>
      Reviewed-by: NMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      780aa120
    • L
      net: dsa: tag_rtl4_a: Fix egress tags · 0e90dfa7
      Linus Walleij 提交于
      I noticed that only port 0 worked on the RTL8366RB since we
      started to use custom tags.
      
      It turns out that the format of egress custom tags is actually
      different from ingress custom tags. While the lower bits just
      contain the port number in ingress tags, egress tags need to
      indicate destination port by setting the bit for the
      corresponding port.
      
      It was working on port 0 because port 0 added 0x00 as port
      number in the lower bits, and if you do this the packet appears
      at all ports, including the intended port. Ooops.
      
      Fix this and all ports work again. Use the define for shifting
      the "type A" into place while we're at it.
      
      Tested on the D-Link DIR-685 by sending traffic to each of
      the ports in turn. It works.
      
      Fixes: 86dd9868 ("net: dsa: tag_rtl4_a: Support also egress tags")
      Cc: DENG Qingfang <dqfext@gmail.com>
      Cc: Mauri Sandberg <sandberg@mailfence.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0e90dfa7
    • G
      octeontx2-pf: cn10K: Reserve LMTST lines per core · ef6c8da7
      Geetha sowjanya 提交于
      This patch reserves the LMTST lines per cpu instead
      of separate LMTST lines for NPA(buffer free) and NIX(sqe flush).
      LMTST line of the core on which SQ or RQ is processed is used
      for LMTST operation.
      
      This patch also replace STEOR with STEORL release semantics and
      updates driver name in ethtool file.
      Signed-off-by: NGeetha sowjanya <gakula@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ef6c8da7
    • S
      octeontx2-af: Add additional register check to rvu_poll_reg() · 21274aa1
      Smadar Fuks 提交于
      Check one more time before exiting the API with an error.
      Fix API to poll at least twice, in case there are other high priority
      tasks and this API doesn't get CPU cycles for multiple jiffies update.
      
      In addition, increase timeout from usecs_to_jiffies(10000) to
      usecs_to_jiffies(20000), to prevent the case that for CONFIG_100HZ
      timeout will be a single jiffies.
      A single jiffies results actual timeout that can be any time between
      1usec and 10msec. To solve this, a value of usecs_to_jiffies(20000)
      ensures that timeout is 2 jiffies.
      Signed-off-by: NSmadar Fuks <smadarf@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      21274aa1
    • W
      net: ixp46x: Remove duplicate include of module.h · 8eebaf4a
      Wan Jiabing 提交于
      Remove repeated include of linux/module.h as it has been included
      at line 8.
      Signed-off-by: NWan Jiabing <wanjiabing@vivo.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8eebaf4a
    • M
      bnxt_en: Fix 64-bit doorbell operation on 32-bit kernels · c6132f6f
      Michael Chan 提交于
      The driver requires 64-bit doorbell writes to be atomic on 32-bit
      architectures.  So we redefined writeq as a new macro with spinlock
      protection on 32-bit architectures.  This created a new warning when
      we added a new file in a recent patchset.  writeq is defined on many
      32-bit architectures to do the memory write non-atomically and it
      generated a new macro redefined warning.  This warning was fixed
      incorrectly in the recent patch.
      
      Fix this properly by adding a new bnxt_writeq() function that will
      do the non-atomic write under spinlock on 32-bit systems.  All callers
      in the driver will now call bnxt_writeq() instead.
      
      v2: Need to pass in bp to bnxt_writeq()
          Use lo_hi_writeq() [suggested by Florian]
      Reported-by: Nkernel test robot <lkp@intel.com>
      Fixes: f9ff5782 ("bnxt_en: introduce new firmware message API based on DMA pools")
      Reviewed-by: NEdwin Peer <edwin.peer@broadcom.com>
      Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c6132f6f
    • L
      Merge tag 'net-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 9e9fb765
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 86ac54e7
      Linus Torvalds 提交于
      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