Skip to content
Snippets Groups Projects
  1. Nov 30, 2024
    • Ajay Kaher's avatar
      ptp: Add error handling for adjfine callback in ptp_clock_adjtime · 98337d7c
      Ajay Kaher authored
      
      ptp_clock_adjtime sets ptp->dialed_frequency even when adjfine
      callback returns an error. This causes subsequent reads to return
      an incorrect value.
      
      Fix this by adding error check before ptp->dialed_frequency is set.
      
      Fixes: 39a8cbd9 ("ptp: remember the adjusted frequency")
      Signed-off-by: default avatarAjay Kaher <ajay.kaher@broadcom.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Link: https://patch.msgid.link/20241125105954.1509971-1-ajay.kaher@broadcom.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      98337d7c
    • Eric Dumazet's avatar
      tcp: populate XPS related fields of timewait sockets · 0a4cc4ac
      Eric Dumazet authored
      
      syzbot reported that netdev_core_pick_tx() was reading an uninitialized
      field [1].
      
      This is indeed hapening for timewait sockets after recent commits.
      
      We can copy the original established socket sk_tx_queue_mapping
      and sk_rx_queue_mapping fields, instead of adding more checks
      in fast paths.
      
      As a bonus, packets will use the same transmit queue than
      prior ones, this potentially can avoid reordering.
      
      [1]
      BUG: KMSAN: uninit-value in netdev_pick_tx+0x5c7/0x1550
       netdev_pick_tx+0x5c7/0x1550
        netdev_core_pick_tx+0x1d2/0x4a0 net/core/dev.c:4312
        __dev_queue_xmit+0x128a/0x57d0 net/core/dev.c:4394
        dev_queue_xmit include/linux/netdevice.h:3168 [inline]
        neigh_hh_output include/net/neighbour.h:523 [inline]
        neigh_output include/net/neighbour.h:537 [inline]
        ip_finish_output2+0x187c/0x1b70 net/ipv4/ip_output.c:236
       __ip_finish_output+0x287/0x810
        ip_finish_output+0x4b/0x600 net/ipv4/ip_output.c:324
        NF_HOOK_COND include/linux/netfilter.h:303 [inline]
        ip_output+0x15f/0x3f0 net/ipv4/ip_output.c:434
        dst_output include/net/dst.h:450 [inline]
        ip_local_out net/ipv4/ip_output.c:130 [inline]
        ip_send_skb net/ipv4/ip_output.c:1505 [inline]
        ip_push_pending_frames+0x444/0x570 net/ipv4/ip_output.c:1525
        ip_send_unicast_reply+0x18c1/0x1b30 net/ipv4/ip_output.c:1672
        tcp_v4_send_reset+0x238d/0x2a40 net/ipv4/tcp_ipv4.c:910
        tcp_v4_rcv+0x48f8/0x5750 net/ipv4/tcp_ipv4.c:2431
        ip_protocol_deliver_rcu+0x2a3/0x13d0 net/ipv4/ip_input.c:205
        ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233
        NF_HOOK include/linux/netfilter.h:314 [inline]
        ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254
        dst_input include/net/dst.h:460 [inline]
        ip_sublist_rcv_finish net/ipv4/ip_input.c:578 [inline]
        ip_list_rcv_finish net/ipv4/ip_input.c:628 [inline]
        ip_sublist_rcv+0x15f3/0x17f0 net/ipv4/ip_input.c:636
        ip_list_rcv+0x9ef/0xa40 net/ipv4/ip_input.c:670
        __netif_receive_skb_list_ptype net/core/dev.c:5715 [inline]
        __netif_receive_skb_list_core+0x15c5/0x1670 net/core/dev.c:5762
        __netif_receive_skb_list net/core/dev.c:5814 [inline]
        netif_receive_skb_list_internal+0x1085/0x1700 net/core/dev.c:5905
        gro_normal_list include/net/gro.h:515 [inline]
        napi_complete_done+0x3d4/0x810 net/core/dev.c:6256
        virtqueue_napi_complete drivers/net/virtio_net.c:758 [inline]
        virtnet_poll+0x5d80/0x6bf0 drivers/net/virtio_net.c:3013
        __napi_poll+0xe7/0x980 net/core/dev.c:6877
        napi_poll net/core/dev.c:6946 [inline]
        net_rx_action+0xa5a/0x19b0 net/core/dev.c:7068
        handle_softirqs+0x1a0/0x7c0 kernel/softirq.c:554
        __do_softirq kernel/softirq.c:588 [inline]
        invoke_softirq kernel/softirq.c:428 [inline]
        __irq_exit_rcu+0x68/0x180 kernel/softirq.c:655
        irq_exit_rcu+0x12/0x20 kernel/softirq.c:671
        common_interrupt+0x97/0xb0 arch/x86/kernel/irq.c:278
        asm_common_interrupt+0x2b/0x40 arch/x86/include/asm/idtentry.h:693
        __preempt_count_sub arch/x86/include/asm/preempt.h:84 [inline]
        kmsan_virt_addr_valid arch/x86/include/asm/kmsan.h:95 [inline]
        virt_to_page_or_null+0xfb/0x150 mm/kmsan/shadow.c:75
        kmsan_get_metadata+0x13e/0x1c0 mm/kmsan/shadow.c:141
        kmsan_get_shadow_origin_ptr+0x4d/0xb0 mm/kmsan/shadow.c:102
        get_shadow_origin_ptr mm/kmsan/instrumentation.c:38 [inline]
        __msan_metadata_ptr_for_store_4+0x27/0x40 mm/kmsan/instrumentation.c:93
        rcu_preempt_read_enter kernel/rcu/tree_plugin.h:390 [inline]
        __rcu_read_lock+0x46/0x70 kernel/rcu/tree_plugin.h:413
        rcu_read_lock include/linux/rcupdate.h:847 [inline]
        batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:408 [inline]
        batadv_nc_worker+0x114/0x19e0 net/batman-adv/network-coding.c:719
        process_one_work kernel/workqueue.c:3229 [inline]
        process_scheduled_works+0xae0/0x1c40 kernel/workqueue.c:3310
        worker_thread+0xea7/0x14f0 kernel/workqueue.c:3391
        kthread+0x3e2/0x540 kernel/kthread.c:389
        ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:147
        ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
      
      Uninit was created at:
        __alloc_pages_noprof+0x9a7/0xe00 mm/page_alloc.c:4774
        alloc_pages_mpol_noprof+0x299/0x990 mm/mempolicy.c:2265
        alloc_pages_noprof+0x1bf/0x1e0 mm/mempolicy.c:2344
        alloc_slab_page mm/slub.c:2412 [inline]
        allocate_slab+0x320/0x12e0 mm/slub.c:2578
        new_slab mm/slub.c:2631 [inline]
        ___slab_alloc+0x12ef/0x35e0 mm/slub.c:3818
        __slab_alloc mm/slub.c:3908 [inline]
        __slab_alloc_node mm/slub.c:3961 [inline]
        slab_alloc_node mm/slub.c:4122 [inline]
        kmem_cache_alloc_noprof+0x57a/0xb20 mm/slub.c:4141
        inet_twsk_alloc+0x11f/0x9d0 net/ipv4/inet_timewait_sock.c:188
        tcp_time_wait+0x83/0xf50 net/ipv4/tcp_minisocks.c:309
       tcp_rcv_state_process+0x145a/0x49d0
        tcp_v4_do_rcv+0xbf9/0x11a0 net/ipv4/tcp_ipv4.c:1939
        tcp_v4_rcv+0x51df/0x5750 net/ipv4/tcp_ipv4.c:2351
        ip_protocol_deliver_rcu+0x2a3/0x13d0 net/ipv4/ip_input.c:205
        ip_local_deliver_finish+0x336/0x500 net/ipv4/ip_input.c:233
        NF_HOOK include/linux/netfilter.h:314 [inline]
        ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254
        dst_input include/net/dst.h:460 [inline]
        ip_sublist_rcv_finish net/ipv4/ip_input.c:578 [inline]
        ip_list_rcv_finish net/ipv4/ip_input.c:628 [inline]
        ip_sublist_rcv+0x15f3/0x17f0 net/ipv4/ip_input.c:636
        ip_list_rcv+0x9ef/0xa40 net/ipv4/ip_input.c:670
        __netif_receive_skb_list_ptype net/core/dev.c:5715 [inline]
        __netif_receive_skb_list_core+0x15c5/0x1670 net/core/dev.c:5762
        __netif_receive_skb_list net/core/dev.c:5814 [inline]
        netif_receive_skb_list_internal+0x1085/0x1700 net/core/dev.c:5905
        gro_normal_list include/net/gro.h:515 [inline]
        napi_complete_done+0x3d4/0x810 net/core/dev.c:6256
        virtqueue_napi_complete drivers/net/virtio_net.c:758 [inline]
        virtnet_poll+0x5d80/0x6bf0 drivers/net/virtio_net.c:3013
        __napi_poll+0xe7/0x980 net/core/dev.c:6877
        napi_poll net/core/dev.c:6946 [inline]
        net_rx_action+0xa5a/0x19b0 net/core/dev.c:7068
        handle_softirqs+0x1a0/0x7c0 kernel/softirq.c:554
        __do_softirq kernel/softirq.c:588 [inline]
        invoke_softirq kernel/softirq.c:428 [inline]
        __irq_exit_rcu+0x68/0x180 kernel/softirq.c:655
        irq_exit_rcu+0x12/0x20 kernel/softirq.c:671
        common_interrupt+0x97/0xb0 arch/x86/kernel/irq.c:278
        asm_common_interrupt+0x2b/0x40 arch/x86/include/asm/idtentry.h:693
      
      CPU: 0 UID: 0 PID: 3962 Comm: kworker/u8:18 Not tainted 6.12.0-syzkaller-09073-g9f16d5e6f220 #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
      Workqueue: bat_events batadv_nc_worker
      
      Fixes: 79636038 ("ipv4: tcp: give socket pointer to control skbs")
      Fixes: 507a9673 ("ipv6: tcp: give socket pointer to control skbs")
      Reported-by: default avatar <syzbot+8b0959fc16551d55896b@syzkaller.appspotmail.com>
      Link: https://lore.kernel.org/netdev/674442bd.050a0220.1cc393.0072.GAE@google.com/T/#u
      
      
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
      Reviewed-by: default avatarBrian Vazquez <brianvv@google.com>
      Link: https://patch.msgid.link/20241125093039.3095790-1-edumazet@google.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0a4cc4ac
  2. Nov 29, 2024
    • David S. Miller's avatar
      Merge branch 'enetc-mqprio-fixes' · f1cd565c
      David S. Miller authored
      Wei Fang sayus:
      
      ====================
      fix crash issue when setting MQPRIO for VFs
      
      There is a crash issue when setting MQPRIO for ENETC VFs, the root casue
      is that ENETC VFs don't like ENETC PFs, they don't have port registers,
      so hw->port of VFs is NULL. However, this NULL pointer will be accessed
      without any checks in enetc_mm_commit_preemptible_tcs() when configuring
      MQPRIO for VFs. Therefore, two patches are added to fix this issue. The
      first patch sets ENETC_SI_F_QBU flag only for SIs that support 802.1Qbu.
      The second patch adds a check in enetc_change_preemptible_tcs() to ensure
      that SIs that do not support 802.1Qbu do not configure preemptible TCs.
      
      ---
      v1 Link: https://lore.kernel.org/imx/20241030082117.1172634-1-wei.fang@nxp.com/
      v2 Link: https://lore.kernel.org/imx/20241104054309.1388433-1-wei.fang@nxp.com/
      
      
      ---
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f1cd565c
    • Wei Fang's avatar
      net: enetc: Do not configure preemptible TCs if SIs do not support · b2420b8c
      Wei Fang authored
      
      Both ENETC PF and VF drivers share enetc_setup_tc_mqprio() to configure
      MQPRIO. And enetc_setup_tc_mqprio() calls enetc_change_preemptible_tcs()
      to configure preemptible TCs. However, only PF is able to configure
      preemptible TCs. Because only PF has related registers, while VF does not
      have these registers. So for VF, its hw->port pointer is NULL. Therefore,
      VF will access an invalid pointer when accessing a non-existent register,
      which will cause a crash issue. The simplified log is as follows.
      
      root@ls1028ardb:~# tc qdisc add dev eno0vf0 parent root handle 100: \
      mqprio num_tc 4 map 0 0 1 1 2 2 3 3 queues 1@0 1@1 1@2 1@3 hw 1
      [  187.290775] Unable to handle kernel paging request at virtual address 0000000000001f00
      [  187.424831] pc : enetc_mm_commit_preemptible_tcs+0x1c4/0x400
      [  187.430518] lr : enetc_mm_commit_preemptible_tcs+0x30c/0x400
      [  187.511140] Call trace:
      [  187.513588]  enetc_mm_commit_preemptible_tcs+0x1c4/0x400
      [  187.518918]  enetc_setup_tc_mqprio+0x180/0x214
      [  187.523374]  enetc_vf_setup_tc+0x1c/0x30
      [  187.527306]  mqprio_enable_offload+0x144/0x178
      [  187.531766]  mqprio_init+0x3ec/0x668
      [  187.535351]  qdisc_create+0x15c/0x488
      [  187.539023]  tc_modify_qdisc+0x398/0x73c
      [  187.542958]  rtnetlink_rcv_msg+0x128/0x378
      [  187.547064]  netlink_rcv_skb+0x60/0x130
      [  187.550910]  rtnetlink_rcv+0x18/0x24
      [  187.554492]  netlink_unicast+0x300/0x36c
      [  187.558425]  netlink_sendmsg+0x1a8/0x420
      [  187.606759] ---[ end trace 0000000000000000 ]---
      
      In addition, some PFs also do not support configuring preemptible TCs,
      such as eno1 and eno3 on LS1028A. It won't crash like it does for VFs,
      but we should prevent these PFs from accessing these unimplemented
      registers.
      
      Fixes: 82714539 ("net: enetc: only commit preemptible TCs to hardware when MM TX is active")
      Signed-off-by: default avatarWei Fang <wei.fang@nxp.com>
      Suggested-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2420b8c
    • Vladimir Oltean's avatar
      net: enetc: read TSN capabilities from port register, not SI · 8e00072c
      Vladimir Oltean authored
      
      Configuring TSN (Qbv, Qbu, PSFP) capabilities requires access to port
      registers, which are available to the PSI but not the VSI.
      
      Yet, the SI port capability register 0 (PSICAPR0), exposed to both PSIs
      and VSIs, presents the same capabilities to the VF as to the PF, thus
      leading the VF driver into thinking it can configure these features.
      
      In the case of ENETC_SI_F_QBU, having it set in the VF leads to a crash:
      
      root@ls1028ardb:~# tc qdisc add dev eno0vf0 parent root handle 100: \
      mqprio num_tc 4 map 0 0 1 1 2 2 3 3 queues 1@0 1@1 1@2 1@3 hw 1
      [  187.290775] Unable to handle kernel paging request at virtual address 0000000000001f00
      [  187.424831] pc : enetc_mm_commit_preemptible_tcs+0x1c4/0x400
      [  187.430518] lr : enetc_mm_commit_preemptible_tcs+0x30c/0x400
      [  187.511140] Call trace:
      [  187.513588]  enetc_mm_commit_preemptible_tcs+0x1c4/0x400
      [  187.518918]  enetc_setup_tc_mqprio+0x180/0x214
      [  187.523374]  enetc_vf_setup_tc+0x1c/0x30
      [  187.527306]  mqprio_enable_offload+0x144/0x178
      [  187.531766]  mqprio_init+0x3ec/0x668
      [  187.535351]  qdisc_create+0x15c/0x488
      [  187.539023]  tc_modify_qdisc+0x398/0x73c
      [  187.542958]  rtnetlink_rcv_msg+0x128/0x378
      [  187.547064]  netlink_rcv_skb+0x60/0x130
      [  187.550910]  rtnetlink_rcv+0x18/0x24
      [  187.554492]  netlink_unicast+0x300/0x36c
      [  187.558425]  netlink_sendmsg+0x1a8/0x420
      [  187.606759] ---[ end trace 0000000000000000 ]---
      
      while the other TSN features in the VF are harmless, because the
      net_device_ops used for the VF driver do not expose entry points for
      these other features.
      
      These capability bits are in the process of being defeatured from the SI
      registers. We should read them from the port capability register, where
      they are also present, and which is naturally only exposed to the PF.
      
      The change to blame (relevant for stable backports) is the one where
      this started being a problem, aka when the kernel started to crash due
      to the wrong capability seen by the VF driver.
      
      Fixes: 82714539 ("net: enetc: only commit preemptible TCs to hardware when MM TX is active")
      Reported-by: default avatarWei Fang <wei.fang@nxp.com>
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8e00072c
  3. Nov 28, 2024
  4. Nov 27, 2024
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b86545e0
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These add a common init function for arch-specific ACPI
        initialization, clean up idle states initialization in the ACPI
        processor_idle driver and update quirks:
      
         - Introduce acpi_arch_init() for architecture-specific ACPI subsystem
           initialization (Miao Wang)
      
         - Clean up Asus quirks in acpi_quirk_skip_dmi_ids[] and add a quirk
           to skip I2C clients on Acer Iconia One 8 A1-840 (Hans de Goede)
      
         - Make the ACPI processor_idle driver use acpi_idle_play_dead() for
           all idle states regardless of their types (Rafael Wysocki)"
      
      * tag 'acpi-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: introduce acpi_arch_init()
        ACPI: x86: Clean up Asus entries in acpi_quirk_skip_dmi_ids[]
        ACPI: x86: Add skip i2c clients quirk for Acer Iconia One 8 A1-840
        ACPI: processor_idle: Use acpi_idle_play_dead() for all C-states
      b86545e0
    • Linus Torvalds's avatar
      Merge tag 'pm-6.13-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 79525e24
      Linus Torvalds authored
      Pull morepower management updates from Rafael Wysocki:
       "These update the OPP (Operating Performance Points) DT bindings for
        ti-cpu (Dhruva Gole) and remove unused declarations from the OPP
        header file (Zhang Zekun)"
      
      * tag 'pm-6.13-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        dt-bindings: opp: operating-points-v2-ti-cpu: Describe opp-supported-hw
        OPP: Remove unused declarations in header file
      79525e24
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.13-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 92b459d8
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "These fix a Power Allocator thermal governor issue reported recently,
        update the Intel int3400 thermal driver and simplify DT data parsing
        in the thermal control subsystem:
      
         - Add a NULL pointer check that was missed by recent modifications of
           the Power Allocator thermal governor (Rafael Wysocki)
      
         - Remove the data_vault attribute_group from int3400 because it is
           only used for exposing one binary file that can be exposed directly
           (Thomas Weißschuh)
      
         - Prevent the current_uuid sysfs attribute in int3400 from mistakenly
           treating valid UUID values as invalid on some older systems
           (Srinivas Pandruvada)
      
         - Use the cleanup.h mechanics to simplify DT data parsing in the
           thermal core and some drivers (Krzysztof Kozlowski)"
      
      * tag 'thermal-6.13-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: sun8i: Use scoped device node handling to simplify error paths
        thermal: tegra: Simplify with scoped for each OF child loop
        thermal: qcom-spmi-adc-tm5: Simplify with scoped for each OF child loop
        thermal: of: Use scoped device node handling to simplify of_thermal_zone_find()
        thermal: of: Use scoped memory and OF handling to simplify thermal_of_trips_init()
        thermal: of: Simplify thermal_of_should_bind with scoped for each OF child
        thermal: gov_power_allocator: Add missing NULL pointer check
        thermal: int3400: Remove unneeded data_vault attribute_group
        thermal: int3400: Fix reading of current_uuid for active policy
      92b459d8
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 64e6fc27
      Linus Torvalds authored
      Pull more iommufd updates from Jason Gunthorpe:
       "Change the driver callback op domain_alloc_user() into two ops:
        domain_alloc_paging_flags() and domain_alloc_nesting() that better
        describe what the ops are expected to do.
      
        There will be per-driver cleanup based on this going into the next
        cycle via the driver trees"
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd:
        iommu: Rename ops->domain_alloc_user() to domain_alloc_paging_flags()
        iommu: Add ops->domain_alloc_nested()
      64e6fc27
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 9ad55a67
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
      
       - structure optimization of few bus structures and header updates
      
       - support for 2.0 disco spec
      
       - amd driver updates for acp revision, refactoring code and support for
         acp6.3
      
       - soft reset support for cadence driver
      
      * tag 'soundwire-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (24 commits)
        soundwire: Minor formatting fixups in sdw.h header
        soundwire: Update the includes on the sdw.h header
        soundwire: cadence: clear MCP BLOCK_WAKEUP in init
        soundwire: cadence: add soft-reset on startup
        soundwire: intel_auxdevice: add kernel parameter for mclk divider
        soundwire: mipi-disco: add support for DP0/DPn 'lane-list' property
        soundwire: mipi-disco: add new properties from 2.0 spec
        soundwire: mipi-disco: add comment on DP0-supported property
        soundwire: mipi-disco: add support for peripheral channelprepare timeout
        soundwire: mipi_disco: add support for clock-scales property
        soundwire: mipi-disco: add error handling for property array read
        soundwire: mipi-disco: remove DPn audio-modes
        soundwire: optimize sdw_dpn_prop
        soundwire: optimize sdw_dp0_prop
        soundwire: optimize sdw_slave_prop
        soundwire: optimize sdw_bus structure
        soundwire: optimize sdw_master_prop
        soundwire: optimize sdw_stream_runtime memory layout
        soundwire: mipi_disco: add MIPI-specific property_read_bool() helpers
        soundwire: Correct some typos in comments
        ...
      9ad55a67
    • Linus Torvalds's avatar
      Merge tag 'phy-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 0ce9a5ff
      Linus Torvalds authored
      Pull phy updates from Vinod Koul:
       "New hardware support:
      
         - ST STM32MP25 combophy support
      
         - Sparx5 support for lan969x serdes and updates to driver to support
           this
      
         - NXP PTN3222 eUSB2 to USB2 redriver
      
         - Qualcomm SAR2130P eusb2 support, QCS8300 USB DW3 and QMP USB2
           support, X1E80100 QMP PCIe PHY Gen4 support, QCS615 and QCS8300 QMP
           UFS PHY support and SA8775P eDP PHY support
      
         - Rockchip rk3576 usbdp and rk3576 usb2 phy support
      
         - Binding for Microchip ATA6561 can phy
      
        Updates:
      
         - Freescale driver updates from hdmi support
      
         - Conversion of rockchip rk3228 hdmi phy binding to yaml
      
         - Broadcom usb2-phy deprecated support dropped and USB init array
           update for BCM4908
      
         - TI USXGMII mode support in J7200
      
         - Switch back to platform_driver::remove() subsystem update"
      
      * tag 'phy-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (59 commits)
        phy: qcom: qmp: Fix lecacy-legacy typo
        phy: lan969x-serdes: add support for lan969x serdes driver
        dt-bindings: phy: sparx5: document lan969x
        phy: sparx5-serdes: add support for branching on chip type
        phy: sparx5-serdes: add indirection layer to register macros
        phy: sparx5-serdes: add function for getting the CMU index
        phy: sparx5-serdes: add ops to match data
        phy: sparx5-serdes: add constant for the number of CMU's
        phy: sparx5-serdes: add constants to match data
        phy: sparx5-serdes: add support for private match data
        phy: bcm-ns-usb2: drop support for old binding variant
        dt-bindings: phy: bcm-ns-usb2-phy: drop deprecated variant
        dt-bindings: phy: Add QMP UFS PHY compatible for QCS8300
        dt-bindings: phy: qcom: snps-eusb2: Add SAR2130P compatible
        dt-bindings: phy: ti,tcan104x-can: Document Microchip ATA6561
        phy: airoha: Fix REG_CSR_2L_RX{0,1}_REV0 definitions
        phy: airoha: Fix REG_CSR_2L_JCPLL_SDM_HREN config in airoha_pcie_phy_init_ssc_jcpll()
        phy: airoha: Fix REG_PCIE_PMA_TX_RESET config in airoha_pcie_phy_init_csr_2l()
        phy: airoha: Fix REG_CSR_2L_PLL_CMN_RESERVE0 config in airoha_pcie_phy_init_clk_out()
        phy: phy-rockchip-samsung-hdptx: Don't request RST_PHY/RST_ROPLL/RST_LCPLL
        ...
      0ce9a5ff
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 7536c1a5
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "New hardware support:
      
         - Qualcomm SAR2130P GPI dma support
      
         - Sifive PIC64GX pdma support
      
         - Rcar r7s72100 support and associated updates
      
        Updates:
      
         - STM32 DMA3 updates for packing/unpacking mode and prevention of
           additional xfers
      
         - Simplification of devm_acpi_dma_controller_register() and associate
           cleanup including headers
      
         - loongson prefix renames
      
         - Switch back to platform_driver::remove() subsystem update"
      
      * tag 'dmaengine-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
        dmaengine: loongson2-apb: Rename the prefix ls2x to loongson2
        dt-bindings: dma: sifive pdma: Add PIC64GX to compatibles
        dmaengine: fix typo in the comment
        dmaengine: stm32-dma3: clamp AXI burst using match data
        dmaengine: stm32-dma3: prevent LL refactoring thanks to DT configuration
        dt-bindings: dma: stm32-dma3: prevent additional transfers
        dmaengine: stm32-dma3: refactor HW linked-list to optimize memory accesses
        dmaengine: stm32-dma3: prevent pack/unpack thanks to DT configuration
        dt-bindings: dma: stm32-dma3: prevent packing/unpacking mode
        dmaengine: idxd: Move DSA/IAA device IDs to IDXD driver
        dt-bindings: dma: qcom,gpi: Add SAR2130P compatible
        dmaengine: Switch back to struct platform_driver::remove()
        dmaengine: ep93xx: Fix unsigned compared against 0
        dmaengine: acpi: Clean up headers
        dmaengine: acpi: Simplify devm_acpi_dma_controller_register()
        dmaengine: acpi: Drop unused devm_acpi_dma_controller_free()
        dmaengine: sh: rz-dmac: add r7s72100 support
        dt-bindings: dma: rz-dmac: Document RZ/A1H SoC
      7536c1a5
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 6b867c47
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "Apart from the gpio-exar fix which addresses an older issue, they all
        fix regressions from this release cycle:
      
         - fix missing GPIO chip labels in gpio-zevio and gpio-altera
      
         - for the latter: also set GPIO base to -1 to use dynamic range
           allocation
      
         - fix value setting with external pull-up/down resistor in gpio-exar
      
         - use the recommended IDA interfaces in gpio-mpsse"
      
      * tag 'gpio-fixes-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mpsse: Remove usage of the deprecated ida_simple_xx() API
        gpio: exar: set value when external pull-up or pull-down is present
        gpio: altera: Add missed base and label initialisations
        gpio: zevio: Add missed label initialisation
      6b867c47
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 2a50b1e7
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "A small number of improvements all over the place"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio_vdpa: remove redundant check on desc
        virtio_fs: store actual queue index in mq_map
        virtio_fs: add informative log for new tag discovery
        virtio: Make vring_new_virtqueue support packed vring
        virtio_pmem: Add freeze/restore callbacks
        vdpa/mlx5: Fix suboptimal range on iotlb iteration
      2a50b1e7
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.13-rc1' of https://github.com/awilliam/linux-vfio · 4aca98a8
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Constify an unmodified structure used in linking vfio and kvm
         (Christophe JAILLET)
      
       - Add ID for an additional hardware SKU supported by the nvgrace-gpu
         vfio-pci variant driver (Ankit Agrawal)
      
       - Fix incorrect signed cast in QAT vfio-pci variant driver, negating
         test in check_add_overflow(), though still caught by later tests
         (Giovanni Cabiddu)
      
       - Additional debugfs attributes exposed in hisi_acc vfio-pci variant
         driver for migration debugging (Longfang Liu)
      
       - Migration support is added to the virtio vfio-pci variant driver,
         becoming the primary feature of the driver while retaining emulation
         of virtio legacy support as a secondary option (Yishai Hadas)
      
       - Fixes to a few unwind flows in the mlx5 vfio-pci driver discovered
         through reviews of the virtio variant driver (Yishai Hadas)
      
       - Fix an unlikely issue where a PCI device exposed to userspace with an
         unknown capability at the base of the extended capability chain can
         overflow an array index (Avihai Horon)
      
      * tag 'vfio-v6.13-rc1' of https://github.com/awilliam/linux-vfio:
        vfio/pci: Properly hide first-in-list PCIe extended capability
        vfio/mlx5: Fix unwind flows in mlx5vf_pci_save/resume_device_data()
        vfio/mlx5: Fix an unwind issue in mlx5vf_add_migration_pages()
        vfio/virtio: Enable live migration once VIRTIO_PCI was configured
        vfio/virtio: Add PRE_COPY support for live migration
        vfio/virtio: Add support for the basic live migration functionality
        virtio-pci: Introduce APIs to execute device parts admin commands
        virtio: Manage device and driver capabilities via the admin commands
        virtio: Extend the admin command to include the result size
        virtio_pci: Introduce device parts access commands
        Documentation: add debugfs description for hisi migration
        hisi_acc_vfio_pci: register debugfs for hisilicon migration driver
        hisi_acc_vfio_pci: create subfunction for data reading
        hisi_acc_vfio_pci: extract public functions for container_of
        vfio/qat: fix overflow check in qat_vf_resume_write()
        vfio/nvgrace-gpu: Add a new GH200 SKU to the devid table
        kvm/vfio: Constify struct kvm_device_ops
      4aca98a8
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.13-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 91dbbe6c
      Linus Torvalds authored
      Pull RISC-v updates from Palmer Dabbelt:
      
       - Support for pointer masking in userspace
      
       - Support for probing vector misaligned access performance
      
       - Support for qspinlock on systems with Zacas and Zabha
      
      * tag 'riscv-for-linus-6.13-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (38 commits)
        RISC-V: Remove unnecessary include from compat.h
        riscv: Fix default misaligned access trap
        riscv: Add qspinlock support
        dt-bindings: riscv: Add Ziccrse ISA extension description
        riscv: Add ISA extension parsing for Ziccrse
        asm-generic: ticket-lock: Add separate ticket-lock.h
        asm-generic: ticket-lock: Reuse arch_spinlock_t of qspinlock
        riscv: Implement xchg8/16() using Zabha
        riscv: Implement arch_cmpxchg128() using Zacas
        riscv: Improve zacas fully-ordered cmpxchg()
        riscv: Implement cmpxchg8/16() using Zabha
        dt-bindings: riscv: Add Zabha ISA extension description
        riscv: Implement cmpxchg32/64() using Zacas
        riscv: Do not fail to build on byte/halfword operations with Zawrs
        riscv: Move cpufeature.h macros into their own header
        KVM: riscv: selftests: Add Smnpm and Ssnpm to get-reg-list test
        RISC-V: KVM: Allow Smnpm and Ssnpm extensions for guests
        riscv: hwprobe: Export the Supm ISA extension
        riscv: selftests: Add a pointer masking test
        riscv: Allow ptrace control of the tagged address ABI
        ...
      91dbbe6c
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.13' of... · c9469697
      Linus Torvalds authored
      Merge tag 'loongarch-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - Fix build failure with GCC 15 due to default -std=gnu23
      
       - Add PREEMPT_RT/PREEMPT_LAZY support
      
       - Add I2S in DTS for Loongson-2K1000/Loongson-2K2000
      
       - Some bug fixes and other small changes
      
      * tag 'loongarch-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: Update Loongson-3 default config file
        LoongArch: dts: Add I2S support to Loongson-2K2000
        LoongArch: dts: Add I2S support to Loongson-2K1000
        LoongArch: Allow to enable PREEMPT_LAZY
        LoongArch: Allow to enable PREEMPT_RT
        LoongArch: Select HAVE_POSIX_CPU_TIMERS_TASK_WORK
        LoongArch: Fix sleeping in atomic context for PREEMPT_RT
        LoongArch: Reduce min_delta for the arch clockevent device
        LoongArch: BPF: Sign-extend return values
        LoongArch: Fix build failure with GCC 15 (-std=gnu23)
        LoongArch: Explicitly specify code model in Makefile
      c9469697
    • Linus Torvalds's avatar
      Merge tag 'memblock-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · ab952fc5
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
      
       - replace hardcoded strings with str_on_off() in report_meminit()
      
       - initialize reserved pages to MIGRATE_MOVABLE when deferred struct
         page initialization is enabled so that if the reserved pages are
         freed they are put on movable free lists like it is done now when
         deferred struct page initialization is disabled
      
      * tag 'memblock-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock: uniformly initialize all reserved pages to MIGRATE_MOVABLE
        mm: Use str_on_off() helper function in report_meminit()
      ab952fc5
Loading