1. 02 Nov, 2023 30 commits
    • Gerd Bayer's avatar
      net/smc: fix documentation of buffer sizes · a1602d74
      Gerd Bayer authored
      Since commit 833bac7e ("net/smc: Fix setsockopt and sysctl to
      specify same buffer size again") the SMC protocol uses its own
      default values for the smc.rmem and smc.wmem sysctl variables
      which are no longer derived from the TCP IPv4 buffer sizes.
      
      Fixup the kernel documentation to reflect this change, too.
      
      Fixes: 833bac7e ("net/smc: Fix setsockopt and sysctl to specify same buffer size again")
      Signed-off-by: default avatarGerd Bayer <gbayer@linux.ibm.com>
      Reviewed-by: default avatarWenjia Zhang <wenjia@linux.ibm.com>
      Reviewed-by: default avatarDust Li <dust.li@linux.alibaba.com>
      Link: https://lore.kernel.org/r/20231030170343.748097-1-gbayer@linux.ibm.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      a1602d74
    • Jian Shen's avatar
      net: page_pool: add missing free_percpu when page_pool_init fail · 8ffbd166
      Jian Shen authored
      When ptr_ring_init() returns failure in page_pool_init(), free_percpu()
      is not called to free pool->recycle_stats, which may cause memory
      leak.
      
      Fixes: ad6fa1e1 ("page_pool: Add recycle stats")
      Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
      Signed-off-by: default avatarJijie Shao <shaojijie@huawei.com>
      Reviewed-by: default avatarYunsheng Lin <linyunsheng@huawei.com>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Reviewed-by: default avatarSomnath Kotur <somnath.kotur@broadcom.com>
      Reviewed-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
      Link: https://lore.kernel.org/r/20231030091256.2915394-1-shaojijie@huawei.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      8ffbd166
    • Andrew Lunn's avatar
      net: ethtool: Fix documentation of ethtool_sprintf() · f55d8e60
      Andrew Lunn authored
      This function takes a pointer to a pointer, unlike sprintf() which is
      passed a plain pointer. Fix up the documentation to make this clear.
      
      Fixes: 7888fe53 ("ethtool: Add common function for filling out strings")
      Cc: Alexander Duyck <alexanderduyck@fb.com>
      Cc: Justin Stitt <justinstitt@google.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarJustin Stitt <justinstitt@google.com>
      Link: https://lore.kernel.org/r/20231028192511.100001-1-andrew@lunn.chSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      f55d8e60
    • Alexander Sverdlin's avatar
      net: dsa: lan9303: consequently nested-lock physical MDIO · 5a22fbcc
      Alexander Sverdlin authored
      When LAN9303 is MDIO-connected two callchains exist into
      mdio->bus->write():
      
      1. switch ports 1&2 ("physical" PHYs):
      
      virtual (switch-internal) MDIO bus (lan9303_switch_ops->phy_{read|write})->
        lan9303_mdio_phy_{read|write} -> mdiobus_{read|write}_nested
      
      2. LAN9303 virtual PHY:
      
      virtual MDIO bus (lan9303_phy_{read|write}) ->
        lan9303_virt_phy_reg_{read|write} -> regmap -> lan9303_mdio_{read|write}
      
      If the latter functions just take
      mutex_lock(&sw_dev->device->bus->mdio_lock) it triggers a LOCKDEP
      false-positive splat. It's false-positive because the first
      mdio_lock in the second callchain above belongs to virtual MDIO bus, the
      second mdio_lock belongs to physical MDIO bus.
      
      Consequent annotation in lan9303_mdio_{read|write} as nested lock
      (similar to lan9303_mdio_phy_{read|write}, it's the same physical MDIO bus)
      prevents the following splat:
      
      WARNING: possible circular locking dependency detected
      5.15.71 #1 Not tainted
      ------------------------------------------------------
      kworker/u4:3/609 is trying to acquire lock:
      ffff000011531c68 (lan9303_mdio:131:(&lan9303_mdio_regmap_config)->lock){+.+.}-{3:3}, at: regmap_lock_mutex
      but task is already holding lock:
      ffff0000114c44d8 (&bus->mdio_lock){+.+.}-{3:3}, at: mdiobus_read
      which lock already depends on the new lock.
      the existing dependency chain (in reverse order) is:
      -> #1 (&bus->mdio_lock){+.+.}-{3:3}:
             lock_acquire
             __mutex_lock
             mutex_lock_nested
             lan9303_mdio_read
             _regmap_read
             regmap_read
             lan9303_probe
             lan9303_mdio_probe
             mdio_probe
             really_probe
             __driver_probe_device
             driver_probe_device
             __device_attach_driver
             bus_for_each_drv
             __device_attach
             device_initial_probe
             bus_probe_device
             deferred_probe_work_func
             process_one_work
             worker_thread
             kthread
             ret_from_fork
      -> #0 (lan9303_mdio:131:(&lan9303_mdio_regmap_config)->lock){+.+.}-{3:3}:
             __lock_acquire
             lock_acquire.part.0
             lock_acquire
             __mutex_lock
             mutex_lock_nested
             regmap_lock_mutex
             regmap_read
             lan9303_phy_read
             dsa_slave_phy_read
             __mdiobus_read
             mdiobus_read
             get_phy_device
             mdiobus_scan
             __mdiobus_register
             dsa_register_switch
             lan9303_probe
             lan9303_mdio_probe
             mdio_probe
             really_probe
             __driver_probe_device
             driver_probe_device
             __device_attach_driver
             bus_for_each_drv
             __device_attach
             device_initial_probe
             bus_probe_device
             deferred_probe_work_func
             process_one_work
             worker_thread
             kthread
             ret_from_fork
      other info that might help us debug this:
       Possible unsafe locking scenario:
             CPU0                    CPU1
             ----                    ----
        lock(&bus->mdio_lock);
                                     lock(lan9303_mdio:131:(&lan9303_mdio_regmap_config)->lock);
                                     lock(&bus->mdio_lock);
        lock(lan9303_mdio:131:(&lan9303_mdio_regmap_config)->lock);
      *** DEADLOCK ***
      5 locks held by kworker/u4:3/609:
       #0: ffff000002842938 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work
       #1: ffff80000bacbd60 (deferred_probe_work){+.+.}-{0:0}, at: process_one_work
       #2: ffff000007645178 (&dev->mutex){....}-{3:3}, at: __device_attach
       #3: ffff8000096e6e78 (dsa2_mutex){+.+.}-{3:3}, at: dsa_register_switch
       #4: ffff0000114c44d8 (&bus->mdio_lock){+.+.}-{3:3}, at: mdiobus_read
      stack backtrace:
      CPU: 1 PID: 609 Comm: kworker/u4:3 Not tainted 5.15.71 #1
      Workqueue: events_unbound deferred_probe_work_func
      Call trace:
       dump_backtrace
       show_stack
       dump_stack_lvl
       dump_stack
       print_circular_bug
       check_noncircular
       __lock_acquire
       lock_acquire.part.0
       lock_acquire
       __mutex_lock
       mutex_lock_nested
       regmap_lock_mutex
       regmap_read
       lan9303_phy_read
       dsa_slave_phy_read
       __mdiobus_read
       mdiobus_read
       get_phy_device
       mdiobus_scan
       __mdiobus_register
       dsa_register_switch
       lan9303_probe
       lan9303_mdio_probe
      ...
      
      Cc: stable@vger.kernel.org
      Fixes: dc700583 ("net: dsa: LAN9303: add MDIO managed mode support")
      Signed-off-by: default avatarAlexander Sverdlin <alexander.sverdlin@siemens.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20231027065741.534971-1-alexander.sverdlin@siemens.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      5a22fbcc
    • Ratheesh Kannoth's avatar
      octeontx2-pf: Fix holes in error code · 7aeeb2cb
      Ratheesh Kannoth authored
      Error code strings are not getting printed properly
      due to holes. Print error code as well.
      
      Fixes: 51afe902 ("octeontx2-pf: NIX TX overwrites SQ_CTX_HW_S[SQ_INT]")
      Signed-off-by: default avatarRatheesh Kannoth <rkannoth@marvell.com>
      Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
      Link: https://lore.kernel.org/r/20231027021953.1819959-2-rkannoth@marvell.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      7aeeb2cb
    • Ratheesh Kannoth's avatar
      octeontx2-pf: Fix error codes · 96b9a68d
      Ratheesh Kannoth authored
      Some of error codes were wrong. Fix the same.
      
      Fixes: 51afe902 ("octeontx2-pf: NIX TX overwrites SQ_CTX_HW_S[SQ_INT]")
      Signed-off-by: default avatarRatheesh Kannoth <rkannoth@marvell.com>
      Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
      Link: https://lore.kernel.org/r/20231027021953.1819959-1-rkannoth@marvell.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      96b9a68d
    • Eric Dumazet's avatar
      inet: shrink struct flowi_common · 1726483b
      Eric Dumazet authored
      I am looking at syzbot reports triggering kernel stack overflows
      involving a cascade of ipvlan devices.
      
      We can save 8 bytes in struct flowi_common.
      
      This patch alone will not fix the issue, but is a start.
      
      Fixes: 24ba1440 ("route: Add multipath_hash in flowi_common to make user-define hash")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: wenxu <wenxu@ucloud.cn>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20231025141037.3448203-1-edumazet@google.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      1726483b
    • David Howells's avatar
      rxrpc: Fix two connection reaping bugs · 61e4a866
      David Howells authored
      Fix two connection reaping bugs:
      
       (1) rxrpc_connection_expiry is in units of seconds, so
           rxrpc_disconnect_call() needs to multiply it by HZ when adding it to
           jiffies.
      
       (2) rxrpc_client_conn_reap_timeout() should set RXRPC_CLIENT_REAP_TIMER if
           local->kill_all_client_conns is clear, not if it is set (in which case
           we don't need the timer).  Without this, old client connections don't
           get cleaned up until the local endpoint is cleaned up.
      
      Fixes: 5040011d ("rxrpc: Make the local endpoint hold a ref on a connected call")
      Fixes: 0d6bf319 ("rxrpc: Move the client conn cache management to the I/O thread")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Marc Dionne <marc.dionne@auristor.com>
      cc: linux-afs@lists.infradead.org
      Link: https://lore.kernel.org/r/783911.1698364174@warthog.procyon.org.ukSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      61e4a866
    • Dan Carpenter's avatar
      net/tcp_sigpool: Fix some off by one bugs · 74da7792
      Dan Carpenter authored
      The "cpool_populated" variable is the number of elements in the cpool[]
      array that have been populated.  It is incremented in
      tcp_sigpool_alloc_ahash() every time we populate a new element.
      Unpopulated elements are NULL but if we have populated every element then
      this code will read one element beyond the end of the array.
      
      Fixes: 8c73b263 ("net/tcp: Prepare tcp_md5sig_pool for TCP-AO")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Reviewed-by: default avatarDmitry Safonov <dima@arista.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/ce915d61-04bc-44fb-b450-35fcc9fc8831@moroto.mountainSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      74da7792
    • Shigeru Yoshida's avatar
      tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING · 19b3f72a
      Shigeru Yoshida authored
      syzbot reported the following uninit-value access issue [1]:
      
      =====================================================
      BUG: KMSAN: uninit-value in strlen lib/string.c:418 [inline]
      BUG: KMSAN: uninit-value in strstr+0xb8/0x2f0 lib/string.c:756
       strlen lib/string.c:418 [inline]
       strstr+0xb8/0x2f0 lib/string.c:756
       tipc_nl_node_reset_link_stats+0x3ea/0xb50 net/tipc/node.c:2595
       genl_family_rcv_msg_doit net/netlink/genetlink.c:971 [inline]
       genl_family_rcv_msg net/netlink/genetlink.c:1051 [inline]
       genl_rcv_msg+0x11ec/0x1290 net/netlink/genetlink.c:1066
       netlink_rcv_skb+0x371/0x650 net/netlink/af_netlink.c:2545
       genl_rcv+0x40/0x60 net/netlink/genetlink.c:1075
       netlink_unicast_kernel net/netlink/af_netlink.c:1342 [inline]
       netlink_unicast+0xf47/0x1250 net/netlink/af_netlink.c:1368
       netlink_sendmsg+0x1238/0x13d0 net/netlink/af_netlink.c:1910
       sock_sendmsg_nosec net/socket.c:730 [inline]
       sock_sendmsg net/socket.c:753 [inline]
       ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2541
       ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2595
       __sys_sendmsg net/socket.c:2624 [inline]
       __do_sys_sendmsg net/socket.c:2633 [inline]
       __se_sys_sendmsg net/socket.c:2631 [inline]
       __x64_sys_sendmsg+0x307/0x490 net/socket.c:2631
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x63/0xcd
      
      Uninit was created at:
       slab_post_alloc_hook+0x12f/0xb70 mm/slab.h:767
       slab_alloc_node mm/slub.c:3478 [inline]
       kmem_cache_alloc_node+0x577/0xa80 mm/slub.c:3523
       kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:559
       __alloc_skb+0x318/0x740 net/core/skbuff.c:650
       alloc_skb include/linux/skbuff.h:1286 [inline]
       netlink_alloc_large_skb net/netlink/af_netlink.c:1214 [inline]
       netlink_sendmsg+0xb34/0x13d0 net/netlink/af_netlink.c:1885
       sock_sendmsg_nosec net/socket.c:730 [inline]
       sock_sendmsg net/socket.c:753 [inline]
       ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2541
       ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2595
       __sys_sendmsg net/socket.c:2624 [inline]
       __do_sys_sendmsg net/socket.c:2633 [inline]
       __se_sys_sendmsg net/socket.c:2631 [inline]
       __x64_sys_sendmsg+0x307/0x490 net/socket.c:2631
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x63/0xcd
      
      TIPC bearer-related names including link names must be null-terminated
      strings. If a link name which is not null-terminated is passed through
      netlink, strstr() and similar functions can cause buffer overrun. This
      causes the above issue.
      
      This patch changes the nla_policy for bearer-related names from NLA_STRING
      to NLA_NUL_STRING. This resolves the issue by ensuring that only
      null-terminated strings are accepted as bearer-related names.
      
      syzbot reported similar uninit-value issue related to bearer names [2]. The
      root cause of this issue is that a non-null-terminated bearer name was
      passed. This patch also resolved this issue.
      
      Fixes: 7be57fc6 ("tipc: add link get/dump to new netlink api")
      Fixes: 0655f6a8 ("tipc: add bearer disable/enable to new netlink api")
      Reported-and-tested-by: syzbot+5138ca807af9d2b42574@syzkaller.appspotmail.com
      Closes: https://syzkaller.appspot.com/bug?extid=5138ca807af9d2b42574 [1]
      Reported-and-tested-by: syzbot+9425c47dccbcb4c17d51@syzkaller.appspotmail.com
      Closes: https://syzkaller.appspot.com/bug?extid=9425c47dccbcb4c17d51 [2]
      Signed-off-by: default avatarShigeru Yoshida <syoshida@redhat.com>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Link: https://lore.kernel.org/r/20231030075540.3784537-1-syoshida@redhat.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      19b3f72a
    • Dan Carpenter's avatar
      hsr: Prevent use after free in prp_create_tagged_frame() · 876f8ab5
      Dan Carpenter authored
      The prp_fill_rct() function can fail.  In that situation, it frees the
      skb and returns NULL.  Meanwhile on the success path, it returns the
      original skb.  So it's straight forward to fix bug by using the returned
      value.
      
      Fixes: 451d8123 ("net: prp: add packet handling support")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Acked-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Link: https://lore.kernel.org/r/57af1f28-7f57-4a96-bcd3-b7a0f2340845@moroto.mountainSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      876f8ab5
    • Willem de Bruijn's avatar
      llc: verify mac len before reading mac header · 7b3ba187
      Willem de Bruijn authored
      LLC reads the mac header with eth_hdr without verifying that the skb
      has an Ethernet header.
      
      Syzbot was able to enter llc_rcv on a tun device. Tun can insert
      packets without mac len and with user configurable skb->protocol
      (passing a tun_pi header when not configuring IFF_NO_PI).
      
          BUG: KMSAN: uninit-value in llc_station_ac_send_test_r net/llc/llc_station.c:81 [inline]
          BUG: KMSAN: uninit-value in llc_station_rcv+0x6fb/0x1290 net/llc/llc_station.c:111
          llc_station_ac_send_test_r net/llc/llc_station.c:81 [inline]
          llc_station_rcv+0x6fb/0x1290 net/llc/llc_station.c:111
          llc_rcv+0xc5d/0x14a0 net/llc/llc_input.c:218
          __netif_receive_skb_one_core net/core/dev.c:5523 [inline]
          __netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5637
          netif_receive_skb_internal net/core/dev.c:5723 [inline]
          netif_receive_skb+0x58/0x660 net/core/dev.c:5782
          tun_rx_batched+0x3ee/0x980 drivers/net/tun.c:1555
          tun_get_user+0x54c5/0x69c0 drivers/net/tun.c:2002
      
      Add a mac_len test before all three eth_hdr(skb) calls under net/llc.
      
      There are further uses in include/net/llc_pdu.h. All these are
      protected by a test skb->protocol == ETH_P_802_2. Which does not
      protect against this tun scenario.
      
      But the mac_len test added in this patch in llc_fixup_skb will
      indirectly protect those too. That is called from llc_rcv before any
      other LLC code.
      
      It is tempting to just add a blanket mac_len check in llc_rcv, but
      not sure whether that could break valid LLC paths that do not assume
      an Ethernet header. 802.2 LLC may be used on top of non-802.3
      protocols in principle. The below referenced commit shows that used
      to, on top of Token Ring.
      
      At least one of the three eth_hdr uses goes back to before the start
      of git history. But the one that syzbot exercises is introduced in
      this commit. That commit is old enough (2008), that effectively all
      stable kernels should receive this.
      
      Fixes: f83f1768 ("[LLC]: skb allocation size for responses")
      Reported-by: syzbot+a8c7be6dee0de1b669cc@syzkaller.appspotmail.com
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      Link: https://lore.kernel.org/r/20231025234251.3796495-1-willemdebruijn.kernel@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7b3ba187
    • Linus Walleij's avatar
      net: xscale: Drop unused PHY number · d280783c
      Linus Walleij authored
      For some cargoculted reason on incomplete cleanup, we have a
      PHY number which refers to nothing and gives confusing messages
      about PHY 0 on all ports.
      
      Print the name of the actual PHY device instead.
      Reported-by: default avatarHoward Harte <hharte@magicandroidapps.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://lore.kernel.org/r/20231028-ixp4xx-eth-id-v1-1-57be486d7f0f@linaro.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d280783c
    • Jakub Kicinski's avatar
      tools: ynl-gen: don't touch the output file if content is the same · 2b7ac0c8
      Jakub Kicinski authored
      I often regenerate all YNL files in the tree to make sure they
      are in sync with the codegen and specs. Generator rewrites
      the files unconditionally, so since make looks at file modification
      time to decide what to rebuild - my next build takes longer.
      
      We already generate the code to a tempfile most of the time,
      only overwrite the target when we have to.
      
      Before:
      
        $ stat include/uapi/linux/netdev.h
          File: include/uapi/linux/netdev.h
          Size: 2307      	Blocks: 8          IO Block: 4096   regular file
        Access: 2023-10-27 15:19:56.347071940 -0700
        Modify: 2023-10-27 15:19:45.089000900 -0700
        Change: 2023-10-27 15:19:45.089000900 -0700
         Birth: 2023-10-27 15:19:45.088000894 -0700
      
        $ ./tools/net/ynl/ynl-regen.sh -f
        [...]
      
        $ stat include/uapi/linux/netdev.h
          File: include/uapi/linux/netdev.h
          Size: 2307      	Blocks: 8          IO Block: 4096   regular file
        Access: 2023-10-27 15:19:56.347071940 -0700
        Modify: 2023-10-27 15:22:18.417968446 -0700
        Change: 2023-10-27 15:22:18.417968446 -0700
         Birth: 2023-10-27 15:19:45.088000894 -0700
      
      After:
      
        $ stat include/uapi/linux/netdev.h
          File: include/uapi/linux/netdev.h
          Size: 2307      	Blocks: 8          IO Block: 4096   regular file
        Access: 2023-10-27 15:22:41.520114221 -0700
        Modify: 2023-10-27 15:22:18.417968446 -0700
        Change: 2023-10-27 15:22:18.417968446 -0700
         Birth: 2023-10-27 15:19:45.088000894 -0700
      
        $ ./tools/net/ynl/ynl-regen.sh -f
        [...]
      
        $ stat include/uapi/linux/netdev.h
          File: include/uapi/linux/netdev.h
          Size: 2307      	Blocks: 8          IO Block: 4096   regular file
        Access: 2023-10-27 15:22:41.520114221 -0700
        Modify: 2023-10-27 15:22:18.417968446 -0700
        Change: 2023-10-27 15:22:18.417968446 -0700
         Birth: 2023-10-27 15:19:45.088000894 -0700
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Link: https://lore.kernel.org/r/20231027223408.1865704-1-kuba@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2b7ac0c8
    • Jiri Pirko's avatar
      netlink: specs: devlink: add forgotten port function caps enum values · 05f0431b
      Jiri Pirko authored
      Add two enum values that the blamed commit omitted.
      
      Fixes: f2f9dd16 ("netlink: specs: devlink: add the remaining command to generate complete split_ops")
      Signed-off-by: default avatarJiri Pirko <jiri@nvidia.com>
      Link: https://lore.kernel.org/r/20231030161750.110420-1-jiri@resnulli.usSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      05f0431b
    • Jakub Kicinski's avatar
      Merge branch 'add-missing-module_descriptions' · 5ed8499b
      Jakub Kicinski authored
      Andrew Lunn says:
      
      ====================
      Add missing MODULE_DESCRIPTIONS
      
      Fixup PHY and MDIO drivers which are missing MODULE_DESCRIPTION.
      ====================
      
      Link: https://lore.kernel.org/r/20231028184458.99448-1-andrew@lunn.chSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5ed8499b
    • Andrew Lunn's avatar
      net: mdio: fill in missing MODULE_DESCRIPTION()s · 031fba65
      Andrew Lunn authored
      W=1 builds now warn if a module is built without a
      MODULE_DESCRIPTION(). Fill them in based on the Kconfig text, or
      similar.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
      Acked-by: default avatarAndrew Jeffery <andrew@codeconstruct.com.au>
      Link: https://lore.kernel.org/r/20231028184458.99448-3-andrew@lunn.chSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      031fba65
    • Andrew Lunn's avatar
      net: phy: fill in missing MODULE_DESCRIPTION()s · dd9d75fc
      Andrew Lunn authored
      W=1 builds now warn if a module is built without a
      MODULE_DESCRIPTION(). Fill them in based on the Kconfig text, or
      similar.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
      Acked-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Link: https://lore.kernel.org/r/20231028184458.99448-2-andrew@lunn.chSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      dd9d75fc
    • Jakub Kicinski's avatar
      Merge branch 'net-sched-fill-in-missing-module_descriptions-for-net-sched' · aca08097
      Jakub Kicinski authored
      Victor Nogueira says:
      
      ====================
      net: sched: Fill in missing MODULE_DESCRIPTIONs for net/sched
      
      W=1 builds now warn if module is built without a MODULE_DESCRIPTION().
      
      Fill in the missing MODULE_DESCRIPTIONs for net/sched
      ====================
      
      Link: https://lore.kernel.org/r/20231027155045.46291-1-victor@mojatatu.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      aca08097
    • Victor Nogueira's avatar
      net: sched: Fill in missing MODULE_DESCRIPTION for qdiscs · f96118c5
      Victor Nogueira authored
      W=1 builds now warn if module is built without a MODULE_DESCRIPTION().
      
      Fill in missing MODULE_DESCRIPTIONs for TC qdiscs.
      Signed-off-by: default avatarVictor Nogueira <victor@mojatatu.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Reviewed-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
      Link: https://lore.kernel.org/r/20231027155045.46291-4-victor@mojatatu.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f96118c5
    • Victor Nogueira's avatar
      net: sched: Fill in missing MODULE_DESCRIPTION for classifiers · a9c92771
      Victor Nogueira authored
      W=1 builds now warn if module is built without a MODULE_DESCRIPTION().
      
      Fill in missing MODULE_DESCRIPTIONs for TC classifiers.
      Signed-off-by: default avatarVictor Nogueira <victor@mojatatu.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Reviewed-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
      Link: https://lore.kernel.org/r/20231027155045.46291-3-victor@mojatatu.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a9c92771
    • Victor Nogueira's avatar
      net: sched: Fill in MODULE_DESCRIPTION for act_gate · 49b02a19
      Victor Nogueira authored
      W=1 builds now warn if module is built without a MODULE_DESCRIPTION().
      
      Gate is the only TC action that is lacking such description.
      Fill MODULE_DESCRIPTION for Gate TC ACTION.
      Signed-off-by: default avatarVictor Nogueira <victor@mojatatu.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Reviewed-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
      Link: https://lore.kernel.org/r/20231027155045.46291-2-victor@mojatatu.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      49b02a19
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.7-followup' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · ff269e2c
      Linus Torvalds authored
      Pull more networking updates from Jakub Kicinski:
      
       - Support GRO decapsulation for IPsec ESP in UDP
      
       - Add a handful of MODULE_DESCRIPTION()s
      
       - Drop questionable alignment check in TCP AO to avoid
         build issue after changes in the crypto tree
      
      * tag 'net-next-6.7-followup' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next:
        net: tcp: remove call to obsolete crypto_ahash_alignmask()
        net: fill in MODULE_DESCRIPTION()s under drivers/net/
        net: fill in MODULE_DESCRIPTION()s under net/802*
        net: fill in MODULE_DESCRIPTION()s under net/core
        net: fill in MODULE_DESCRIPTION()s in kuba@'s modules
        xfrm: policy: fix layer 4 flowi decoding
        xfrm Fix use after free in __xfrm6_udp_encap_rcv.
        xfrm: policy: replace session decode with flow dissector
        xfrm: move mark and oif flowi decode into common code
        xfrm: pass struct net to xfrm_decode_session wrappers
        xfrm: Support GRO for IPv6 ESP in UDP encapsulation
        xfrm: Support GRO for IPv4 ESP in UDP encapsulation
        xfrm: Use the XFRM_GRO to indicate a GRO call on input
        xfrm: Annotate struct xfrm_sec_ctx with __counted_by
        xfrm: Remove unused function declarations
      ff269e2c
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 05bf73aa
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
       "Cleanups:
      
         - kprobes: Fixes typo in kprobes samples
      
         - tracing/eprobes: Remove 'break' after return
      
        kretprobe/fprobe performance improvements:
      
         - lib: Introduce new `objpool`, which is a high performance lockless
           object queue. This uses per-cpu ring array to allocate/release
           objects from the pre-allocated object pool.
      
           Since the index of ring array is a 32bit sequential counter, we can
           retry to push/pop the object pointer from the ring without lock (as
           seq-lock does)
      
         - lib: Add an objpool test module to test the functionality and
           evaluate the performance under some circumstances
      
         - kprobes/fprobe: Improve kretprobe and rethook scalability
           performance with objpool.
      
           This improves both legacy kretprobe and fprobe exit handler (which
           is based on rethook) to be scalable on SMP systems. Even with
           8-threads parallel test, it shows a great scalability improvement
      
         - Remove unneeded freelist.h which is replaced by objpool
      
         - objpool: Add maintainers entry for the objpool
      
         - objpool: Fix to remove unused include header lines"
      
      * tag 'probes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        kprobes: unused header files removed
        MAINTAINERS: objpool added
        kprobes: freelist.h removed
        kprobes: kretprobe scalability improvement
        lib: objpool test module added
        lib: objpool added: ring-array based lockless MPMC
        tracing/eprobe: drop unneeded breaks
        samples: kprobes: Fixes a typo
      05bf73aa
    • Linus Torvalds's avatar
      Merge tag 'bootconfig-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 1b10d2c8
      Linus Torvalds authored
      Pull bootconfig updates from Masami Hiramatsu:
      
       - Documentation update for /proc/cmdline, which includes both the
         parameters from bootloader and the embedded parameters in the kernel
      
       - fs/proc: Add bootloader argument as a comment line to
         /proc/bootconfig so that the user can distinguish what parameters
         were passed from bootloader even if bootconfig modified that
      
       - Documentation fix to add /proc/bootconfig to proc.rst
      
      * tag 'bootconfig-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        doc: Add /proc/bootconfig to proc.rst
        fs/proc: Add boot loader arguments as comment to /proc/bootconfig
        doc: Update /proc/cmdline documentation to include boot config
      1b10d2c8
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 1e0c505e
      Linus Torvalds authored
      Pull ia64 removal and asm-generic updates from Arnd Bergmann:
      
       - The ia64 architecture gets its well-earned retirement as planned,
         now that there is one last (mostly) working release that will be
         maintained as an LTS kernel.
      
       - The architecture specific system call tables are updated for the
         added map_shadow_stack() syscall and to remove references to the
         long-gone sys_lookup_dcookie() syscall.
      
      * tag 'asm-generic-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        hexagon: Remove unusable symbols from the ptrace.h uapi
        asm-generic: Fix spelling of architecture
        arch: Reserve map_shadow_stack() syscall number for all architectures
        syscalls: Cleanup references to sys_lookup_dcookie()
        Documentation: Drop or replace remaining mentions of IA64
        lib/raid6: Drop IA64 support
        Documentation: Drop IA64 from feature descriptions
        kernel: Drop IA64 support from sig_fault handlers
        arch: Remove Itanium (IA-64) architecture
      1e0c505e
    • Linus Torvalds's avatar
      Merge tag 'soc-arm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 4684e928
      Linus Torvalds authored
      Pull ARM SoC code updates from Arnd Bergmann:
       "The AMD Pensando DPU platform gets added to arm64, and some minor
        updates make it into Renesas' 32-bit platforms"
      
      * tag 'soc-arm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm: debug: reuse the config DEBUG_OMAP2UART{1,2} for OMAP{3,4,5}
        arm64: Add config for AMD Pensando SoC platforms
        MAINTAINERS: Add entry for AMD PENSANDO
        ARM: shmobile: sh73a0: Reserve boot area when SMP is enabled
        ARM: shmobile: r8a7779: Reserve boot area when SMP is enabled
        ARM: shmobile: rcar-gen2: Reserve boot area when SMP is enabled
        ARM: shmobile: rcar-gen2: Remove unneeded once handling
      4684e928
    • Linus Torvalds's avatar
      Merge tag 'soc-defconfig-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a39ba9b4
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual trivial changes to enable a couple of newly added
        device drivers and remove lines for Kconfig options that are no longer
        needed"
      
      * tag 'soc-defconfig-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
        arm64: defconfig: enable DisplayPort altmode support
        arm64: defconfig: enable CONFIG_TYPEC_QCOM_PMIC
        arm64: defconfig: add various drivers for Amlogic based boards
        ARM: config: aspeed: Remove FIRMWARE_MEMMAP
        ARM: config: aspeed_g5: Enable SSIF BMC driver
        ARM: config: aspeed: Add Ampere SMPro drivers
        ARM: config: aspeed: Add new FSI drivers
        arm64: defconfig: Enable TPS6593 PMIC for SK-AM62A
        ARM: exynos_defconfig: add driver for ISL29018
        ARM: multi_v7_defconfig: add drivers for S5C73M3 & S5K6A3 camera sensors
        arm64: defconfig: Enable RZ/G3S (R9A08G045) SoC
        ARM: multi_v7_defconfig: add tm2-touchkey driver
        ARM: exynos_defconfig: replace SATA_AHCI_PLATFORM with AHCI_DWC driver
        ARM: multi_v7_defconfig: add AHCI_DWC driver
        ARM: multi_v7_defconfig: make Exynos related PHYs modules
        ARM: s5pv210_defconfig: enable IIO required by MAX17040
        ARM: shmobile: defconfig: Refresh for v6.6-rc3
        ARM: defconfig: cleanup orphaned CONFIGs
        arm64: defconfig: Enable Samsung DSIM driver
        arm64: defconfig: Enable CONFIG_USB_MASS_STORAGE
        ...
      a39ba9b4
    • Linus Torvalds's avatar
      Merge tag 'soc-drivers-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 385903a7
      Linus Torvalds authored
      Pull SoC driver updates from Arnd Bergmann:
       "The highlights for the driver support this time are
      
         - Qualcomm platforms gain support for the Qualcomm Secure Execution
           Environment firmware interface to access EFI variables on certain
           devices, and new features for multiple platform and firmware
           drivers.
      
         - Arm FF-A firmware support gains support for v1.1 specification
           features, in particular notification and memory transaction
           descriptor changes.
      
         - SCMI firmware support now support v3.2 features for clock and DVFS
           configuration and a new transport for Qualcomm platforms.
      
         - Minor cleanups and bugfixes are added to pretty much all the active
           platforms: qualcomm, broadcom, dove, ti-k3, rockchip, sifive,
           amlogic, atmel, tegra, aspeed, vexpress, mediatek, samsung and
           more.
      
           In particular, this contains portions of the treewide conversion to
           use __counted_by annotations and the device_get_match_data helper"
      
      * tag 'soc-drivers-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (156 commits)
        soc: qcom: pmic_glink_altmode: Print return value on error
        firmware: qcom: scm: remove unneeded 'extern' specifiers
        firmware: qcom: scm: add a missing forward declaration for struct device
        firmware: qcom: move Qualcomm code into its own directory
        soc: samsung: exynos-chipid: Convert to platform remove callback returning void
        soc: qcom: apr: Add __counted_by for struct apr_rx_buf and use struct_size()
        soc: qcom: pmic_glink: fix connector type to be DisplayPort
        soc: ti: k3-socinfo: Avoid overriding return value
        soc: ti: k3-socinfo: Fix typo in bitfield documentation
        soc: ti: knav_qmss_queue: Use device_get_match_data()
        firmware: ti_sci: Use device_get_match_data()
        firmware: qcom: qseecom: add missing include guards
        soc/pxa: ssp: Convert to platform remove callback returning void
        soc/mediatek: mtk-mmsys: Convert to platform remove callback returning void
        soc/mediatek: mtk-devapc: Convert to platform remove callback returning void
        soc/loongson: loongson2_guts: Convert to platform remove callback returning void
        soc/litex: litex_soc_ctrl: Convert to platform remove callback returning void
        soc/ixp4xx: ixp4xx-qmgr: Convert to platform remove callback returning void
        soc/ixp4xx: ixp4xx-npe: Convert to platform remove callback returning void
        soc/hisilicon: kunpeng_hccs: Convert to platform remove callback returning void
        ...
      385903a7
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · c035f026
      Linus Torvalds authored
      Pull SoC DT updates from Arnd Bergmann:
       "There are a couple new SoCs that are supported for the first time:
      
         - AMD Pensando Elba is a data processing unit based on Cortex-A72 CPU
           cores
      
         - Sophgo makes RISC-V based chips, and we now support the CV1800B
           chip used in the milkv-duo board and the massive sg2042 chip in the
           milkv-pioneer, a 64-core developer workstation.
      
         - Qualcomm Snapdragon 720G (sm7125) is a close relative of Snapdragon
           7c and gets added with some Xiaomi phones
      
         - Renesas gains support for the R8A779F4 (R-Car S4-8) automotive SoC
           and the RZ/G3S (R9A08G045) embedded SoC.
      
        There are also a bunch of newly supported machines that use already
        supported chips. On the 32-bit side, we have:
      
         - USRobotics USR8200 is a NAS/Firewall/router based on the ancient
           Intel IXP4xx platform
      
         - A couple of machines based on the NXP i.MX5 and i.MX6 platforms
      
         - One machine each for Allwinner V3s, Aspeed AST2600, Microchip
           sama5d29 and ST STM32mp157
      
        The other ones all use arm64 cores on chips from allwinner, amlogic,
        freescale, mediatek, qualcomm and rockchip"
      
      * tag 'soc-dt-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (641 commits)
        ARM: dts: BCM5301X: Set switch ports for Linksys EA9200
        ARM: dts: BCM5301X: Set fixed-link for extra Netgear R8000 CPU ports
        ARM: dts: BCM5301X: Explicitly disable unused switch CPU ports
        ARM: dts: BCM5301X: Relicense Vivek's code to the GPL 2.0+ / MIT
        ARM: dts: BCM5301X: Relicense Felix's code to the GPL 2.0+ / MIT
        ARM: dts: BCM5301X: Set MAC address for Asus RT-AC87U
        arm64: dts: socionext: add missing cache properties
        riscv: dts: thead: convert isa detection to new properties
        arm64: dts: Update cache properties for socionext
        arm64: dts: ti: k3-am654-idk: Add ICSSG Ethernet ports
        arm64: dts: ti: k3-am654-icssg2: add ICSSG2 Ethernet support
        arm64: dts: ti: k3-am65-main: Add ICSSG IEP nodes
        arm64: dts: ti: k3-am62p5-sk: Updates for SK EVM
        arm64: dts: ti: k3-am62p: Add nodes for more IPs
        arm64: dts: rockchip: Add Turing RK1 SoM support
        dt-bindings: arm: rockchip: Add Turing RK1
        dt-bindings: vendor-prefixes: add turing
        arm64: dts: rockchip: Add DFI to rk3588s
        arm64: dts: rockchip: Add DFI to rk356x
        arm64: dts: rockchip: Always enable DFI on rk3399
        ...
      c035f026
  2. 01 Nov, 2023 10 commits
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.7-rc1' of https://github.com/awilliam/linux-vfio · deefd502
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Add support for "chunk mode" in the mlx5-vfio-pci variant driver,
         which allows both larger device image sizes for migration, beyond the
         previous 4GB limit, and also read-ahead support for improved
         migration performance (Yishai Hadas)
      
       - A new bus master control interface for the CDX bus driver where there
         is no in-band mechanism to toggle device DMA as there is through
         config space on PCI devices (Nipun Gupta)
      
       - Add explicit alignment directives to vfio data structures to reduce
         the chance of breaking 32-bit userspace. In most cases this is
         transparent and the remaining cases where data structures are padded
         work within the existing rules for extending data structures within
         vfio (Stefan Hajnoczi)
      
       - Resolve a bug in the cdx bus driver noted when compiled with clang
         where missing parenthesis result in the wrong operation (Nathan
         Chancellor)
      
       - Resolve errors reported by smatch for a function when dealing with
         invalid inputs (Alex Williamson)
      
       - Add migration support to the mtty vfio/mdev sample driver for testing
         and integration purposes, allowing CI of migration without specific
         hardware requirements. Also resolve many of the short- comings of
         this driver relative to implementation of the vfio interrupt ioctl
         along the way (Alex Williamson)
      
      * tag 'vfio-v6.7-rc1' of https://github.com/awilliam/linux-vfio:
        vfio/mtty: Enable migration support
        vfio/mtty: Overhaul mtty interrupt handling
        vfio: Fix smatch errors in vfio_combine_iova_ranges()
        vfio/cdx: Add parentheses between bitwise AND expression and logical NOT
        vfio/mlx5: Activate the chunk mode functionality
        vfio/mlx5: Add support for READING in chunk mode
        vfio/mlx5: Add support for SAVING in chunk mode
        vfio/mlx5: Pre-allocate chunks for the STOP_COPY phase
        vfio/mlx5: Rename some stuff to match chunk mode
        vfio/mlx5: Enable querying state size which is > 4GB
        vfio/mlx5: Refactor the SAVE callback to activate a work only upon an error
        vfio/mlx5: Wake up the reader post of disabling the SAVING migration file
        vfio: use __aligned_u64 in struct vfio_device_ioeventfd
        vfio: use __aligned_u64 in struct vfio_device_gfx_plane_info
        vfio: trivially use __aligned_u64 for ioctl structs
        vfio-cdx: add bus mastering device feature support
        vfio: add bus master feature to device feature ioctl
        cdx: add support for bus mastering
      deefd502
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.7-2023-10-30' of git://git.infradead.org/users/hch/dma-mapping · 009fbfc9
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - get rid of the fake support for coherent DMA allocation on coldfire
         with caches (Christoph Hellwig)
      
       - add a few Kconfig dependencies so that Kconfig catches the use of
         invalid configurations (Christoph Hellwig)
      
       - fix a type in dma-debug output (Chuck Lever)
      
       - rewrite a comment in swiotlb (Sean Christopherson)
      
      * tag 'dma-mapping-6.7-2023-10-30' of git://git.infradead.org/users/hch/dma-mapping:
        dma-debug: Fix a typo in a debugging eye-catcher
        swiotlb: rewrite comment explaining why the source is preserved on DMA_FROM_DEVICE
        m68k: remove unused includes from dma.c
        m68k: don't provide arch_dma_alloc for nommu/coldfire
        net: fec: use dma_alloc_noncoherent for data cache enabled coldfire
        m68k: use the coherent DMA code for coldfire without data cache
        dma-direct: warn when coherent allocations aren't supported
        dma-direct: simplify the use atomic pool logic in dma_direct_alloc
        dma-direct: add a CONFIG_ARCH_HAS_DMA_ALLOC symbol
        dma-direct: add dependencies to CONFIG_DMA_GLOBAL_POOL
      009fbfc9
    • Linus Torvalds's avatar
      Merge tag 'pmdomain-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · 3c86a44d
      Linus Torvalds authored
      Pull pmdomain updates from Ulf Hansson:
      
       - Move Kconfig files into the pmdomain subsystem
      
       - Drop use of genpd's redundant ->opp_to_performance_state() callback
      
       - amlogic:
          - Add support for the T7 power-domains controller
          - Fix mask for the second NNA mem power-domain
      
       - bcm: Fixup ASB register read and comparison for bcm2835-power
      
       - imx: Fix device link problem for consumers of the pgc power-domain
      
       - mediatek: Add support for the MT8365 power domains
      
       - qcom:
          - Add support for the rpmhpds for SC8380XP power-domains
          - Add support for the rpmhpds for SM8650 power-domains
          - Add support for the rpmhpd clocks for SM7150
          - Add support for the rpmpds for MSM8917 (families) power-domains
      
       - starfive: Add support for the JH7110 AON PMU
      
      * tag 'pmdomain-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (56 commits)
        pmdomain: amlogic: Fix mask for the second NNA mem PD domain
        pmdomain: qcom: rpmhpd: Add SC8380XP power domains
        pmdomain: qcom: rpmhpd: Add SM8650 RPMh Power Domains
        dt-bindings: power: rpmpd: Add SC8380XP support
        dt-bindings: power: qcom,rpmhpd: Add GMXC PD index
        dt-bindings: power: qcom,rpmpd: document the SM8650 RPMh Power Domains
        pmdomain: imx: Make imx pgc power domain also set the fwnode
        pmdomain: qcom: rpmpd: Add QM215 power domains
        pmdomain: qcom: rpmpd: Add MSM8917 power domains
        dt-bindings: power: rpmpd: Add MSM8917, MSM8937 and QM215
        pmdomain: bcm: bcm2835-power: check if the ASB register is equal to enable
        pmdomain: qcom: rpmhpd: Drop the ->opp_to_performance_state() callback
        pmdomain: qcom: rpmpd: Drop the ->opp_to_performance_state() callback
        pmdomain: qcom: cpr: Drop the ->opp_to_performance_state() callback
        pmdomain: Use device_get_match_data()
        pmdomain: ti: add missing of_node_put
        pmdomain: mediatek: Add support for MT8365
        pmdomain: mediatek: Add support for MTK_SCPD_STRICT_BUS_PROTECTION cap
        pmdomain: mediatek: Add support for WAY_EN operations
        pmdomain: mediatek: Unify configuration for infracfg and smi
        ...
      3c86a44d
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 40aa597c
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
      " MMC core:
         - Enable host caps to be modified via debugfs to test speed-modes
         - Improve random I/O writes for 4k buffers for hsq enabled hosts
      
        MMC host:
         - atmel-mci/sdhci-of-at91: Aubin Constans takes over as maintainer
         - dw_mmc-starfive: Re-work tuning support
         - meson-gx: Fix bogus IRQ when using CMD_CFG_ERROR
         - mmci: Use peripheral flow control for the STM32 variant
         - renesas,sdhi: Add support for the RZ/G3S variant
         - sdhci-esdhc-imx: Optimize the manual tuning logic
         - sdhci-msm: Add support for the SM8650 variant
         - sdhci-npcm: Add driver to support the Nuvoton NPCM BMC variant
         - sdhci-pci-gli: Add workaround to allow GL9750 to enter ASPM L1.2"
      
      * tag 'mmc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (25 commits)
        dt-bindings: mmc: sdhci-msm: document the SM8650 SDHCI Controller
        mmc: meson-gx: Remove setting of CMD_CFG_ERROR
        MAINTAINERS: mmc: take over as maintainer of MCI & SDHCI MICROCHIP DRIVERS
        mmc: jz4740: Use device_get_match_data()
        mmc: sdhci-npcm: Add NPCM SDHCI driver
        dt-bindings: mmc: npcm,sdhci: Document NPCM SDHCI controller
        mmc: sdhci-pltfm: Make driver OF independent
        mmc: sdhci-pltfm: Drop unnecessary error messages in sdhci_pltfm_init()
        mmc: sdhci-pci: Switch to use acpi_evaluate_dsm_typed()
        mmc: debugfs: Allow host caps to be modified
        mmc: core: Always reselect card type
        mmc: mmci: use peripheral flow control for STM32
        mmc: vub300: replace deprecated strncpy with strscpy
        memstick: jmb38x_ms: Annotate struct jmb38x_ms with __counted_by
        mmc: starfive: Change tuning implementation
        dt-bindings: mmc: starfive: Remove properties from required
        mmc: hsq: Improve random I/O write performance for 4k buffers
        mmc: core: Allow dynamical updates of the number of requests for hsq
        mmc: sdhci-pci-gli: A workaround to allow GL9750 to enter ASPM L1.2
        dt-bindings: mmc: renesas,sdhi: Document RZ/G3S support
        ...
      40aa597c
    • Linus Torvalds's avatar
      Merge tag 'for-6.7/dm-changes' of... · 0364249d
      Linus Torvalds authored
      Merge tag 'for-6.7/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Update DM core to directly call the map function for both the linear
         and stripe targets; which are provided by DM core
      
       - Various updates to use new safer string functions
      
       - Update DM core to respect REQ_NOWAIT flag in normal bios so that
         memory allocations are always attempted with GFP_NOWAIT
      
       - Add Mikulas Patocka to MAINTAINERS as a DM maintainer!
      
       - Improve DM delay target's handling of short delays (< 50ms) by using
         a kthread to check expiration of IOs rather than timers and a wq
      
       - Update the DM error target so that it works with zoned storage. This
         helps xfstests to provide proper IO error handling coverage when
         testing a filesystem with native zoned storage support
      
       - Update both DM crypt and integrity targets to improve performance by
         using crypto_shash_digest() rather than init+update+final sequence
      
       - Fix DM crypt target by backfilling missing memory allocation
         accounting for compound pages
      
      * tag 'for-6.7/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm crypt: account large pages in cc->n_allocated_pages
        dm integrity: use crypto_shash_digest() in sb_mac()
        dm crypt: use crypto_shash_digest() in crypt_iv_tcw_whitening()
        dm error: Add support for zoned block devices
        dm delay: for short delays, use kthread instead of timers and wq
        MAINTAINERS: add Mikulas Patocka as a DM maintainer
        dm: respect REQ_NOWAIT flag in normal bios issued to DM
        dm: enhance alloc_multiple_bios() to be more versatile
        dm: make __send_duplicate_bios return unsigned int
        dm log userspace: replace deprecated strncpy with strscpy
        dm ioctl: replace deprecated strncpy with strscpy_pad
        dm crypt: replace open-coded kmemdup_nul
        dm cache metadata: replace deprecated strncpy with strscpy
        dm: shortcut the calls to linear_map and stripe_map
      0364249d
    • Linus Torvalds's avatar
      Merge tag 'ata-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 39714efc
      Linus Torvalds authored
      Pull ATA updates from Damien Le Moal:
      
       - Modify the AHCI driver to print the link power management policy used
         on scan, to help with debugging issues (Niklas)
      
       - Add support for the ASM2116 series adapters to the AHCI driver
         (Szuying)
      
       - Prepare libata for the coming gcc and Clang __counted_by attribute
         (Kees)
      
       - Following the recent estensive fixing of libata suspend/resume
         handling, several patches further cleanup and improve disk power
         state management (me)
      
       - Reduce the verbosity of some error messages for non-fatal temporary
         errors, e.g. slow response to device reset when scanning a port, and
         warning messages that are in fact normal, e.g. disabling a device on
         suspend or when removing it (me)
      
       - Cleanup DMA helper functions (me)
      
       - Fix sata_mv drive handling of potential errors durring probe (Ma)
      
       - Cleanup the xgene and imx drivers using the functions
         of_device_get_match_data() and device_get_match_data() (Rob)
      
       - Improve the tegra driver device tree (Rob)
      
      * tag 'ata-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (22 commits)
        dt-bindings: ata: tegra: Disallow undefined properties
        ata: libata-core: Improve ata_dev_power_set_active()
        ata: libata-eh: Spinup disk on resume after revalidation
        ata: imx: Use device_get_match_data()
        ata: xgene: Use of_device_get_match_data()
        ata: sata_mv: aspeed: fix value check in mv_platform_probe()
        ata: ahci: Add Intel Alder Lake-P AHCI controller to low power chipsets list
        ata: libata: Cleanup inline DMA helper functions
        ata: libata-eh: Reduce "disable device" message verbosity
        ata: libata-eh: Improve reset error messages
        ata: libata-sata: Improve ata_sas_slave_configure()
        ata: libata-core: Do not resume runtime suspended ports
        ata: libata-core: Do not poweroff runtime suspended ports
        ata: libata-core: Remove ata_port_resume_async()
        ata: libata-core: Remove ata_port_suspend_async()
        ata: libata-core: Detach a port devices on shutdown
        ata: libata-core: Synchronize ata_port_detach() with hotplug
        ata: libata-scsi: Cleanup ata_scsi_start_stop_xlat()
        scsi: Remove scsi device no_start_on_resume flag
        ata: libata: Annotate struct ata_cpr_log with __counted_by
        ...
      39714efc
    • Linus Torvalds's avatar
      Merge tag 'for-6.7/block-2023-10-30' of git://git.kernel.dk/linux · 90d624af
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - Improvements to the queue_rqs() support, and adding null_blk support
         for that as well (Chengming)
      
       - Series improving badblocks support (Coly)
      
       - Key store support for sed-opal (Greg)
      
       - IBM partition string handling improvements (Jan)
      
       - Make number of ublk devices supported configurable (Mike)
      
       - Cancelation improvements for ublk (Ming)
      
       - MD pull requests via Song:
           - Handle timeout in md-cluster, by Denis Plotnikov
           - Cleanup pers->prepare_suspend, by Yu Kuai
           - Rewrite mddev_suspend(), by Yu Kuai
           - Simplify md_seq_ops, by Yu Kuai
           - Reduce unnecessary locking array_state_store(), by Mariusz
             Tkaczyk
           - Make rdev add/remove independent from daemon thread, by Yu Kuai
           - Refactor code around quiesce() and mddev_suspend(), by Yu Kuai
      
       - NVMe pull request via Keith:
           - nvme-auth updates (Mark)
           - nvme-tcp tls (Hannes)
           - nvme-fc annotaions (Kees)
      
       - Misc cleanups and improvements (Jiapeng, Joel)
      
      * tag 'for-6.7/block-2023-10-30' of git://git.kernel.dk/linux: (95 commits)
        block: ublk_drv: Remove unused function
        md: cleanup pers->prepare_suspend()
        nvme-auth: allow mixing of secret and hash lengths
        nvme-auth: use transformed key size to create resp
        nvme-auth: alloc nvme_dhchap_key as single buffer
        nvmet-tcp: use 'spin_lock_bh' for state_lock()
        powerpc/pseries: PLPKS SED Opal keystore support
        block: sed-opal: keystore access for SED Opal keys
        block:sed-opal: SED Opal keystore
        ublk: simplify aborting request
        ublk: replace monitor with cancelable uring_cmd
        ublk: quiesce request queue when aborting queue
        ublk: rename mm_lock as lock
        ublk: move ublk_cancel_dev() out of ub->mutex
        ublk: make sure io cmd handled in submitter task context
        ublk: don't get ublk device reference in ublk_abort_queue()
        ublk: Make ublks_max configurable
        ublk: Limit dev_id/ub_number values
        md-cluster: check for timeout while a new disk adding
        nvme: rework NVME_AUTH Kconfig selection
        ...
      90d624af
    • Linus Torvalds's avatar
      Merge tag 'io_uring-futex-2023-10-30' of git://git.kernel.dk/linux · 4de520f1
      Linus Torvalds authored
      Pull io_uring futex support from Jens Axboe:
       "This adds support for using futexes through io_uring - first futex
        wake and wait, and then the vectored variant of waiting, futex waitv.
      
        For both wait/wake/waitv, we support the bitset variant, as the
        'normal' variants can be easily implemented on top of that.
      
        PI and requeue are not supported through io_uring, just the above
        mentioned parts. This may change in the future, but in the spirit of
        keeping this small (and based on what people have been asking for),
        this is what we currently have.
      
        Wake support is pretty straight forward, most of the thought has gone
        into the wait side to avoid needing to offload wait operations to a
        blocking context. Instead, we rely on the usual callbacks to retry and
        post a completion event, when appropriate.
      
        As far as I can recall, the first request for futex support with
        io_uring came from Andres Freund, working on postgres. His aio rework
        of postgres was one of the early adopters of io_uring, and futex
        support was a natural extension for that. This is relevant from both a
        usability point of view, as well as for effiency and performance. In
        Andres's words, for the former:
      
           Futex wait support in io_uring makes it a lot easier to avoid
           deadlocks in concurrent programs that have their own buffer pool:
           Obviously pages in the application buffer pool have to be locked
           during IO. If the initiator of IO A needs to wait for a held lock
           B, the holder of lock B might wait for the IO A to complete. The
           ability to wait for a lock and IO completions at the same time
           provides an efficient way to avoid such deadlocks
      
        and in terms of effiency, even without unlocking the full potential
        yet, Andres says:
      
           Futex wake support in io_uring is useful because it allows for more
           efficient directed wakeups. For some "locks" postgres has queues
           implemented in userspace, with wakeup logic that cannot easily be
           implemented with FUTEX_WAKE_BITSET on a single "futex word"
           (imagine waiting for journal flushes to have completed up to a
           certain point).
      
           Thus a "lock release" sometimes need to wake up many processes in a
           row. A quick-and-dirty conversion to doing these wakeups via
           io_uring lead to a 3% throughput increase, with 12% fewer context
           switches, albeit in a fairly extreme workload"
      
      * tag 'io_uring-futex-2023-10-30' of git://git.kernel.dk/linux:
        io_uring: add support for vectored futex waits
        futex: make the vectored futex operations available
        futex: make futex_parse_waitv() available as a helper
        futex: add wake_data to struct futex_q
        io_uring: add support for futex wake and wait
        futex: abstract out a __futex_wake_mark() helper
        futex: factor out the futex wake handling
        futex: move FUTEX2_VALID_MASK to futex.h
      4de520f1
    • Linus Torvalds's avatar
      Merge tag 'for-6.7/io_uring-sockopt-2023-10-30' of git://git.kernel.dk/linux · f5277ad1
      Linus Torvalds authored
      Pull io_uring {get,set}sockopt support from Jens Axboe:
       "This adds support for using getsockopt and setsockopt via io_uring.
      
        The main use cases for this is to enable use of direct descriptors,
        rather than first instantiating a normal file descriptor, doing the
        option tweaking needed, then turning it into a direct descriptor. With
        this support, we can avoid needing a regular file descriptor
        completely.
      
        The net and bpf bits have been signed off on their side"
      
      * tag 'for-6.7/io_uring-sockopt-2023-10-30' of git://git.kernel.dk/linux:
        selftests/bpf/sockopt: Add io_uring support
        io_uring/cmd: Introduce SOCKET_URING_OP_SETSOCKOPT
        io_uring/cmd: Introduce SOCKET_URING_OP_GETSOCKOPT
        io_uring/cmd: return -EOPNOTSUPP if net is disabled
        selftests/net: Extract uring helpers to be reusable
        tools headers: Grab copy of io_uring.h
        io_uring/cmd: Pass compat mode in issue_flags
        net/socket: Break down __sys_getsockopt
        net/socket: Break down __sys_setsockopt
        bpf: Add sockptr support for setsockopt
        bpf: Add sockptr support for getsockopt
      f5277ad1
    • Linus Torvalds's avatar
      Merge tag 'for-6.7/io_uring-2023-10-30' of git://git.kernel.dk/linux · ffa059b2
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "This contains the core io_uring updates, of which there are not many,
        and adds support for using WAITID through io_uring and hence not
        needing to block on these kinds of events.
      
        Outside of that, tweaks to the legacy provided buffer handling and
        some cleanups related to cancelations for uring_cmd support"
      
      * tag 'for-6.7/io_uring-2023-10-30' of git://git.kernel.dk/linux:
        io_uring/poll: use IOU_F_TWQ_LAZY_WAKE for wakeups
        io_uring/kbuf: Use slab for struct io_buffer objects
        io_uring/kbuf: Allow the full buffer id space for provided buffers
        io_uring/kbuf: Fix check of BID wrapping in provided buffers
        io_uring/rsrc: cleanup io_pin_pages()
        io_uring: cancelable uring_cmd
        io_uring: retain top 8bits of uring_cmd flags for kernel internal use
        io_uring: add IORING_OP_WAITID support
        exit: add internal include file with helpers
        exit: add kernel_waitid_prepare() helper
        exit: move core of do_wait() into helper
        exit: abstract out should_wake helper for child_wait_callback()
        io_uring/rw: add support for IORING_OP_READ_MULTISHOT
        io_uring/rw: mark readv/writev as vectored in the opcode definition
        io_uring/rw: split io_read() into a helper
      ffa059b2