1. 14 Mar, 2024 12 commits
  2. 12 Mar, 2024 6 commits
  3. 11 Mar, 2024 7 commits
  4. 09 Mar, 2024 4 commits
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-socket-direct-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · d7e14e53
      Jakub Kicinski authored
      Saeed Mahameed says:
      
      ====================
      Support Multi-PF netdev (Socket Direct)
      
      This series adds support for combining multiple devices (PFs) of the
      same port under one netdev instance. Passing traffic through different
      devices belonging to different NUMA sockets saves cross-numa traffic and
      allows apps running on the same netdev from different numas to still
      feel a sense of proximity to the device and achieve improved
      performance.
      
      We achieve this by grouping PFs together, and creating the netdev only
      once all group members are probed. Symmetrically, we destroy the netdev
      once any of the PFs is removed.
      
      The channels are distributed between all devices, a proper configuration
      would utilize the correct close numa when working on a certain app/cpu.
      
      We pick one device to be a primary (leader), and it fills a special
      role.  The other devices (secondaries) are disconnected from the network
      in the chip level (set to silent mode). All RX/TX traffic is steered
      through the primary to/from the secondaries.
      
      Currently, we limit the support to PFs only, and up to two devices
      (sockets).
      
      * tag 'mlx5-socket-direct-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        Documentation: networking: Add description for multi-pf netdev
        net/mlx5: Enable SD feature
        net/mlx5e: Block TLS device offload on combined SD netdev
        net/mlx5e: Support per-mdev queue counter
        net/mlx5e: Support cross-vhca RSS
        net/mlx5e: Let channels be SD-aware
        net/mlx5e: Create EN core HW resources for all secondary devices
        net/mlx5e: Create single netdev per SD group
        net/mlx5: SD, Add debugfs
        net/mlx5: SD, Add informative prints in kernel log
        net/mlx5: SD, Implement steering for primary and secondaries
        net/mlx5: SD, Implement devcom communication and primary election
        net/mlx5: SD, Implement basic query and instantiation
        net/mlx5: SD, Introduce SD lib
        net/mlx5: Add MPIR bit in mcam_access_reg
      ====================
      
      Link: https://lore.kernel.org/r/20240307084229.500776-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d7e14e53
    • Jakub Kicinski's avatar
      Merge tag 'for-net-next-2024-03-08' of... · 2f901582
      Jakub Kicinski authored
      Merge tag 'for-net-next-2024-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
      
      Luiz Augusto von Dentz says:
      
      ====================
      bluetooth-next pull request for net-next:
      
       - hci_conn: Only do ACL connections sequentially
       - hci_core: Cancel request on command timeout
       - Remove CONFIG_BT_HS
       - btrtl: Add the support for RTL8852BT/RTL8852BE-VT
       - btusb: Add support Mediatek MT7920
       - btusb: Add new VID/PID 13d3/3602 for MT7925
       - Add new quirk for broken read key length on ATS2851
      
      * tag 'for-net-next-2024-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next: (52 commits)
        Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync
        Bluetooth: Fix eir name length
        Bluetooth: ISO: Align broadcast sync_timeout with connection timeout
        Bluetooth: Add new quirk for broken read key length on ATS2851
        Bluetooth: mgmt: remove NULL check in add_ext_adv_params_complete()
        Bluetooth: mgmt: remove NULL check in mgmt_set_connectable_complete()
        Bluetooth: btusb: Add support Mediatek MT7920
        Bluetooth: btmtk: Add MODULE_FIRMWARE() for MT7922
        Bluetooth: btnxpuart: Fix btnxpuart_close
        Bluetooth: ISO: Clean up returns values in iso_connect_ind()
        Bluetooth: fix use-after-free in accessing skb after sending it
        Bluetooth: af_bluetooth: Fix deadlock
        Bluetooth: bnep: Fix out-of-bound access
        Bluetooth: btusb: Fix memory leak
        Bluetooth: msft: Fix memory leak
        Bluetooth: hci_core: Fix possible buffer overflow
        Bluetooth: btrtl: fix out of bounds memory access
        Bluetooth: hci_h5: Add ability to allocate memory for private data
        Bluetooth: hci_sync: Fix overwriting request callback
        Bluetooth: hci_sync: Use QoS to determine which PHY to scan
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20240308181056.120547-1-luiz.dentz@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2f901582
    • Jakub Kicinski's avatar
      Merge tag 'ieee802154-for-net-next-2024-03-07' of... · 2612b9f1
      Jakub Kicinski authored
      Merge tag 'ieee802154-for-net-next-2024-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/wpan/wpan-next
      
      Stefan Schmidt says:
      
      ====================
      pull-request: ieee802154-next 2024-03-07
      
      Various cross tree patches for ieee802154v drivers and a resource leak
      fix for ieee802154 llsec.
      
      Andy Shevchenko changed GPIO header usage for at86rf230 and mcr20a to
      only include needed headers.
      
      Bo Liu converted the at86rf230, mcr20a and mrf24j40 driver regmap
      support to use the maple tree register cache.
      
      Fedor Pchelkin fixed a resource leak in the llsec key deletion path.
      
      Ricardo B. Marliere made wpan_phy_class const.
      
      Tejun Heo removed WQ_UNBOUND from a workqueue call in ca8210.
      
      * tag 'ieee802154-for-net-next-2024-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/wpan/wpan-next:
        ieee802154: cfg802154: make wpan_phy_class constant
        ieee802154: mcr20a: Remove unused of_gpio.h
        ieee802154: at86rf230: Replace of_gpio.h by proper one
        mac802154: fix llsec key resources release in mac802154_llsec_key_del
        ieee802154: ca8210: Drop spurious WQ_UNBOUND from alloc_ordered_workqueue() call
        net: ieee802154: mrf24j40: convert to use maple tree register cache
        net: ieee802154: mcr20a: convert to use maple tree register cache
        net: ieee802154: at86rf230: convert to use maple tree register cache
      ====================
      
      Link: https://lore.kernel.org/r/20240307195105.292085-1-stefan@datenfreihafen.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2612b9f1
    • Colin Ian King's avatar
  5. 08 Mar, 2024 11 commits
    • Eric Dumazet's avatar
      ipv4: raw: check sk->sk_rcvbuf earlier · d721812a
      Eric Dumazet authored
      There is no point cloning an skb and having to free the clone
      if the receive queue of the raw socket is full.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarWillem de Bruijn <willemb@google.com>
      Link: https://lore.kernel.org/r/20240307163020.2524409-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d721812a
    • Eric Dumazet's avatar
      ipv6: raw: check sk->sk_rcvbuf earlier · 026763ec
      Eric Dumazet authored
      There is no point cloning an skb and having to free the clone
      if the receive queue of the raw socket is full.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarWillem de Bruijn <willemb@google.com>
      Link: https://lore.kernel.org/r/20240307162943.2523817-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      026763ec
    • Ido Schimmel's avatar
      nexthop: Simplify dump error handling · 5d9b7cb3
      Ido Schimmel authored
      The only error that can happen during a nexthop dump is insufficient
      space in the skb caring the netlink messages (EMSGSIZE). If this happens
      and some messages were already filled in, the nexthop code returns the
      skb length to signal the netlink core that more objects need to be
      dumped.
      
      After commit b5a89915 ("netlink: handle EMSGSIZE errors in the
      core") there is no need to handle this error in the nexthop code as it
      is now handled in the core.
      
      Simplify the code and simply return the error to the core.
      
      No regressions in nexthop tests:
      
       # ./fib_nexthops.sh
       Tests passed: 234
       Tests failed:   0
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20240307154727.3555462-1-idosch@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5d9b7cb3
    • Eric Dumazet's avatar
      net: add skb_data_unref() helper · 1cface55
      Eric Dumazet authored
      Similar to skb_unref(), add skb_data_unref() to save an expensive
      atomic operation (and cache line dirtying) when last reference
      on shinfo->dataref is released.
      
      I saw this opportunity on hosts with RAW sockets accidentally
      bound to UDP protocol, forcing an skb_clone() on all received packets.
      
      These RAW sockets had their receive queue full, so all clone
      packets were immediately dropped.
      
      When UDP recvmsg() consumes later the original skb, skb_release_data()
      is hitting atomic_sub_return() quite badly, because skb->clone
      has been set permanently.
      
      Note that this patch helps TCP TX performance, because
      TCP stack also use (fast) clones.
      
      This means that at least one of the two packets (the main skb or
      its clone) will no longer have to perform this atomic operation
      in skb_release_data().
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/20240307123446.2302230-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1cface55
    • Jakub Kicinski's avatar
      Merge tag 'wireless-next-2024-03-08' of... · 75c2946d
      Jakub Kicinski authored
      Merge tag 'wireless-next-2024-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
      
      Kalle Valo says:
      
      ====================
      wireless-next patches for v6.9
      
      The fourth "new features" pull request for v6.9 with changes both in
      stack and in drivers. The theme in this pull request is to fix sparse
      warnings but we still have some left in wireless subsystem. Otherwise
      quite normal.
      
      Major changes:
      
      rtw89
       * NL80211_EXT_FEATURE_SCAN_RANDOM_SN support
       * NL80211_EXT_FEATURE_SET_SCAN_DWELL support
      
      rtw88
       * support for more rtw8811cu and rtw8821cu devices
      
      mt76
       * mt76x2u: add Netgear WNDA3100v3 USB
       * mt7915: newer ADIE version support
       * mt7925: radio temperature sensor support
       * mt7996: remove GCMP IGTK offload
      
      * tag 'wireless-next-2024-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (125 commits)
        wifi: rtw89: wow: move release offload packet earlier for WoWLAN mode
        wifi: rtw89: wow: set security engine options for 802.11ax chips only
        wifi: rtw89: update suspend/resume for different generation
        wifi: rtw89: wow: update config mac function with different generation
        wifi: rtw89: update DMA function with different generation
        wifi: rtw89: wow: update WoWLAN status register for different generation
        wifi: rtw89: wow: update WoWLAN reason register for different chips
        wifi: brcm80211: handle pmk_op allocation failure
        wifi: rtw89: coex: Add coexistence policy to decrease WiFi packet CRC-ERR
        wifi: rtw89: coex: When Bluetooth not available don't set power/gain
        wifi: rtw89: coex: add return value to ensure H2C command is success or not
        wifi: rtw89: coex: Reorder H2C command index to align with firmware
        wifi: rtw89: coex: add BTC ctrl_info version 7 and related logic
        wifi: rtw89: coex: add init_info H2C command format version 7
        wifi: rtw89: 8922a: add coexistence helpers of SW grant
        wifi: rtw89: mac: add coexistence helpers {cfg/get}_plt
        wifi: cw1200: restore endian swapping
        wifi: wlcore: sdio: Rate limit wl12xx_sdio_raw_{read,write}() failures warns
        wifi: rtlwifi: Remove rtl_intf_ops.read_efuse_byte
        wifi: rtw88: 8821c: Fix false alarm count
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20240308100429.B8EA2C433F1@smtp.kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      75c2946d
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync · 3d1c16e9
      Luiz Augusto von Dentz authored
      This fixes the following error caused by hci_conn being freed while
      hcy_acl_create_conn_sync is pending:
      
      ==================================================================
      BUG: KASAN: slab-use-after-free in hci_acl_create_conn_sync+0xa7/0x2e0
      Write of size 2 at addr ffff888002ae0036 by task kworker/u3:0/848
      
      CPU: 0 PID: 848 Comm: kworker/u3:0 Not tainted 6.8.0-rc6-g2ab3e8d6
      Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-1.fc38
      04/01/2014
      Workqueue: hci0 hci_cmd_sync_work
      Call Trace:
       <TASK>
       dump_stack_lvl+0x21/0x70
       print_report+0xce/0x620
       ? preempt_count_sub+0x13/0xc0
       ? __virt_addr_valid+0x15f/0x310
       ? hci_acl_create_conn_sync+0xa7/0x2e0
       kasan_report+0xdf/0x110
       ? hci_acl_create_conn_sync+0xa7/0x2e0
       hci_acl_create_conn_sync+0xa7/0x2e0
       ? __pfx_hci_acl_create_conn_sync+0x10/0x10
       ? __pfx_lock_release+0x10/0x10
       ? __pfx_hci_acl_create_conn_sync+0x10/0x10
       hci_cmd_sync_work+0x138/0x1c0
       process_one_work+0x405/0x800
       ? __pfx_lock_acquire+0x10/0x10
       ? __pfx_process_one_work+0x10/0x10
       worker_thread+0x37b/0x670
       ? __pfx_worker_thread+0x10/0x10
       kthread+0x19b/0x1e0
       ? kthread+0xfe/0x1e0
       ? __pfx_kthread+0x10/0x10
       ret_from_fork+0x2f/0x50
       ? __pfx_kthread+0x10/0x10
       ret_from_fork_asm+0x1a/0x30
       </TASK>
      
      Allocated by task 847:
       kasan_save_stack+0x33/0x60
       kasan_save_track+0x14/0x30
       __kasan_kmalloc+0x8f/0xa0
       hci_conn_add+0xc6/0x970
       hci_connect_acl+0x309/0x410
       pair_device+0x4fb/0x710
       hci_sock_sendmsg+0x933/0xef0
       sock_write_iter+0x2c3/0x2d0
       do_iter_readv_writev+0x21a/0x2e0
       vfs_writev+0x21c/0x7b0
       do_writev+0x14a/0x180
       do_syscall_64+0x77/0x150
       entry_SYSCALL_64_after_hwframe+0x6c/0x74
      
      Freed by task 847:
       kasan_save_stack+0x33/0x60
       kasan_save_track+0x14/0x30
       kasan_save_free_info+0x3b/0x60
       __kasan_slab_free+0xfa/0x150
       kfree+0xcb/0x250
       device_release+0x58/0xf0
       kobject_put+0xbb/0x160
       hci_conn_del+0x281/0x570
       hci_conn_hash_flush+0xfc/0x130
       hci_dev_close_sync+0x336/0x960
       hci_dev_close+0x10e/0x140
       hci_sock_ioctl+0x14a/0x5c0
       sock_ioctl+0x58a/0x5d0
       __x64_sys_ioctl+0x480/0xf60
       do_syscall_64+0x77/0x150
       entry_SYSCALL_64_after_hwframe+0x6c/0x74
      
      Fixes: 45340097 ("Bluetooth: hci_conn: Only do ACL connections sequentially")
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      3d1c16e9
    • Frédéric Danis's avatar
      Bluetooth: Fix eir name length · 2ab3e8d6
      Frédéric Danis authored
      According to Section 1.2 of Core Specification Supplement Part A the
      complete or short name strings are defined as utf8s, which should not
      include the trailing NULL for variable length array as defined in Core
      Specification Vol1 Part E Section 2.9.3.
      
      Removing the trailing NULL allows PTS to retrieve the random address based
      on device name, e.g. for SM/PER/KDU/BV-02-C, SM/PER/KDU/BV-08-C or
      GAP/BROB/BCST/BV-03-C.
      
      Fixes: f61851f6 ("Bluetooth: Fix append max 11 bytes of name to scan rsp data")
      Signed-off-by: default avatarFrédéric Danis <frederic.danis@collabora.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      2ab3e8d6
    • David S. Miller's avatar
      Merge branch 'hns3-fixes' · 19cfdc0d
      David S. Miller authored
      Jijie Shao says:
      
      ====================
      There are some bugfix for the HNS3 ethernet driver
      
      There are some bugfix for the HNS3 ethernet driver
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      19cfdc0d
    • Jian Shen's avatar
      net: hns3: add checking for vf id of mailbox · 4e2969a0
      Jian Shen authored
      Add checking for vf id of mailbox, in order to avoid array
      out-of-bounds risk.
      Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
      Signed-off-by: default avatarJijie Shao <shaojijie@huawei.com>
      Reviewed-by: default avatarSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4e2969a0
    • Jie Wang's avatar
      net: hns3: fix port duplex configure error in IMP reset · 11d80f79
      Jie Wang authored
      Currently, the mac port is fixed to configured as full dplex mode in
      hclge_mac_init() when driver initialization or reset restore. Users may
      change the mode to half duplex with ethtool,  so it may cause the user
      configuration dropped after reset.
      
      To fix it, don't change the duplex mode when resetting.
      
      Fixes: 2d03eacc ("net: hns3: Only update mac configuation when necessary")
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarJijie Shao <shaojijie@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      11d80f79
    • Peiyang Wang's avatar
      net: hns3: fix reset timeout under full functions and queues · 216bc415
      Peiyang Wang authored
      The cmdq reset command times out when all VFs are enabled and the queue is
      full. The hardware processing time exceeds the timeout set by the driver.
      In order to avoid the above extreme situations, the driver extends the
      reset timeout to 1 second.
      Signed-off-by: default avatarPeiyang Wang <wangpeiyang1@huawei.com>
      Signed-off-by: default avatarJijie Shao <shaojijie@huawei.com>
      Reviewed-by: default avatarSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      216bc415