Skip to contentSkip to conversation

Linux 6.18.21

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Apr 2 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.18.21 kernel.

All users of the 6.18 kernel series must upgrade.

The updated 6.18.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.18.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/admin-guide/kernel-parameters.txt                      |    3 
 Documentation/devicetree/bindings/sound/st,stm32-sai.yaml            |    2 
 Documentation/filesystems/overlayfs.rst                              |   50 +
 Documentation/hwmon/adm1177.rst                                      |    8 
 Documentation/hwmon/peci-cputemp.rst                                 |   10 
 Makefile                                                             |    4 
 arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dts            |   13 
 arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl.dtsi                  |   22 
 arch/arm64/kvm/reset.c                                               |   14 
 arch/loongarch/include/asm/linkage.h                                 |   36 
 arch/loongarch/include/asm/sigframe.h                                |    9 
 arch/loongarch/kernel/asm-offsets.c                                  |    2 
 arch/loongarch/kernel/env.c                                          |    7 
 arch/loongarch/kernel/signal.c                                       |    6 
 arch/loongarch/kvm/intc/eiointc.c                                    |    2 
 arch/loongarch/kvm/vcpu.c                                            |    3 
 arch/loongarch/pci/pci.c                                             |   80 +
 arch/loongarch/vdso/Makefile                                         |    4 
 arch/loongarch/vdso/sigreturn.S                                      |    6 
 arch/powerpc/net/bpf_jit_comp64.c                                    |   23 
 arch/powerpc/tools/ftrace-gen-ool-stubs.sh                           |    4 
 arch/s390/include/asm/barrier.h                                      |    4 
 arch/s390/kernel/entry.S                                             |    3 
 arch/s390/kernel/syscall.c                                           |    5 
 arch/s390/mm/fault.c                                                 |   11 
 arch/sh/drivers/platform_early.c                                     |    4 
 arch/x86/coco/sev/noinstr.c                                          |    6 
 arch/x86/entry/entry_fred.c                                          |   14 
 arch/x86/events/core.c                                               |    4 
 arch/x86/include/asm/unwind_user.h                                   |    4 
 arch/x86/kernel/cpu/common.c                                         |   20 
 arch/x86/kvm/mmu/mmu.c                                               |   17 
 arch/x86/platform/efi/quirks.c                                       |    2 
 block/blk-mq.c                                                       |   45 -
 drivers/acpi/ec.c                                                    |    2 
 drivers/base/bus.c                                                   |   43 +
 drivers/base/core.c                                                  |    2 
 drivers/base/dd.c                                                    |   60 +
 drivers/base/platform.c                                              |   37 
 drivers/base/regmap/regmap.c                                         |   30 
 drivers/bluetooth/btintel.c                                          |   11 
 drivers/bluetooth/btusb.c                                            |    5 
 drivers/bluetooth/hci_ll.c                                           |    2 
 drivers/bus/simple-pm-bus.c                                          |    4 
 drivers/clk/imx/clk-scu.c                                            |    3 
 drivers/cpufreq/cpufreq_conservative.c                               |   12 
 drivers/cpufreq/cpufreq_governor.c                                   |    3 
 drivers/cpufreq/cpufreq_governor.h                                   |    1 
 drivers/cxl/core/hdm.c                                               |   25 
 drivers/cxl/core/port.c                                              |    8 
 drivers/cxl/pmem.c                                                   |    2 
 drivers/dma/dw-edma/dw-hdma-v0-core.c                                |    6 
 drivers/dma/fsl-edma-main.c                                          |   26 
 drivers/dma/idxd/cdev.c                                              |    8 
 drivers/dma/idxd/device.c                                            |    6 
 drivers/dma/idxd/init.c                                              |    4 
 drivers/dma/idxd/submit.c                                            |    2 
 drivers/dma/idxd/sysfs.c                                             |    1 
 drivers/dma/sh/rz-dmac.c                                             |   66 -
 drivers/dma/xilinx/xdma.c                                            |    4 
 drivers/dma/xilinx/xilinx_dma.c                                      |   46 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c                           |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c                              |   45 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h                              |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                               |    1 
 drivers/gpu/drm/amd/amdgpu/mes_v12_0.c                               |    5 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                    |    8 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h                    |    1 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c          |    4 
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c                            |    7 
 drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c                       |    7 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c                 |    2 
 drivers/gpu/drm/i915/display/intel_display.c                         |    8 
 drivers/gpu/drm/i915/display/intel_dp_tunnel.c                       |   20 
 drivers/gpu/drm/i915/display/intel_dp_tunnel.h                       |   11 
 drivers/gpu/drm/i915/display/intel_gmbus.c                           |    4 
 drivers/gpu/drm/i915/display/intel_plane.c                           |   11 
 drivers/gpu/drm/i915/i915_wait_util.h                                |    2 
 drivers/gpu/drm/mediatek/mtk_dsi.c                                   |    9 
 drivers/gpu/drm/ttm/tests/ttm_bo_test.c                              |    4 
 drivers/gpu/drm/xe/regs/xe_gt_regs.h                                 |    1 
 drivers/gpu/drm/xe/xe_pt.c                                           |   12 
 drivers/gpu/drm/xe/xe_vm.c                                           |   22 
 drivers/gpu/drm/xe/xe_vm_types.h                                     |    4 
 drivers/gpu/drm/xe/xe_wa.c                                           |    3 
 drivers/hid/hid-apple.c                                              |    7 
 drivers/hid/hid-asus.c                                               |   18 
 drivers/hid/hid-ids.h                                                |    1 
 drivers/hid/hid-magicmouse.c                                         |    6 
 drivers/hid/hid-mcp2221.c                                            |    2 
 drivers/hid/intel-ish-hid/ipc/hw-ish.h                               |    2 
 drivers/hid/intel-ish-hid/ipc/pci-ish.c                              |   12 
 drivers/hwmon/adm1177.c                                              |   54 -
 drivers/hwmon/axi-fan-control.c                                      |    2 
 drivers/hwmon/peci/cputemp.c                                         |    4 
 drivers/hwmon/pmbus/ina233.c                                         |    3 
 drivers/hwmon/pmbus/isl68137.c                                       |   21 
 drivers/hwmon/pmbus/pmbus_core.c                                     |  192 +++-
 drivers/i2c/busses/i2c-designware-amdisp.c                           |   11 
 drivers/i2c/busses/i2c-imx.c                                         |   51 -
 drivers/i3c/master/dw-i3c-master.c                                   |    2 
 drivers/infiniband/core/rw.c                                         |   21 
 drivers/infiniband/hw/efa/efa_com.c                                  |  173 ++--
 drivers/infiniband/hw/ionic/ionic_controlpath.c                      |    4 
 drivers/infiniband/hw/irdma/cm.c                                     |   29 
 drivers/infiniband/hw/irdma/uk.c                                     |   39 
 drivers/infiniband/hw/irdma/utils.c                                  |    2 
 drivers/infiniband/hw/irdma/verbs.c                                  |    9 
 drivers/irqchip/irq-qcom-mpm.c                                       |    3 
 drivers/irqchip/irq-renesas-rzv2h.c                                  |    2 
 drivers/media/mc/mc-request.c                                        |    5 
 drivers/media/v4l2-core/v4l2-ioctl.c                                 |    5 
 drivers/net/can/dev/netlink.c                                        |    4 
 drivers/net/ethernet/airoha/airoha_ppe.c                             |    2 
 drivers/net/ethernet/broadcom/asp2/bcmasp.c                          |   66 -
 drivers/net/ethernet/cadence/macb_main.c                             |   41 
 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c                 |    2 
 drivers/net/ethernet/intel/iavf/iavf_ethtool.c                       |   31 
 drivers/net/ethernet/intel/ice/ice_ethtool.c                         |   14 
 drivers/net/ethernet/intel/ice/ice_repr.c                            |    5 
 drivers/net/ethernet/microchip/lan743x_main.c                        |    5 
 drivers/net/ethernet/pensando/ionic/ionic_lif.c                      |   17 
 drivers/net/team/team_core.c                                         |   65 +
 drivers/net/tun_vnet.h                                               |    2 
 drivers/net/usb/r8152.c                                              |    1 
 drivers/net/virtio_net.c                                             |    7 
 drivers/nvme/host/fabrics.c                                          |    4 
 drivers/nvme/host/pci.c                                              |   11 
 drivers/nvme/target/admin-cmd.c                                      |    2 
 drivers/nvme/target/core.c                                           |   14 
 drivers/nvme/target/nvmet.h                                          |    1 
 drivers/nvme/target/rdma.c                                           |    1 
 drivers/phy/qualcomm/phy-qcom-qmp-ufs.c                              |    3 
 drivers/phy/ti/phy-j721e-wiz.c                                       |    2 
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c                        |    9 
 drivers/pinctrl/renesas/pinctrl-rza1.c                               |    2 
 drivers/pinctrl/renesas/pinctrl-rzt2h.c                              |    1 
 drivers/pinctrl/stm32/Kconfig                                        |    1 
 drivers/platform/olpc/olpc-xo175-ec.c                                |    2 
 drivers/platform/x86/hp/hp-wmi.c                                     |    8 
 drivers/platform/x86/intel/hid.c                                     |   23 
 drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c          |    5 
 drivers/platform/x86/lenovo/wmi-gamezone.c                           |    2 
 drivers/platform/x86/oxpec.c                                         |   30 
 drivers/platform/x86/touchscreen_dmi.c                               |   18 
 drivers/scsi/ibmvscsi/ibmvfc.c                                       |    3 
 drivers/scsi/mpi3mr/mpi3mr_fw.c                                      |   10 
 drivers/scsi/scsi_devinfo.c                                          |    2 
 drivers/scsi/scsi_transport_sas.c                                    |    2 
 drivers/scsi/ses.c                                                   |    2 
 drivers/slimbus/qcom-ngd-ctrl.c                                      |    6 
 drivers/spi/spi-fsl-lpspi.c                                          |    3 
 drivers/spi/spi-intel-pci.c                                          |    1 
 drivers/spi/spi-meson-spicc.c                                        |    2 
 drivers/spi/spi-sn-f-ospi.c                                          |   17 
 drivers/spi/spi.c                                                    |   19 
 drivers/thermal/intel/int340x_thermal/processor_thermal_soc_slider.c |    8 
 drivers/usb/core/config.c                                            |    6 
 drivers/usb/core/quirks.c                                            |    5 
 drivers/virt/coco/tdx-guest/tdx-guest.c                              |   12 
 drivers/xen/privcmd.c                                                |    3 
 fs/btrfs/block-group.c                                               |    2 
 fs/btrfs/disk-io.c                                                   |    4 
 fs/btrfs/ioctl.c                                                     |    7 
 fs/btrfs/volumes.c                                                   |    5 
 fs/erofs/fileio.c                                                    |    6 
 fs/erofs/zdata.c                                                     |    3 
 fs/ext4/crypto.c                                                     |    9 
 fs/ext4/ext4.h                                                       |    1 
 fs/ext4/extents.c                                                    |   23 
 fs/ext4/fast_commit.c                                                |   17 
 fs/ext4/fsync.c                                                      |   16 
 fs/ext4/ialloc.c                                                     |    6 
 fs/ext4/inline.c                                                     |   10 
 fs/ext4/inode.c                                                      |   75 +
 fs/ext4/mballoc.c                                                    |   30 
 fs/ext4/page-io.c                                                    |   10 
 fs/ext4/super.c                                                      |   16 
 fs/ext4/sysfs.c                                                      |   10 
 fs/fs-writeback.c                                                    |   18 
 fs/fuse/file.c                                                       |    4 
 fs/fuse/inode.c                                                      |    1 
 fs/jbd2/checkpoint.c                                                 |   15 
 fs/netfs/buffered_read.c                                             |    3 
 fs/netfs/direct_read.c                                               |    3 
 fs/netfs/direct_write.c                                              |   15 
 fs/netfs/iterator.c                                                  |   43 +
 fs/netfs/read_collect.c                                              |    4 
 fs/netfs/read_retry.c                                                |    5 
 fs/netfs/read_single.c                                               |    1 
 fs/netfs/write_collect.c                                             |    4 
 fs/netfs/write_issue.c                                               |    3 
 fs/overlayfs/copy_up.c                                               |    6 
 fs/overlayfs/overlayfs.h                                             |   21 
 fs/overlayfs/ovl_entry.h                                             |    7 
 fs/overlayfs/params.c                                                |   33 
 fs/overlayfs/super.c                                                 |    2 
 fs/overlayfs/util.c                                                  |    5 
 fs/smb/server/oplock.c                                               |   72 +
 fs/smb/server/smb2pdu.c                                              |   73 +
 fs/xfs/scrub/quota.c                                                 |    4 
 fs/xfs/scrub/trace.h                                                 |   12 
 fs/xfs/xfs_attr_item.c                                               |    5 
 fs/xfs/xfs_dquot_item.c                                              |    9 
 fs/xfs/xfs_inode_item.c                                              |    9 
 fs/xfs/xfs_mount.c                                                   |    7 
 fs/xfs/xfs_trace.h                                                   |   47 -
 fs/xfs/xfs_trans_ail.c                                               |   26 
 include/linux/damon.h                                                |    6 
 include/linux/device.h                                               |   54 +
 include/linux/device/bus.h                                           |    4 
 include/linux/dma-mapping.h                                          |    4 
 include/linux/fs.h                                                   |    1 
 include/linux/mempolicy.h                                            |    1 
 include/linux/netfs.h                                                |    1 
 include/linux/pagemap.h                                              |   11 
 include/linux/platform_device.h                                      |    5 
 include/linux/spi/spi.h                                              |    5 
 include/linux/swapops.h                                              |   27 
 include/linux/usb/quirks.h                                           |    3 
 include/linux/usb/r8152.h                                            |    1 
 include/linux/virtio_net.h                                           |   53 +
 include/net/bluetooth/l2cap.h                                        |    2 
 include/net/inet_hashtables.h                                        |   14 
 include/net/ip6_fib.h                                                |   21 
 include/sound/cs35l56.h                                              |    1 
 include/trace/events/netfs.h                                         |    8 
 include/trace/events/task.h                                          |    7 
 include/uapi/linux/dma-buf.h                                         |    1 
 include/uapi/linux/netfilter/nf_conntrack_common.h                   |    4 
 kernel/bpf/btf.c                                                     |   24 
 kernel/bpf/core.c                                                    |   43 -
 kernel/bpf/verifier.c                                                |   36 
 kernel/dma/swiotlb.c                                                 |   21 
 kernel/events/core.c                                                 |   19 
 kernel/futex/core.c                                                  |    2 
 kernel/futex/pi.c                                                    |    3 
 kernel/futex/syscalls.c                                              |    8 
 kernel/module/main.c                                                 |    7 
 kernel/power/main.c                                                  |    2 
 kernel/power/snapshot.c                                              |   11 
 kernel/sched/ext.c                                                   |    2 
 kernel/sysctl.c                                                      |    2 
 kernel/time/alarmtimer.c                                             |    2 
 kernel/trace/trace_osnoise.c                                         |   10 
 mm/damon/core.c                                                      |    8 
 mm/damon/stat.c                                                      |   36 
 mm/damon/sysfs.c                                                     |   10 
 mm/mempolicy.c                                                       |   10 
 mm/mseal.c                                                           |    5 
 mm/pagewalk.c                                                        |   25 
 net/bluetooth/l2cap_core.c                                           |  105 +-
 net/bluetooth/l2cap_sock.c                                           |    3 
 net/bluetooth/mgmt.c                                                 |    2 
 net/bluetooth/sco.c                                                  |   10 
 net/can/af_can.c                                                     |    4 
 net/can/af_can.h                                                     |    2 
 net/can/gw.c                                                         |    6 
 net/can/isotp.c                                                      |   24 
 net/can/proc.c                                                       |    3 
 net/core/rtnetlink.c                                                 |   28 
 net/ipv4/esp4.c                                                      |    9 
 net/ipv4/inet_connection_sock.c                                      |   20 
 net/ipv4/udp.c                                                       |    2 
 net/ipv6/addrconf.c                                                  |    4 
 net/ipv6/esp6.c                                                      |    9 
 net/ipv6/ip6_fib.c                                                   |   15 
 net/ipv6/netfilter/ip6t_rt.c                                         |    4 
 net/ipv6/route.c                                                     |    2 
 net/key/af_key.c                                                     |   19 
 net/netfilter/nf_conntrack_expect.c                                  |    4 
 net/netfilter/nf_conntrack_netlink.c                                 |   16 
 net/netfilter/nf_conntrack_proto_tcp.c                               |   10 
 net/netfilter/nf_conntrack_sip.c                                     |   14 
 net/netfilter/nfnetlink_log.c                                        |    8 
 net/netfilter/nft_set_rbtree.c                                       |   92 +-
 net/nfc/nci/core.c                                                   |   10 
 net/openvswitch/flow_netlink.c                                       |    2 
 net/openvswitch/vport-netdev.c                                       |   11 
 net/packet/af_packet.c                                               |    1 
 net/smc/smc_rx.c                                                     |    9 
 net/tls/tls_sw.c                                                     |    2 
 net/xfrm/xfrm_iptfs.c                                                |   17 
 net/xfrm/xfrm_nat_keepalive.c                                        |    2 
 net/xfrm/xfrm_policy.c                                               |    2 
 net/xfrm/xfrm_state.c                                                |    1 
 net/xfrm/xfrm_user.c                                                 |    7 
 rust/kernel/regulator.rs                                             |   33 
 rust/pin-init/src/macros.rs                                          |   16 
 scripts/package/install-extmod-build                                 |    4 
 sound/firewire/amdtp-stream.c                                        |    2 
 sound/hda/codecs/hdmi/tegrahdmi.c                                    |    1 
 sound/hda/codecs/realtek/alc269.c                                    |   42 -
 sound/hda/codecs/realtek/alc662.c                                    |    9 
 sound/hda/codecs/senarytech.c                                        |    5 
 sound/hda/controllers/intel.c                                        |    1 
 sound/soc/amd/acp/amd-acp63-acpi-match.c                             |  413 ++++++++++
 sound/soc/codecs/adau1372.c                                          |   34 
 sound/soc/codecs/cs35l56-shared.c                                    |   16 
 sound/soc/codecs/cs35l56.c                                           |    8 
 sound/soc/codecs/rt1320-sdw.c                                        |    5 
 sound/soc/codecs/sma1307.c                                           |    6 
 sound/soc/codecs/wcd934x.c                                           |    2 
 sound/soc/fsl/fsl_easrc.c                                            |   14 
 sound/soc/fsl/imx-card.c                                             |    2 
 sound/soc/intel/boards/sof_sdw.c                                     |    8 
 sound/soc/intel/catpt/device.c                                       |   10 
 sound/soc/intel/catpt/dsp.c                                          |    3 
 sound/soc/samsung/i2s.c                                              |    6 
 sound/soc/sof/ipc4-topology.c                                        |    2 
 sound/usb/quirks.c                                                   |    2 
 tools/objtool/arch/x86/decode.c                                      |   62 -
 tools/objtool/check.c                                                |   14 
 tools/testing/selftests/bpf/prog_tests/reg_bounds.c                  |   62 +
 tools/testing/selftests/bpf/progs/exceptions_fail.c                  |    9 
 tools/testing/selftests/mount_setattr/mount_setattr_test.c           |    2 
 316 files changed, 3573 insertions(+), 1170 deletions(-)

Abel Vesa (1):
phy: qcom: qmp-ufs: Fix SM8650 PCS table for Gear 4

Abhijit Gangurde (1):
RDMA/ionic: Preserve and set Ethernet source MAC after ib_ud_header_init()

Alan Borzeszkowski (1):
spi: intel-pci: Add support for Nova Lake mobile SPI flash

Alberto Garcia (1):
PM: hibernate: Drain trailing zero pages on userspace restore

Alex Hung (1):
drm/amd/display: Fix drm_edid leak in amdgpu_dm

Alexander Stein (1):
dmaengine: xilinx: xdma: Fix regmap init error handling

Alexey Nepomnyashih (1):
ALSA: firewire-lib: fix uninitialized local variable

Ali Norouzi (1):
can: gw: fix OOB heap access in cgw_csum_crc8_rel()

Alice Ryhl (1):
rust: regulator: do not assume that regulator_get() returns non-null

Alison Schofield (1):
cxl/port: Fix use after free of parent_port in cxl_detach_ep()

Alok Tiwari (1):
platform/olpc: olpc-xo175-ec: Fix overflow error message to print inlen

Amelie Delaunay (1):
pinctrl: stm32: fix HDP driver dependency on GPIO_GENERIC

Amir Goldstein (1):
ovl: fix wrong detection of 32bit inode numbers

Anas Iqbal (1):
Bluetooth: hci_ll: Fix firmware leak on error path

Andy Shevchenko (1):
regmap: Synchronize cache for the page selector

Anil Samal (1):
RDMA/irdma: Fix deadlock during netdev reset with active connections

Antheas Kapenekakis (4):
platform/x86: oxpec: Add support for OneXPlayer APEX platform/x86: oxpec: Add support for OneXPlayer X1z platform/x86: oxpec: Add support for Aokzoe A2 Pro platform/x86: oxpec: Add support for OneXPlayer X1 Air

Asad Kamal (1):
drm/amd/pm: Return -EOPNOTSUPP for unsupported OD_MCLK on smu_v13_0_6

Baokun Li (1):
ext4: fix iloc.bh leak in ext4_fc_replay_inode() error paths

Benno Lossin (1):
rust: pin-init: internal: init: document load-bearing fact of field accessors

Biju Das (1):
irqchip/renesas-rzv2h: Fix error path in rzv2h_icu_probe_common()

Boris Burkov (1):
btrfs: set BTRFS_ROOT_ORPHAN_CLEANUP during subvol create

Borislav Petkov (AMD) (1):
x86/cpu: Remove X86_CR4_FRED from the CR4 pinned bits mask

Cen Zhang (1):
Bluetooth: btintel: serialize btintel_hw_error() with hci_req_sync_lock

Cezary Rojewski (1):
ASoC: Intel: catpt: Fix the device initialization

Chaitanya Kulkarni (1):
nvmet: move async event work off nvmet-wq

Charles Mirabile (1):
kbuild: Delete .builtin-dtbs.S when running make clean

Christian Brauner (1):
selftests/mount_setattr: increase tmpfs size for idmapped mount tests

Chuck Lever (2):
tls: Purge async_hold in tls_decrypt_async_wait() RDMA/rw: Fall back to direct SGE on MR pool exhaustion

Claudiu Beznea (2):
dmaengine: sh: rz-dmac: Protect the driver specific lists
dmaengine: sh: rz-dmac: Move CHCTRL updates under spinlock

Cui Chao (1):
cxl: Adjust the startup priority of cxl_pmem to be higher than that of cxl_acpi

Daniel Hodges (1):
nvme-fabrics: use kfree_sensitive() for DHCHAP secrets

Daniel Wade (1):
bpf: Fix unsound scalar forking in maybe_fork_scalars() for BPF_OR

Danilo Krummrich (5):
hwmon: axi-fan: don't use driver_override as IRQ name
sh: platform_early: remove pdev->driver_override check driver core: generalize driver_override in struct device driver core: platform: use generic driver_override infrastructure
spi: use generic driver_override infrastructure

Darrick J. Wong (2):
xfs: don't irele after failing to iget in xfs_attri_recover_work
xfs: remove file_path tracepoint data

David Carlier (1):
netfilter: ctnetlink: use netlink policy range checks

David Howells (2):
netfs: Fix read abandonment during retry
netfs: Fix the handling of stream->front by removing it

David McFarland (1):
platform/x86: intel-hid: disable wakeup_mode during hibernation

Davidlohr Bueso (1):
futex: Clear stale exiting pointer in futex_lock_pi() retry path

Deepanshu Kartikey (3):
ext4: convert inline data to extents when truncate exceeds inline size
netfs: Fix kernel BUG in netfs_limit_iter() for ITER_KVEC iterators
netfs: Fix NULL pointer dereference in netfs_unbuffered_write() on retry

Denis Benato (1):
HID: asus: add xg mobile 2023 external hardware support

Dmitry Torokhov (1):
pinctrl: renesas: rza1: Normalize return value of gpio_get()

Eduard Zingerman (1):
bpf: Fix u32/s32 bounds when ranges cross min/max boundary

Edward Adam Davis (1):
ext4: avoid infinite loops caused by residual data

Eric Dumazet (1):
af_key: validate families in pfkey_send_migrate()

Eric Huang (1):
drm/amdgpu: prevent immediate PASID reuse case

Ethan Tidmore (1):
RDMA/efa: Fix possible deadlock

Fei Lv (1):
ovl: make fsync after metadata copy-up opt-in mount option

Felix Gu (4):
pinctrl: renesas: rzt2h: Fix device node leak in rzt2h_gpio_register()
spi: sn-f-ospi: Fix resource leak in f_ospi_probe()
spi: meson-spicc: Fix double-put in remove path
phy: ti: j721e-wiz: Fix device node reference leak in wiz_get_lane_phy_types()

Fernando Fernandez Mancera (1):
xfrm: iptfs: fix skb_put() panic on non-linear skb during reassembly

Filipe Manana (1):
btrfs: fix lost error when running device stats on multiple devices fs

Florian Fuchs (1):
scsi: devinfo: Add BLIST_SKIP_IO_HINTS for Iomega ZIP

Geoffrey D. Bennett (2):
ALSA: usb-audio: Exclude Scarlett 2i2 1st Gen from SKIP_IFACE_SETUP
ALSA: usb-audio: Exclude Scarlett 2i4 1st Gen from SKIP_IFACE_SETUP

Greg Kroah-Hartman (3):
s390/syscalls: Add spectre boundary for syscall dispatch table
scsi: ses: Handle positive SCSI error from ses_recv_diag() Linux 6.18.21

Guangshuo Li (1):
ASoC: sma1307: fix double free of devm_kzalloc() memory

Guenter Roeck (3):
hwmon: (pmbus) Mark lowest/average/highest/rated attributes as read-only
hwmon: (pmbus) Introduce the concept of "write-only" attributes
hwmon: (pmbus/core) Protect regulator operations with mutex

GuoHan Zhao (1):
xen/privcmd: unregister xenstore notifier on module exit

Günther Noack (3):
HID: asus: avoid memory leak in asus_report_fixup()
HID: magicmouse: avoid memory leak in magicmouse_report_fixup()
HID: apple: avoid memory leak in apple_report_fixup()

Hans de Goede (1):
platform/x86: touchscreen_dmi: Add quirk for y-inverted Goodix touchscreen on SUPI S10

Hao-Yu Yang (1):
futex: Fix UaF between futex_key_to_node_opt() and vma_replace_policy()

Hari Bathini (2):
powerpc64/ftrace: fix OOL stub count with clang powerpc64/bpf: do not increment tailcall count when prog is NULL

Helen Koike (2):
Bluetooth: L2CAP: Fix null-ptr-deref on l2cap_sock_ready_cb
ext4: reject mount if bigalloc with s_first_data_block != 0

Huacai Chen (3):
LoongArch: Workaround LS2K/LS7A GPU DMA hang bug
LoongArch: KVM: Make kvm_get_vcpu_by_cpuid() more robust
LoongArch: KVM: Handle the case that EIOINTC's coremap is empty

Hyunwoo Kim (6):
xfrm: Fix work re-schedule after cancel in xfrm_nat_keepalive_net_fini()
Bluetooth: L2CAP: Validate PDU length before reading SDU length in l2cap_ecred_data_rcv()
Bluetooth: SCO: Fix use-after-free in sco_recv_frame() due to missing sock_hold
Bluetooth: L2CAP: Fix deadlock in l2cap_conn_del()
Bluetooth: L2CAP: Fix ERTM re-init and zero pdu_len infinite loop
ksmbd: do not expire session on binding failure

Ihor Solodrai (2):
bpf: Fix exception exit lock checking for subprogs
module: Fix kernel panic when a symbol st_shndx is out of bounds

Imre Deak (1):
drm/i915/dp_tunnel: Fix error handling when clearing stream BW in atomic state

Isaac J. Manjarres (1):
dma-buf: Include ioctl.h in UAPI header

Ivan Barrera (1):

      RDMA/irdma: Clean up unnecessary dereference of event->cm_node

Jacob Moroni (1):
RDMA/irdma: Initialize free_qp completion before using it

Jakub Kicinski (1):
nfc: nci: fix circular locking dependency in nci_close_device

Jan Kara (3):
ext4: fix stale xarray tags after writeback
ext4: fix fsync(2) for nojournal mode
ext4: make recently_deleted() properly work with lazy itable initialization

Janosch Frank (1):
s390/mm: Add missing secure storage access fixups for donated memory

Jassi Brar (1):
irqchip/qcom-mpm: Add missing mailbox TX done acknowledgment

Jenny Guanni Qu (1):
bpf: Fix undefined behavior in interpreter sdiv/smod for INT_MIN

Jiayuan Chen (2):
team: fix header_ops type confusion with non-Ethernet ports
ext4: fix use-after-free in update_super_work when racing with umount

Jie Deng (1):
usb: core: new quirk to handle devices with zero configurations

Jihed Chaibi (3):
ASoC: dt-bindings: stm32: Fix incorrect compatible string in stm32h7-sai match
ASoC: adau1372: Fix unchecked clk_prepare_enable() return value
ASoC: adau1372: Fix clock leak on PLL lock failure

Jinjiang Tu (1):
mm/huge_memory: fix folio isn't locked in softleaf_to_folio()

Jiucheng Xu (1):
erofs: add GFP_NOIO in the bio completion if needed

Joanne Koong (1):
writeback: don't block sync for filesystems with no data integrity guarantees

Josh Law (3):

      mm/damon/sysfs: check contexts->nr before accessing contexts_arr[0]
      mm/damon/sysfs: check contexts->nr in repeat_call_fn
      mm/damon/sysfs: fix param_ctx leak on damon_sysfs_new_test_ctx() failure

Josh Poimboeuf (1):
objtool: Handle Clang RSP musical chairs

Joy Zou (1):
dmaengine: fsl-edma: fix channel parameter config for fixed channel requests

Julius Lehmann (1):
HID: magicmouse: fix battery reporting for Apple Magic Trackpad 2

Justin Chen (3):
net: bcmasp: streamline early exit in probe
net: bcmasp: fix double free of WoL irq
net: bcmasp: fix double disable of clk

Keith Busch (2):
nvme-pci: cap queue creation to used queues
nvme-pci: ensure we're polling a polled queue

Kevin Hao (3):
net: macb: Move devm_{free,request}_irq() out of spin lock area
net: macb: Protect access to net_device::ip_ptr with RCU lock
net: macb: Use dev_consume_skb_any() to free TX SKBs

Kohei Enju (1):
iavf: fix out-of-bounds writes in iavf_get_ethtool_stats()

Krishna Chomal (2):

      platform/x86: hp-wmi: Add Omen 16-wf0xxx fan and thermal support
      platform/x86: hp-wmi: Add Omen 16-xd0xxx fan and thermal support

Kumar Kartikeya Dwivedi (1):
bpf: Release module BTF IDR before module unload

Kuniyuki Iwashima (2):
ipv6: Remove permanent routes from tb6_gc_hlist when all exceptions expire.
ipv6: Don't remove permanent routes with exceptions from tb6_gc_hlist.

LUO Haowen (1):
dmaengine: dw-edma: Fix multiple times setting of the CYCLE_STATE and CYCLE_BIT bits for HDMA.

Leif Skunberg (1):
platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1

Li Chen (1):
ext4: publish jinode after initialization

Li Jun (1):
LoongArch: Fix missing NULL checks for kstrdup()

Li RongQing (1):
platform/x86: ISST: Check HWP support before MSR access

Liucheng Lu (1):
ALSA: hda/realtek: add HP Laptop 14s-dr5xxx mute LED quirk

Long Li (1):
xfs: fix ri_total validation in xlog_recover_attri_commit_pass2

Lorenzo Stoakes (Oracle) (1):
mm/mseal: update VMA end correctly on merge

Luca Leonardo Scorcia (2):
pinctrl: mediatek: common: Fix probe failure for devices without EINT drm/mediatek: dsi: Store driver data before invoking mipi_dsi_host_register

Luiz Augusto von Dentz (3):
Bluetooth: MGMT: Fix dangling pointer on mgmt_add_adv_patterns_monitor_complete
Bluetooth: L2CAP: Fix not tracking outstanding TX ident
Bluetooth: L2CAP: Fix regressions caused by reusing ident

Luo Haiyang (1):
tracing: Fix potential deadlock in cpu hotplug with osnoise

Maarten Lankhorst (1):
drm/ttm/tests: Fix build failure on PREEMPT_RT

Marc Buerg (1):
sysctl: fix uninitialized variable in proc_do_large_bitmap

Marc Kleine-Budde (2):
spi: spi-fsl-lpspi: fix teardown order issue (UAF)
can: netlink: can_changelink(): add missing error handling to call can_ctrlmode_changelink()

Marc Zyngier (1):
KVM: arm64: Discard PC update state on vcpu reset

Marek Vasut (3):
dmaengine: xilinx: xilinx_dma: Fix dma_device directions
dmaengine: xilinx: xilinx_dma: Fix residue calculation for cyclic DMA
dmaengine: xilinx: xilinx_dma: Fix unmasked residue subtraction

Mario Limonciello (1):
Revert "ALSA: hda/intel: Add MSI X870E Tomahawk to denylist"

Mark Brown (2):
ASoC: fsl_easrc: Fix event generation in fsl_easrc_iec958_set_reg()
ASoC: fsl_easrc: Fix event generation in fsl_easrc_iec958_put_bits()

Mark Harmstone (1):
btrfs: fix super block offset in error message in btrfs_validate_super()

Markus Niebel (1):
arm64: dts: imx8mn-tqma8mqnl: fix LDO5 power off

Martin KaFai Lau (1):
udp: Fix wildcard bind conflict check when using hash2

Matt Roper (1):

      drm/xe: Implement recent spec updates to Wa_16025250150

Matthew Auld (1):
drm/xe: always keep track of remap prev/next

Max Boone (1):
mm/pagewalk: fix race between concurrent split and refault

Miguel Ojeda (1):
dma-mapping: add missing inline for dma_free_attrs

Mike Rapoport (Microsoft) (1):
x86/efi: efi_unmap_boot_services: fix calculation of ranges_to_free size

Milos Nikic (1):
jbd2: gracefully abort on checkpointing state corruptions

Minseo Park (1):
Bluetooth: L2CAP: Fix stack-out-of-bounds read in l2cap_ecred_conn_req

Minwoo Ra (1):
xfrm: prevent policy_hthresh.work from racing with netns teardown

Mohammad Heib (1):
ionic: fix persistent MAC address override on PF

Namjae Jeon (2):
ksmbd: replace hardcoded hdr2_len with offsetof() in smb2_calc_max_out_buf_len()
ksmbd: fix potencial OOB in get_file_all_info() for compound requests

Nathan Chancellor (1):
platform/x86: lenovo: wmi-gamezone: Drop gz_chain_head

Nikunj A Dadhania (2):
x86/cpu: Enable FSGSBASE early in cpu_init_exception_handling() x86/fred: Fix early boot failures on SEV-ES/SNP guests

Nilay Shroff (1):
block: break pcpu_alloc_mutex dependency on freeze_lock

Oliver Freyermuth (1):
ASoC: Intel: sof_sdw: Add quirk for Alienware Area 51 (2025) 0CCD SKU

Oliver Hartkopp (2):
can: statistics: add missing atomic access in hot path
can: isotp: fix tx.buf use-after-free in isotp_sendmsg()

Pablo Neira Ayuso (2):
netfilter: nft_set_rbtree: revisit array resize logic
netfilter: nf_conntrack_expect: skip expectations in other netns via proc

Paolo Valerio (1):
net: macb: use the current queue number for stats

Paul Moses (1):
xfrm: iptfs: only publish mode_data after clone setup

Pengpeng Hou (1):
Bluetooth: btusb: clamp SCO altsetting table indices

Peter Metz (1):
platform/x86: intel-hid: Add Dell 14 Plus 2-in-1 to dmi_vgbs_allow_list

Peter Ujfalusi (1):
ASoC: SOF: ipc4-topology: Allow bytes controls without initial payload

Peter Yin (1):
i3c: master: dw-i3c: Fix missing of_node for virtual I2C adapter

Peter Zijlstra (4):
x86/perf: Make sure to program the counter value for stopped events on migration
perf: Make sure to use pmu_ctx->pmu for groups
unwind_user/x86: Fix arch=um build
futex: Require sys_futex_requeue() to have identical flags

Petr Oros (2):
ice: fix inverted ready check for VF representors
ice: use ice_update_eth_stats() for representor stats

Pratap Nirujogi (1):
i2c: designware: amdisp: Fix resume-probe race condition issue

Qi Tang (1):
net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer

Qingfang Deng (1):
net: airoha: add RCU lock around dev_fill_forward_path

Ranjan Kumar (1):
scsi: mpi3mr: Clear reset history on ready and recheck state after timeout

Ren Wei (1):
netfilter: ip6t_rt: reject oversized addrnr in rt_mt6_check()

Richard Fitzgerald (1):
ASoC: cs35l56: Only patch ASP registers if the DAI is part of a DAIlink

Romain Sioen (1):
HID: mcp2221: cancel last I2C command on read error

Roshan Kumar (1):
xfrm: iptfs: validate inner IPv4 header length in IPTFS payload

Sabrina Dubroca (7):
xfrm: add missing extack for XFRMA_SA_PCPU in add_acquire and allocspi
xfrm: fix the condition on x->pcpu_num in xfrm_sa_len
xfrm: call xdo_dev_state_delete during state update
esp: fix skb leak with espintcp and async crypto
rtnetlink: count IFLA_PARENT_DEV_{NAME,BUS_NAME} in if_nlmsg_size
rtnetlink: count IFLA_INFO_SLAVE_KIND in if_nlmsg_size
rtnetlink: fix leak of SRCU struct in rtnl_link_register

Sachin Kumar (1):
bpf: Fix constant blinding for PROBE_MEM32 stores

Samasth Norway Ananda (1):
drm/i915/gmbus: fix spurious timeout on 512-byte burst reads

Sanman Pradhan (5):
hwmon: (adm1177) fix sysfs ABI violation and current unit conversion
hwmon: (pmbus/ina233) Fix error handling and sign extension in shunt voltage read
hwmon: (pmbus/isl68137) Add mutex protection for AVS enable sysfs attributes
hwmon: (peci/cputemp) Fix crit_hyst returning delta instead of absolute temperature
hwmon: (peci/cputemp) Fix off-by-one in cputemp_is_visible()

Sean Christopherson (2):
KVM: x86/mmu: Drop/zap existing present SPTE even when creating an MMIO SPTE
KVM: x86/mmu: Only WARN in direct MMUs when overwriting shadow-present SPTE

Sean Rhodes (1):
ALSA: hda/realtek: Sequence GPIO2 on Star Labs StarFighter

SeongJae Park (2):
mm/damon/stat: monitor all System RAM resources mm/damon/core: avoid use of half-online-committed context

Sheetal (1):
ALSA: hda/hdmi: Add Tegra238 HDA codec device ID

Sheng Yong (1):
erofs: set fileio bio failed in short read case

Shengjiu Wang (1):
ASoC: fsl: imx-card: initialize playback_only and capture_only

Shigeru Yoshida (1):
dma: swiotlb: add KMSAN annotations to swiotlb_bounce()

Shin'ichiro Kawasaki (1):
btrfs: fix leak of kobject name for sub-group space_info

Shiraz Saleem (1):
RDMA/irdma: Harden depth calculation functions

Shuming Fan (1):
ASoC: rt1321: fix DMIC ch2/3 mask issue

Simon Trimmer (1):
ASoC: amd: acp: Add ACP6.3 match entries for Cirrus Logic parts

Simon Weber (1):
ext4: fix journal credit check when setting fscrypt context

Smita Koralahalli (1):
cxl/hdm: Avoid incorrect DVSEC fallback when HDM decoders are enabled

Srinivas Kandagatla (1):
ASoC: codecs: wcd934x: fix typo in dt parsing

Srinivas Pandruvada (2):
thermal: intel: int340x: soc_slider: Set offset only for balanced mode platform/x86: ISST: Correct locked bit width

Srinivasan Shanmugam (1):
drm/amdgpu: Fix fence put before wait in amdgpu_amdkfd_submit_ib

Stefan Eichenberger (2):
i2c: imx: fix i2c issue when reading multiple messages
i2c: imx: ensure no clock is generated after last read

Takashi Iwai (1):
HID: apple: Add EPOMAKER TH87 to the non-apple keyboards list

Tatyana Nikolova (4):
RDMA/irdma: Update ibqp state to error if QP is already in error state RDMA/irdma: Remove a NOP wait_event() in irdma_modify_qp_roce() RDMA/irdma: Remove reset check from irdma_modify_qp_to_err() RDMA/irdma: Return EINVAL for invalid arp index error

Tejas Bharambe (1):
ext4: validate p_idx bounds in ext4_ext_correct_indexes

Thangaraj Samynathan (1):
net: lan743x: fix duplex configuration in mac_link_up

Theodore Ts'o (2):
ext4: handle wraparound when searching for blocks for indirect mapped blocks
ext4: always drain queued discard work in ext4_mb_release()

Thomas Weißschuh (1):
kbuild: install-extmod-build: Package resolve_btfids if necessary

Toke Høiland-Jørgensen (1):
net: openvswitch: Avoid releasing netdev before teardown completes

Tomi Valkeinen (1):
dmaengine: xilinx_dma: Fix reset related timeout with two-channel AXIDMA

Tuo Li (1):
dmaengine: idxd: fix possible wrong descriptor completion in llist_abort_desc()

Tyllis Xu (1):
scsi: ibmvfc: Fix OOB access in ibmvfc_discover_targets_done()

Uzair Mughal (1):
ALSA: hda/realtek: Add headset jack quirk for Thinkpad X390

Valentin Spreckels (1):
net: usb: r8152: add TRENDnet TUC-ET2G

Vasily Gorbik (2):
s390/barrier: Make array_index_mask_nospec() __always_inline s390/entry: Scrub r12 register on kernel entry

Ville Syrjälä (2):
drm/i915: Order OP vs. timeout correctly in __wait_for() drm/i915: Unlink NV12 planes earlier

Vinicius Costa Gomes (6):
dmaengine: idxd: Fix crash when the event log is disabled
dmaengine: idxd: Fix possible invalid memory access after FLR
dmaengine: idxd: Fix not releasing workqueue on .release()
dmaengine: idxd: Fix memory leak when a wq is reset
dmaengine: idxd: Fix freeing the allocated ida too late
dmaengine: idxd: Fix leaking event log memory

Viresh Kumar (1):
cpufreq: conservative: Reset requested_freq on limits change

Wei Fang (1):
net: enetc: fix the output issue of 'ethtool --show-ring'

Weiming Shi (3):
netfilter: nfnetlink_log: fix uninitialized padding leak in NFULA_PAYLOAD
netfilter: nf_conntrack_sip: fix use of uninitialized rtp_addr in process_sdp
ACPI: EC: clean up handlers on probe failure in acpi_ec_setup()

Werner Kasselman (2):
ksmbd: fix memory leaks and NULL deref in smb2_lock()
ksmbd: fix use-after-free and NULL deref in smb_grant_oplock()

Xi Ruoyao (1):
LoongArch: vDSO: Emit GNU_EH_FRAME correctly

Xuan Zhuo (2):
virtio-net: correct hdr_len handling for VIRTIO_NET_F_GUEST_HDRLEN
virtio-net: correct hdr_len handling for tunnel gso

Xuewen Yan (1):
tracing: Revert "tracing: Remove pid in task_rename tracing output"

Yang Wang (2):
drm/amdgpu: fix gpu idle power consumption issue for gfx v12 drm/amd/pm: fix amdgpu_irq enabled counter unbalanced on smu v11.0

Yang Yang (2):
openvswitch: defer tunnel netdev_put to RCU release
openvswitch: validate MPLS set/set_masked payload length

Yazhou Tang (1):
bpf: Reset register ID for BPF_END value tracking

Ye Bin (2):
ext4: test if inode's all dirty pages are submitted to disk
ext4: avoid allocate block from corrupted group in ext4_mb_find_by_goal()

Yihang Li (1):
scsi: scsi_transport_sas: Fix the maximum channel scanning issue

Yochai Eisenrich (1):
net: fix fanout UAF in packet_release() via NETDEV_UP race

Yonatan Nachum (3):
RDMA/efa: Check stored completion CTX command ID with received one RDMA/efa: Improve admin completion context state machine RDMA/efa: Fix use of completion ctx after free

Youngjun Park (1):
PM: sleep: Drop spurious WARN_ON() from pm_restore_gfp_mask()

Yuchan Nam (1):
media: mc, v4l2: serialize REINIT and REQBUFS with req_queue_mutex

Yussuf Khalil (1):
drm/amd/display: Do not skip unrelated mode changes in DSC validation

Yuto Ohnuki (4):
xfs: stop reclaim before pushing AIL during unmount
xfs: save ailp before dropping the AIL lock in push callbacks
xfs: avoid dereferencing log items after push callbacks
ext4: replace BUG_ON with proper error handling in ext4_read_inline_folio

Zhan Xusheng (1):
alarmtimer: Fix argument order in alarm_timer_forward()

Zhang Chen (1):
Bluetooth: L2CAP: Fix send LE flow credits in ACL link

Zhang Heng (3):
ALSA: hda/realtek: Add quirk for Gigabyte Technology to fix headphone
ALSA: hda/realtek: add quirk for ASUS UM6702RC
ALSA: hda/realtek: add quirk for ASUS Strix G16 G615JMR

Zhang Lixu (1):
HID: intel-ish-hid: ipc: Add Nova Lake-H/S PCI device IDs

Zhang Yi (1):
ext4: do not check fast symlink during orphan recovery

Zqiang (1):
ext4: fix the might_sleep() warnings in kvfree()

Zubin Mithra (1):
virt: tdx-guest: Fix handling of host controlled 'quote' buffer length

hongao (1):
xfs: scrub: unlock dquot before early return in quota scrub

wangdicheng (1):
ALSA: hda/senary: Ensure EAPD is enabled during init

xietangxin (1):
virtio_net: Fix UAF on dst_ops when IFF_XMIT_DST_RELEASE is cleared and napi_tx is false

zhidao su (1):

      sched_ext: Use WRITE_ONCE() for the write side of dsq->seq update
author maintainer
#1 lore raw
Documentation/admin-guide/kernel-parameters.txt +3 -0
index 6c42061ca20e..ab4e03f91e74 100644
@@ -7925,6 +7925,9 @@
 				p = USB_QUIRK_SHORT_SET_ADDRESS_REQ_TIMEOUT
 					(Reduce timeout of the SET_ADDRESS
 					request from 5000 ms to 500 ms);
+				q = USB_QUIRK_FORCE_ONE_CONFIG (Device
+					claims zero configurations,
+					forcing to 1);
 			Example: quirks=0781:5580:bk,0a5c:5834:gij
 
 	usbhid.mousepoll=
Documentation/devicetree/bindings/sound/st,stm32-sai.yaml +1 -1
index 4a7129d0b157..551edf39e766 100644
@@ -164,7 +164,7 @@ allOf:
       properties:
         compatible:
           contains:
-            const: st,stm32mph7-sai
+            const: st,stm32h7-sai
     then:
       properties:
         clocks:
Documentation/filesystems/overlayfs.rst +50 -0

56 lines not on this page · raw message

Documentation/hwmon/adm1177.rst +4 -4
index 1c85a2af92bf..375f6d6e03a7 100644
@@ -27,10 +27,10 @@ for details.
 Sysfs entries
 -------------
 
-The following attributes are supported. Current maxim attribute
+The following attributes are supported. Current maximum attribute
 is read-write, all other attributes are read-only.
 
-in0_input		Measured voltage in microvolts.
+in0_input		Measured voltage in millivolts.
 
-curr1_input		Measured current in microamperes.
-curr1_max_alarm		Overcurrent alarm in microamperes.
+curr1_input		Measured current in milliamperes.
+curr1_max		Overcurrent shutdown threshold in milliamperes.
Documentation/hwmon/peci-cputemp.rst +6 -4
index fe0422248dc5..266b62a46f49 100644
@@ -51,8 +51,9 @@ temp1_max		Provides thermal control temperature of the CPU package
 temp1_crit		Provides shutdown temperature of the CPU package which
 			is also known as the maximum processor junction
 			temperature, Tjmax or Tprochot.
-temp1_crit_hyst		Provides the hysteresis value from Tcontrol to Tjmax of
-			the CPU package.
+temp1_crit_hyst		Provides the hysteresis temperature of the CPU
+			package. Returns Tcontrol, the temperature at which
+			the critical condition clears.
 
 temp2_label		"DTS"
 temp2_input		Provides current temperature of the CPU package scaled
@@ -62,8 +63,9 @@ temp2_max		Provides thermal control temperature of the CPU package
 temp2_crit		Provides shutdown temperature of the CPU package which
 			is also known as the maximum processor junction
 			temperature, Tjmax or Tprochot.
-temp2_crit_hyst		Provides the hysteresis value from Tcontrol to Tjmax of
-			the CPU package.
+temp2_crit_hyst		Provides the hysteresis temperature of the CPU
+			package. Returns Tcontrol, the temperature at which
+			the critical condition clears.
 
 temp3_label		"Tcontrol"
 temp3_input		Provides current Tcontrol temperature of the CPU
Makefile +2 -2
index 287fc5830914..17e7573ddd4b 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 18
-SUBLEVEL = 20
+SUBLEVEL = 21
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
@@ -1588,7 +1588,7 @@ CLEAN_FILES += vmlinux.symvers modules-only.symvers \
 	       modules.builtin.ranges vmlinux.o.map vmlinux.unstripped \
 	       compile_commands.json rust/test \
 	       rust-project.json .vmlinux.objs .vmlinux.export.c \
-               .builtin-dtbs-list .builtin-dtb.S
+               .builtin-dtbs-list .builtin-dtbs.S
 
 # Directories & files removed with 'make mrproper'
 MRPROPER_FILES += include/config include/generated          \
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dts +7 -6
index d7f7f9aafb7d..0d009f4be804 100644
@@ -69,6 +69,10 @@ &mipi_dsi {
 	samsung,esc-clock-frequency = <20000000>;
 };
 
+&reg_usdhc2_vqmmc {
+	status = "okay";
+};
+
 &sai3 {
 	assigned-clocks = <&clk IMX8MN_CLK_SAI3>;
 	assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
@@ -216,8 +220,7 @@ pinctrl_usdhc2: usdhc2grp {
 			   <MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0		0x1d4>,
 			   <MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1		0x1d4>,
 			   <MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2		0x1d4>,
-			   <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3		0x1d4>,
-			   <MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT	0x84>;
+			   <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3		0x1d4>;
 	};
 
 	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
@@ -226,8 +229,7 @@ pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
 			   <MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0		0x1d4>,
 			   <MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1		0x1d4>,
 			   <MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2		0x1d4>,
-			   <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3		0x1d4>,
-			   <MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT	0x84>;
+			   <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3		0x1d4>;
 	};
 
 	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
@@ -236,8 +238,7 @@ pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
 			   <MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0		0x1d4>,
 			   <MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1		0x1d4>,
 			   <MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2		0x1d4>,
-			   <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3		0x1d4>,
-			   <MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT	0x84>;
+			   <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3		0x1d4>;
 	};
 
 	pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl.dtsi +22 -0
index 1d23814e11cd..e2ccebf6ee13 100644
@@ -30,6 +30,20 @@ reg_vcc3v3: regulator-vcc3v3 {
 		regulator-max-microvolt = <3300000>;
 	};
 
+	reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc {
+		compatible = "regulator-gpio";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_reg_usdhc2_vqmmc>;
+		regulator-name = "V_SD2";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <3300000>;
+		gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+		states = <1800000 0x1>,
+			 <3300000 0x0>;
+		vin-supply = <&ldo5_reg>;
+		status = "disabled";
+	};
+
 	reserved-memory {
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -233,6 +247,10 @@ &mipi_dsi {
 	vddio-supply = <&ldo3_reg>;
 };
 
+&usdhc2 {
+	vqmmc-supply = <&reg_usdhc2_vqmmc>;
+};
+
 &usdhc3 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 	pinctrl-0 = <&pinctrl_usdhc3>;
@@ -287,6 +305,10 @@ pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
 		fsl,pins = <MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19		0x84>;
 	};
 
+	pinctrl_reg_usdhc2_vqmmc: regusdhc2vqmmcgrp {
+		fsl,pins = <MX8MN_IOMUXC_GPIO1_IO04_GPIO1_IO4		0xc0>;
+	};
+
 	pinctrl_usdhc3: usdhc3grp {
 		fsl,pins = <MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK		0x1d4>,
 			   <MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD		0x1d2>,
arch/arm64/kvm/reset.c +14 -0
index 959532422d3a..b963fd975aac 100644
@@ -247,6 +247,20 @@ void kvm_reset_vcpu(struct kvm_vcpu *vcpu)
 			kvm_vcpu_set_be(vcpu);
 
 		*vcpu_pc(vcpu) = target_pc;
+
+		/*
+		 * We may come from a state where either a PC update was
+		 * pending (SMC call resulting in PC being increpented to
+		 * skip the SMC) or a pending exception. Make sure we get
+		 * rid of all that, as this cannot be valid out of reset.
+		 *
+		 * Note that clearing the exception mask also clears PC
+		 * updates, but that's an implementation detail, and we
+		 * really want to make it explicit.
+		 */
+		vcpu_clear_flag(vcpu, PENDING_EXCEPTION);
+		vcpu_clear_flag(vcpu, EXCEPT_MASK);
+		vcpu_clear_flag(vcpu, INCREMENT_PC);
 		vcpu_set_reg(vcpu, 0, reset_state.r0);
 	}
 
arch/loongarch/include/asm/linkage.h +36 -0
index e2eca1a25b4e..a1bd6a3ee03a 100644
@@ -41,4 +41,40 @@
 	.cfi_endproc;					\
 	SYM_END(name, SYM_T_NONE)
 
+/*
+ * This is for the signal handler trampoline, which is used as the return
+ * address of the signal handlers in userspace instead of called normally.
+ * The long standing libgcc bug https://gcc.gnu.org/PR124050 requires a
+ * nop between .cfi_startproc and the actual address of the trampoline, so
+ * we cannot simply use SYM_FUNC_START.
+ *
+ * This wrapper also contains all the .cfi_* directives for recovering
+ * the content of the GPRs and the "return address" (where the rt_sigreturn
+ * syscall will jump to), assuming there is a struct rt_sigframe (where
+ * a struct sigcontext containing those information we need to recover) at
+ * $sp.  The "DWARF for the LoongArch(TM) Architecture" manual states
+ * column 0 is for $zero, but it does not make too much sense to
+ * save/restore the hardware zero register.  Repurpose this column here
+ * for the return address (here it's not the content of $ra we cannot use
+ * the default column 3).
+ */
+#define SYM_SIGFUNC_START(name)				\
+	.cfi_startproc;					\
+	.cfi_signal_frame;				\
+	.cfi_def_cfa 3, RT_SIGFRAME_SC;			\
+	.cfi_return_column 0;				\
+	.cfi_offset 0, SC_PC;				\
+							\
+	.irp num, 1,  2,  3,  4,  5,  6,  7,  8, 	\
+		  9,  10, 11, 12, 13, 14, 15, 16,	\
+		  17, 18, 19, 20, 21, 22, 23, 24,	\
+		  25, 26, 27, 28, 29, 30, 31;		\
+	.cfi_offset \num, SC_REGS + \num * SZREG;	\
+	.endr;						\
+							\
+	nop;						\
+	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)
+
+#define SYM_SIGFUNC_END(name) SYM_FUNC_END(name)
+
 #endif
arch/loongarch/include/asm/sigframe.h new file +9 -0
new file mode 100644
index 000000000000..109298b8d7e0
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+
+#include <asm/siginfo.h>
+#include <asm/ucontext.h>
+
+struct rt_sigframe {
+	struct siginfo rs_info;
+	struct ucontext rs_uctx;
+};
arch/loongarch/kernel/asm-offsets.c +2 -0
index 3017c7157600..2cc953f113ac 100644
@@ -16,6 +16,7 @@
 #include <asm/ptrace.h>
 #include <asm/processor.h>
 #include <asm/ftrace.h>
+#include <asm/sigframe.h>
 #include <vdso/datapage.h>
 
 static void __used output_ptreg_defines(void)
@@ -220,6 +221,7 @@ static void __used output_sc_defines(void)
 	COMMENT("Linux sigcontext offsets.");
 	OFFSET(SC_REGS, sigcontext, sc_regs);
 	OFFSET(SC_PC, sigcontext, sc_pc);
+	OFFSET(RT_SIGFRAME_SC, rt_sigframe, rs_uctx.uc_mcontext);
 	BLANK();
 }
 
arch/loongarch/kernel/env.c +3 -4
index 23bd5ae2212c..b28554f702d2 100644
@@ -42,16 +42,15 @@ static int __init init_cpu_fullname(void)
 	int cpu, ret;
 	char *cpuname;
 	const char *model;
-	struct device_node *root;
 
 	/* Parsing cpuname from DTS model property */
-	root = of_find_node_by_path("/");
-	ret = of_property_read_string(root, "model", &model);
+	ret = of_property_read_string(of_root, "model", &model);
 	if (ret == 0) {
 		cpuname = kstrdup(model, GFP_KERNEL);
+		if (!cpuname)
+			return -ENOMEM;
 		loongson_sysconf.cpuname = strsep(&cpuname, " ");
 	}
-	of_node_put(root);
 
 	if (loongson_sysconf.cpuname && !strncmp(loongson_sysconf.cpuname, "Loongson", 8)) {
 		for (cpu = 0; cpu < NR_CPUS; cpu++)
arch/loongarch/kernel/signal.c +1 -5
index c9f7ca778364..d4151d2fb82e 100644
@@ -35,6 +35,7 @@
 #include <asm/cpu-features.h>
 #include <asm/fpu.h>
 #include <asm/lbt.h>
+#include <asm/sigframe.h>
 #include <asm/ucontext.h>
 #include <asm/vdso.h>
 
@@ -51,11 +52,6 @@
 #define lock_lbt_owner()	({ preempt_disable(); pagefault_disable(); })
 #define unlock_lbt_owner()	({ pagefault_enable(); preempt_enable(); })
 
-struct rt_sigframe {
-	struct siginfo rs_info;
-	struct ucontext rs_uctx;
-};
-
 struct _ctx_layout {
 	struct sctx_info *addr;
 	unsigned int size;
arch/loongarch/kvm/intc/eiointc.c +1 -1
index 945ce4ed7e0b..78510fce1a47 100644
@@ -83,7 +83,7 @@ static inline void eiointc_update_sw_coremap(struct loongarch_eiointc *s,
 
 		if (!(s->status & BIT(EIOINTC_ENABLE_CPU_ENCODE))) {
 			cpuid = ffs(cpuid) - 1;
-			cpuid = (cpuid >= 4) ? 0 : cpuid;
+			cpuid = ((cpuid < 0) || (cpuid >= 4)) ? 0 : cpuid;
 		}
 
 		vcpu = kvm_get_vcpu_by_cpuid(s->kvm, cpuid);
arch/loongarch/kvm/vcpu.c +3 -0
index 1245a6b35896..fbe12a129c60 100644
@@ -561,6 +561,9 @@ struct kvm_vcpu *kvm_get_vcpu_by_cpuid(struct kvm *kvm, int cpuid)
 {
 	struct kvm_phyid_map *map;
 
+	if (cpuid < 0)
+		return NULL;
+
 	if (cpuid >= KVM_MAX_PHYID)
 		return NULL;
 
arch/loongarch/pci/pci.c +80 -0

98 lines not on this page · raw message

arch/loongarch/vdso/Makefile +2 -2
index d8316f993482..f4d076ce1843 100644
@@ -21,7 +21,7 @@ cflags-vdso := $(ccflags-vdso) \
 	$(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \
 	-std=gnu11 -O2 -g -fno-strict-aliasing -fno-common -fno-builtin \
 	-fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
-	$(call cc-option, -fno-asynchronous-unwind-tables) \
+	$(call cc-option, -fasynchronous-unwind-tables) \
 	$(call cc-option, -fno-stack-protector)
 aflags-vdso := $(ccflags-vdso) \
 	-D__ASSEMBLY__ -Wa,-gdwarf-2
@@ -36,7 +36,7 @@ endif
 
 # VDSO linker flags.
 ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \
-	$(filter -E%,$(KBUILD_CFLAGS)) -shared --build-id -T
+	$(filter -E%,$(KBUILD_CFLAGS)) -shared --build-id --eh-frame-hdr -T
 
 #
 # Shared build commands.
arch/loongarch/vdso/sigreturn.S +3 -3
index 9cb3c58fad03..59f940d928de 100644
@@ -12,13 +12,13 @@
 
 #include <asm/regdef.h>
 #include <asm/asm.h>
+#include <asm/asm-offsets.h>
 
 	.section	.text
-	.cfi_sections	.debug_frame
 
-SYM_FUNC_START(__vdso_rt_sigreturn)
+SYM_SIGFUNC_START(__vdso_rt_sigreturn)
 
 	li.w	a7, __NR_rt_sigreturn
 	syscall	0
 
-SYM_FUNC_END(__vdso_rt_sigreturn)
+SYM_SIGFUNC_END(__vdso_rt_sigreturn)
arch/powerpc/net/bpf_jit_comp64.c +14 -9
index de99f9b354ab..94f3f031d039 100644
@@ -430,27 +430,32 @@ static int bpf_jit_emit_tail_call(u32 *image, struct codegen_context *ctx, u32 o
 
 	/*
 	 * tail_call_cnt++;
+	 * Writeback this updated value only if tailcall succeeds.
 	 */
 	EMIT(PPC_RAW_ADDI(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), 1));
-	EMIT(PPC_RAW_STD(bpf_to_ppc(TMP_REG_1), _R1, bpf_jit_stack_tailcallcnt(ctx)));
 
 	/* prog = array->ptrs[index]; */
-	EMIT(PPC_RAW_MULI(bpf_to_ppc(TMP_REG_1), b2p_index, 8));
-	EMIT(PPC_RAW_ADD(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), b2p_bpf_array));
-	EMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), offsetof(struct bpf_array, ptrs)));
+	EMIT(PPC_RAW_MULI(bpf_to_ppc(TMP_REG_2), b2p_index, 8));
+	EMIT(PPC_RAW_ADD(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2), b2p_bpf_array));
+	EMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2),
+			offsetof(struct bpf_array, ptrs)));
 
 	/*
 	 * if (prog == NULL)
 	 *   goto out;
 	 */
-	EMIT(PPC_RAW_CMPLDI(bpf_to_ppc(TMP_REG_1), 0));
+	EMIT(PPC_RAW_CMPLDI(bpf_to_ppc(TMP_REG_2), 0));
 	PPC_BCC_SHORT(COND_EQ, out);
 
 	/* goto *(prog->bpf_func + prologue_size); */
-	EMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1), offsetof(struct bpf_prog, bpf_func)));
-	EMIT(PPC_RAW_ADDI(bpf_to_ppc(TMP_REG_1), bpf_to_ppc(TMP_REG_1),
-			FUNCTION_DESCR_SIZE + bpf_tailcall_prologue_size));
-	EMIT(PPC_RAW_MTCTR(bpf_to_ppc(TMP_REG_1)));
+	EMIT(PPC_RAW_LD(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2),
+			offsetof(struct bpf_prog, bpf_func)));
+	EMIT(PPC_RAW_ADDI(bpf_to_ppc(TMP_REG_2), bpf_to_ppc(TMP_REG_2),
+			  FUNCTION_DESCR_SIZE + bpf_tailcall_prologue_size));
+	EMIT(PPC_RAW_MTCTR(bpf_to_ppc(TMP_REG_2)));
+
+	/* Writeback updated tailcall count */
+	EMIT(PPC_RAW_STD(bpf_to_ppc(TMP_REG_1), _R1, bpf_jit_stack_tailcallcnt(ctx)));
 
 	/* tear down stack, restore NVRs, ... */
 	bpf_jit_emit_common_epilogue(image, ctx);
arch/powerpc/tools/ftrace-gen-ool-stubs.sh +2 -2
index bac186bdf64a..9218d43aeb54 100755
@@ -15,9 +15,9 @@ if [ -z "$is_64bit" ]; then
 	RELOCATION=R_PPC_ADDR32
 fi
 
-num_ool_stubs_total=$($objdump -r -j __patchable_function_entries "$vmlinux_o" |
+num_ool_stubs_total=$($objdump -r -j __patchable_function_entries -d "$vmlinux_o" |
 		      grep -c "$RELOCATION")
-num_ool_stubs_inittext=$($objdump -r -j __patchable_function_entries "$vmlinux_o" |
+num_ool_stubs_inittext=$($objdump -r -j __patchable_function_entries -d "$vmlinux_o" |
 			 grep -e ".init.text" -e ".text.startup" | grep -c "$RELOCATION")
 num_ool_stubs_text=$((num_ool_stubs_total - num_ool_stubs_inittext))
 
arch/s390/include/asm/barrier.h +2 -2
index f3184073e754..dad02f5b3c8d 100644
@@ -62,8 +62,8 @@ do {									\
  * @size: number of elements in array
  */
 #define array_index_mask_nospec array_index_mask_nospec
-static inline unsigned long array_index_mask_nospec(unsigned long index,
-						    unsigned long size)
+static __always_inline unsigned long array_index_mask_nospec(unsigned long index,
+							     unsigned long size)
 {
 	unsigned long mask;
 
arch/s390/kernel/entry.S +3 -0
index 75b0fbb236d0..68e770e3a7dc 100644
@@ -254,6 +254,7 @@ SYM_CODE_START(system_call)
 	xgr	%r9,%r9
 	xgr	%r10,%r10
 	xgr	%r11,%r11
+	xgr	%r12,%r12
 	la	%r2,STACK_FRAME_OVERHEAD(%r15)	# pointer to pt_regs
 	mvc	__PT_R8(64,%r2),__LC_SAVE_AREA(%r13)
 	MBEAR	%r2,%r13
@@ -390,6 +391,7 @@ SYM_CODE_START(\name)
 	xgr	%r6,%r6
 	xgr	%r7,%r7
 	xgr	%r10,%r10
+	xgr	%r12,%r12
 	xc	__PT_FLAGS(8,%r11),__PT_FLAGS(%r11)
 	mvc	__PT_R8(64,%r11),__LC_SAVE_AREA(%r13)
 	MBEAR	%r11,%r13
@@ -479,6 +481,7 @@ SYM_CODE_START(mcck_int_handler)
 	xgr	%r6,%r6
 	xgr	%r7,%r7
 	xgr	%r10,%r10
+	xgr	%r12,%r12
 	stmg	%r8,%r9,__PT_PSW(%r11)
 	xc	__PT_FLAGS(8,%r11),__PT_FLAGS(%r11)
 	xc	__SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
arch/s390/kernel/syscall.c +4 -1
index 4fee74553ca2..bd7c02b3700d 100644
@@ -13,6 +13,7 @@
  */
 
 #include <linux/cpufeature.h>
+#include <linux/nospec.h>
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
@@ -121,8 +122,10 @@ void noinstr __do_syscall(struct pt_regs *regs, int per_trap)
 	if (unlikely(test_and_clear_pt_regs_flag(regs, PIF_SYSCALL_RET_SET)))
 		goto out;
 	regs->gprs[2] = -ENOSYS;
-	if (likely(nr < NR_syscalls))
+	if (likely(nr < NR_syscalls)) {
+		nr = array_index_nospec(nr, NR_syscalls);
 		regs->gprs[2] = current->thread.sys_call_table[nr](regs);
+	}
 out:
 	syscall_exit_to_user_mode(regs);
 }
arch/s390/mm/fault.c +9 -2
index e1ad05bfd28a..d1f165048055 100644
@@ -436,10 +436,17 @@ void do_secure_storage_access(struct pt_regs *regs)
 		folio = phys_to_folio(addr);
 		if (unlikely(!folio_try_get(folio)))
 			return;
-		rc = arch_make_folio_accessible(folio);
+		rc = uv_convert_from_secure(folio_to_phys(folio));
+		if (!rc)
+			clear_bit(PG_arch_1, &folio->flags.f);
 		folio_put(folio);
+		/*
+		 * There are some valid fixup types for kernel
+		 * accesses to donated secure memory. zeropad is one
+		 * of them.
+		 */
 		if (rc)
-			BUG();
+			return handle_fault_error_nolock(regs, 0);
 	} else {
 		if (faulthandler_disabled())
 			return handle_fault_error_nolock(regs, 0);
arch/sh/drivers/platform_early.c +0 -4
index 143747c45206..48ddbc547bd9 100644
@@ -26,10 +26,6 @@ static int platform_match(struct device *dev, struct device_driver *drv)
 	struct platform_device *pdev = to_platform_device(dev);
 	struct platform_driver *pdrv = to_platform_driver(drv);
 
-	/* When driver_override is set, only bind to the matching driver */
-	if (pdev->driver_override)
-		return !strcmp(pdev->driver_override, drv->name);
-
 	/* Then try to match against the id table */
 	if (pdrv->id_table)
 		return platform_match_id(pdrv->id_table, pdev) != NULL;
arch/x86/coco/sev/noinstr.c +6 -0
index b527eafb6312..422ce72f51d5 100644
@@ -120,6 +120,9 @@ noinstr struct ghcb *__sev_get_ghcb(struct ghcb_state *state)
 
 	WARN_ON(!irqs_disabled());
 
+	if (!sev_cfg.ghcbs_initialized)
+		return boot_ghcb;
+
 	data = this_cpu_read(runtime_data);
 	ghcb = &data->ghcb_page;
 
@@ -163,6 +166,9 @@ noinstr void __sev_put_ghcb(struct ghcb_state *state)
 
 	WARN_ON(!irqs_disabled());
 
+	if (!sev_cfg.ghcbs_initialized)
+		return;
+
 	data = this_cpu_read(runtime_data);
 	ghcb = &data->ghcb_page;
 
arch/x86/entry/entry_fred.c +14 -0
index 563e439b743f..9f50f0c1c00f 100644
@@ -176,6 +176,16 @@ static noinstr void fred_extint(struct pt_regs *regs)
 	}
 }
 
+#ifdef CONFIG_AMD_MEM_ENCRYPT
+noinstr void exc_vmm_communication(struct pt_regs *regs, unsigned long error_code)
+{
+	if (user_mode(regs))
+		return user_exc_vmm_communication(regs, error_code);
+	else
+		return kernel_exc_vmm_communication(regs, error_code);
+}
+#endif
+
 static noinstr void fred_hwexc(struct pt_regs *regs, unsigned long error_code)
 {
 	/* Optimize for #PF. That's the only exception which matters performance wise */
@@ -206,6 +216,10 @@ static noinstr void fred_hwexc(struct pt_regs *regs, unsigned long error_code)
 #ifdef CONFIG_X86_CET
 	case X86_TRAP_CP: return exc_control_protection(regs, error_code);
 #endif
+#ifdef CONFIG_AMD_MEM_ENCRYPT
+	case X86_TRAP_VC: return exc_vmm_communication(regs, error_code);
+#endif
+
 	default: return fred_bad_type(regs, error_code);
 	}
 
arch/x86/events/core.c +3 -1
index 6227690d1909..8a0cd2ebb60d 100644
@@ -1361,8 +1361,10 @@ static void x86_pmu_enable(struct pmu *pmu)
 
 			cpuc->events[hwc->idx] = event;
 
-			if (hwc->state & PERF_HES_ARCH)
+			if (hwc->state & PERF_HES_ARCH) {
+				static_call(x86_pmu_set_period)(event);
 				continue;
+			}
 
 			/*
 			 * if cpuc->enabled = 0, then no wrmsr as
arch/x86/include/asm/unwind_user.h +4 -0
index c4f1ff8874d6..12064284bc4e 100644
@@ -2,6 +2,8 @@
 #ifndef _ASM_X86_UNWIND_USER_H
 #define _ASM_X86_UNWIND_USER_H
 
+#ifdef CONFIG_HAVE_UNWIND_USER_FP
+
 #include <asm/ptrace.h>
 #include <asm/uprobes.h>
 
@@ -34,4 +36,6 @@ static inline bool unwind_user_at_function_start(struct pt_regs *regs)
 	return is_uprobe_at_func_entry(regs);
 }
 
+#endif /* CONFIG_HAVE_UNWIND_USER_FP */
+
 #endif /* _ASM_X86_UNWIND_USER_H */
arch/x86/kernel/cpu/common.c +13 -7
index 02d97834a1d4..68053f4f2c9b 100644
@@ -407,7 +407,7 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
 
 /* These bits should not change their value after CPU init is finished. */
 static const unsigned long cr4_pinned_mask = X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP |
-					     X86_CR4_FSGSBASE | X86_CR4_CET | X86_CR4_FRED;
+					     X86_CR4_FSGSBASE | X86_CR4_CET;
 static DEFINE_STATIC_KEY_FALSE_RO(cr_pinning);
 static unsigned long cr4_pinned_bits __ro_after_init;
 
@@ -2020,12 +2020,6 @@ static void identify_cpu(struct cpuinfo_x86 *c)
 	setup_smap(c);
 	setup_umip(c);
 
-	/* Enable FSGSBASE instructions if available. */
-	if (cpu_has(c, X86_FEATURE_FSGSBASE)) {
-		cr4_set_bits(X86_CR4_FSGSBASE);
-		elf_hwcap2 |= HWCAP2_FSGSBASE;
-	}
-
 	/*
 	 * The vendor-specific functions might have changed features.
 	 * Now we do "generic changes."
@@ -2386,6 +2380,18 @@ void cpu_init_exception_handling(bool boot_cpu)
 	/* GHCB needs to be setup to handle #VC. */
 	setup_ghcb();
 
+	/*
+	 * On CPUs with FSGSBASE support, paranoid_entry() uses
+	 * ALTERNATIVE-patched RDGSBASE/WRGSBASE instructions. Secondary CPUs
+	 * boot after alternatives are patched globally, so early exceptions
+	 * execute patched code that depends on FSGSBASE. Enable the feature
+	 * before any exceptions occur.
+	 */
+	if (cpu_feature_enabled(X86_FEATURE_FSGSBASE)) {
+		cr4_set_bits(X86_CR4_FSGSBASE);
+		elf_hwcap2 |= HWCAP2_FSGSBASE;
+	}
+
 	if (cpu_feature_enabled(X86_FEATURE_FRED)) {
 		/* The boot CPU has enabled FRED during early boot */
 		if (!boot_cpu)
arch/x86/kvm/mmu/mmu.c +10 -7
index 667d66cf76d5..dad7abb1112b 100644
@@ -3044,12 +3044,6 @@ static int mmu_set_spte(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
 	bool prefetch = !fault || fault->prefetch;
 	bool write_fault = fault && fault->write;
 
-	if (unlikely(is_noslot_pfn(pfn))) {
-		vcpu->stat.pf_mmio_spte_created++;
-		mark_mmio_spte(vcpu, sptep, gfn, pte_access);
-		return RET_PF_EMULATE;
-	}
-
 	if (is_shadow_present_pte(*sptep)) {
 		if (prefetch && is_last_spte(*sptep, level) &&
 		    pfn == spte_to_pfn(*sptep))
@@ -3066,13 +3060,22 @@ static int mmu_set_spte(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
 			child = spte_to_child_sp(pte);
 			drop_parent_pte(vcpu->kvm, child, sptep);
 			flush = true;
-		} else if (WARN_ON_ONCE(pfn != spte_to_pfn(*sptep))) {
+		} else if (pfn != spte_to_pfn(*sptep)) {
+			WARN_ON_ONCE(vcpu->arch.mmu->root_role.direct);
 			drop_spte(vcpu->kvm, sptep);
 			flush = true;
 		} else
 			was_rmapped = 1;
 	}
 
+	if (unlikely(is_noslot_pfn(pfn))) {
+		vcpu->stat.pf_mmio_spte_created++;
+		mark_mmio_spte(vcpu, sptep, gfn, pte_access);
+		if (flush)
+			kvm_flush_remote_tlbs_gfn(vcpu->kvm, gfn, level);
+		return RET_PF_EMULATE;
+	}
+
 	wrprot = make_spte(vcpu, sp, slot, pte_access, gfn, pfn, *sptep, prefetch,
 			   false, host_writable, &spte);
 
arch/x86/platform/efi/quirks.c +1 -1
index 35caa5746115..79f0818131e8 100644
@@ -424,7 +424,7 @@ void __init efi_unmap_boot_services(void)
 	if (efi_enabled(EFI_DBG))
 		return;
 
-	sz = sizeof(*ranges_to_free) * efi.memmap.nr_map + 1;
+	sz = sizeof(*ranges_to_free) * (efi.memmap.nr_map + 1);
 	ranges_to_free = kzalloc(sz, GFP_KERNEL);
 	if (!ranges_to_free) {
 		pr_err("Failed to allocate storage for freeable EFI regions\n");
block/blk-mq.c +30 -15

85 lines not on this page · raw message

drivers/acpi/ec.c +2 -0
index 7855bbf752b1..1f4fc78a124f 100644
@@ -1655,6 +1655,8 @@ static int acpi_ec_setup(struct acpi_ec *ec, struct acpi_device *device, bool ca
 
 	ret = ec_install_handlers(ec, device, call_reg);
 	if (ret) {
+		ec_remove_handlers(ec);
+
 		if (ec == first_ec)
 			first_ec = NULL;
 
drivers/base/bus.c +42 -1

69 lines not on this page · raw message

drivers/base/core.c +2 -0
index f69dc9c85954..3099dbca234a 100644
@@ -2556,6 +2556,7 @@ static void device_release(struct kobject *kobj)
 	devres_release_all(dev);
 
 	kfree(dev->dma_range_map);
+	kfree(dev->driver_override.name);
 
 	if (dev->release)
 		dev->release(dev);
@@ -3159,6 +3160,7 @@ void device_initialize(struct device *dev)
 	kobject_init(&dev->kobj, &device_ktype);
 	INIT_LIST_HEAD(&dev->dma_pools);
 	mutex_init(&dev->mutex);
+	spin_lock_init(&dev->driver_override.lock);
 	lockdep_set_novalidate_class(&dev->mutex);
 	spin_lock_init(&dev->devres_lock);
 	INIT_LIST_HEAD(&dev->devres_head);
drivers/base/dd.c +60 -0

66 lines not on this page · raw message

drivers/base/platform.c +5 -32
index 09450349cf32..019d3f26807d 100644
@@ -562,7 +562,6 @@ static void platform_device_release(struct device *dev)
 	kfree(pa->pdev.dev.platform_data);
 	kfree(pa->pdev.mfd_cell);
 	kfree(pa->pdev.resource);
-	kfree(pa->pdev.driver_override);
 	kfree(pa);
 }
 
@@ -1265,38 +1264,9 @@ static ssize_t numa_node_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(numa_node);
 
-static ssize_t driver_override_show(struct device *dev,
-				    struct device_attribute *attr, char *buf)
-{
-	struct platform_device *pdev = to_platform_device(dev);
-	ssize_t len;
-
-	device_lock(dev);
-	len = sysfs_emit(buf, "%s\n", pdev->driver_override);
-	device_unlock(dev);
-
-	return len;
-}
-
-static ssize_t driver_override_store(struct device *dev,
-				     struct device_attribute *attr,
-				     const char *buf, size_t count)
-{
-	struct platform_device *pdev = to_platform_device(dev);
-	int ret;
-
-	ret = driver_set_override(dev, &pdev->driver_override, buf, count);
-	if (ret)
-		return ret;
-
-	return count;
-}
-static DEVICE_ATTR_RW(driver_override);
-
 static struct attribute *platform_dev_attrs[] = {
 	&dev_attr_modalias.attr,
 	&dev_attr_numa_node.attr,
-	&dev_attr_driver_override.attr,
 	NULL,
 };
 
@@ -1336,10 +1306,12 @@ static int platform_match(struct device *dev, const struct device_driver *drv)
 {
 	struct platform_device *pdev = to_platform_device(dev);
 	struct platform_driver *pdrv = to_platform_driver(drv);
+	int ret;
 
 	/* When driver_override is set, only bind to the matching driver */
-	if (pdev->driver_override)
-		return !strcmp(pdev->driver_override, drv->name);
+	ret = device_match_driver_override(dev, drv);
+	if (ret >= 0)
+		return ret;
 
 	/* Attempt an OF style match first */
 	if (of_driver_match_device(dev, drv))
@@ -1475,6 +1447,7 @@ static const struct dev_pm_ops platform_dev_pm_ops = {
 const struct bus_type platform_bus_type = {
 	.name		= "platform",
 	.dev_groups	= platform_dev_groups,
+	.driver_override = true,
 	.match		= platform_match,
 	.uevent		= platform_uevent,
 	.probe		= platform_probe,
drivers/base/regmap/regmap.c +26 -4
index ae2215d4e61c..a64821850723 100644
@@ -1543,6 +1543,7 @@ static int _regmap_select_page(struct regmap *map, unsigned int *reg,
 			       unsigned int val_num)
 {
 	void *orig_work_buf;
+	unsigned int selector_reg;
 	unsigned int win_offset;
 	unsigned int win_page;
 	bool page_chg;
@@ -1561,10 +1562,31 @@ static int _regmap_select_page(struct regmap *map, unsigned int *reg,
 			return -EINVAL;
 	}
 
-	/* It is possible to have selector register inside data window.
-	   In that case, selector register is located on every page and
-	   it needs no page switching, when accessed alone. */
+	/*
+	 * Calculate the address of the selector register in the corresponding
+	 * data window if it is located on every page.
+	 */
+	page_chg = in_range(range->selector_reg, range->window_start, range->window_len);
+	if (page_chg)
+		selector_reg = range->range_min + win_page * range->window_len +
+			       range->selector_reg - range->window_start;
+
+	/*
+	 * It is possible to have selector register inside data window.
+	 * In that case, selector register is located on every page and it
+	 * needs no page switching, when accessed alone.
+	 *
+	 * Nevertheless we should synchronize the cache values for it.
+	 * This can't be properly achieved if the selector register is
+	 * the first and the only one to be read inside the data window.
+	 * That's why we update it in that case as well.
+	 *
+	 * However, we specifically avoid updating it for the default page,
+	 * when it's overlapped with the real data window, to prevent from
+	 * infinite looping.
+	 */
 	if (val_num > 1 ||
+	    (page_chg && selector_reg != range->selector_reg) ||
 	    range->window_start + win_offset != range->selector_reg) {
 		/* Use separate work_buf during page switching */
 		orig_work_buf = map->work_buf;
@@ -1573,7 +1595,7 @@ static int _regmap_select_page(struct regmap *map, unsigned int *reg,
 		ret = _regmap_update_bits(map, range->selector_reg,
 					  range->selector_mask,
 					  win_page << range->selector_shift,
-					  &page_chg, false);
+					  NULL, false);
 
 		map->work_buf = orig_work_buf;
 
drivers/bluetooth/btintel.c +8 -3
index 9d29ab811f80..5e0a05edcbfd 100644
@@ -251,11 +251,13 @@ void btintel_hw_error(struct hci_dev *hdev, u8 code)
 
 	bt_dev_err(hdev, "Hardware error 0x%2.2x", code);
 
+	hci_req_sync_lock(hdev);
+
 	skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL, HCI_INIT_TIMEOUT);
 	if (IS_ERR(skb)) {
 		bt_dev_err(hdev, "Reset after hardware error failed (%ld)",
 			   PTR_ERR(skb));
-		return;
+		goto unlock;
 	}
 	kfree_skb(skb);
 
@@ -263,18 +265,21 @@ void btintel_hw_error(struct hci_dev *hdev, u8 code)
 	if (IS_ERR(skb)) {
 		bt_dev_err(hdev, "Retrieving Intel exception info failed (%ld)",
 			   PTR_ERR(skb));
-		return;
+		goto unlock;
 	}
 
 	if (skb->len != 13) {
 		bt_dev_err(hdev, "Exception info size mismatch");
 		kfree_skb(skb);
-		return;
+		goto unlock;
 	}
 
 	bt_dev_err(hdev, "Exception info %s", (char *)(skb->data + 1));
 
 	kfree_skb(skb);
+
+unlock:
+	hci_req_sync_unlock(hdev);
 }
 EXPORT_SYMBOL_GPL(btintel_hw_error);
 
drivers/bluetooth/btusb.c +4 -1
index 7c7955afa8e8..40f0c3b4eee6 100644
@@ -2356,8 +2356,11 @@ static void btusb_work(struct work_struct *work)
 		if (data->air_mode == HCI_NOTIFY_ENABLE_SCO_CVSD) {
 			if (hdev->voice_setting & 0x0020) {
 				static const int alts[3] = { 2, 4, 5 };
+				unsigned int sco_idx;
 
-				new_alts = alts[data->sco_num - 1];
+				sco_idx = min_t(unsigned int, data->sco_num - 1,
+						ARRAY_SIZE(alts) - 1);
+				new_alts = alts[sco_idx];
 			} else {
 				new_alts = data->sco_num;
 			}
drivers/bluetooth/hci_ll.c +2 -0
index 6f4e25917b86..c4584f408576 100644
@@ -541,6 +541,8 @@ static int download_firmware(struct ll_device *lldev)
 	if (err || !fw->data || !fw->size) {
 		bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s",
 			   err, bts_scr_name);
+		if (!err)
+			release_firmware(fw);
 		return -EINVAL;
 	}
 	ptr = (void *)fw->data;
drivers/bus/simple-pm-bus.c +2 -2
index d8e029e7e53f..50f8b4e2ba5b 100644
@@ -36,7 +36,7 @@ static int simple_pm_bus_probe(struct platform_device *pdev)
 	 * that's not listed in simple_pm_bus_of_match. We don't want to do any
 	 * of the simple-pm-bus tasks for these devices, so return early.
 	 */
-	if (pdev->driver_override)
+	if (device_has_driver_override(&pdev->dev))
 		return 0;
 
 	match = of_match_device(dev->driver->of_match_table, dev);
@@ -78,7 +78,7 @@ static void simple_pm_bus_remove(struct platform_device *pdev)
 {
 	const void *data = of_device_get_match_data(&pdev->dev);
 
-	if (pdev->driver_override || data)
+	if (device_has_driver_override(&pdev->dev) || data)
 		return;
 
 	dev_dbg(&pdev->dev, "%s\n", __func__);
drivers/clk/imx/clk-scu.c +1 -2
index 34c9dc1fb20e..c03f7821824d 100644
@@ -696,8 +696,7 @@ struct clk_hw *imx_clk_scu_alloc_dev(const char *name,
 	if (ret)
 		goto put_device;
 
-	ret = driver_set_override(&pdev->dev, &pdev->driver_override,
-				  "imx-scu-clk", strlen("imx-scu-clk"));
+	ret = device_set_driver_override(&pdev->dev, "imx-scu-clk");
 	if (ret)
 		goto put_device;
 
drivers/cpufreq/cpufreq_conservative.c +12 -0
index cce6a8d113e1..305a32b6b302 100644
@@ -313,6 +313,17 @@ static void cs_start(struct cpufreq_policy *policy)
 	dbs_info->requested_freq = policy->cur;
 }
 
+static void cs_limits(struct cpufreq_policy *policy)
+{
+	struct cs_policy_dbs_info *dbs_info = to_dbs_info(policy->governor_data);
+
+	/*
+	 * The limits have changed, so may have the current frequency. Reset
+	 * requested_freq to avoid any unintended outcomes due to the mismatch.
+	 */
+	dbs_info->requested_freq = policy->cur;
+}
+
 static struct dbs_governor cs_governor = {
 	.gov = CPUFREQ_DBS_GOVERNOR_INITIALIZER("conservative"),
 	.kobj_type = { .default_groups = cs_groups },
@@ -322,6 +333,7 @@ static struct dbs_governor cs_governor = {
 	.init = cs_init,
 	.exit = cs_exit,
 	.start = cs_start,
+	.limits = cs_limits,
 };
 
 #define CPU_FREQ_GOV_CONSERVATIVE	(cs_governor.gov)
drivers/cpufreq/cpufreq_governor.c +3 -0
index 1a7fcaf39cc9..8f5474612b31 100644
@@ -563,6 +563,7 @@ EXPORT_SYMBOL_GPL(cpufreq_dbs_governor_stop);
 
 void cpufreq_dbs_governor_limits(struct cpufreq_policy *policy)
 {
+	struct dbs_governor *gov = dbs_governor_of(policy);
 	struct policy_dbs_info *policy_dbs;
 
 	/* Protect gov->gdbs_data against cpufreq_dbs_governor_exit() */
@@ -574,6 +575,8 @@ void cpufreq_dbs_governor_limits(struct cpufreq_policy *policy)
 	mutex_lock(&policy_dbs->update_mutex);
 	cpufreq_policy_apply_limits(policy);
 	gov_update_sample_delay(policy_dbs, 0);
+	if (gov->limits)
+		gov->limits(policy);
 	mutex_unlock(&policy_dbs->update_mutex);
 
 out:
drivers/cpufreq/cpufreq_governor.h +1 -0
index 168c23fd7fca..1462d59277bd 100644
@@ -138,6 +138,7 @@ struct dbs_governor {
 	int (*init)(struct dbs_data *dbs_data);
 	void (*exit)(struct dbs_data *dbs_data);
 	void (*start)(struct cpufreq_policy *policy);
+	void (*limits)(struct cpufreq_policy *policy);
 };
 
 static inline struct dbs_governor *dbs_governor_of(struct cpufreq_policy *policy)
drivers/cxl/core/hdm.c +9 -16
index 13dafac7c6d5..4d5113b5e631 100644
@@ -94,7 +94,6 @@ static bool should_emulate_decoders(struct cxl_endpoint_dvsec_info *info)
 	struct cxl_hdm *cxlhdm;
 	void __iomem *hdm;
 	u32 ctrl;
-	int i;
 
 	if (!info)
 		return false;
@@ -113,22 +112,16 @@ static bool should_emulate_decoders(struct cxl_endpoint_dvsec_info *info)
 		return false;
 
 	/*
-	 * If any decoders are committed already, there should not be any
-	 * emulated DVSEC decoders.
+	 * If HDM decoders are globally enabled, do not fall back to DVSEC
+	 * range emulation. Zeroed decoder registers after region teardown
+	 * do not imply absence of HDM capability.
+	 *
+	 * Falling back to DVSEC here would treat the decoder as AUTO and
+	 * may incorrectly latch default interleave settings.
 	 */
-	for (i = 0; i < cxlhdm->decoder_count; i++) {
-		ctrl = readl(hdm + CXL_HDM_DECODER0_CTRL_OFFSET(i));
-		dev_dbg(&info->port->dev,
-			"decoder%d.%d: committed: %ld base: %#x_%.8x size: %#x_%.8x\n",
-			info->port->id, i,
-			FIELD_GET(CXL_HDM_DECODER0_CTRL_COMMITTED, ctrl),
-			readl(hdm + CXL_HDM_DECODER0_BASE_HIGH_OFFSET(i)),
-			readl(hdm + CXL_HDM_DECODER0_BASE_LOW_OFFSET(i)),
-			readl(hdm + CXL_HDM_DECODER0_SIZE_HIGH_OFFSET(i)),
-			readl(hdm + CXL_HDM_DECODER0_SIZE_LOW_OFFSET(i)));
-		if (FIELD_GET(CXL_HDM_DECODER0_CTRL_COMMITTED, ctrl))
-			return false;
-	}
+	ctrl = readl(hdm + CXL_HDM_DECODER_CTRL_OFFSET);
+	if (ctrl & CXL_HDM_DECODER_ENABLE)
+		return false;
 
 	return true;
 }
drivers/cxl/core/port.c +6 -2
index 85131872d7f6..c53a13d4f166 100644
@@ -553,10 +553,13 @@ static void cxl_port_release(struct device *dev)
 	xa_destroy(&port->dports);
 	xa_destroy(&port->regions);
 	ida_free(&cxl_port_ida, port->id);
-	if (is_cxl_root(port))
+
+	if (is_cxl_root(port)) {
 		kfree(to_cxl_root(port));
-	else
+	} else {
+		put_device(dev->parent);
 		kfree(port);
+	}
 }
 
 static ssize_t decoders_committed_show(struct device *dev,
@@ -722,6 +725,7 @@ static struct cxl_port *cxl_port_alloc(struct device *uport_dev,
 		struct cxl_port *iter;
 
 		dev->parent = &parent_port->dev;
+		get_device(dev->parent);
 		port->depth = parent_port->depth + 1;
 		port->parent_dport = parent_dport;
 
drivers/cxl/pmem.c +1 -1
index c00b84b96076..3432fd83b1e2 100644
@@ -554,7 +554,7 @@ static __exit void cxl_pmem_exit(void)
 
 MODULE_DESCRIPTION("CXL PMEM: Persistent Memory Support");
 MODULE_LICENSE("GPL v2");
-module_init(cxl_pmem_init);
+subsys_initcall(cxl_pmem_init);
 module_exit(cxl_pmem_exit);
 MODULE_IMPORT_NS("CXL");
 MODULE_ALIAS_CXL(CXL_DEVICE_NVDIMM_BRIDGE);
drivers/dma/dw-edma/dw-hdma-v0-core.c +3 -3
index e3f8db4fe909..ce8f7254bab2 100644
@@ -252,10 +252,10 @@ static void dw_hdma_v0_core_start(struct dw_edma_chunk *chunk, bool first)
 			  lower_32_bits(chunk->ll_region.paddr));
 		SET_CH_32(dw, chan->dir, chan->id, llp.msb,
 			  upper_32_bits(chunk->ll_region.paddr));
+		/* Set consumer cycle */
+		SET_CH_32(dw, chan->dir, chan->id, cycle_sync,
+			HDMA_V0_CONSUMER_CYCLE_STAT | HDMA_V0_CONSUMER_CYCLE_BIT);
 	}
-	/* Set consumer cycle */
-	SET_CH_32(dw, chan->dir, chan->id, cycle_sync,
-		  HDMA_V0_CONSUMER_CYCLE_STAT | HDMA_V0_CONSUMER_CYCLE_BIT);
 
 	dw_hdma_v0_sync_ll_data(chunk);
 
drivers/dma/fsl-edma-main.c +11 -15
index 093185768ad8..fbc12521da26 100644
@@ -317,10 +317,8 @@ static struct dma_chan *fsl_edma3_xlate(struct of_phandle_args *dma_spec,
 			return NULL;
 		i = fsl_chan - fsl_edma->chans;
 
-		fsl_chan->priority = dma_spec->args[1];
-		fsl_chan->is_rxchan = dma_spec->args[2] & FSL_EDMA_RX;
-		fsl_chan->is_remote = dma_spec->args[2] & FSL_EDMA_REMOTE;
-		fsl_chan->is_multi_fifo = dma_spec->args[2] & FSL_EDMA_MULTI_FIFO;
+		if (!b_chmux && i != dma_spec->args[0])
+			continue;
 
 		if ((dma_spec->args[2] & FSL_EDMA_EVEN_CH) && (i & 0x1))
 			continue;
@@ -328,17 +326,15 @@ static struct dma_chan *fsl_edma3_xlate(struct of_phandle_args *dma_spec,
 		if ((dma_spec->args[2] & FSL_EDMA_ODD_CH) && !(i & 0x1))
 			continue;
 
-		if (!b_chmux && i == dma_spec->args[0]) {
-			chan = dma_get_slave_channel(chan);
-			chan->device->privatecnt++;
-			return chan;
-		} else if (b_chmux && !fsl_chan->srcid) {
-			/* if controller support channel mux, choose a free channel */
-			chan = dma_get_slave_channel(chan);
-			chan->device->privatecnt++;
-			fsl_chan->srcid = dma_spec->args[0];
-			return chan;
-		}
+		fsl_chan->srcid = dma_spec->args[0];
+		fsl_chan->priority = dma_spec->args[1];
+		fsl_chan->is_rxchan = dma_spec->args[2] & FSL_EDMA_RX;
+		fsl_chan->is_remote = dma_spec->args[2] & FSL_EDMA_REMOTE;
+		fsl_chan->is_multi_fifo = dma_spec->args[2] & FSL_EDMA_MULTI_FIFO;
+
+		chan = dma_get_slave_channel(chan);
+		chan->device->privatecnt++;
+		return chan;
 	}
 	return NULL;
 }
drivers/dma/idxd/cdev.c +4 -4
index 7e4715f92773..4105688cf3f0 100644
@@ -158,11 +158,7 @@ static const struct device_type idxd_cdev_file_type = {
 static void idxd_cdev_dev_release(struct device *dev)
 {
 	struct idxd_cdev *idxd_cdev = dev_to_cdev(dev);
-	struct idxd_cdev_context *cdev_ctx;
-	struct idxd_wq *wq = idxd_cdev->wq;
 
-	cdev_ctx = &ictx[wq->idxd->data->type];
-	ida_free(&cdev_ctx->minor_ida, idxd_cdev->minor);
 	kfree(idxd_cdev);
 }
 
@@ -582,11 +578,15 @@ int idxd_wq_add_cdev(struct idxd_wq *wq)
 
 void idxd_wq_del_cdev(struct idxd_wq *wq)
 {
+	struct idxd_cdev_context *cdev_ctx;
 	struct idxd_cdev *idxd_cdev;
 
 	idxd_cdev = wq->idxd_cdev;
 	wq->idxd_cdev = NULL;
 	cdev_device_del(&idxd_cdev->cdev, cdev_dev(idxd_cdev));
+
+	cdev_ctx = &ictx[wq->idxd->data->type];
+	ida_free(&cdev_ctx->minor_ida, idxd_cdev->minor);
 	put_device(cdev_dev(idxd_cdev));
 }
 
drivers/dma/idxd/device.c +2 -4
index 5cf419fe6b46..646d7f767afa 100644
@@ -174,6 +174,7 @@ void idxd_wq_free_resources(struct idxd_wq *wq)
 	free_descs(wq);
 	dma_free_coherent(dev, wq->compls_size, wq->compls, wq->compls_addr);
 	sbitmap_queue_free(&wq->sbq);
+	wq->type = IDXD_WQT_NONE;
 }
 EXPORT_SYMBOL_NS_GPL(idxd_wq_free_resources, "IDXD");
 
@@ -367,7 +368,6 @@ static void idxd_wq_disable_cleanup(struct idxd_wq *wq)
 	lockdep_assert_held(&wq->wq_lock);
 	wq->state = IDXD_WQ_DISABLED;
 	memset(wq->wqcfg, 0, idxd->wqcfg_size);
-	wq->type = IDXD_WQT_NONE;
 	wq->threshold = 0;
 	wq->priority = 0;
 	wq->enqcmds_retries = IDXD_ENQCMDS_RETRIES;
@@ -815,8 +815,7 @@ static void idxd_device_evl_free(struct idxd_device *idxd)
 	struct device *dev = &idxd->pdev->dev;
 	struct idxd_evl *evl = idxd->evl;
 
-	gencfg.bits = ioread32(idxd->reg_base + IDXD_GENCFG_OFFSET);
-	if (!gencfg.evl_en)
+	if (!evl)
 		return;
 
 	mutex_lock(&evl->lock);
@@ -1513,7 +1512,6 @@ void idxd_drv_disable_wq(struct idxd_wq *wq)
 	idxd_wq_reset(wq);
 	idxd_wq_free_resources(wq);
 	percpu_ref_exit(&wq->wq_active);
-	wq->type = IDXD_WQT_NONE;
 	wq->client_count = 0;
 }
 EXPORT_SYMBOL_NS_GPL(idxd_drv_disable_wq, "IDXD");
drivers/dma/idxd/init.c +3 -1
index 2acc34b3daff..f2b37c63a964 100644
@@ -962,7 +962,8 @@ static void idxd_device_config_restore(struct idxd_device *idxd,
 
 	idxd->rdbuf_limit = idxd_saved->saved_idxd.rdbuf_limit;
 
-	idxd->evl->size = saved_evl->size;
+	if (idxd->evl)
+		idxd->evl->size = saved_evl->size;
 
 	for (i = 0; i < idxd->max_groups; i++) {
 		struct idxd_group *saved_group, *group;
@@ -1136,6 +1137,7 @@ static void idxd_reset_done(struct pci_dev *pdev)
 	}
 out:
 	kfree(idxd->idxd_saved);
+	idxd->idxd_saved = NULL;
 }
 
 static const struct pci_error_handlers idxd_error_handler = {
drivers/dma/idxd/submit.c +1 -1
index 6db1c5fcedc5..03217041b8b3 100644
@@ -138,7 +138,7 @@ static void llist_abort_desc(struct idxd_wq *wq, struct idxd_irq_entry *ie,
 	 */
 	list_for_each_entry_safe(d, t, &flist, list) {
 		list_del_init(&d->list);
-		idxd_dma_complete_txd(found, IDXD_COMPLETE_ABORT, true,
+		idxd_dma_complete_txd(d, IDXD_COMPLETE_ABORT, true,
 				      NULL, NULL);
 	}
 }
drivers/dma/idxd/sysfs.c +1 -0
index 9f0701021af0..cdd7a59140d9 100644
@@ -1812,6 +1812,7 @@ static void idxd_conf_device_release(struct device *dev)
 {
 	struct idxd_device *idxd = confdev_to_idxd(dev);
 
+	destroy_workqueue(idxd->wq);
 	kfree(idxd->groups);
 	bitmap_free(idxd->wq_enable_map);
 	kfree(idxd->wqs);
drivers/dma/sh/rz-dmac.c +36 -30

121 lines not on this page · raw message

drivers/dma/xilinx/xdma.c +2 -2
index 5ecf8223c112..58e01e22b976 100644
@@ -1236,8 +1236,8 @@ static int xdma_probe(struct platform_device *pdev)
 
 	xdev->rmap = devm_regmap_init_mmio(&pdev->dev, reg_base,
 					   &xdma_regmap_config);
-	if (!xdev->rmap) {
-		xdma_err(xdev, "config regmap failed: %d", ret);
+	if (IS_ERR(xdev->rmap)) {
+		xdma_err(xdev, "config regmap failed: %pe", xdev->rmap);
 		goto failed;
 	}
 	INIT_LIST_HEAD(&xdev->dma_dev.channels);
drivers/dma/xilinx/xilinx_dma.c +30 -16

89 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +2 -2
index a2879d2b7c8e..1ec26be82f30 100644
@@ -687,9 +687,9 @@ int amdgpu_amdkfd_submit_ib(struct amdgpu_device *adev,
 		goto err_ib_sched;
 	}
 
-	/* Drop the initial kref_init count (see drm_sched_main as example) */
-	dma_fence_put(f);
 	ret = dma_fence_wait(f, false);
+	/* Drop the returned fence reference after the wait completes */
+	dma_fence_put(f);
 
 err_ib_sched:
 	amdgpu_job_free(job);
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c +32 -13

74 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h +1 -0
index b3649cd3af56..a57919478d3b 100644
@@ -74,6 +74,7 @@ int amdgpu_pasid_alloc(unsigned int bits);
 void amdgpu_pasid_free(u32 pasid);
 void amdgpu_pasid_free_delayed(struct dma_resv *resv,
 			       u32 pasid);
+void amdgpu_pasid_mgr_cleanup(void);
 
 bool amdgpu_vmid_had_gpu_reset(struct amdgpu_device *adev,
 			       struct amdgpu_vmid *id);
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +1 -0
index 3d2f9d0e2d23..f2e00f408156 100644
@@ -2884,6 +2884,7 @@ void amdgpu_vm_manager_fini(struct amdgpu_device *adev)
 	xa_destroy(&adev->vm_manager.pasids);
 
 	amdgpu_vmid_mgr_fini(adev);
+	amdgpu_pasid_mgr_cleanup();
 }
 
 /**
drivers/gpu/drm/amd/amdgpu/mes_v12_0.c +4 -1
index 4a424c1f9d55..c40aed5a8fc2 100644
@@ -727,6 +727,9 @@ static int mes_v12_0_set_hw_resources(struct amdgpu_mes *mes, int pipe)
 	int i;
 	struct amdgpu_device *adev = mes->adev;
 	union MESAPI_SET_HW_RESOURCES mes_set_hw_res_pkt;
+	uint32_t mes_rev = (pipe == AMDGPU_MES_SCHED_PIPE) ?
+		(mes->sched_version & AMDGPU_MES_VERSION_MASK) :
+		(mes->kiq_version & AMDGPU_MES_VERSION_MASK);
 
 	memset(&mes_set_hw_res_pkt, 0, sizeof(mes_set_hw_res_pkt));
 
@@ -781,7 +784,7 @@ static int mes_v12_0_set_hw_resources(struct amdgpu_mes *mes, int pipe)
 	 * handling support, other queue will not use the oversubscribe timer.
 	 * handling  mode - 0: disabled; 1: basic version; 2: basic+ version
 	 */
-	mes_set_hw_res_pkt.oversubscription_timer = 50;
+	mes_set_hw_res_pkt.oversubscription_timer = mes_rev < 0x8b ? 0 : 50;
 	mes_set_hw_res_pkt.unmapped_doorbell_handling = 1;
 
 	if (amdgpu_mes_log_enable) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +7 -1
index 77840b6cb206..ae10e8365ae1 100644
@@ -3822,8 +3822,9 @@ void amdgpu_dm_update_connector_after_detect(
 
 		aconnector->dc_sink = sink;
 		dc_sink_retain(aconnector->dc_sink);
+		drm_edid_free(aconnector->drm_edid);
+		aconnector->drm_edid = NULL;
 		if (sink->dc_edid.length == 0) {
-			aconnector->drm_edid = NULL;
 			hdmi_cec_unset_edid(aconnector);
 			if (aconnector->dc_link->aux_mode) {
 				drm_dp_cec_unset_edid(&aconnector->dm_dp_aux.aux);
@@ -12268,6 +12269,11 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
 	}
 
 	if (dc_resource_is_dsc_encoding_supported(dc)) {
+		for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
+			dm_new_crtc_state = to_dm_crtc_state(new_crtc_state);
+			dm_new_crtc_state->mode_changed_independent_from_dsc = new_crtc_state->mode_changed;
+		}
+
 		for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
 			if (drm_atomic_crtc_needs_modeset(new_crtc_state)) {
 				ret = add_affected_mst_dsc_crtcs(state, crtc);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +1 -0
index adcd7ea69671..cd362d22a277 100644
@@ -965,6 +965,7 @@ struct dm_crtc_state {
 
 	bool freesync_vrr_info_changed;
 
+	bool mode_changed_independent_from_dsc;
 	bool dsc_force_changed;
 	bool vrr_supported;
 	struct mod_freesync_config freesync_config;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +3 -1
index 5e92eaa67aa3..2e0895f4f9b1 100644
@@ -1744,9 +1744,11 @@ int pre_validate_dsc(struct drm_atomic_state *state,
 			int ind = find_crtc_index_in_state_by_stream(state, stream);
 
 			if (ind >= 0) {
+				struct dm_crtc_state *dm_new_crtc_state = to_dm_crtc_state(state->crtcs[ind].new_state);
+
 				DRM_INFO_ONCE("%s:%d MST_DSC no mode changed for stream 0x%p\n",
 						__func__, __LINE__, stream);
-				state->crtcs[ind].new_state->mode_changed = 0;
+				dm_new_crtc_state->base.mode_changed = dm_new_crtc_state->mode_changed_independent_from_dsc;
 			}
 		}
 	}
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +5 -2
index 244b8c364d45..cfa4ff5d21b2 100644
@@ -1655,9 +1655,12 @@ static int smu_smc_hw_setup(struct smu_context *smu)
 		if (adev->in_suspend && smu_is_dpm_running(smu)) {
 			dev_info(adev->dev, "dpm has been enabled\n");
 			ret = smu_system_features_control(smu, true);
-			if (ret)
+			if (ret) {
 				dev_err(adev->dev, "Failed system features control!\n");
-			return ret;
+				return ret;
+			}
+
+			return smu_enable_thermal_alert(smu);
 		}
 		break;
 	default:
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +6 -1
index 78e4186d06cc..b0d6487171d7 100644
@@ -1022,7 +1022,12 @@ int smu_v11_0_enable_thermal_alert(struct smu_context *smu)
 
 int smu_v11_0_disable_thermal_alert(struct smu_context *smu)
 {
-	return amdgpu_irq_put(smu->adev, &smu->irq_source, 0);
+	int ret = 0;
+
+	if (smu->smu_table.thermal_controller_type)
+		ret = amdgpu_irq_put(smu->adev, &smu->irq_source, 0);
+
+	return ret;
 }
 
 static uint16_t convert_to_vddc(uint8_t vid)
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c +1 -1
index 285cf7979693..43965b1135fe 100644
@@ -1494,7 +1494,7 @@ static int smu_v13_0_6_print_clk_levels(struct smu_context *smu,
 
 	case SMU_OD_MCLK:
 		if (!smu_v13_0_6_cap_supported(smu, SMU_CAP(SET_UCLK_MAX)))
-			return 0;
+			return -EOPNOTSUPP;
 
 		size += sysfs_emit_at(buf, size, "%s:\n", "OD_MCLK");
 		size += sysfs_emit_at(buf, size, "0: %uMhz\n1: %uMhz\n",
drivers/gpu/drm/i915/display/intel_display.c +7 -1
index decb9f3dd71c..3f40028e79cf 100644
@@ -4568,6 +4568,7 @@ intel_crtc_prepare_cleared_state(struct intel_atomic_state *state,
 	struct intel_crtc_state *crtc_state =
 		intel_atomic_get_new_crtc_state(state, crtc);
 	struct intel_crtc_state *saved_state;
+	int err;
 
 	saved_state = intel_crtc_state_alloc(crtc);
 	if (!saved_state)
@@ -4576,7 +4577,12 @@ intel_crtc_prepare_cleared_state(struct intel_atomic_state *state,
 	/* free the old crtc_state->hw members */
 	intel_crtc_free_hw_state(crtc_state);
 
-	intel_dp_tunnel_atomic_clear_stream_bw(state, crtc_state);
+	err = intel_dp_tunnel_atomic_clear_stream_bw(state, crtc_state);
+	if (err) {
+		kfree(saved_state);
+
+		return err;
+	}
 
 	/* FIXME: before the switch to atomic started, a new pipe_config was
 	 * kzalloc'd. Code that depends on any field being zero should be
drivers/gpu/drm/i915/display/intel_dp_tunnel.c +14 -6
index faa2b7a46699..0d15739eaa05 100644
@@ -622,19 +622,27 @@ int intel_dp_tunnel_atomic_compute_stream_bw(struct intel_atomic_state *state,
  *
  * Clear any DP tunnel stream BW requirement set by
  * intel_dp_tunnel_atomic_compute_stream_bw().
+ *
+ * Returns 0 in case of success, a negative error code otherwise.
  */
-void intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state,
-					    struct intel_crtc_state *crtc_state)
+int intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state,
+					   struct intel_crtc_state *crtc_state)
 {
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
+	int err;
 
 	if (!crtc_state->dp_tunnel_ref.tunnel)
-		return;
+		return 0;
+
+	err = drm_dp_tunnel_atomic_set_stream_bw(&state->base,
+						 crtc_state->dp_tunnel_ref.tunnel,
+						 crtc->pipe, 0);
+	if (err)
+		return err;
 
-	drm_dp_tunnel_atomic_set_stream_bw(&state->base,
-					   crtc_state->dp_tunnel_ref.tunnel,
-					   crtc->pipe, 0);
 	drm_dp_tunnel_ref_put(&crtc_state->dp_tunnel_ref);
+
+	return 0;
 }
 
 /**
drivers/gpu/drm/i915/display/intel_dp_tunnel.h +7 -4
index 7f0f720e8dca..10ab9eebcef6 100644
@@ -40,8 +40,8 @@ int intel_dp_tunnel_atomic_compute_stream_bw(struct intel_atomic_state *state,
 					     struct intel_dp *intel_dp,
 					     const struct intel_connector *connector,
 					     struct intel_crtc_state *crtc_state);
-void intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state,
-					    struct intel_crtc_state *crtc_state);
+int intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state,
+					   struct intel_crtc_state *crtc_state);
 
 int intel_dp_tunnel_atomic_add_state_for_crtc(struct intel_atomic_state *state,
 					      struct intel_crtc *crtc);
@@ -88,9 +88,12 @@ intel_dp_tunnel_atomic_compute_stream_bw(struct intel_atomic_state *state,
 	return 0;
 }
 
-static inline void
+static inline int
 intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state,
-				       struct intel_crtc_state *crtc_state) {}
+				       struct intel_crtc_state *crtc_state)
+{
+	return 0;
+}
 
 static inline int
 intel_dp_tunnel_atomic_add_state_for_crtc(struct intel_atomic_state *state,
drivers/gpu/drm/i915/display/intel_gmbus.c +3 -1
index 358210adb8f8..10b3f3969c96 100644
@@ -497,8 +497,10 @@ gmbus_xfer_read_chunk(struct intel_display *display,
 
 		val = intel_de_read_fw(display, GMBUS3(display));
 		do {
-			if (extra_byte_added && len == 1)
+			if (extra_byte_added && len == 1) {
+				len--;
 				break;
+			}
 
 			*buf++ = val & 0xff;
 			val >>= 8;
drivers/gpu/drm/i915/display/intel_plane.c +9 -2
index 2329f09d413d..91deeaec6110 100644
@@ -421,11 +421,16 @@ void intel_plane_copy_hw_state(struct intel_plane_state *plane_state,
 		drm_framebuffer_get(plane_state->hw.fb);
 }
 
+static void unlink_nv12_plane(struct intel_crtc_state *crtc_state,
+			      struct intel_plane_state *plane_state);
+
 void intel_plane_set_invisible(struct intel_crtc_state *crtc_state,
 			       struct intel_plane_state *plane_state)
 {
 	struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
 
+	unlink_nv12_plane(crtc_state, plane_state);
+
 	crtc_state->active_planes &= ~BIT(plane->id);
 	crtc_state->scaled_planes &= ~BIT(plane->id);
 	crtc_state->nv12_planes &= ~BIT(plane->id);
@@ -1498,6 +1503,9 @@ static void unlink_nv12_plane(struct intel_crtc_state *crtc_state,
 	struct intel_display *display = to_intel_display(plane_state);
 	struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
 
+	if (!plane_state->planar_linked_plane)
+		return;
+
 	plane_state->planar_linked_plane = NULL;
 
 	if (!plane_state->is_y_plane)
@@ -1535,8 +1543,7 @@ static int icl_check_nv12_planes(struct intel_atomic_state *state,
 		if (plane->pipe != crtc->pipe)
 			continue;
 
-		if (plane_state->planar_linked_plane)
-			unlink_nv12_plane(crtc_state, plane_state);
+		unlink_nv12_plane(crtc_state, plane_state);
 	}
 
 	if (!crtc_state->nv12_planes)
drivers/gpu/drm/i915/i915_wait_util.h +1 -1
index 7376898e3bf8..e1ed7921ec70 100644
@@ -25,9 +25,9 @@
 	might_sleep();							\
 	for (;;) {							\
 		const bool expired__ = ktime_after(ktime_get_raw(), end__); \
-		OP;							\
 		/* Guarantee COND check prior to timeout */		\
 		barrier();						\
+		OP;							\
 		if (COND) {						\
 			ret__ = 0;					\
 			break;						\
drivers/gpu/drm/mediatek/mtk_dsi.c +5 -4
index d7726091819c..acee2227275b 100644
@@ -1232,6 +1232,11 @@ static int mtk_dsi_probe(struct platform_device *pdev)
 
 	dsi->host.ops = &mtk_dsi_ops;
 	dsi->host.dev = dev;
+
+	init_waitqueue_head(&dsi->irq_wait_queue);
+
+	platform_set_drvdata(pdev, dsi);
+
 	ret = mipi_dsi_host_register(&dsi->host);
 	if (ret < 0)
 		return dev_err_probe(dev, ret, "Failed to register DSI host\n");
@@ -1243,10 +1248,6 @@ static int mtk_dsi_probe(struct platform_device *pdev)
 		return dev_err_probe(&pdev->dev, ret, "Failed to request DSI irq\n");
 	}
 
-	init_waitqueue_head(&dsi->irq_wait_queue);
-
-	platform_set_drvdata(pdev, dsi);
-
 	dsi->bridge.of_node = dev->of_node;
 	dsi->bridge.type = DRM_MODE_CONNECTOR_DSI;
 
drivers/gpu/drm/ttm/tests/ttm_bo_test.c +2 -2
index 6c77550c51af..40a55f81bf47 100644
@@ -222,13 +222,13 @@ static void ttm_bo_reserve_interrupted(struct kunit *test)
 		KUNIT_FAIL(test, "Couldn't create ttm bo reserve task\n");
 
 	/* Take a lock so the threaded reserve has to wait */
-	mutex_lock(&bo->base.resv->lock.base);
+	dma_resv_lock(bo->base.resv, NULL);
 
 	wake_up_process(task);
 	msleep(20);
 	err = kthread_stop(task);
 
-	mutex_unlock(&bo->base.resv->lock.base);
+	dma_resv_unlock(bo->base.resv);
 
 	KUNIT_ASSERT_EQ(test, err, -ERESTARTSYS);
 }
drivers/gpu/drm/xe/regs/xe_gt_regs.h +1 -0
index f680c8b8f258..7d90e4dd86d0 100644
@@ -540,6 +540,7 @@
 #define   ENABLE_SMP_LD_RENDER_SURFACE_CONTROL	REG_BIT(44 - 32)
 #define   FORCE_SLM_FENCE_SCOPE_TO_TILE		REG_BIT(42 - 32)
 #define   FORCE_UGM_FENCE_SCOPE_TO_TILE		REG_BIT(41 - 32)
+#define   L3_128B_256B_WRT_DIS			REG_BIT(40 - 32)
 #define   MAXREQS_PER_BANK			REG_GENMASK(39 - 32, 37 - 32)
 #define   DISABLE_128B_EVICTION_COMMAND_UDW	REG_BIT(36 - 32)
 
drivers/gpu/drm/xe/xe_pt.c +6 -6
index 07f96bda638a..a21383fba1e8 100644
@@ -1451,9 +1451,9 @@ static int op_check_svm_userptr(struct xe_vm *vm, struct xe_vma_op *op,
 		err = vma_check_userptr(vm, op->map.vma, pt_update);
 		break;
 	case DRM_GPUVA_OP_REMAP:
-		if (op->remap.prev)
+		if (op->remap.prev && !op->remap.skip_prev)
 			err = vma_check_userptr(vm, op->remap.prev, pt_update);
-		if (!err && op->remap.next)
+		if (!err && op->remap.next && !op->remap.skip_next)
 			err = vma_check_userptr(vm, op->remap.next, pt_update);
 		break;
 	case DRM_GPUVA_OP_UNMAP:
@@ -2038,12 +2038,12 @@ static int op_prepare(struct xe_vm *vm,
 
 		err = unbind_op_prepare(tile, pt_update_ops, old);
 
-		if (!err && op->remap.prev) {
+		if (!err && op->remap.prev && !op->remap.skip_prev) {
 			err = bind_op_prepare(vm, tile, pt_update_ops,
 					      op->remap.prev, false);
 			pt_update_ops->wait_vm_bookkeep = true;
 		}
-		if (!err && op->remap.next) {
+		if (!err && op->remap.next && !op->remap.skip_next) {
 			err = bind_op_prepare(vm, tile, pt_update_ops,
 					      op->remap.next, false);
 			pt_update_ops->wait_vm_bookkeep = true;
@@ -2267,10 +2267,10 @@ static void op_commit(struct xe_vm *vm,
 
 		unbind_op_commit(vm, tile, pt_update_ops, old, fence, fence2);
 
-		if (op->remap.prev)
+		if (op->remap.prev && !op->remap.skip_prev)
 			bind_op_commit(vm, tile, pt_update_ops, op->remap.prev,
 				       fence, fence2, false);
-		if (op->remap.next)
+		if (op->remap.next && !op->remap.skip_next)
 			bind_op_commit(vm, tile, pt_update_ops, op->remap.next,
 				       fence, fence2, false);
 		break;
drivers/gpu/drm/xe/xe_vm.c +18 -4
index 59ff911f8aad..8f7b8f2da06b 100644
@@ -2503,7 +2503,6 @@ static int xe_vma_op_commit(struct xe_vm *vm, struct xe_vma_op *op)
 			if (!err && op->remap.skip_prev) {
 				op->remap.prev->tile_present =
 					tile_present;
-				op->remap.prev = NULL;
 			}
 		}
 		if (op->remap.next) {
@@ -2513,11 +2512,13 @@ static int xe_vma_op_commit(struct xe_vm *vm, struct xe_vma_op *op)
 			if (!err && op->remap.skip_next) {
 				op->remap.next->tile_present =
 					tile_present;
-				op->remap.next = NULL;
 			}
 		}
 
-		/* Adjust for partial unbind after removing VMA from VM */
+		/*
+		 * Adjust for partial unbind after removing VMA from VM. In case
+		 * of unwind we might need to undo this later.
+		 */
 		if (!err) {
 			op->base.remap.unmap->va->va.addr = op->remap.start;
 			op->base.remap.unmap->va->va.range = op->remap.range;
@@ -2636,6 +2637,8 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct drm_gpuva_ops *ops,
 
 			op->remap.start = xe_vma_start(old);
 			op->remap.range = xe_vma_size(old);
+			op->remap.old_start = op->remap.start;
+			op->remap.old_range = op->remap.range;
 
 			flags |= op->base.remap.unmap->va->flags & XE_VMA_CREATE_MASK;
 			if (op->base.remap.prev) {
@@ -2783,8 +2786,19 @@ static void xe_vma_op_unwind(struct xe_vm *vm, struct xe_vma_op *op,
 			xe_svm_notifier_lock(vm);
 			vma->gpuva.flags &= ~XE_VMA_DESTROYED;
 			xe_svm_notifier_unlock(vm);
-			if (post_commit)
+			if (post_commit) {
+				/*
+				 * Restore the old va range, in case of the
+				 * prev/next skip optimisation. Otherwise what
+				 * we re-insert here could be smaller than the
+				 * original range.
+				 */
+				op->base.remap.unmap->va->va.addr =
+					op->remap.old_start;
+				op->base.remap.unmap->va->va.range =
+					op->remap.old_range;
 				xe_vm_insert_vma(vm, vma);
+			}
 		}
 		break;
 	}
drivers/gpu/drm/xe/xe_vm_types.h +4 -0
index fd5b5919c402..9c9c2209bdcf 100644
@@ -365,6 +365,10 @@ struct xe_vma_op_remap {
 	u64 start;
 	/** @range: range of the VMA unmap */
 	u64 range;
+	/** @old_start: Original start of the VMA we unmap */
+	u64 old_start;
+	/** @old_range: Original range of the VMA we unmap */
+	u64 old_range;
 	/** @skip_prev: skip prev rebind */
 	bool skip_prev;
 	/** @skip_next: skip next rebind */
drivers/gpu/drm/xe/xe_wa.c +2 -1
index fe6e6227d921..51c5985830b1 100644
@@ -261,7 +261,8 @@ static const struct xe_rtp_entry_sr gt_was[] = {
 				   LSN_DIM_Z_WGT_MASK,
 				   LSN_LNI_WGT(1) | LSN_LNE_WGT(1) |
 				   LSN_DIM_X_WGT(1) | LSN_DIM_Y_WGT(1) |
-				   LSN_DIM_Z_WGT(1)))
+				   LSN_DIM_Z_WGT(1)),
+			SET(LSC_CHICKEN_BIT_0_UDW, L3_128B_256B_WRT_DIS))
 	},
 
 	/* Xe2_HPM */
drivers/hid/hid-apple.c +4 -3
index 233e367cce1d..9dcb252c5d6c 100644
@@ -365,6 +365,9 @@ static const struct apple_non_apple_keyboard non_apple_keyboards[] = {
 	{ "A3R" },
 	{ "hfd.cn" },
 	{ "WKB603" },
+	{ "TH87" },			/* EPOMAKER TH87 BT mode */
+	{ "HFD Epomaker TH87" },	/* EPOMAKER TH87 USB mode */
+	{ "2.4G Wireless Receiver" },	/* EPOMAKER TH87 dongle */
 };
 
 static bool apple_is_non_apple_keyboard(struct hid_device *hdev)
@@ -686,9 +689,7 @@ static const __u8 *apple_report_fixup(struct hid_device *hdev, __u8 *rdesc,
 		hid_info(hdev,
 			 "fixing up Magic Keyboard battery report descriptor\n");
 		*rsize = *rsize - 1;
-		rdesc = kmemdup(rdesc + 1, *rsize, GFP_KERNEL);
-		if (!rdesc)
-			return NULL;
+		rdesc = rdesc + 1;
 
 		rdesc[0] = 0x05;
 		rdesc[1] = 0x01;
drivers/hid/hid-asus.c +14 -4
index a444d41e53b6..5a068f6fd2ce 100644
@@ -1305,14 +1305,21 @@ static const __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
 		 */
 		if (*rsize == rsize_orig &&
 			rdesc[offs] == 0x09 && rdesc[offs + 1] == 0x76) {
-			*rsize = rsize_orig + 1;
-			rdesc = kmemdup(rdesc, *rsize, GFP_KERNEL);
-			if (!rdesc)
-				return NULL;
+			__u8 *new_rdesc;
+
+			new_rdesc = devm_kzalloc(&hdev->dev, rsize_orig + 1,
+						 GFP_KERNEL);
+			if (!new_rdesc)
+				return rdesc;
 
 			hid_info(hdev, "Fixing up %s keyb report descriptor\n",
 				drvdata->quirks & QUIRK_T100CHI ?
 				"T100CHI" : "T90CHI");
+
+			memcpy(new_rdesc, rdesc, rsize_orig);
+			*rsize = rsize_orig + 1;
+			rdesc = new_rdesc;
+
 			memmove(rdesc + offs + 4, rdesc + offs + 2, 12);
 			rdesc[offs] = 0x19;
 			rdesc[offs + 1] = 0x00;
@@ -1396,6 +1403,9 @@ static const struct hid_device_id asus_devices[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
 	    USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY_X),
 	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_ALLY_XPAD },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
+	    USB_DEVICE_ID_ASUSTEK_XGM_2023),
+	},
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
 	    USB_DEVICE_ID_ASUSTEK_ROG_CLAYMORE_II_KEYBOARD),
 	  QUIRK_ROG_CLAYMORE_II_KEYBOARD },
drivers/hid/hid-ids.h +1 -0
index f5715cf9468f..d9d354f1b884 100644
@@ -229,6 +229,7 @@
 #define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY_X		0x1b4c
 #define USB_DEVICE_ID_ASUSTEK_ROG_CLAYMORE_II_KEYBOARD	0x196b
 #define USB_DEVICE_ID_ASUSTEK_FX503VD_KEYBOARD	0x1869
+#define USB_DEVICE_ID_ASUSTEK_XGM_2023	0x1a9a
 
 #define USB_VENDOR_ID_ATEN		0x0557
 #define USB_DEVICE_ID_ATEN_UC100KM	0x2004
drivers/hid/hid-magicmouse.c +2 -4
index 91f621ceb924..9eadf3252d0d 100644
@@ -990,13 +990,11 @@ static const __u8 *magicmouse_report_fixup(struct hid_device *hdev, __u8 *rdesc,
 	 */
 	if ((is_usb_magicmouse2(hdev->vendor, hdev->product) ||
 	     is_usb_magictrackpad2(hdev->vendor, hdev->product)) &&
-	    *rsize == 83 && rdesc[46] == 0x84 && rdesc[58] == 0x85) {
+	    *rsize >= 83 && rdesc[46] == 0x84 && rdesc[58] == 0x85) {
 		hid_info(hdev,
 			 "fixing up magicmouse battery report descriptor\n");
 		*rsize = *rsize - 1;
-		rdesc = kmemdup(rdesc + 1, *rsize, GFP_KERNEL);
-		if (!rdesc)
-			return NULL;
+		rdesc = rdesc + 1;
 
 		rdesc[0] = 0x05;
 		rdesc[1] = 0x01;
drivers/hid/hid-mcp2221.c +2 -0
index 33603b019f97..ef3b5c77c38e 100644
@@ -353,6 +353,8 @@ static int mcp_i2c_smbus_read(struct mcp2221 *mcp,
 				usleep_range(90, 100);
 				retries++;
 			} else {
+				usleep_range(980, 1000);
+				mcp_cancel_last_cmd(mcp);
 				return ret;
 			}
 		} else {
drivers/hid/intel-ish-hid/ipc/hw-ish.h +2 -0
index fa5d68c36313..27389971b96c 100644
@@ -39,6 +39,8 @@
 #define PCI_DEVICE_ID_INTEL_ISH_PTL_H		0xE345
 #define PCI_DEVICE_ID_INTEL_ISH_PTL_P		0xE445
 #define PCI_DEVICE_ID_INTEL_ISH_WCL		0x4D45
+#define PCI_DEVICE_ID_INTEL_ISH_NVL_H		0xD354
+#define PCI_DEVICE_ID_INTEL_ISH_NVL_S		0x6E78
 
 #define	REVISION_ID_CHT_A0	0x6
 #define	REVISION_ID_CHT_Ax_SI	0x0
drivers/hid/intel-ish-hid/ipc/pci-ish.c +12 -0
index b748ac6fbfdc..51a41a28541c 100644
@@ -28,11 +28,15 @@ enum ishtp_driver_data_index {
 	ISHTP_DRIVER_DATA_LNL_M,
 	ISHTP_DRIVER_DATA_PTL,
 	ISHTP_DRIVER_DATA_WCL,
+	ISHTP_DRIVER_DATA_NVL_H,
+	ISHTP_DRIVER_DATA_NVL_S,
 };
 
 #define ISH_FW_GEN_LNL_M "lnlm"
 #define ISH_FW_GEN_PTL "ptl"
 #define ISH_FW_GEN_WCL "wcl"
+#define ISH_FW_GEN_NVL_H "nvlh"
+#define ISH_FW_GEN_NVL_S "nvls"
 
 #define ISH_FIRMWARE_PATH(gen) "intel/ish/ish_" gen ".bin"
 #define ISH_FIRMWARE_PATH_ALL "intel/ish/ish_*.bin"
@@ -47,6 +51,12 @@ static struct ishtp_driver_data ishtp_driver_data[] = {
 	[ISHTP_DRIVER_DATA_WCL] = {
 		.fw_generation = ISH_FW_GEN_WCL,
 	},
+	[ISHTP_DRIVER_DATA_NVL_H] = {
+		.fw_generation = ISH_FW_GEN_NVL_H,
+	},
+	[ISHTP_DRIVER_DATA_NVL_S] = {
+		.fw_generation = ISH_FW_GEN_NVL_S,
+	},
 };
 
 static const struct pci_device_id ish_pci_tbl[] = {
@@ -76,6 +86,8 @@ static const struct pci_device_id ish_pci_tbl[] = {
 	{PCI_DEVICE_DATA(INTEL, ISH_PTL_H, ISHTP_DRIVER_DATA_PTL)},
 	{PCI_DEVICE_DATA(INTEL, ISH_PTL_P, ISHTP_DRIVER_DATA_PTL)},
 	{PCI_DEVICE_DATA(INTEL, ISH_WCL, ISHTP_DRIVER_DATA_WCL)},
+	{PCI_DEVICE_DATA(INTEL, ISH_NVL_H, ISHTP_DRIVER_DATA_NVL_H)},
+	{PCI_DEVICE_DATA(INTEL, ISH_NVL_S, ISHTP_DRIVER_DATA_NVL_S)},
 	{}
 };
 MODULE_DEVICE_TABLE(pci, ish_pci_tbl);
drivers/hwmon/adm1177.c +31 -23

111 lines not on this page · raw message

drivers/hwmon/axi-fan-control.c +1 -1
index b7bb325c3ad9..01590dfa55e6 100644
@@ -507,7 +507,7 @@ static int axi_fan_control_probe(struct platform_device *pdev)
 	ret = devm_request_threaded_irq(&pdev->dev, ctl->irq, NULL,
 					axi_fan_control_irq_handler,
 					IRQF_ONESHOT | IRQF_TRIGGER_HIGH,
-					pdev->driver_override, ctl);
+					NULL, ctl);
 	if (ret)
 		return dev_err_probe(&pdev->dev, ret,
 				     "failed to request an irq\n");
drivers/hwmon/peci/cputemp.c +2 -2
index c7112dbf008b..007fa621e10f 100644
@@ -133,7 +133,7 @@ static int get_temp_target(struct peci_cputemp *priv, enum peci_temp_target_type
 		*val = priv->temp.target.tjmax;
 		break;
 	case crit_hyst_type:
-		*val = priv->temp.target.tjmax - priv->temp.target.tcontrol;
+		*val = priv->temp.target.tcontrol;
 		break;
 	default:
 		ret = -EOPNOTSUPP;
@@ -339,7 +339,7 @@ static umode_t cputemp_is_visible(const void *data, enum hwmon_sensor_types type
 {
 	const struct peci_cputemp *priv = data;
 
-	if (channel > CPUTEMP_CHANNEL_NUMS)
+	if (channel >= CPUTEMP_CHANNEL_NUMS)
 		return 0;
 
 	if (channel < channel_core)
drivers/hwmon/pmbus/ina233.c +2 -1
index 2d8b5a5347ed..7aebd854763a 100644
@@ -72,7 +72,8 @@ static int ina233_read_word_data(struct i2c_client *client, int page,
 
 		/* Adjust returned value to match VIN coefficients */
 		/* VIN: 1.25 mV VSHUNT: 2.5 uV LSB */
-		ret = DIV_ROUND_CLOSEST(ret * 25, 12500);
+		ret = clamp_val(DIV_ROUND_CLOSEST((s16)ret * 25, 12500),
+				S16_MIN, S16_MAX) & 0xffff;
 		break;
 	default:
 		ret = -ENODATA;
drivers/hwmon/pmbus/isl68137.c +18 -3
index af7ff8a4e4f6..ab54184b4878 100644
@@ -94,7 +94,15 @@ static ssize_t isl68137_avs_enable_show_page(struct i2c_client *client,
 					     int page,
 					     char *buf)
 {
-	int val = pmbus_read_byte_data(client, page, PMBUS_OPERATION);
+	int val;
+
+	val = pmbus_lock_interruptible(client);
+	if (val)
+		return val;
+
+	val = pmbus_read_byte_data(client, page, PMBUS_OPERATION);
+
+	pmbus_unlock(client);
 
 	if (val < 0)
 		return val;
@@ -116,6 +124,10 @@ static ssize_t isl68137_avs_enable_store_page(struct i2c_client *client,
 
 	op_val = result ? ISL68137_VOUT_AVS : 0;
 
+	rc = pmbus_lock_interruptible(client);
+	if (rc)
+		return rc;
+
 	/*
 	 * Writes to VOUT setpoint over AVSBus will persist after the VRM is
 	 * switched to PMBus control. Switching back to AVSBus control
@@ -127,17 +139,20 @@ static ssize_t isl68137_avs_enable_store_page(struct i2c_client *client,
 		rc = pmbus_read_word_data(client, page, 0xff,
 					  PMBUS_VOUT_COMMAND);
 		if (rc < 0)
-			return rc;
+			goto unlock;
 
 		rc = pmbus_write_word_data(client, page, PMBUS_VOUT_COMMAND,
 					   rc);
 		if (rc < 0)
-			return rc;
+			goto unlock;
 	}
 
 	rc = pmbus_update_byte_data(client, page, PMBUS_OPERATION,
 				    ISL68137_VOUT_AVS, op_val);
 
+unlock:
+	pmbus_unlock(client);
+
 	return (rc < 0) ? rc : count;
 }
 
drivers/hwmon/pmbus/pmbus_core.c +154 -38

511 lines not on this page · raw message

drivers/i2c/busses/i2c-designware-amdisp.c +5 -6
index 450793d5f839..e0c3669bab08 100644
@@ -7,6 +7,7 @@
 
 #include <linux/module.h>
 #include <linux/platform_device.h>
+#include <linux/pm_domain.h>
 #include <linux/pm_runtime.h>
 #include <linux/soc/amd/isp4_misc.h>
 
@@ -82,22 +83,20 @@ static int amd_isp_dw_i2c_plat_probe(struct platform_device *pdev)
 	if (isp_i2c_dev->shared_with_punit)
 		pm_runtime_get_noresume(&pdev->dev);
 
-	pm_runtime_enable(&pdev->dev);
-	pm_runtime_get_sync(&pdev->dev);
-
+	dev_pm_genpd_resume(&pdev->dev);
 	ret = i2c_dw_probe(isp_i2c_dev);
 	if (ret) {
 		dev_err_probe(&pdev->dev, ret, "i2c_dw_probe failed\n");
 		goto error_release_rpm;
 	}
-
-	pm_runtime_put_sync(&pdev->dev);
+	dev_pm_genpd_suspend(&pdev->dev);
+	pm_runtime_set_suspended(&pdev->dev);
+	pm_runtime_enable(&pdev->dev);
 
 	return 0;
 
 error_release_rpm:
 	amd_isp_dw_i2c_plat_pm_cleanup(isp_i2c_dev);
-	pm_runtime_put_sync(&pdev->dev);
 	return ret;
 }
 
drivers/i2c/busses/i2c-imx.c +32 -19

6 lines not on this page · raw message

drivers/i3c/master/dw-i3c-master.c +2 -0
index 41ddac1d49d5..825eb2d20e9e 100644

Lines of this file are not shown. View the raw message.

drivers/infiniband/core/rw.c +18 -3
index 2522ff1cc462..49fbfe1cef68 100644

Lines of this file are not shown. View the raw message.

drivers/infiniband/hw/efa/efa_com.c +88 -85

173 lines not on this page · raw message

drivers/infiniband/hw/ionic/ionic_controlpath.c +3 -1
index 83573721af2c..38d57bc2ba52 100644

Lines of this file are not shown. View the raw message.

drivers/infiniband/hw/irdma/cm.c +16 -13
index f4f4f92ba63a..d14a381beb66 100644

Lines of this file are not shown. View the raw message.

drivers/infiniband/hw/irdma/uk.c +22 -17
index d5568584ad5e..4cc81d61be7f 100644

Lines of this file are not shown. View the raw message.

drivers/infiniband/hw/irdma/utils.c +0 -2
index b6c4ccf38eb7..e5e226b34621 100644

Lines of this file are not shown. View the raw message.

drivers/infiniband/hw/irdma/verbs.c +5 -4
index 5d027c04dba6..c77d6d0eafde 100644

Lines of this file are not shown. View the raw message.

drivers/irqchip/irq-qcom-mpm.c +3 -0
index 83f31ea657b7..181320528a47 100644

Lines of this file are not shown. View the raw message.

drivers/irqchip/irq-renesas-rzv2h.c +1 -1
index 3dab62ededec..c9f9099a5129 100644

Lines of this file are not shown. View the raw message.

drivers/media/mc/mc-request.c +5 -0
index f66f728b1b43..4188d4c8f1d4 100644

Lines of this file are not shown. View the raw message.

drivers/media/v4l2-core/v4l2-ioctl.c +3 -2
index 01cf52c3ea33..5e019c10afa3 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/dev/netlink.c +3 -1
index 6f83b87d54fc..fcfff221d1cc 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/airoha/airoha_ppe.c +2 -0
index 190d98970014..b3632f964a58 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/asp2/bcmasp.c +36 -30

66 lines not on this page · raw message

drivers/net/ethernet/cadence/macb_main.c +25 -16

41 lines not on this page · raw message

drivers/net/ethernet/freescale/enetc/enetc_ethtool.c +2 -0
index 71d052de669a..0250ed95e48c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf_ethtool.c +15 -16
index cb3f78aab23a..9ed1fb9432fc 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ice/ice_ethtool.c +11 -3
index 5396ddd66ef7..b52fcf7b899f 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ice/ice_repr.c +3 -2
index cb08746556a6..f1e82ba155cf 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/microchip/lan743x_main.c +5 -0
index e4c542fc6c2b..09d255e78f6c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/pensando/ionic/ionic_lif.c +11 -6
index b28966ae50c2..29a8a25a3ed0 100644

Lines of this file are not shown. View the raw message.

drivers/net/team/team_core.c +64 -1

65 lines not on this page · raw message

drivers/net/tun_vnet.h +1 -1
index a5f93b6c4482..fa5cab9d3e55 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/r8152.c +1 -0
index da8de7b1a489..357f5c733d0b 100644

Lines of this file are not shown. View the raw message.

drivers/net/virtio_net.c +6 -1
index b67dbe346c80..74c2dd682c48 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/fabrics.c +2 -2
index 55a8afd2efd5..d37cb140d832 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/pci.c +9 -2
index 9987b711091f..a64b4b4a18a1 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/admin-cmd.c +1 -1
index 3e378153a781..950b7f8e8ad5 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/core.c +12 -2
index 5d7d483bfbe3..1c5b6bab4779 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/nvmet.h +1 -0
index f3b09f4099f0..059fd9f356c4 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/rdma.c +1 -0
index 0485e25ab797..284ab759bbce 100644

Lines of this file are not shown. View the raw message.

drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +1 -2
index 8a280433a42b..dda877561f8c 100644

Lines of this file are not shown. View the raw message.

drivers/phy/ti/phy-j721e-wiz.c +2 -0
index ba31b0a1f7f7..77f18de6fdf6 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/mediatek/pinctrl-mtk-common.c +6 -3
index d6a46fe0cda8..3f518dce6d23 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/renesas/pinctrl-rza1.c +1 -1
index f24e5915cbe4..2677ee7035fc 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/renesas/pinctrl-rzt2h.c +1 -0
index 3161b2469c36..595ad5c83aa0 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/stm32/Kconfig +1 -0
index 5f67e1ee66dd..d6a171523012 100644

Lines of this file are not shown. View the raw message.

drivers/platform/olpc/olpc-xo175-ec.c +1 -1
index fa7b3bda688a..bee271a4fda1 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/hp/hp-wmi.c +8 -0
index dfe45692c956..008f3364230e 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/intel/hid.c +22 -1
index 560cc063198e..c5e80887d0cb 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c +4 -1
index 13b11c3a2ec4..77ecf9f26480 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/lenovo/wmi-gamezone.c +0 -2
index b26806b37d96..baf1238b4d1d 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/oxpec.c +29 -1
index 54377b282ff8..a30845ba3796 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/touchscreen_dmi.c +18 -0
index bdc19cd8d3ed..d83c387821ea 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/ibmvscsi/ibmvfc.c +2 -1
index 228daffb286d..8d7c304636d9 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/mpi3mr/mpi3mr_fw.c +10 -0
index 8382afed1281..4c8d78b840fc 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/scsi_devinfo.c +1 -1
index 78346b2b69c9..c51146882a1f 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/scsi_transport_sas.c +1 -1
index d69c7c444a31..081c16809437 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/ses.c +1 -1
index 50e744e89129..7e1f085ad350 100644

Lines of this file are not shown. View the raw message.

drivers/slimbus/qcom-ngd-ctrl.c +2 -4
index cd40ab839c54..db45654f1695 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-fsl-lpspi.c +2 -1
index 065456aba2ae..47d372557e4f 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-intel-pci.c +1 -0
index bce3d149bea1..d8ef8f89330a 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-meson-spicc.c +0 -2
index 6b9137307533..c99fab392add 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-sn-f-ospi.c +5 -12
index c4969f66a0ba..84a5b327022e 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi.c +7 -12
index 201b9569ce69..87d829d2a842 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/intel/int340x_thermal/processor_thermal_soc_slider.c +7 -1
index 49ff3bae7271..91f291627132 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/config.c +5 -1
index 2bb1ceb9d621..3067e18ec4d8 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/quirks.c +5 -0
index 9fef2f4d604a..65168eb89295 100644

Lines of this file are not shown. View the raw message.

drivers/virt/coco/tdx-guest/tdx-guest.c +10 -2
index 4e239ec960c9..40b53b4da728 100644

Lines of this file are not shown. View the raw message.

drivers/xen/privcmd.c +3 -0
index b8a546fe7c1e..cbc62f0df11b 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/block-group.c +1 -1
index 4689ef206d0e..a277c8cc9166 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/disk-io.c +2 -2
index 9c3a944cbc24..0f87f30c8dd2 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/ioctl.c +7 -0
index 5f0bac5cea7e..c7977bd5442b 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/volumes.c +3 -2
index 3fe3a6c7da4e..ef9f24076cca 100644

Lines of this file are not shown. View the raw message.

fs/erofs/fileio.c +2 -4
index 5b77ee8cc99f..740efd2097bf 100644

Lines of this file are not shown. View the raw message.

fs/erofs/zdata.c +3 -0
index 98e44570841a..71f01f0a0743 100644

Lines of this file are not shown. View the raw message.

fs/ext4/crypto.c +8 -1
index cf0a0970c095..f41f320f4437 100644

Lines of this file are not shown. View the raw message.

fs/ext4/ext4.h +1 -0
index 933297251f66..9bf82b568cfe 100644

Lines of this file are not shown. View the raw message.

fs/ext4/extents.c +21 -2
index 3ff8dcdd80ce..21fba12520a8 100644

Lines of this file are not shown. View the raw message.

fs/ext4/fast_commit.c +10 -7
index 5bd57d7f921b..bab522ca1573 100644

Lines of this file are not shown. View the raw message.

fs/ext4/fsync.c +14 -2
index e476c6de3074..bd8f230fa507 100644

Lines of this file are not shown. View the raw message.

fs/ext4/ialloc.c +6 -0
index b20a1bf866ab..b1bc1950c9f0 100644

Lines of this file are not shown. View the raw message.

fs/ext4/inline.c +9 -1
index 1f6bc05593df..408677fa8196 100644

Lines of this file are not shown. View the raw message.

fs/ext4/inode.c +60 -15

75 lines not on this page · raw message

fs/ext4/mballoc.c +15 -15
index 412289e5c0af..71b8b47e213a 100644

Lines of this file are not shown. View the raw message.

fs/ext4/page-io.c +8 -2
index 39abfeec5f36..0a3ef9bd6803 100644

Lines of this file are not shown. View the raw message.

fs/ext4/super.c +10 -6
index b5774f410104..cf4285db7fb8 100644

Lines of this file are not shown. View the raw message.

fs/ext4/sysfs.c +9 -1
index 987bd00f916a..3ec79a33d246 100644

Lines of this file are not shown. View the raw message.

fs/fs-writeback.c +12 -6
index 21b6adee03df..f0a978f1f0bc 100644

Lines of this file are not shown. View the raw message.

fs/fuse/file.c +1 -3
index 37620fdd0205..6014d588845c 100644

Lines of this file are not shown. View the raw message.

fs/fuse/inode.c +1 -0
index d1babf56f254..90e2b02fe8f4 100644

Lines of this file are not shown. View the raw message.

fs/jbd2/checkpoint.c +13 -2
index 2d0719bf6d87..6dbfb9cb07d7 100644

Lines of this file are not shown. View the raw message.

fs/netfs/buffered_read.c +1 -2
index 37ab6f28b5ad..88361e8c7096 100644

Lines of this file are not shown. View the raw message.

fs/netfs/direct_read.c +1 -2
index a498ee8d6674..f72e6da88cca 100644

Lines of this file are not shown. View the raw message.

fs/netfs/direct_write.c +11 -4
index dd1451bf7543..f9ab69de3e29 100644

Lines of this file are not shown. View the raw message.

fs/netfs/iterator.c +43 -0

43 lines not on this page · raw message

fs/netfs/read_collect.c +2 -2
index 137f0e28a44c..e5f6665b3341 100644

Lines of this file are not shown. View the raw message.

fs/netfs/read_retry.c +4 -1
index 7793ba5e3e8f..cca9ac43c077 100644

Lines of this file are not shown. View the raw message.

fs/netfs/read_single.c +0 -1
index 5c0dc4efc792..9d48ced80d1f 100644

Lines of this file are not shown. View the raw message.

fs/netfs/write_collect.c +2 -2
index 83eb3dc1adf8..b194447f4b11 100644

Lines of this file are not shown. View the raw message.

fs/netfs/write_issue.c +1 -2
index 437268f65640..2db688f94125 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/copy_up.c +3 -3
index 604a82acd164..97f373fd9879 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/overlayfs.h +21 -0
index c8fd5951fc5e..d1eb1cbe7a45 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/ovl_entry.h +1 -6
index 1d4828dbcf7a..80cad4ea96a3 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/params.c +28 -5
index 63b7346c5ee1..7d8bc6d3863c 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/super.c +1 -1
index 43ee4c7296a7..0e971ea97580 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/util.c +4 -1
index 82373dd1ce6e..19f4fe7b98f2 100644

Lines of this file are not shown. View the raw message.

fs/smb/server/oplock.c +45 -27

72 lines not on this page · raw message

fs/smb/server/smb2pdu.c +52 -21

73 lines not on this page · raw message

fs/xfs/scrub/quota.c +3 -1
index 58d6d4ed2853..5d43a8924f09 100644

Lines of this file are not shown. View the raw message.

fs/xfs/scrub/trace.h +2 -10
index 39ea651cbb75..286c5f5e0544 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_attr_item.c +2 -3
index e8fa326ac995..8beaa474fd33 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_dquot_item.c +7 -2
index 271b195ebb93..9a0abbfe295e 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_inode_item.c +7 -2
index 1bd411a1114c..dbc604a9cea6 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_mount.c +4 -3
index 0953f6ae94ab..8848aea99c87 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_trace.h +34 -13

47 lines not on this page · raw message

fs/xfs/xfs_trans_ail.c +19 -7
index 38983c6777df..68386db82464 100644

Lines of this file are not shown. View the raw message.

include/linux/damon.h +6 -0
index cae8c613c5fc..1a8a79d7e4e8 100644

Lines of this file are not shown. View the raw message.

include/linux/device.h +54 -0

54 lines not on this page · raw message

include/linux/device/bus.h +4 -0
index f5a56efd2bd6..15de0d7881f9 100644

Lines of this file are not shown. View the raw message.

include/linux/dma-mapping.h +2 -2
index aa36a0d1d9df..190eab9f5e8c 100644

Lines of this file are not shown. View the raw message.

include/linux/fs.h +1 -0
index 3e965c77fa1b..014cb04eefbe 100644

Lines of this file are not shown. View the raw message.

include/linux/mempolicy.h +1 -0
index 0fe96f3ab3ef..65c732d440d2 100644

Lines of this file are not shown. View the raw message.

include/linux/netfs.h +0 -1
index 72ee7d210a74..ba17ac5bf356 100644

Lines of this file are not shown. View the raw message.

include/linux/pagemap.h +0 -11
index e3534d573ebc..09b581c1d878 100644

Lines of this file are not shown. View the raw message.

include/linux/platform_device.h +0 -5
index 074754c23d33..bc843d76066a 100644

Lines of this file are not shown. View the raw message.

include/linux/spi/spi.h +0 -5
index cb2c2df31089..fe9dd430cc03 100644

Lines of this file are not shown. View the raw message.

include/linux/swapops.h +19 -8
index 64ea151a7ae3..a73c5f14b591 100644

Lines of this file are not shown. View the raw message.

include/linux/usb/quirks.h +3 -0
index 2f7bd2fdc616..b3cc7beab4a3 100644

Lines of this file are not shown. View the raw message.

include/linux/usb/r8152.h +1 -0
index 2ca60828f28b..1502b2a355f9 100644

Lines of this file are not shown. View the raw message.

include/linux/virtio_net.h +49 -4

53 lines not on this page · raw message

include/net/bluetooth/l2cap.h +1 -1
index f08ed93bb6fa..5172afee5494 100644

Lines of this file are not shown. View the raw message.

include/net/inet_hashtables.h +14 -0
index 5a979dcab538..6d936e9f2fd3 100644

Lines of this file are not shown. View the raw message.

include/net/ip6_fib.h +20 -1
index 88b0dd4d8e09..9f8b6814a96a 100644

Lines of this file are not shown. View the raw message.

include/sound/cs35l56.h +1 -0
index ab044ce2aa8b..0374c251901f 100644

Lines of this file are not shown. View the raw message.

include/trace/events/netfs.h +4 -4
index 2d366be46a1c..cbe28211106c 100644

Lines of this file are not shown. View the raw message.

include/trace/events/task.h +5 -2
index 4f0759634306..b9a129eb54d9 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/dma-buf.h +1 -0
index 5a6fda66d9ad..e827c9d20c5d 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/netfilter/nf_conntrack_common.h +4 -0
index 26071021e986..56b6b60a814f 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/btf.c +20 -4
index 0de8fc8a0e0b..75a5df36f917 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/core.c +35 -8

43 lines not on this page · raw message

kernel/bpf/verifier.c +34 -2
index 648c4bd3e5a9..3eaff8453e9a 100644

Lines of this file are not shown. View the raw message.

kernel/dma/swiotlb.c +19 -2
index 0d37da3d95b6..e27225f8aeb2 100644

Lines of this file are not shown. View the raw message.

kernel/events/core.c +8 -11
index b7e73ac3e512..6b6fea8d33e0 100644

Lines of this file are not shown. View the raw message.

kernel/futex/core.c +1 -1
index 2e77a6e5c865..9e7dea6fc0cc 100644

Lines of this file are not shown. View the raw message.

kernel/futex/pi.c +2 -1
index dacb2330f1fb..64cb87d3a73e 100644

Lines of this file are not shown. View the raw message.

kernel/futex/syscalls.c +8 -0
index 880c9bf2f315..99723189c8cf 100644

Lines of this file are not shown. View the raw message.

kernel/module/main.c +7 -0
index a2c798d06e3f..66d4efbddfff 100644

Lines of this file are not shown. View the raw message.

kernel/power/main.c +1 -1
index 549f51ca3a1e..ed7b5953d1ce 100644

Lines of this file are not shown. View the raw message.

kernel/power/snapshot.c +11 -0
index 645f42e40478..e249e5786fbc 100644

Lines of this file are not shown. View the raw message.

kernel/sched/ext.c +1 -1
index 4e3f06c19ab4..bf4bea3595cd 100644

Lines of this file are not shown. View the raw message.

kernel/sysctl.c +1 -1
index cb6196e3fa99..970525e6c76c 100644

Lines of this file are not shown. View the raw message.

kernel/time/alarmtimer.c +1 -1
index 069d93bfb0c7..b64db405ba5c 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_osnoise.c +5 -5
index a9962d4497e8..b93ab382d833 100644

Lines of this file are not shown. View the raw message.

mm/damon/core.c +8 -0
index cee5320cd9a1..87b6c9c2d647 100644

Lines of this file are not shown. View the raw message.

mm/damon/stat.c +34 -2
index bf8626859902..a8d6a3049830 100644

Lines of this file are not shown. View the raw message.

mm/damon/sysfs.c +9 -1
index dec9f5d0d512..4c0c8fdf450f 100644

Lines of this file are not shown. View the raw message.

mm/mempolicy.c +8 -2
index eb83cff7db8c..94327574fbbb 100644

Lines of this file are not shown. View the raw message.

mm/mseal.c +2 -3
index e5b205562d2e..c561f0ea93e8 100644

Lines of this file are not shown. View the raw message.

mm/pagewalk.c +22 -3
index 9f91cf85a5be..2d19d6a9b034 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_core.c +79 -26

105 lines not on this page · raw message

net/bluetooth/l2cap_sock.c +3 -0
index ab86aeef98d1..80a37d56b040 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/mgmt.c +1 -1
index 1a270f0b17d9..5d70b1f69bb6 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/sco.c +7 -3
index 49a47eaa674d..f7b50cc73047 100644

Lines of this file are not shown. View the raw message.

net/can/af_can.c +2 -2
index 770173d8db42..a624c04ed5c6 100644

Lines of this file are not shown. View the raw message.

net/can/af_can.h +1 -1
index 22f3352c77fe..87887014f562 100644

Lines of this file are not shown. View the raw message.

net/can/gw.c +3 -3
index 55eccb1c7620..79fa58cb232e 100644

Lines of this file are not shown. View the raw message.

net/can/isotp.c +18 -6
index 74ee1e52249b..12eabfd47d82 100644

Lines of this file are not shown. View the raw message.

net/can/proc.c +2 -1
index 0938bf7dd646..de4d05ae3459 100644

Lines of this file are not shown. View the raw message.

net/core/rtnetlink.c +25 -3
index 576d5ec3bb36..f3b22d5526fe 100644

Lines of this file are not shown. View the raw message.

net/ipv4/esp4.c +6 -3
index 2c922afadb8f..6dfc0bcdef65 100644

Lines of this file are not shown. View the raw message.

net/ipv4/inet_connection_sock.c +3 -17
index cdd1e12aac8c..7a2f116106e9 100644

Lines of this file are not shown. View the raw message.

net/ipv4/udp.c +1 -1
index 024cb4f5978c..de0deded74f0 100644

Lines of this file are not shown. View the raw message.

net/ipv6/addrconf.c +2 -2
index cad5e4ab8c3d..4a745566b760 100644

Lines of this file are not shown. View the raw message.

net/ipv6/esp6.c +6 -3
index e75da98f5283..9f75313734f8 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6_fib.c +13 -2
index cc149227b49f..ffa773359833 100644

Lines of this file are not shown. View the raw message.

net/ipv6/netfilter/ip6t_rt.c +4 -0
index 4ad8b2032f1f..5561bd9cea81 100644

Lines of this file are not shown. View the raw message.

net/ipv6/route.c +1 -1
index e01331d96531..446f4de7d6a2 100644

Lines of this file are not shown. View the raw message.

net/key/af_key.c +12 -7
index 2ebde0352245..ceaa82bc78ac 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_expect.c +4 -0
index cfc2daa3fc7f..227fb5dc39e2 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_netlink.c +5 -11
index f261dd48973f..768f741f59af 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_proto_tcp.c +3 -7
index 0c1d086e96cb..b67426c2189b 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_sip.c +10 -4
index 4ab5ef71d96d..17af0ff4ea7a 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nfnetlink_log.c +2 -6
index bfcb9cd335bf..27dd35224e62 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_set_rbtree.c +75 -17

92 lines not on this page · raw message

net/nfc/nci/core.c +6 -4
index d334b7aa8c17..25ba4cbb00e1 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/flow_netlink.c +2 -0
index 2d536901309e..2dc4a6c2aece 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/vport-netdev.c +8 -3
index 6574f9bcdc02..12055af832dc 100644

Lines of this file are not shown. View the raw message.

net/packet/af_packet.c +1 -0
index 173e6edda08f..5c08e0da0dff 100644

Lines of this file are not shown. View the raw message.

net/smc/smc_rx.c +8 -1
index e7f1134453ef..4a3d7b405132 100644

Lines of this file are not shown. View the raw message.

net/tls/tls_sw.c +1 -1
index c6a708ee21dc..eecf1146c34f 100644

Lines of this file are not shown. View the raw message.

net/xfrm/xfrm_iptfs.c +14 -3
index 3b6d7284fc70..7cd97c1dcd11 100644

Lines of this file are not shown. View the raw message.

net/xfrm/xfrm_nat_keepalive.c +1 -1
index ebf95d48e86c..1856beee0149 100644

Lines of this file are not shown. View the raw message.

net/xfrm/xfrm_policy.c +2 -0
index 5428185196a1..c32d34c441ee 100644

Lines of this file are not shown. View the raw message.

net/xfrm/xfrm_state.c +1 -0
index 98b362d51836..a00c4fe1ab0c 100644

Lines of this file are not shown. View the raw message.

net/xfrm/xfrm_user.c +5 -2
index 403b5ecac2c5..4dd8341225bc 100644

Lines of this file are not shown. View the raw message.

rust/kernel/regulator.rs +18 -15
index b55a201e5029..09c8263043bc 100644

Lines of this file are not shown. View the raw message.

rust/pin-init/src/macros.rs +16 -0
index d6acf2cd291e..fdf38b4fdbdc 100644

Lines of this file are not shown. View the raw message.

scripts/package/install-extmod-build +4 -0
index 2576cf7902db..f12e1ffe409e 100755

Lines of this file are not shown. View the raw message.

sound/firewire/amdtp-stream.c +1 -1
index 5cdc34877fc1..76cc2b0801c9 100644

Lines of this file are not shown. View the raw message.

sound/hda/codecs/hdmi/tegrahdmi.c +1 -0
index 5f6fe31aa202..ebb6410a4831 100644

Lines of this file are not shown. View the raw message.

sound/hda/codecs/realtek/alc269.c +36 -6

42 lines not on this page · raw message

sound/hda/codecs/realtek/alc662.c +9 -0
index 5073165d1f3c..3a943adf9087 100644

Lines of this file are not shown. View the raw message.

sound/hda/codecs/senarytech.c +5 -0
index 9aa1e9bcd9ec..601b7eb38eb1 100644

Lines of this file are not shown. View the raw message.

sound/hda/controllers/intel.c +0 -1
index 9306e7a31f02..98367b87d801 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/acp/amd-acp63-acpi-match.c +413 -0

413 lines not on this page · raw message

sound/soc/codecs/adau1372.c +24 -10
index fdee689cae53..d7363f9d53bb 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs35l56-shared.c +15 -1
index 9e6b9ca2f354..a13e8eaf277d 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs35l56.c +8 -0
index 2c1edbd636ef..193adba0cd1a 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt1320-sdw.c +3 -2
index e3f9b03df3aa..e1bd991a823a 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/sma1307.c +4 -2
index b683e676640d..1b5c13f505a8 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wcd934x.c +1 -1
index 3c22f7149af8..c1a796b0ee30 100644

Lines of this file are not shown. View the raw message.

sound/soc/fsl/fsl_easrc.c +10 -4
index f404a39009e1..d86f01fbecd4 100644

Lines of this file are not shown. View the raw message.

sound/soc/fsl/imx-card.c +2 -0
index 05b4e971a366..a4518fefad69 100644

Lines of this file are not shown. View the raw message.

sound/soc/intel/boards/sof_sdw.c +8 -0
index 6c95b1f8fc1a..465bf5fafecf 100644

Lines of this file are not shown. View the raw message.

sound/soc/intel/catpt/device.c +9 -1
index faa916f40069..00e544e04359 100644

Lines of this file are not shown. View the raw message.

sound/soc/intel/catpt/dsp.c +0 -3
index 008a20a2acbd..677f348909c8 100644

Lines of this file are not shown. View the raw message.

sound/soc/samsung/i2s.c +3 -3
index e9964f0e010a..140907a41a70 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/ipc4-topology.c +1 -1
index 5ca995acaba2..d74567d6afc4 100644

Lines of this file are not shown. View the raw message.

sound/usb/quirks.c +2 -0
index fd50bf7c381d..45d0e1364dd9 100644

Lines of this file are not shown. View the raw message.

tools/objtool/arch/x86/decode.c +23 -39

62 lines not on this page · raw message

tools/objtool/check.c +14 -0
index 6059a546fb75..bb3448404606 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/prog_tests/reg_bounds.c +58 -4

62 lines not on this page · raw message

tools/testing/selftests/bpf/progs/exceptions_fail.c +6 -3
index 8a0fdff89927..d7f1c492e3dd 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/mount_setattr/mount_setattr_test.c +1 -1
index a688871a98eb..388bca88ec94 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.