Skip to contentSkip to conversation

Linux 7.2.9

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Oct 3 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 7.2.9 kernel.

All users of the 7.2 kernel series must upgrade.

The updated 7.2.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-7.2.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/arch/arm64/booting.rst                                   |    1 
 Documentation/arch/s390/pci.rst                                        |    2 
 Documentation/devicetree/bindings/pinctrl/qcom,nord-tlmm.yaml          |    7 
 Makefile                                                               |    2 
 arch/arm64/include/asm/el2_setup.h                                     |    9 
 arch/arm64/include/asm/io.h                                            |    3 
 arch/arm64/include/asm/kvm_host.h                                      |    2 
 arch/arm64/include/asm/kvm_nested.h                                    |    3 
 arch/arm64/include/asm/kvm_pkvm.h                                      |    3 
 arch/arm64/kernel/cpu_errata.c                                         |   15 
 arch/arm64/kvm/arm.c                                                   |    8 
 arch/arm64/kvm/emulate-nested.c                                        |    2 
 arch/arm64/kvm/hyp/include/nvhe/mem_protect.h                          |    1 
 arch/arm64/kvm/hyp/nvhe/mem_protect.c                                  |    8 
 arch/arm64/kvm/hyp/nvhe/pkvm.c                                         |   25 
 arch/arm64/kvm/hyp/nvhe/setup.c                                        |   12 
 arch/arm64/kvm/hypercalls.c                                            |    3 
 arch/arm64/kvm/mmu.c                                                   |   15 
 arch/arm64/kvm/nested.c                                                |  111 ++-
 arch/arm64/kvm/sys_regs.c                                              |    1 
 arch/arm64/kvm/vgic/vgic-its.c                                         |   43 -
 arch/arm64/net/bpf_jit_comp.c                                          |    2 
 arch/mips/net/bpf_jit_comp32.c                                         |    2 
 arch/mips/net/bpf_jit_comp64.c                                         |    3 
 arch/parisc/include/asm/thread_info.h                                  |    2 
 arch/parisc/kernel/setup.c                                             |   12 
 arch/riscv/include/asm/csr.h                                           |   20 
 arch/riscv/kvm/aia_imsic.c                                             |   11 
 arch/riscv/kvm/mmu.c                                                   |   10 
 arch/riscv/kvm/nacl.c                                                  |   20 
 arch/riscv/kvm/vcpu.c                                                  |    3 
 arch/riscv/kvm/vcpu_exit.c                                             |    2 
 arch/riscv/kvm/vcpu_onereg.c                                           |    8 
 arch/riscv/kvm/vcpu_pmu.c                                              |   33 -
 arch/riscv/kvm/vcpu_sbi_hsm.c                                          |    4 
 arch/riscv/kvm/vcpu_timer.c                                            |    5 
 arch/s390/crypto/hmac_s390.c                                           |    5 
 arch/s390/include/asm/debug.h                                          |    8 
 arch/s390/kernel/debug.c                                               |   15 
 arch/s390/kernel/uv.c                                                  |    8 
 arch/s390/kvm/dat.c                                                    |   41 +
 arch/s390/kvm/gaccess.c                                                |   13 
 arch/s390/kvm/gmap.c                                                   |    6 
 arch/s390/kvm/interrupt.c                                              |  147 ++---
 arch/s390/pci/pci_event.c                                              |    7 
 arch/s390/pci/pci_report.c                                             |   32 -
 arch/s390/pci/pci_report.h                                             |    4 
 arch/x86/coco/sev/svsm.c                                               |   10 
 arch/x86/events/amd/brs.c                                              |    9 
 arch/x86/events/amd/lbr.c                                              |   16 
 arch/x86/events/intel/core.c                                           |   80 +-
 arch/x86/events/intel/ds.c                                             |   68 --
 arch/x86/events/intel/lbr.c                                            |   65 +-
 arch/x86/events/perf_event.h                                           |    4 
 arch/x86/include/asm/kvm-x86-nested-ops.h                              |   36 +
 arch/x86/include/asm/kvm_host.h                                        |   22 
 arch/x86/kernel/cpu/mce/core.c                                         |   27 
 arch/x86/kvm/hyperv.c                                                  |    6 
 arch/x86/kvm/irq.h                                                     |    6 
 arch/x86/kvm/mmu.h                                                     |    5 
 arch/x86/kvm/mmu/mmu.c                                                 |  129 +++-
 arch/x86/kvm/mmu/mmu_internal.h                                        |   66 --
 arch/x86/kvm/mmu/paging_tmpl.h                                         |    2 
 arch/x86/kvm/pmu.c                                                     |    8 
 arch/x86/kvm/svm/nested.c                                              |    1 
 arch/x86/kvm/svm/sev.c                                                 |   18 
 arch/x86/kvm/svm/svm.c                                                 |    1 
 arch/x86/kvm/tss.h                                                     |    7 
 arch/x86/kvm/vmx/nested.c                                              |    1 
 arch/x86/kvm/vmx/pmu_intel.c                                           |    3 
 arch/x86/kvm/vmx/vmx.c                                                 |    2 
 arch/x86/kvm/x86.c                                                     |   62 +-
 arch/x86/kvm/x86.h                                                     |    2 
 arch/x86/pci/fixup.c                                                   |   99 +++
 block/blk-zoned.c                                                      |   15 
 drivers/accel/ivpu/ivpu_drv.c                                          |   31 -
 drivers/accel/ivpu/ivpu_drv.h                                          |    7 
 drivers/accel/ivpu/ivpu_hw.c                                           |    4 
 drivers/accel/ivpu/ivpu_ipc.c                                          |    8 
 drivers/accel/ivpu/ivpu_ipc.h                                          |    2 
 drivers/accel/ivpu/ivpu_job.c                                          |   66 +-
 drivers/accel/ivpu/ivpu_job.h                                          |    7 
 drivers/accel/ivpu/ivpu_mmu.c                                          |    1 
 drivers/accel/ivpu/ivpu_pm.c                                           |    1 
 drivers/ata/libata-scsi.c                                              |   10 
 drivers/base/cacheinfo.c                                               |   11 
 drivers/bluetooth/btintel_pcie.c                                       |   16 
 drivers/bluetooth/btnxpuart.c                                          |    8 
 drivers/dpll/dpll_netlink.c                                            |    3 
 drivers/firewire/core-cdev.c                                           |    6 
 drivers/gpio/gpio-arizona.c                                            |    8 
 drivers/gpio/gpio-tps65219.c                                           |   12 
 drivers/gpio/gpio-zynq.c                                               |   10 
 drivers/gpio/gpiolib-cdev.c                                            |   32 -
 drivers/gpio/gpiolib.c                                                 |    7 
 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c                               |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c                            |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c                     |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c                               |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c                              |   16 
 drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h                              |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                                 |    1 
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c                                |    3 
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c                                |    3 
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c                               |   71 +-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                      |    8 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h                      |   12 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c                 |    3 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c              |    3 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c                  |   62 +-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.h                  |   28 
 drivers/gpu/drm/amd/display/dc/dml/Makefile                            |    8 
 drivers/gpu/drm/amd/display/dc/dml2_0/Makefile                         |    2 
 drivers/gpu/drm/amd/display/dc/link/link_dpms.c                        |  178 +++---
 drivers/gpu/drm/bridge/samsung-dsim.c                                  |    2 
 drivers/gpu/drm/clients/drm_fbdev_client.c                             |    8 
 drivers/gpu/drm/drm_pagemap.c                                          |   12 
 drivers/gpu/drm/i915/display/intel_cursor.c                            |    7 
 drivers/gpu/drm/i915/display/intel_display_types.h                     |    2 
 drivers/gpu/drm/i915/display/intel_dp_mst.c                            |   24 
 drivers/gpu/drm/i915/display/intel_dp_mst.h                            |    2 
 drivers/gpu/drm/i915/display/intel_link_bw.c                           |    3 
 drivers/gpu/drm/i915/display/intel_psr.c                               |   15 
 drivers/gpu/drm/i915/display/intel_quirks.c                            |    3 
 drivers/gpu/drm/i915/display/skl_universal_plane.c                     |    9 
 drivers/gpu/drm/i915/gem/i915_gem_object.c                             |    2 
 drivers/gpu/drm/imagination/pvr_free_list.c                            |   15 
 drivers/gpu/drm/imagination/pvr_mmu.c                                  |   19 
 drivers/gpu/drm/imagination/pvr_mmu.h                                  |    2 
 drivers/gpu/drm/imagination/pvr_vm.c                                   |    4 
 drivers/gpu/drm/nouveau/nouveau_bo.c                                   |    3 
 drivers/gpu/drm/nouveau/nouveau_connector.c                            |    5 
 drivers/gpu/drm/nouveau/nouveau_dmem.c                                 |    4 
 drivers/gpu/drm/nouveau/nouveau_drm.c                                  |    5 
 drivers/gpu/drm/nouveau/nouveau_gem.c                                  |    2 
 drivers/gpu/drm/nouveau/nouveau_sched.c                                |    2 
 drivers/gpu/drm/nouveau/nouveau_sched.h                                |    1 
 drivers/gpu/drm/nouveau/nouveau_uvmm.c                                 |   13 
 drivers/gpu/drm/nouveau/nvif/vmm.c                                     |    1 
 drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.c                       |    3 
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c                         |   23 
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c                       |    2 
 drivers/gpu/drm/virtio/virtgpu_drv.h                                   |    5 
 drivers/gpu/drm/virtio/virtgpu_gem.c                                   |    2 
 drivers/gpu/drm/virtio/virtgpu_ioctl.c                                 |   49 +
 drivers/gpu/drm/virtio/virtgpu_prime.c                                 |    2 
 drivers/gpu/drm/virtio/virtgpu_submit.c                                |   11 
 drivers/gpu/drm/virtio/virtgpu_vq.c                                    |   46 +
 drivers/gpu/drm/virtio/virtgpu_vram.c                                  |   17 
 drivers/gpu/drm/xe/regs/xe_gt_regs.h                                   |    1 
 drivers/gpu/drm/xe/xe_bo.c                                             |    7 
 drivers/gpu/drm/xe/xe_bo.h                                             |   19 
 drivers/gpu/drm/xe/xe_gt_throttle.c                                    |    5 
 drivers/gpu/drm/xe/xe_guc_ads.c                                        |    2 
 drivers/gpu/drm/xe/xe_hw_engine.c                                      |   96 ++-
 drivers/gpu/drm/xe/xe_vm.c                                             |   21 
 drivers/gpu/drm/xe/xe_wa_oob.rules                                     |    2 
 drivers/hid/amd-sfh-hid/amd_sfh_common.h                               |    4 
 drivers/hid/amd-sfh-hid/amd_sfh_pcie.c                                 |   10 
 drivers/hid/bpf/hid_bpf_dispatch.c                                     |   12 
 drivers/hid/hid-alps.c                                                 |   25 
 drivers/hid/hid-ids.h                                                  |    3 
 drivers/hid/hid-multitouch.c                                           |   29 
 drivers/hid/hid-oxp.c                                                  |    6 
 drivers/hid/hid-quirks.c                                               |    3 
 drivers/hid/hid-winwing.c                                              |   10 
 drivers/hid/wacom_sys.c                                                |    5 
 drivers/i2c/busses/i2c-qcom-geni.c                                     |  293 +++++-----
 drivers/net/bonding/bond_main.c                                        |    2 
 drivers/net/dsa/mt7530-mdio.c                                          |   20 
 drivers/net/dsa/mt7530.c                                               |    3 
 drivers/net/dsa/mv88e6xxx/chip.c                                       |   68 ++
 drivers/net/ethernet/airoha/airoha_npu.c                               |   18 
 drivers/net/ethernet/amazon/ena/ena_netdev.c                           |    2 
 drivers/net/ethernet/atheros/atl1c/atl1c_main.c                        |    3 
 drivers/net/ethernet/atheros/atl1e/atl1e_main.c                        |    3 
 drivers/net/ethernet/atheros/atlx/atl1.c                               |    3 
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c                      |    3 
 drivers/net/ethernet/broadcom/genet/bcmgenet.c                         |   34 -
 drivers/net/ethernet/broadcom/tg3.c                                    |   15 
 drivers/net/ethernet/brocade/bna/bnad.c                                |   24 
 drivers/net/ethernet/cadence/macb_main.c                               |   14 
 drivers/net/ethernet/freescale/fman/fman.c                             |    1 
 drivers/net/ethernet/google/gve/gve_desc_dqo.h                         |    5 
 drivers/net/ethernet/google/gve/gve_tx_dqo.c                           |   40 +
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c                      |    3 
 drivers/net/ethernet/ibm/emac/core.c                                   |   16 
 drivers/net/ethernet/marvell/octeontx2/af/common.h                     |   45 +
 drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c                |  104 +--
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                            |    6 
 drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c                |   45 +
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c                     |    3 
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c            |    4 
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c              |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c                      |    1 
 drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c                   |   15 
 drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.h                   |    2 
 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c                      |   44 +
 drivers/net/ethernet/mellanox/mlx5/core/lag/shared_fdb.c               |    1 
 drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c                   |    5 
 drivers/net/ethernet/meta/fbnic/fbnic_csr.h                            |    5 
 drivers/net/ethernet/meta/fbnic/fbnic_debugfs.c                        |    4 
 drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c                        |   16 
 drivers/net/ethernet/meta/fbnic/fbnic_fw.c                             |   47 +
 drivers/net/ethernet/meta/fbnic/fbnic_fw.h                             |    1 
 drivers/net/ethernet/meta/fbnic/fbnic_pci.c                            |   18 
 drivers/net/ethernet/meta/fbnic/fbnic_txrx.c                           |   30 -
 drivers/net/ethernet/netronome/nfp/crypto/ipsec.c                      |    3 
 drivers/net/ethernet/spacemit/k1_emac.c                                |    3 
 drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c                         |    5 
 drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c                     |    4 
 drivers/net/ethernet/stmicro/stmmac/hwif.h                             |    2 
 drivers/net/ethernet/stmicro/stmmac/ring_mode.c                        |    4 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                      |   21 
 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c                 |  153 ++++-
 drivers/net/ethernet/ti/netcp_core.c                                   |    2 
 drivers/net/ethernet/wangxun/libwx/wx_hw.c                             |    1 
 drivers/net/ethernet/wangxun/libwx/wx_lib.c                            |   65 +-
 drivers/net/ethernet/wangxun/libwx/wx_lib.h                            |    1 
 drivers/net/ethernet/wangxun/libwx/wx_ptp.c                            |  159 +++--
 drivers/net/ethernet/wangxun/libwx/wx_ptp.h                            |    1 
 drivers/net/ethernet/wangxun/libwx/wx_type.h                           |    2 
 drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c                        |   13 
 drivers/net/ethernet/wangxun/txgbe/txgbe_main.c                        |   16 
 drivers/net/macsec.c                                                   |   84 +-
 drivers/net/mdio/mdio-realtek-rtl9300.c                                |    6 
 drivers/net/ovpn/netlink.c                                             |  108 +++
 drivers/net/ovpn/peer.c                                                |  121 +++-
 drivers/net/ovpn/peer.h                                                |   25 
 drivers/net/ovpn/udp.c                                                 |  193 +++++-
 drivers/net/pcs/pcs-rzn1-miic.c                                        |    3 
 drivers/net/pcs/pcs-xpcs.c                                             |    4 
 drivers/net/phy/intel-xway.c                                           |   29 
 drivers/net/phy/micrel.c                                               |    1 
 drivers/net/phy/phylink.c                                              |   20 
 drivers/net/usb/catc.c                                                 |   15 
 drivers/net/usb/cdc_mbim.c                                             |    5 
 drivers/net/usb/lan78xx.c                                              |    2 
 drivers/net/usb/sr9700.c                                               |    3 
 drivers/net/veth.c                                                     |    2 
 drivers/net/virtio_net.c                                               |    9 
 drivers/net/vrf.c                                                      |    2 
 drivers/net/vxlan/vxlan_core.c                                         |    6 
 drivers/nfc/microread/microread.c                                      |    6 
 drivers/nfc/nfcmrvl/fw_dnld.c                                          |   11 
 drivers/nfc/pn533/pn533.c                                              |   14 
 drivers/nfc/pn533/pn533.h                                              |    4 
 drivers/nfc/pn533/usb.c                                                |    4 
 drivers/nfc/pn544/pn544.c                                              |    7 
 drivers/nfc/port100.c                                                  |    7 
 drivers/nfc/st21nfca/core.c                                            |   12 
 drivers/nfc/st21nfca/i2c.c                                             |   29 
 drivers/nfc/trf7970a.c                                                 |    4 
 drivers/nfc/virtual_ncidev.c                                           |    3 
 drivers/pci/of_property.c                                              |   11 
 drivers/pci/setup-bus.c                                                |   23 
 drivers/perf/arm_brbe.c                                                |    2 
 drivers/pinctrl/meson/pinctrl-meson-s4.c                               |    2 
 drivers/pinctrl/microchip/pinctrl-mpfs-mssio.c                         |    6 
 drivers/pinctrl/pinctrl-generic.c                                      |    4 
 drivers/pinctrl/pinctrl-single.c                                       |    3 
 drivers/pinctrl/qcom/pinctrl-ipq5210.c                                 |    1 
 drivers/pinctrl/qcom/pinctrl-nord.c                                    |   34 -
 drivers/pinctrl/sunxi/pinctrl-sun55i-a523-r.c                          |    2 
 drivers/pinctrl/sunxi/pinctrl-sun55i-a523.c                            |    2 
 drivers/pinctrl/sunxi/pinctrl-sunxi.c                                  |   82 ++
 drivers/pinctrl/sunxi/pinctrl-sunxi.h                                  |    9 
 drivers/pinctrl/tegra/pinctrl-tegra238.c                               |  204 +++---
 drivers/remoteproc/qcom_q6v5_adsp.c                                    |    8 
 drivers/s390/cio/chp.c                                                 |    3 
 drivers/s390/cio/cio.c                                                 |   11 
 drivers/s390/cio/cio.h                                                 |    5 
 drivers/s390/cio/cmf.c                                                 |    2 
 drivers/s390/cio/device.c                                              |    9 
 drivers/s390/cio/device_fsm.c                                          |    3 
 drivers/s390/cio/device_ops.c                                          |   23 
 drivers/s390/cio/vfio_ccw_fsm.c                                        |    2 
 drivers/s390/crypto/vfio_ap_ops.c                                      |   18 
 drivers/scsi/libiscsi_tcp.c                                            |    3 
 drivers/scsi/megaraid/megaraid_sas_base.c                              |    4 
 drivers/scsi/sd_zbc.c                                                  |    8 
 drivers/thermal/gov_step_wise.c                                        |   10 
 drivers/ufs/core/ufshcd.c                                              |    6 
 drivers/ufs/host/ufshcd-pltfrm.c                                       |    6 
 fs/autofs/inode.c                                                      |    4 
 fs/bpf_fs_kfuncs.c                                                     |    4 
 fs/fs-writeback.c                                                      |   25 
 fs/inode.c                                                             |   11 
 fs/kernfs/mount.c                                                      |    4 
 fs/netfs/buffered_read.c                                               |   34 -
 fs/netfs/objects.c                                                     |    4 
 fs/netfs/read_collect.c                                                |    5 
 fs/netfs/rolling_buffer.c                                              |    2 
 fs/ntfs3/inode.c                                                       |    7 
 fs/ocfs2/namei.c                                                       |    9 
 fs/ocfs2/xattr.c                                                       |   13 
 fs/ocfs2/xattr.h                                                       |    8 
 fs/overlayfs/overlayfs.h                                               |    4 
 fs/smb/client/cached_dir.c                                             |   32 -
 fs/smb/client/dir.c                                                    |   52 +
 fs/smb/client/smb2inode.c                                              |    6 
 fs/smb/client/smb2misc.c                                               |    9 
 fs/smb/client/smb2ops.c                                                |   28 
 fs/smb/client/smb2pdu.c                                                |   54 +
 fs/smb/client/transport.c                                              |   71 +-
 fs/squashfs/xz_wrapper.c                                               |    6 
 fs/super.c                                                             |  114 +--
 fs/xfs/libxfs/xfs_metafile.c                                           |    8 
 fs/xfs/libxfs/xfs_rtrefcount_btree.c                                   |    4 
 fs/xfs/scrub/dir.c                                                     |    2 
 fs/xfs/scrub/health.c                                                  |    6 
 fs/xfs/scrub/inode.c                                                   |    2 
 fs/xfs/scrub/inode_repair.c                                            |    2 
 fs/xfs/scrub/newbt.c                                                   |    8 
 fs/xfs/scrub/orphanage.c                                               |    6 
 fs/xfs/scrub/repair.c                                                  |   19 
 fs/xfs/scrub/scrub.h                                                   |    2 
 fs/xfs/scrub/trace.h                                                   |   12 
 fs/xfs/xfs_dquot.c                                                     |    8 
 fs/xfs/xfs_exchrange.c                                                 |   13 
 fs/xfs/xfs_healthmon.c                                                 |    4 
 fs/xfs/xfs_icache.c                                                    |    2 
 fs/xfs/xfs_log_recover.c                                               |   13 
 fs/xfs/xfs_qm.c                                                        |   10 
 fs/xfs/xfs_refcount_item.c                                             |    8 
 fs/xfs/xfs_rmap_item.c                                                 |    8 
 include/linux/ethtool.h                                                |    2 
 include/linux/fs/super_types.h                                         |    2 
 include/linux/if_vlan.h                                                |    3 
 include/linux/mempool.h                                                |    7 
 include/linux/mm_types.h                                               |   15 
 include/linux/perf_event.h                                             |   17 
 include/linux/sched.h                                                  |    6 
 include/linux/sched/topology.h                                         |    4 
 include/linux/skbuff.h                                                 |   24 
 include/net/dst.h                                                      |    3 
 include/net/gue.h                                                      |   19 
 include/net/ip6_route.h                                                |    4 
 include/net/netfilter/nf_conntrack.h                                   |    5 
 include/net/nfc/hci.h                                                  |    2 
 include/net/nfc/nfc.h                                                  |    3 
 include/net/tcp.h                                                      |    4 
 kernel/bpf/btf.c                                                       |  136 ++--
 kernel/bpf/core.c                                                      |   21 
 kernel/bpf/crypto.c                                                    |    5 
 kernel/bpf/fixups.c                                                    |   24 
 kernel/bpf/hashtab.c                                                   |   43 +
 kernel/bpf/memalloc.c                                                  |   50 -
 kernel/bpf/offload.c                                                   |    2 
 kernel/bpf/states.c                                                    |    3 
 kernel/bpf/syscall.c                                                   |   15 
 kernel/bpf/verifier.c                                                  |   17 
 kernel/cgroup/cpuset.c                                                 |    3 
 kernel/cgroup/pids.c                                                   |    5 
 kernel/events/core.c                                                   |   17 
 kernel/exit.c                                                          |   11 
 kernel/kprobes.c                                                       |   22 
 kernel/power/hibernate.c                                               |   26 
 kernel/sched/core.c                                                    |    2 
 kernel/sched/ext/ext.c                                                 |    7 
 kernel/sched/fair.c                                                    |  173 ++++-
 kernel/sched/topology.c                                                |   22 
 kernel/trace/fprobe.c                                                  |   15 
 kernel/workqueue.c                                                     |    2 
 mm/backing-dev.c                                                       |    5 
 mm/damon/core.c                                                        |   39 -
 mm/damon/ops-common.c                                                  |    7 
 mm/damon/vaddr.c                                                       |   21 
 mm/hugetlb.c                                                           |   20 
 mm/rmap.c                                                              |    6 
 mm/vma.c                                                               |    8 
 net/8021q/vlan_dev.c                                                   |    5 
 net/bluetooth/bnep/core.c                                              |   17 
 net/bluetooth/bnep/netdev.c                                            |    8 
 net/bluetooth/hci_conn.c                                               |   14 
 net/bluetooth/hci_sock.c                                               |   20 
 net/bluetooth/iso.c                                                    |    7 
 net/bluetooth/l2cap_core.c                                             |   10 
 net/bluetooth/mgmt.c                                                   |   27 
 net/bluetooth/rfcomm/core.c                                            |    3 
 net/bluetooth/rfcomm/sock.c                                            |    6 
 net/bluetooth/smp.c                                                    |   17 
 net/bridge/br_mdb.c                                                    |    2 
 net/bridge/br_stp_bpdu.c                                               |    5 
 net/core/dev.c                                                         |   49 +
 net/core/dev.h                                                         |    2 
 net/core/dev_ioctl.c                                                   |   25 
 net/core/filter.c                                                      |   46 -
 net/core/skbuff.c                                                      |   21 
 net/core/skmsg.c                                                       |    4 
 net/core/sock_map.c                                                    |    1 
 net/ethtool/common.h                                                   |    2 
 net/ipv4/arp.c                                                         |    1 
 net/ipv4/devinet.c                                                     |    7 
 net/ipv4/fib_semantics.c                                               |   13 
 net/ipv4/fou_core.c                                                    |    4 
 net/ipv4/inet_connection_sock.c                                        |    3 
 net/ipv4/ip_gre.c                                                      |   12 
 net/ipv4/ipconfig.c                                                    |   45 -
 net/ipv4/tcp_output.c                                                  |    3 
 net/ipv4/udp.c                                                         |   42 +
 net/ipv6/exthdrs_core.c                                                |    3 
 net/ipv6/ip6_fib.c                                                     |    2 
 net/ipv6/ip6_gre.c                                                     |    2 
 net/ipv6/netfilter/ip6t_rpfilter.c                                     |    2 
 net/ipv6/netfilter/ip6t_rt.c                                           |   11 
 net/ipv6/route.c                                                       |   12 
 net/ipv6/seg6.c                                                        |    4 
 net/llc/llc_c_ac.c                                                     |    2 
 net/llc/llc_s_ac.c                                                     |    4 
 net/llc/llc_sap.c                                                      |    8 
 net/mctp/route.c                                                       |    2 
 net/mptcp/protocol.c                                                   |    2 
 net/netfilter/ipvs/ip_vs_core.c                                        |    6 
 net/netfilter/nf_conntrack_netlink.c                                   |    3 
 net/netfilter/nf_flow_table_offload.c                                  |    7 
 net/netfilter/nf_tables_api.c                                          |   10 
 net/netfilter/nfnetlink_queue.c                                        |    8 
 net/netfilter/nft_synproxy.c                                           |    3 
 net/netlink/genetlink.c                                                |    8 
 net/nfc/core.c                                                         |   15 
 net/nfc/digital_dep.c                                                  |    8 
 net/nfc/llcp.h                                                         |    1 
 net/nfc/llcp_commands.c                                                |    2 
 net/nfc/llcp_core.c                                                    |  175 ++++-
 net/nfc/llcp_sock.c                                                    |   65 +-
 net/nfc/nci/core.c                                                     |   10 
 net/nfc/netlink.c                                                      |    7 
 net/nfc/nfc.h                                                          |    3 
 net/openvswitch/conntrack.c                                            |   37 -
 net/packet/af_packet.c                                                 |  104 ++-
 net/rds/connection.c                                                   |    6 
 net/rds/ib_frmr.c                                                      |   11 
 net/sched/act_api.c                                                    |    2 
 net/sched/act_ct.c                                                     |   41 +
 net/sched/act_gate.c                                                   |   30 -
 net/sched/act_ife.c                                                    |   17 
 net/sched/act_meta_mark.c                                              |    6 
 net/sched/act_meta_skbprio.c                                           |    6 
 net/sched/act_meta_skbtcindex.c                                        |    6 
 net/sched/cls_u32.c                                                    |   12 
 net/sched/em_text.c                                                    |    2 
 net/sched/sch_hfsc.c                                                   |   22 
 net/sched/sch_teql.c                                                   |    7 
 net/sctp/associola.c                                                   |   15 
 net/sctp/input.c                                                       |    7 
 net/sctp/sm_sideeffect.c                                               |   37 -
 net/sctp/sm_statefuns.c                                                |    2 
 net/smc/smc_core.c                                                     |    2 
 net/smc/smc_ib.c                                                       |   10 
 net/tipc/group.c                                                       |    4 
 net/tipc/monitor.c                                                     |    3 
 net/vmw_vsock/af_vsock.c                                               |    3 
 net/xdp/xskmap.c                                                       |    2 
 security/ipe/eval.c                                                    |   12 
 security/ipe/eval.h                                                    |    2 
 security/ipe/fs.c                                                      |    8 
 security/ipe/hooks.c                                                   |   22 
 security/ipe/policy_fs.c                                               |    3 
 security/landlock/access.h                                             |    8 
 sound/hda/codecs/realtek/alc269.c                                      |    9 
 tools/arch/riscv/include/asm/csr.h                                     |   20 
 tools/lib/bpf/libbpf.c                                                 |    7 
 tools/lib/bpf/relo_core.c                                              |   58 +
 tools/testing/selftests/bpf/prog_tests/linked_list.c                   |    4 
 tools/testing/selftests/cgroup/test_cpuset_prs.sh                      |    2 
 tools/testing/selftests/cgroup/test_memcontrol.c                       |    2 
 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc |    2 
 tools/testing/selftests/kvm/steal_time.c                               |   30 -
 tools/testing/selftests/nci/nci_dev.c                                  |   45 -
 virt/kvm/kvm_main.c                                                    |   30 -
 471 files changed, 5761 insertions(+), 2577 deletions(-)

Aamir Ahmed (2):
net: usb: catc: bound the RX packet length in catc_rx_done()
nfc: llcp: drop truncated I/RR/RNR PDUs in nfc_llcp_recv_hdlc()

Abhishek Ojha (1):
net: phy: micrel: Advance register data pointer in write loop

Adarsh Das (1):
smb: client: delete compound mids on send failure before unlock

Aldo Ariel Panzardo (9):
nfc: llcp: Fix list corruption / refcount desync in nfc_llcp_recv_dm()
vsock: ignore empty child namespace mode writes
Bluetooth: hci_conn: fix CIS hold ownership on reuse
Bluetooth: hci_sock: validate event length before filtering
Bluetooth: hci_sock: reject out-of-range OCF values
Bluetooth: ISO: balance the parent hold in hci_bind_bis()
Bluetooth: ISO: release unused CIS holds after channel attach
Bluetooth: L2CAP: validate frame length before control and FCS access
Bluetooth: mgmt: fix race in read_unconf_index_list()

Aleksei Sviridkin (3):
net: dsa: mt7530: fix NULL dereference on unbind of MT7531 and MT7621
net: dsa: mt7530: leave the MDIO IRQ mappings to regmap-irq
net: phylink: record the PHY only once bringup cannot fail

Alex Hung (1):
drm/amd/display: Relax DML frame limit with UBSAN

Alexander Duyck (5):
net: ethtool: keep rtnl_lock for the ioctl self test
eth: fbnic: use the Rx queue napi pointer to find the napi vector
eth: fbnic: reset num_napi when the napi vectors are freed
eth: fbnic: Set AW_FLUSH_MODE alongside AW_FLUSH when flushing the mailbox
eth: fbnic: Handle FW mailbox completions flagged with an error

Alexander Sverdlin (1):
net: phy: intel-xway: workaround 100BASE-TX Link-Up issue

Allison Henderson (1):
net/rds: size a connection's path set by the transport it ends up with

Amir Goldstein (1):
ovl: fix UAF in ovl_do_mkdir() debug print

Andre Przywara (1):
pinctrl: sunxi: A523: fix voltage withstand encoding

Andrea Parri (3):
bpf: fs/xattr: don't assume the inode is locked in path_unlink/path_rmdir
kprobes: Fix permanent hang when flushing the kprobe optimizer net/mlx5e: fix swapped IPv6 IPsec policy masks

Angel J (1):
PCI: of_property: Omit bus properties without a subordinate bus

Ankit Nautiyal (1):
drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus 14-ew1

Anthony Krowiak (1):
s390/vfio-ap: fix KVM GISC and page leak when queue removed from host config

Aohan Mei (2):
sctp: discard the rest of the packet on a stale-cookie error
netfilter: nf_tables: skip expired catchall elements on insert and delete

Arnd Bergmann (1):
landlock: Work around gcc-16 -Wuninitialized warning

Asad Kamal (1):
drm/amdkfd: fix use-after-free and multi-container gap in kfd_dev_mapping

Bart Van Assche (1):
scsi: megaraid_sas: Protect megasas_get_ctrl_info() in megasas_resume()

Bartosz Golaszewski (1):
gpio: cdev: fix kernel stack leak to user-space in error path

Benjamin Leggett (1):
drm/virtio: sync shmem backing on guest-bound transfers

Benjamin Tissoires (1):
HID: bpf: fix __hid_bpf_hw_check_params report length

Bernard Ladenthin (1):
net/sched: fix potential stack infoleak in em_text_dump()

Bernardo Soares (2):
net/mlx5: Bridge, don't fail switchdev events of sibling eswitch ports net/mlx5: Bridge, don't fail unlink of untracked/unsupported peer ports

Björn Töpel (3):
eth: fbnic: Fix payload page pool error cleanup
eth: fbnic: Handle maximum standalone channels
eth: fbnic: Avoid rounding zero ring sizes

Brajesh Gupta (2):
drm/imagination: Propagate map failures correctly from pvr_mmu_map_sgl() drm/imagination: Fix page count for page table for map() interface

Chaithanya Lagisetty (1):
selftests: nci: Fix uninitialized family ID on missing attribute

Chen Changcheng (2):
HID: alps: unregister DualPoint Stick input device on remove
HID: alps: fix use-after-free on input2 registration failure

Chris Gellermann (2):
selftests/nci: Fix out-of-bounds store on thread join
nfc: virtual_ncidev: Add missing ioctl compat handler

Christian Brauner (4):
fs/ntfs3: use d_instantiate_new() in ntfs_create_inode() and murder syzbot's "WARNING in do_new_mount" saga
super: convert s_count to refcount_t s_passive
super: take lock after last reference count
super: make iterate_supers_type() deletion-safe

Christian König (1):
drm/i915: fix incorrect RCU teardown order

Christian Lamparter (1):
net: emac: move setting of netops to fix crash

Christiano Amora (1):
Bluetooth: SMP: reject Security Request over BR/EDR

Claudio Imbrenda (7):
KVM: s390: Fix dirty marking in adapter_indicators_set*()
KVM: s390: Fix _gaccess_shadow_fault()
KVM: s390: Fix IRQ injection with SIGP Stop and Store Status
KVM: s390: Add missing srcu in kvm_s390_set_irq_state()
KVM: s390: Properly handle NULL pointer in dat_cond_set_storage_key()
KVM: s390: Fix potential races in dat skey functions
KVM: s390: Fix race in _destroy_pages_crste()

Coia Prant (2):
net: pcs: xpcs: fix clock reference leak on xpcs_init_clks failure
net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails

Cong Nguyen (1):
nfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure

Conor Dooley (2):
pinctrl: mpfs-mssio: fix width of unused bank voltage setting
pinctrl: mpfs-mssio: use correct regmap function to set bank voltage

Dairui Zhang (1):
af_packet: fix integer overflow in prb_calc_retire_blk_tmo()

Dan Carpenter (1):
drm/nouveau/clk: fix list cursor use after loop in nvkm_clk_ustate_update

Daniel Borkmann (1):
bpf: Fix bpf_skb_change_tail wrt csum partial skbs

Dapeng Mi (8):
perf/x86/intel: Delete dead NVL PEBS data-source initcall
perf/x86/intel: Fix CMT PEBS load/store direction for latency events, to fix sample classification perf/x86/intel: Fix GRT PEBS load/store direction for latency events, to fix sample classification perf/x86/intel: Fix DKT PEBS load/store direction for latency events, to fix sample classification perf/x86/intel: Fix Panther Cove PEBS data-source snoop states
perf/x86/intel: Remove incorrect LionCove PEBS data-source constraints perf/x86/intel: Remove incorrect Panther Cove PEBS data-source constraints perf/x86/intel: Constrain Panther Cove UOPS_DISPATCHED events to PMCs 0-3

Darrick J. Wong (18):
xfs: don't assert when XFS_SCRUB_TYPE_HEALTHY scans return corruption
xfs: fix attr fork block count checks in xrep_inode_blockcounts
xfs: release orphanage dir inode if chown fails
xfs: use correct jiffies comparison function in xchk_maybe_relax
xfs: check padding field in xfs_ioc_commit_range
xfs: don't call xfs_exchange_range_finish for a dry run
xfs: only flag zero padding for dir3 data blocks, not dir3 block blocks
xfs: use the correct reservations for rtrmap/refcount recovery
xfs: check di_forkoff correctly in scrub
xfs: fix rtgroup repair estimations
xfs: fix wild memcpy access when formatting ondisk rtrefcount btree roots
xfs: call xfs_dquot_set_prealloc_limits if we installed default rtb limits
xfs: don't let hidden_space go negative in xfs_metafile_resv_init
xfs: don't let memory failures leak blocks and kill repairs
xfs: don't merge different file IO error types
xfs: drop dquot flush lock when we can't find a buffer to flush
xfs: fix blockgc group quota scanning when usrquota isn't enforced
xfs: fix cursor and pointer handling when recovering iunlink buckets

Davi Chaves Azevedo (1):
sched/cache: Refresh LLC capacity across CPU hotplug, to fix capacity underestimation bug

David Ballesteros (1):
KVM: Ensure memory attributes xarray nodes are accounted to the caller's memcg

David Carlier (2):
arm64: errata: match the target implementation CPU's own MIDR
fprobe: Terminate the fgraph_data list when the reservation is not filled

David Dai (1):
bonding: crypto offload enabled, non-offload slave failover, rekey failed

David Howells (2):
netfs: Fix netfs_read_gaps() to use separate sink folios netfs, afs: Fix symlink reading

Deepanshu Kartikey (1):

      nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid()

Dmitry Osipenko (1):
Revert "drm/virtio: Allow importing prime buffers when 3D is enabled"

Dominik Kaszewski (1):
drm/amd/display: Remove sink usage from DPMS

Donggeun Yoo (2):
bpf, arm64: set up the frame pointer for the exception callback
bpf: Zero-fill other CPUs when BPF_F_CPU creates a per-cpu hash element

Dongliang Qin (1):
rds: ib: Clear the sg list when mapping an MR fails

Doruk Tan Ozturk (1):
nfc: port100: reject frames whose declared length exceeds the received data

Eddie Phillips (1):
gve: fix TX drop when GSO MSS is too small for hw

Emil Tsalapatis (3):
bpf: Fix bounds check for skb-backed dynptrs
bpf: Fix bpf_sock context code generation
bpf: Reject pkt arguments in mutating subprogs

Eric Dumazet (8):
net: flush skb_defer_nodes in dev_cpu_dead()
gve: DQO: fix header length used by gve_can_send_tso() for UDP GSO
gve: DQO: reject TSO packets with an out of range MSS
llc: fix skb UAF and leaks on llc_mac_hdr_init() failure
bridge: check llc_mac_hdr_init() return value in br_send_bpdu() net/sched: sch_teql: fix shadowed err in __teql_resolve()
vlan: ensure sufficient headroom in vlan_dev_hard_header()
tipc: reject invalid and unexpected GRP_ACK_MSG to prevent bc_ackers underflow

Eva Kurchatova (1):
selftests: cgroup: give the O_TMPFILE open in get_temp_fd() a mode

Fan Wu (2):
ipe: fix use-after-free when auditing a newly loaded policy
ipe: protect the dm-verity root hash with RCU

Fang Xieyan (1):
net/sched: act_ife: validate metadata length before decoding

Florian Fainelli (5):
net: bcmgenet: fix 64-bit RTNL stats reading in ethtool on 32-bit systems
net: bcmgenet: initialize u64 stats seq counter for all queues
net: bcmgenet: do not skip WoL power up on GENET V1
net: bcmgenet: validate Ethernet address in bcmgenet_set_mac_addr
net: bcmgenet: mask DMA_TIMEOUT_MASK when reading DMA_RING0_TIMEOUT

Florian Schmaus (1):
PM: hibernate: Freeze kernel threads after image preallocation

Florian Westphal (1):
netfilter: nfnetlink_queue: hold nfnl mutex in event notifier

Fourie Zhang (1):
net: bridge: mdb: restart port group walk after deletion

Francesco Magazzu (1):
drm/nouveau/clk: don't clobber reclock status when restoring volt/fan

Frank Wunderlich (1):
gpiolib: use of_node_name if line-name is missing

Fuad Tabba (9):
KVM: arm64: vgic-its: Free the caches when GITS_BASER changes
KVM: arm64: vgic-its: Skip unreachable devices instead of failing the save
KVM: arm64: Validate the SVE vector length in pkvm_vcpu_init_sve()
KVM: arm64: Do not clear VM-wide SVE feature on vCPU init failure
KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2
KVM: arm64: Match hyp text by physical address in fix_host_ownership() arm64/boot: Disable trapping of PMZR_EL0 writes to EL2
KVM: arm64: Don't WARN on an unknown VM ioctl in protected mode
KVM: arm64: Transfer the hyp stack pages out of the host stage-2

Gajdos Tamás (3):
net: atl1: fix soft lockup on out-of-range cmb_tpd_next_to_clean read
net: atl1c: fix soft lockup on out-of-range tpd_cons read
net: atl1e: fix soft lockup on out-of-range hw_next_to_clean read

Geert Uytterhoeven (1):
scsi: ufs: pltfrm: Add quirk for R-Car S4 lacking lanes-per-direction

Geliang Tang (1):
bpf, sockmap: Fix self-redirect copied_seq double-counting

Ginger Li (1):

      tipc: Fix a data race on mon->peer_cnt in mon_timeout()

Giuseppe Ranieri (1):
drm/nouveau/disp: don't reject HDMI config on cards without SCDC

Greg Kroah-Hartman (1):

      Linux 7.2.9

Guangshuo Li (3):
drm/nouveau: fix autosuspend cleanup during teardown
net: ena: fix PHC cleanup on probe failure
net: ena: fix MMIO read buffer leak on probe failure

Guopeng Zhang (1):
cgroup/pids: Restore pids.events notifications in local mode

Hao Ge (1):
netfs: Fix missing alloc tagging of direct mempool allocations

Haseeb Malik (1):
macsec: initialize SecY before registering the netdevice

Helge Deller (1):
parisc: Increase kernel stack size to 32kb

Heyang Tan (1):
octeontx2-af: use seq_file for rsrc_alloc debugfs

Holger Dengler (1):
crypto: s390/hmac - Generate intermediate CV for API partial block handling

Hui Peng (8):
Bluetooth: bnep: fix out-of-bounds reads on short RX/TX frames and control fallthrough
Bluetooth: RFCOMM: Reject short EA=0 frames in rfcomm_recv_frame()
autofs: fix sbi->pipe file reference leak in autofs_kill_sb()
cgroup/cpuset: Return PERR_NOCPUS in remote_partition_enable() on subpartitions_cpus conflict
fou: reject omitted FOU_ATTR_IPPROTO on FOU_ENCAP_DIRECT
ipv6: sr: enforce exact attribute length for SEG6_ATTR_DST
mctp: route: iterate socket tag list in mctp_lookup_prealloc_tag()
Bluetooth: RFCOMM: fix NULL dereference of dlc->session in RFCOMM_CONNINFO

Ido Schimmel (1):

      vrf: Stop corrupting skb->csum when capturing CHECKSUM_COMPLETE packets

Ilya Maximets (5):
net: openvswitch: conntrack: avoid modifying shared unconfirmed ct entry
net: openvswitch: conntrack: remove 'add_helper' dead code
net: openvswitch: conntrack: fix helper UAF due to extensions realloc net/sched: act_ct: fix helper UAF due to extensions realloc net/sched: act_ct: avoid modifying shared unconfirmed ct entry

Ilya Titov (1):
pinctrl: sunxi: keep a shadow copy of the data register output latches

Imre Deak (2):
drm/i915/dp_mst: Fix configuring FEC for a disconnected stream drm/i915/dp_mst: Fix configuring TUs for a disconnected stream

Ivan Delalande (1):
tg3: use random MAC address when tg3_get_device_address fails

Ivan Lipski (1):
drm/amd/display: Bump frame warning limit for clang builds of dml

Ivan Vecera (1):
dpll: use exact lookup for reference sync pin id

Jaewook You (1):
mm/hugetlb: preserve mremap address delta when skipping page tables

Jakub Kicinski (2):
genetlink: report the real command id for dump-only ops in policy dumps
veth: manage XDP program pointers during channel resize

Jakub Pawlak (1):
accel/ivpu: Use separate flag for job timeout

Jamal Hadi Salim (2):
net/sched: cls_u32: fix manual hash table handle IDR aliasing net/sched: sch_hfsc: bound the classify inner-filter walk with a drift budget

Jiawen Wu (2):
net: wangxun: implement soft quiesce for PCIe error recovery
net: libwx: fix races in Tx timestamp handling

Jiayuan Chen (4):
bpf: Fix divide-by-zero in btf_struct_walk()
bpf: Fix out-of-bounds read of sk_protocol in bpf_sock_destroy()
tcp: Skip cond_resched() in inet_csk_listen_stop() under BPF context
bpf: Fix out-of-bounds read of rtt_min in sock_ops

Jim Mattson (1):
KVM: x86/pmu: Move Intel PMU global MSRs to intel_is_valid_msr()

Jinjiang Tu (1):

      mm/rmap: fix missing barrier between anon_vma init and vma->anon_vma publish

Johan Almbladh (2):
bpf: Fix immediate JMP JEQ/JNE on MIPS32
bpf: Fix BSWAP 32 and 16 on MIPS64

Jonas Jelonek (1):
net: mdio: realtek-rtl9300: fix RTL931x C22 extended page selection

Jonghyuk Kim(MalHyuk) (1):
drm/nouveau: RCU-free the scheduler-containing nouveau_sched

Jose Fernandez (Anthropic) (1):
bpf: Avoid soft lockup in __htab_map_lookup_and_delete_batch()

Josef Bacik (1):
writeback: report a Tasks-RCU quiescent state per cgwb drain pass

Joseph Qi (1):
ocfs2: make ocfs2_calc_xattr_init() return void

Julian Anastasov (1):
ipvs: revalidate ihl before icmp_send

Julian Sun (1):
fs: avoid repeated scans in evict_inodes()

Junjie Cao (1):
HID: quirks: add ALWAYS_POLL quirk for SDINNOVATION gaming keyboard

Junrui Luo (5):
drm/virtio: fix object leak when drm_gem_handle_create() fails drm/virtio: fix object leak in virtio_gpu_resource_create_ioctl() drm/virtio: fix object leaks in virtio_gpu_resource_create_blob_ioctl() drm/virtio: release the GEM object on virtio_gpu_vram_create() errors drm/nouveau/dmem: pin VRAM for the whole registered range

Jérémy Jean (2):
netfilter: flowtable: publish HW_DEAD after worker is done
net: gue: reject invalid REMCSUM offsets

Karl Mehltretter (7):
KVM: arm64: Return -EINVAL for an empty SMCCC filter range at base 0 s390/pci/docs: Fix sriov_numvfs attribute name
netfilter: nft_synproxy: use the family-aware checksum helper
gpio: tps65219: Fix GPIO input value reads
gpio: tps65219: Use the variant-specific direction callback
gpio: tps65219: Fix TPS65214 GPIO direction programming
KVM: arm64: Fix AArch32 DBGBXVR<n> handling

Karol Wachowski (2):
accel/ivpu: Use threaded IRQ for IPC callback processing accel/ivpu: Drop IRQF_ONESHOT to allow IPC IRQ threading on PREEMPT_RT

Kumar Kartikeya Dwivedi (5):
bpf: Make post-verification instruction rewrites killable
bpf: Preserve packet pointer class displacement in regsafe()
bpf: Restrict CO-RE poisoning to relocatable instructions
libbpf: Reject truncated ldimm64 CO-RE relocations
bpf: Bound ownership depth through local kptrs and graph roots

Kuniyuki Iwashima (3):
ip6_gre: Call ip6erspan_tunnel_unlink_md() in ip6erspan_changelink().
ipv6: Prevent rt6_insert_exception() for dying fib6_info.
ipv6: Fix dst leak for uncached routes.

Kyle Hendry (1):
net: pcs: rzn1-miic: Fix config array initialization

Lee Jones (2):
Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel
nfc: llcp: Fix race condition in accept_queue lifecycle

Lei Zhu (1):
selftests: nci: Correct pthread_create return value check

Leo Li (1):
drm/amd/display: Atomize IRQ register read/modify/write ops

Li Youhong (1):
drm/bridge: samsung-dsim: fix TE GPIO lifetime for host attach

Liew Rui Yan (2):
mm/damon/core: fix unconditionally skip last region mm/damon/core: allow esz to be set to zero

Linkui Xiao (1):

      ipv4: fib: fix data-race and stale genid check around nh->nh_saddr

Liz Fong-Jones (1):
PCI: Fix BAR resize for devices on a root bus

Longlong Xia (1):
mm/hugetlb: do not dissolve gigantic pages without runtime support

Lorenzo Bianconi (2):
net: ethernet: mtk_eth_soc: unregister net_devices in case of probe failure
net: stmmac: clear stale buf->page after recycling on skb build failure

Lorenzo Stoakes (ARM) (2):
KVM: arm64: Fix spurious warning for benign stage 2 teardown race
KVM: arm64: nv: Fix null ptr deref on nested wp/unmap, teardown race

Lovekesh Solanki (1):
HID: multitouch: Add report ID mismatch quirk for ASUS ROG Z13 Folio

Luxiao Xu (2):
netfilter: ip6t_rt: fix zero-address non-strict match out-of-bounds read
nfc: fix use-after-free in nfc_get_local_general_bytes

Manaf Meethalavalappu Pallikunhi (1):
thermal: gov_step_wise: Fix stale mitigation vote with non-zero lower bounds

Marc Zyngier (2):
KVM: arm64: nv: Fix life cycle of the nested_mmus array
KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction

Mario Limonciello (1):
x86/PCI: Disable enhanced atomics on AMD NBIO 7.7 and 7.11

Mark Amirkan (1):
mptcp: return sk_wait_data() errors from recvmsg()

Mark Brown (1):
KVM: arm64: Fix FGT mapping for HFGITR_EL2.nGCSEPP

Masami Hiramatsu (Google) (1):
x86/mce: Fix hardware debug register corruption on task migration

Masoud Aghasi (1):
bpf: Fix u32 overflow issue in map batch operations

Matthew Auld (1):
drm/xe/vm: nuke PTs only after unlinking contested VMAs

Matthew Brost (2):
drm/pagemap: dma-unmap pages before handling migration errors drm/xe: Keep walking on SVM eviction failure

Matthias Goergens (1):
ata: libata-scsi: bound the ATA passthru sense descriptor writes

Maxime Chevallier (7):
net: stmmac: selftests: Support running selftests on DSA conduits
net: stmmac: selftests: Validate EEE based on the actual LPI timer value
net: stmmac: selftests: Check the dev->features for S-TAG offload testing
net: stmmac: selftests: Capture all packets for vlan checks
net: stmmac: dwmac4: Use the correct bufzise when the len is exactly 8K
net: stmmac: size the RX buffers from the frame length, not the MTU
net: stmmac: selftests: Account for alignment shift on dwmac1000 for Jumbo test

Melody Wang (1):
x86/sev: Make vTPM SVSM calls preemption-safe

Mikhail Zaslonko (2):
s390/debug: Do not register views for failed static debug areas s390/debug: Fix NULL pointer dereference in debug_info_copy()

Ming Wang (1):
net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist

Mostafa Saleh (1):
remoteproc: qcom_q6v5_adsp: Fix iommu_unmap() usage

Muhammad Bilal (1):
net: spacemit: clear TX descriptor on fragment mapping failure

Myeonghun Pak (6):
tg3: clean up PHYLIB resources on probe failure
bna: prevent IOC timer rearm during teardown
net: airoha: npu: cancel wdt_work after releasing the WDT IRQ
nfc: trf7970a: power down on startup RX gain failure
pinctrl: single: free the IRQ on domain creation failure
RISC-V: KVM: Synchronize hrtimer callback during teardown

Naman Gulati (1):
netfilter: ctnetlink: fix suspicious RCU usage in expect_iter_name

Namhyung Kim (1):
perf/core: Fix a refcount leak in attach_perf_ctx_data()

Namjae Jeon (1):
smb: client: use finish_no_open() for non-regular inodes

Nathan Gao (1):
mm/damon/ops-common: use a page-aligned address in damon_ptep_mkold()

Nemesa Garg (1):
drm/i915/psr: Clear stale sel fetch enable bits on sel fetch disable

Nguyen Ngoc Thang (1):
net/sched: act_ct: don't WARN on benign flow_offload_alloc() failure

Nicolai Buchwitz (2):
net: don't require the hwtstamp NDOs when a PHY provides timestamping
net: bcmgenet: stop Tx NAPI before disabling the queues

Nicolo Giuliani (1):

      net: dsa: mv88e6xxx: 88E6191X and 88E6193X have no PTP

Niklas Schnelle (4):
s390/pci: Fix leak of struct pci_dev reference in zpci_report_status() s390/pci: Fix missing device lock in zpci_report_status() s390/pci: Report SCLP status on error events when no pdev is associated s390/pci: Don't report recovery success on skipped recovery

Norbert Szetei (2):
net: xps: reject an out of range traffic class
ipv6: do not let ipv6_find_hdr() return an offset past the packet end

Oscar Priego Verdugo (1):
HID: elecom: fix bus type for M-XGL20DLBK

Paolo Bonzini (1):
KVM: move TSS constants from kvm_host.h to tss.h

Patrick Lu (Anthropic) (1):
writeback: bound cleanup_offline_cgwb() rescans by rotating scanned inodes

Pavankumar Kondeti (1):
workqueue: Fix NULL current_pwq deref in flush dependency check

Peiyang He (5):
drm/nouveau/uvmm: fix UAF in nouveau_uvmm_sm when BO is in TTM_PL_SYSTEM drm/nouveau: fix double-free in nvif_vmm_dtor
drm/nouveau: don't bump pin count on failed re-pin in nouveau_bo_pin_locked() drm/virtio: fix memory leak of fence event on execbuffer failure drm/virtio: fix NULL pointer dereference on fence allocation failure

Pengpeng Hou (5):
net: usb: sr9700: include receive overhead in the length check
nfc: nfcmrvl: validate helper command length before pull
nfc: st21nfca: validate received frame size
nfc: st21nfca: validate ISO15693 inventory length drm/imagination: clamp freelist reconstruction requests

Peter Oberparleiter (1):
s390/cmf: Fix virtual vs physical address confusion

Prathamesh Shete (1):
pinctrl: tegra238: Fix register bank for AON pin groups

Praveen Talari (3):
i2c: qcom-geni: Isolate serial engine setup
i2c: qcom-geni: Move resource initialization to separate function
i2c: qcom-geni: Store of_device_id data in driver private struct

Prike Liang (1):
drm/amdgpu: move userq fence wait out of signalling section

Pu Lehui (1):
bpf: Fix UAF due to concurrent consumption of ttrace lists in alloc_bulk

Puranjay Mohan (3):
perf/core: Fill branch entries with a single assignment perf/core: Fix NULL pmu_ctx passed to pmu->sched_task() perf/core: Run sched_task() for PMUs with only CPU-wide events

Quentin Armitage (1):
net: allow IFLA_INET_CONF messages when NLA_F_NESTED unset

Ralf Lici (11):
ovpn: preserve IPv6 scope id for netlink peer endpoints
ovpn: skip UDP source validation for unspecified addresses
ovpn: track UDP socket route key for peer dst cache
ovpn: validate peer state before caching UDP dst
ovpn: replace bind when learning local endpoint
ovpn: replace bind when clearing stale local source
ovpn: always unhash old VPN addresses before rehashing
ovpn: reject duplicate peer VPN addresses
ovpn: reject multipeer peers without VPN addresses
ovpn: reject invalid peer VPN addresses net/mlx5e: advertise MACsec offload only when supported

Ran Hongyun (1):
squashfs: Add dictionary size range check to prevent shift-out-of-bounds

Ratheesh Kannoth (1):
octeontx2-af: Fix memory scaling limitation in SR-IOV mode

Ravindra (1):
Bluetooth: btintel_pcie: validate device-supplied DMA indices

René Onier (1):
HID: winwing: fix use-after-free in force feedback teardown

Ridham Khurana (1):
gpio: zynq: fix runtime PM leak on request error path

SJ Park (2):
mm/damon/vaddr: avoid hw-driven pte updates during damon_hugetlb_mkold() mm/damon/core: reset invalid quota->charge_target_from

Sang-Hoon Choi (1):
nfp: hold IPsec RX state under the XArray lock

Sanghyun Park (1):
vxlan: use one headroom snapshot for neighbour replies

Sarah Emery (1):
pinctrl: generic: serialise pinctrl_generic_dt_node_to_map()

Sean Anderson (1):
pinctrl: meson: Fix typo in s4 group name

Sean Christopherson (11):
perf/x86/intel: Ensure KVM guest PEBS path doesn't set unwanted PERF_GLOBAL_CTRL bits perf/x86/intel: Don't write PEBS_ENABLED on host<=>guest xfers if CPU has PEBS isolation, to fix stuck PEBS_ENABLED perf/x86/intel: Don't pointlessly context switch DS_AREA (and PEBS config) if PEBS is unused perf/x86/intel: Make @data a mandatory param for intel_guest_get_msrs()
KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV
KVM: SEV: Do cache maintenance on the source VM during intra-host migration
KVM: x86: Move IRQ-related helper declarations from kvm_host.h => irq.h
KVM: x86/mmu: Move kvm_arch_async_page_ready() below kvm_tdp_page_fault()
KVM: x86/mmu: Move kvm_mmu_do_page_fault() from mmu_internal.h => mmu.c
KVM: x86: Reject nested CAP enablement if nested virtualization is disabled
KVM: x86: Add static calls for nested virtualization ops

Sean Rhodes (2):
ALSA: hda/realtek: Limit Star Labs internal mic boost
ALSA: hda/realtek: Add StarFighter HDA SSID

Sebastian Ott (1):
KVM: selftests: fix steal_time for arm64 with host page size > 4K

SeungJu Cheon (3):
RISC-V: KVM: Preserve firmware counter value across stop/start
RISC-V: KVM: Report snapshot write failure to the guest
RISC-V: KVM: Fix perf-backed counter accounting across stop and read

Shardul Bankar (2):
udp: relocate a connected socket in the 4-tuple hash table on re-connect
udp: remove a disconnected socket from the 4-tuple hash table

Shawn Guo (1):
pinctrl: qcom: nord: Split QUP1 SE2/SE3 into lane-pair functions

Shay Drory (3):
net/mlx5: devcom, Base component size on linked devices net/mlx5: SD, unload reps on shared FDB create error path net/mlx5: LAG, reload IB reps of LAG master before the rest

Shengzhuo Wei (1):
i2c: qcom-geni: release DMA channels on probe error

Shihuang Liu (1):
net: skbuff: fix pull-bound underflow in skb_checksum_setup_ipv6()

Siddharth Chintamaneni (1):
bpf: Allow terminal gotox instructions

Sidraya Jayagond (1):
net/smc: fix UAF on lgr list traversal in smcr_port_err()

Sk Anirban (1):
drm/xe/gt_throttle: Report power brake as a throttle reason on CRI

Slawomir Stepien (1):
HID: amd_sfh: Validate PCI BAR size before mapping

Stanley Jhu (1):
scsi: ufs: core: Keep internal commands dispatchable during error handling

Steffen Eiden (2):
s390/uv: Fix loop condition in uv_find_secrets s390/uv: Prevent potential out-of-bounds read

Sunil Khatri (3):
drm/amdgpu/userq: fix double jiffies conversion in hang detect timeout drm/amdgpu/vcn4.0.3: fix video_timeout unit mismatch in jpeg reset wait drm/amdgpu/vcn5.0.1: fix video_timeout unit mismatch in jpeg reset wait

Sven Schnelle (1):
selftests/ftrace: Fix unique symbol check in kprobe_non_uniq_symbol.tc

Szymon Acedański (1):
drm/xe: Limit sg segment size to PAGE_SIZE on Xen PV

Takashi Sakamoto (1):
firewire: cdev: fix back-transition for iso_resource_auto client resource

Tan Chi (1):
RISC-V: KVM: Fix HSM hart status error propagation

Tangudu Tilak Tirumalesh (2):
drm/xe: harden adjust_idledly() against divide-by-zero and overflow drm/xe: Add wa_14025941587 to xe2, xe3 and xe3p platforms

Tejun Heo (1):
sched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags

Théo Lebrun (1):
net: macb: fix dma_alloc_coherent() leak on macb_alloc() error paths

Tim Chen (1):
sched/cache: Decouple sched_cache_group from mm to fix UAF

Tristan Madani (1):
HID: hid-oxp: use cancel_delayed_work_sync() in remove

Victor Nogueira (1):
net/sched: act_gate: budget the per-entry list in get_fill_size

Viken Dadhaniya (1):
i2c: qcom-geni: Fix hardcoded clock index in SE_GENI_CLK_SEL

Vineeth Vijayan (4):
s390/cio: Fix cio_update_schib() to not cache invalid schib s390/cio: Check pmcw.dnv before pmcw.ena in I/O entry points s390/cio: Guard PMCW field accesses with dnv check s390/cio: Fix NULL pointer dereference in ccw_device_get_util_str()

Wei Jie LAW (1):
HID: wacom: fix OOB read in wacom_wac_pen_serial_enforce()

Weiming Shi (5):
bpf: Disallow bpf_skb_pull_data() for LWT_SEG6LOCAL
bpf: Skip unsettled links in link iterator
bpf: Reject dev-bound-only programs on other devices net/sched: reject IDR error pointers when deleting actions
netfilter: ip6t_rpfilter: reject routes without inet6_dev

Wentao Liang (13):
fsl/fman: Fix clk reference leak in read_dts_node()
gpio: arizona: Fix runtime PM leak in arizona_gpio_direction_out() drm/amd/display: Fix dc stream excess put in dm_update_crtc_state() drm/amdgpu: Fix acpi device leak in amdgpu_acpi_enumerate_xcc() drm/amdgpu: Fix last_update fence leak in amdgpu_vm_init() drm/amdgpu: Fix runtime PM leak in amdgpu_debugfs_test_ib_show() drm/amdgpu: Fix vmid_wait fence leak in amdgpu_ring_init() drm/nouveau: Fix bridge reference leak in nv1a_ram_new() drm/nouveau: Fix gem reference leak in validate_init() drm/nouveau: Fix runtime PM leak in nouveau_connector_detect() net/mlx5: Fix rev_entry reference leak in mlx5_tc_ct_shared_counter_get()
net: hisilicon: hns_dsaf_mac: fix mdio device leak in hns_mac_register_phy()
net: usb: lan78xx: Fix URB reference leak in lan78xx_submit_deferred_urbs()

Willem de Bruijn (3):
virtio_net: copy zerocopy frags in start_xmit without NAPI
tcp: prevent collapsing skbs across boundary in rtx queue
packet: use ubuf_info completion for TX_RING packets

Xiang Mei (1):
vlan: require the MAC header to be present in __vlan_insert_inner_tag()

Xie Bo (3):
RISC-V: KVM: Serialize IMSIC attributes with vCPU migration
RISC-V: KVM: Release unused page after MMU invalidation
RISC-V: KVM: Propagate interrupted G-stage faults

Xin Long (1):
sctp: hold asoc or transport before mod_timer() in timer handlers

Xu Yunxiang (1):
bpf: Reject non-negative offsets in stack_slot_obj_get_spi()

Xuanqiang Luo (1):
ip_gre: Reject enabling collect metadata through changelink

Yehyeong Lee (1):
scsi: libiscsi_tcp: Check the data direction of a Data-In PDU

Yicong Yang (1):
RISC-V: KVM: Fix the conversion between vsip and hvip

Yilin Zhang (1):
tcp: fix use-after-free of retransmit_skb_hint in tcp_send_synack()

Yiqi Sun (1):
sctp: avoid livelock while updating retransmit path

Yuqi Xu (2):
bpf: Check params size before reading reserved fields
net: ipconfig: bound DHCP option construction

Yuya Kusakabe (1):
net: ipv6: keep room for the mac header in dst_dev_overhead()

ZHOU Jiaxiang (2):
scsi: block: Fix zones_cond out-of-bounds write on zone report
scsi: sd_zbc: Reject disks with too many zones

Zeng Chi (1):
KVM: Don't treat reserved xarray entries as having memory attributes

Zeng Heng (1):
arm64: io: Reject non-user protection in ioremap_prot()

Zhan Xusheng (1):
sched/core: Account PSI IRQ time to the execution context, not the scheduling context

Zhang Yunfei (1):
net: txgbe: fix FDIR filter restore for VF rules

Zhao Gongyi (1):
bpf, sockmap: Reject max_entries > INT_MAX in sock_map_alloc

Zhenghui Hao (1):
parisc: parse early parameters in setup_arch()

Zhiling Zou (1):
xsk: Use a 32-bit compare in xsk_map_gen_lookup

Zihan Xi (6):
smb: client: fix create context out-of-bounds reads
smb: client: close handle after create-context parsing failure
smb: client: clean up failed cached directory opens
smb: client: preserve create-context parsing errors
smb: client: validate POSIX create context length
smb: client: close completed creates on compound wait errors

Zijie Huang (1):
net: arp: terminate device name before lookup

Zijun Hu (1):
Bluetooth: btnxpuart: Fix skb leak in nxp_process_fw_dump()

Zixuan Chai (1):
llc: reserve device headroom for allocated frames

Zongmin Zhou (1):
KVM: riscv: Fix NACL hfence entry update order

bui duc phuc (1):
net: ethernet: ti: netcp: fix pm_runtime usage counter leak on error

hpp.iscas (1):
pinctrl: qcom: ipq5210: Publish the OF module alias

shechenglong (1):
drm/client: fix restore of partially initialized client

Ömer Mete Kaya (3):
nfc: llcp: fix -ENOMEM on connect with zero-length service name
nfc: llcp: fix WKS SAP hijacking via prefix match in nfc_llcp_wks_sap()
nfc: llcp: fix slab-out-of-bounds reads when logging service names

author maintainer
#1 lore raw
Documentation/arch/arm64/booting.rst +1 -0
index 13ef311dace8..3fea4b14ef7c 100644
@@ -465,6 +465,7 @@ Before jumping into the kernel, the following conditions must be met:
     - HDFGWTR2_EL2.nPMICNTR_EL0 (bit 2) must be initialised to 0b1.
     - HDFGWTR2_EL2.nPMICFILTR_EL0 (bit 3) must be initialised to 0b1.
     - HDFGWTR2_EL2.nPMUACR_EL1 (bit 4) must be initialised to 0b1.
+    - HDFGWTR2_EL2.nPMZR_EL0 (bit 21) must be initialised to 0b1.
 
   For CPUs with SPE data source filtering (FEAT_SPE_FDS):
 
Documentation/arch/s390/pci.rst +1 -1
index 80f4ba193159..565434626fb5 100644
@@ -67,7 +67,7 @@ Entries specific to zPCI functions and entries that hold zPCI information.
 
   A physical function that currently supports a virtual function cannot be
   powered off until all virtual functions are removed with:
-  echo 0 > /sys/bus/pci/devices/DDDD:BB:dd.f/sriov_numvf
+  echo 0 > /sys/bus/pci/devices/DDDD:BB:dd.f/sriov_numvfs
 
 * /sys/bus/pci/devices/DDDD:BB:dd.f/:
 
Documentation/devicetree/bindings/pinctrl/qcom,nord-tlmm.yaml +4 -3
index 4bb511719f31..56758a85ead8 100644
@@ -67,7 +67,7 @@ $defs:
           Specify the alternative function to be configured for the specified
           pins.
 
-        enum: [ aoss_cti, atest_char, atest_usb20, atest_usb21,
+        enum: [ gpio, aoss_cti, atest_char, atest_usb20, atest_usb21,
                 aud_intfc0_clk, aud_intfc0_data, aud_intfc0_ws,
                 aud_intfc10_clk, aud_intfc10_data, aud_intfc10_ws,
                 aud_intfc1_clk, aud_intfc1_data, aud_intfc1_ws,
@@ -98,9 +98,10 @@ $defs:
                 pcie3_clk_req_n, phase_flag, pll_bist_sync, pll_clk_aux,
                 prng_rosc0, prng_rosc1, pwrbrk_i_n, qdss, qdss_cti, qspi,
                 qup0_se0, qup0_se1, qup0_se2, qup0_se3, qup0_se4, qup0_se5,
-                qup1_se0, qup1_se1, qup1_se3, qup1_se2, qup1_se4, qup1_se5,
+                qup1_se0, qup1_se1, qup1_se2_01, qup1_se2_23, qup1_se3_01,
+                qup1_se3_23, qup1_se4, qup1_se5,
                 qup1_se6, qup2_se0, qup2_se1, qup2_se2, qup2_se3, qup2_se4,
-                qup2_se5, qup2_se6,
+                qup2_se5, qup2_se6, qup3_se0_mira, qup3_se0_mirb,
                 sailss_ospi, sdc4_clk, sdc4_cmd, sdc4_data, smb_alert,
                 smb_alert_n, smb_clk, smb_dat, tb_trig_sdc4, tmess_prng0,
                 tmess_prng1, tsc_timer, tsense_pwm, usb0_hs,
Makefile +1 -1
index ad1a1ffe789e..6f8ed7329a20 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 7
 PATCHLEVEL = 2
-SUBLEVEL = 8
+SUBLEVEL = 9
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
arch/arm64/include/asm/el2_setup.h +8 -1
index aa8ec9df8024..87560d8b254e 100644
@@ -418,6 +418,7 @@
 	b.lt	.Lskip_fgt2_\@
 
 	mov	x0, xzr
+	mov	x2, xzr
 	mrs	x1, id_aa64dfr0_el1
 	ubfx	x1, x1, #ID_AA64DFR0_EL1_PMUVer_SHIFT, #4
 	cmp	x1, #ID_AA64DFR0_EL1_PMUVer_V3P9
@@ -426,6 +427,11 @@
 	orr	x0, x0, #HDFGRTR2_EL2_nPMICNTR_EL0
 	orr	x0, x0, #HDFGRTR2_EL2_nPMICFILTR_EL0
 	orr	x0, x0, #HDFGRTR2_EL2_nPMUACR_EL1
+	orr	x2, x2, #HDFGWTR2_EL2_nPMICNTR_EL0
+	orr	x2, x2, #HDFGWTR2_EL2_nPMICFILTR_EL0
+	orr	x2, x2, #HDFGWTR2_EL2_nPMUACR_EL1
+	/* PMZR_EL0 is write-only, so it has no read trap to disable */
+	orr	x2, x2, #HDFGWTR2_EL2_nPMZR_EL0
 .Lskip_pmuv3p9_\@:
 	/* If SPE is implemented, */
 	__spe_vers_imp .Lskip_spefds_\@, ID_AA64DFR0_EL1_PMSVer_IMP, x1
@@ -436,10 +442,11 @@
 	cbz	x1, .Lskip_spefds_\@
 	/* disable traps of PMSDSFR to EL2. */
 	orr	x0, x0, #HDFGRTR2_EL2_nPMSDSFR_EL1
+	orr	x2, x2, #HDFGWTR2_EL2_nPMSDSFR_EL1
 
 .Lskip_spefds_\@:
 	msr_s   SYS_HDFGRTR2_EL2, x0
-	msr_s   SYS_HDFGWTR2_EL2, x0
+	msr_s   SYS_HDFGWTR2_EL2, x2
 	msr_s   SYS_HFGRTR2_EL2, xzr
 	msr_s   SYS_HFGWTR2_EL2, xzr
 	msr_s   SYS_HFGITR2_EL2, xzr
arch/arm64/include/asm/io.h +2 -1
index 21c8e400107c..31e67f6bd4a7 100644
@@ -272,7 +272,8 @@ static inline void __iomem *ioremap_prot(phys_addr_t phys, size_t size,
 	pgprot_t prot;
 	ptval_t user_prot_val = pgprot_val(user_prot);
 
-	if (WARN_ON_ONCE(!(user_prot_val & PTE_USER)))
+	/* Reject PROT_NONE and exec-only */
+	if (!(user_prot_val & PTE_USER))
 		return NULL;
 
 	prot = __pgprot_modify(PAGE_KERNEL, PTE_ATTRINDX_MASK,
arch/arm64/include/asm/kvm_host.h +1 -1
index ac16f96c878d..7f94635e69c9 100644
@@ -322,7 +322,7 @@ struct kvm_arch {
 	 * Stage 2 paging state for VMs with nested S2 using a virtual
 	 * VMID.
 	 */
-	struct kvm_s2_mmu *nested_mmus;
+	struct kvm_s2_mmu **nested_mmus;
 	size_t nested_mmus_size;
 	int nested_mmus_next;
 
arch/arm64/include/asm/kvm_nested.h +2 -1
index 1ed708335809..586026e85903 100644
@@ -66,7 +66,8 @@ static inline u64 translate_ttbr0_el2_to_ttbr0_el1(u64 ttbr0)
 
 extern bool forward_smc_trap(struct kvm_vcpu *vcpu);
 extern bool forward_debug_exception(struct kvm_vcpu *vcpu);
-extern void kvm_init_nested(struct kvm *kvm);
+extern int kvm_init_nested(struct kvm *kvm);
+extern void kvm_destroy_nested(struct kvm *kvm);
 extern int kvm_vcpu_init_nested(struct kvm_vcpu *vcpu);
 extern void kvm_init_nested_s2_mmu(struct kvm_s2_mmu *mmu);
 extern struct kvm_s2_mmu *lookup_s2_mmu(struct kvm_vcpu *vcpu);
arch/arm64/include/asm/kvm_pkvm.h +1 -2
index 74fedd9c5ff0..ce5fd7cfc4e4 100644
@@ -62,8 +62,7 @@ static inline bool kvm_pkvm_ioctl_allowed(struct kvm *kvm, unsigned int ioctl)
 	int r;
 
 	r = kvm_get_cap_for_kvm_ioctl(ioctl, &ext);
-
-	if (WARN_ON_ONCE(r < 0))
+	if (r < 0)
 		return false;
 
 	return kvm_pkvm_ext_allowed(kvm, ext);
arch/arm64/kernel/cpu_errata.c +9 -6
index b0937e3f6fb4..be47908bb9d2 100644
@@ -28,18 +28,21 @@ bool cpu_errata_set_target_impl(u64 num, void *impl_cpus)
 	return true;
 }
 
+static inline bool __is_midr_in_range(u32 midr, struct midr_range const *range)
+{
+	return midr_is_cpu_model_range(midr, range->model,
+				       range->rv_min, range->rv_max);
+}
+
 static inline bool is_midr_in_range(struct midr_range const *range)
 {
 	int i;
 
 	if (!target_impl_cpu_num)
-		return midr_is_cpu_model_range(read_cpuid_id(), range->model,
-					       range->rv_min, range->rv_max);
+		return __is_midr_in_range(read_cpuid_id(), range);
 
 	for (i = 0; i < target_impl_cpu_num; i++) {
-		if (midr_is_cpu_model_range(target_impl_cpus[i].midr,
-					    range->model,
-					    range->rv_min, range->rv_max))
+		if (__is_midr_in_range(target_impl_cpus[i].midr, range))
 			return true;
 	}
 	return false;
@@ -59,7 +62,7 @@ __is_affected_midr_range(const struct arm64_cpu_capabilities *entry,
 			 u32 midr, u32 revidr)
 {
 	const struct arm64_midr_revidr *fix;
-	if (!is_midr_in_range(&entry->midr_range))
+	if (!__is_midr_in_range(midr, &entry->midr_range))
 		return false;
 
 	midr &= MIDR_REVISION_MASK | MIDR_VARIANT_MASK;
arch/arm64/kvm/arm.c +6 -2
index 9a6c72a18672..ad04ef4bb821 100644
@@ -236,8 +236,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 	mutex_unlock(&kvm->lock);
 #endif
 
-	kvm_init_nested(kvm);
-
 	ret = kvm_share_hyp(kvm, kvm + 1);
 	if (ret)
 		return ret;
@@ -252,6 +250,10 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 	if (ret)
 		goto err_free_cpumask;
 
+	ret = kvm_init_nested(kvm);
+	if (ret)
+		goto err_uninit_mmu;
+
 	if (is_protected_kvm_enabled()) {
 		/*
 		 * If any failures occur after this is successful, make sure to
@@ -280,6 +282,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 
 err_uninit_mmu:
 	kvm_uninit_stage2_mmu(kvm);
+	kvm_destroy_nested(kvm);
 err_free_cpumask:
 	free_cpumask_var(kvm->arch.supported_cpus);
 err_unshare_kvm:
@@ -337,6 +340,7 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
 
 	kvm_unshare_hyp(kvm, kvm + 1);
 
+	kvm_destroy_nested(kvm);
 	kvm_arm_teardown_hypercalls(kvm);
 }
 
arch/arm64/kvm/emulate-nested.c +1 -1
index 3c82f392845d..b32742d9dd73 100644
@@ -1432,7 +1432,7 @@ static const struct encoding_to_trap_config encoding_to_fgt[] __initconst = {
 	SR_FGT(OP_AT_S1E1A, 		HFGITR, ATS1E1A, 1),
 	SR_FGT(OP_COSP_RCTX, 		HFGITR, COSPRCTX, 1),
 	SR_FGT(OP_GCSPUSHX, 		HFGITR, nGCSEPP, 0),
-	SR_FGT(OP_GCSPOPX, 		HFGITR, nGCSEPP, 0),
+	SR_FGT(OP_GCSPOPCX, 		HFGITR, nGCSEPP, 0),
 	SR_FGT(OP_GCSPUSHM, 		HFGITR, nGCSPUSHM_EL1, 0),
 	SR_FGT(OP_BRB_IALL, 		HFGITR, nBRBIALL, 0),
 	SR_FGT(OP_BRB_INJ, 		HFGITR, nBRBINJ, 0),
arch/arm64/kvm/hyp/include/nvhe/mem_protect.h +1 -0
index 29935c7da1de..cab27f7bd423 100644
@@ -52,6 +52,7 @@ int __pkvm_host_test_clear_young_guest(u64 gfn, u64 nr_pages, bool mkold, struct
 int __pkvm_host_mkyoung_guest(u64 gfn, struct pkvm_hyp_vcpu *vcpu);
 
 bool addr_is_memory(phys_addr_t phys);
+bool addr_is_hyp_text(phys_addr_t phys);
 int host_stage2_idmap_locked(phys_addr_t addr, u64 size, enum kvm_pgtable_prot prot);
 int host_stage2_set_owner_locked(phys_addr_t addr, u64 size, u8 owner_id);
 int kvm_host_prepare_stage2(void *pgt_pool_base);
arch/arm64/kvm/hyp/nvhe/mem_protect.c +8 -0
index 4e329e39a695..7a9936130642 100644
@@ -443,6 +443,14 @@ bool addr_is_memory(phys_addr_t phys)
 	return !!find_mem_range(phys, &range);
 }
 
+bool addr_is_hyp_text(phys_addr_t phys)
+{
+	phys_addr_t start = ALIGN_DOWN(__hyp_pa(__hyp_text_start), PAGE_SIZE);
+	phys_addr_t end = PAGE_ALIGN(__hyp_pa(__hyp_text_end));
+
+	return phys >= start && phys < end;
+}
+
 static bool is_in_mem_range(u64 addr, struct kvm_mem_range *range)
 {
 	return range->start <= addr && addr < range->end;
arch/arm64/kvm/hyp/nvhe/pkvm.c +11 -14
index 24d6f164129a..53532f0c4162 100644
@@ -360,7 +360,7 @@ static void pkvm_init_features_from_host(struct pkvm_hyp_vm *hyp_vm, const struc
 		if (test_bit(KVM_ARCH_FLAG_WRITABLE_IMP_ID_REGS, &host_arch_flags))
 			hyp_vm->kvm.arch.midr_el1 = host_kvm->arch.midr_el1;
 
-		return;
+		goto out;
 	}
 
 	if (kvm_pkvm_ext_allowed(kvm, KVM_CAP_ARM_MTE))
@@ -379,13 +379,14 @@ static void pkvm_init_features_from_host(struct pkvm_hyp_vm *hyp_vm, const struc
 	if (kvm_pkvm_ext_allowed(kvm, KVM_CAP_ARM_PTRAUTH_GENERIC))
 		set_bit(KVM_ARM_VCPU_PTRAUTH_GENERIC, allowed_features);
 
-	if (kvm_pkvm_ext_allowed(kvm, KVM_CAP_ARM_SVE)) {
+	if (kvm_pkvm_ext_allowed(kvm, KVM_CAP_ARM_SVE))
 		set_bit(KVM_ARM_VCPU_SVE, allowed_features);
-		kvm->arch.flags |= host_arch_flags & BIT(KVM_ARCH_FLAG_GUEST_HAS_SVE);
-	}
 
 	bitmap_and(kvm->arch.vcpu_features, host_kvm->arch.vcpu_features,
 		   allowed_features, KVM_VCPU_MAX_FEATURES);
+out:
+	__assign_bit(KVM_ARCH_FLAG_GUEST_HAS_SVE, &kvm->arch.flags,
+		     kvm_vcpu_has_feature(kvm, KVM_ARM_VCPU_SVE));
 }
 
 static void unpin_host_vcpu(struct kvm_vcpu *host_vcpu)
@@ -451,7 +452,7 @@ static int pkvm_vcpu_init_sve(struct pkvm_hyp_vcpu *hyp_vcpu, struct kvm_vcpu *h
 	unsigned int sve_max_vl;
 	size_t sve_state_size;
 	void *sve_state;
-	int ret = 0;
+	int ret;
 
 	if (!vcpu_has_feature(vcpu, KVM_ARM_VCPU_SVE)) {
 		vcpu_clear_flag(vcpu, VCPU_SVE_FINALIZED);
@@ -460,25 +461,21 @@ static int pkvm_vcpu_init_sve(struct pkvm_hyp_vcpu *hyp_vcpu, struct kvm_vcpu *h
 
 	/* Limit guest vector length to the maximum supported by the host. */
 	sve_max_vl = min(READ_ONCE(host_vcpu->arch.sve_max_vl), kvm_host_sve_max_vl);
-	sve_state_size = sve_state_size_from_vl(sve_max_vl);
 	sve_state = kern_hyp_va(READ_ONCE(host_vcpu->arch.sve_state));
 
-	if (!sve_state || !sve_state_size) {
-		ret = -EINVAL;
-		goto err;
-	}
+	if (!sve_vl_valid(sve_max_vl) || !sve_state)
+		return -EINVAL;
+
+	sve_state_size = sve_state_size_from_vl(sve_max_vl);
 
 	ret = hyp_pin_shared_mem(sve_state, sve_state + sve_state_size);
 	if (ret)
-		goto err;
+		return ret;
 
 	vcpu->arch.sve_state = sve_state;
 	vcpu->arch.sve_max_vl = sve_max_vl;
 
 	return 0;
-err:
-	clear_bit(KVM_ARM_VCPU_SVE, vcpu->kvm->arch.vcpu_features);
-	return ret;
 }
 
 static int vm_copy_id_regs(struct pkvm_hyp_vcpu *hyp_vcpu)
arch/arm64/kvm/hyp/nvhe/setup.c +11 -1
index 75b00c323310..bb667cd7080b 100644
@@ -217,7 +217,7 @@ static int fix_host_ownership_walker(const struct kvm_pgtable_visit_ctx *ctx,
 	case PKVM_PAGE_OWNED:
 		set_hyp_state(page, PKVM_PAGE_OWNED);
 		/* hyp text is RO in the host stage-2 to be inspected on panic. */
-		if (prot == PAGE_HYP_EXEC) {
+		if (addr_is_hyp_text(phys)) {
 			set_host_state(page, PKVM_NOPAGE);
 			return host_stage2_idmap_locked(phys, PAGE_SIZE, KVM_PGTABLE_PROT_R);
 		} else {
@@ -269,6 +269,16 @@ static int fix_host_ownership(void)
 			return ret;
 	}
 
+	/* The stacks sit in the private VA range, not the linear map. */
+	for (i = 0; i < hyp_nr_cpus; i++) {
+		struct kvm_nvhe_init_params *params = per_cpu_ptr(&kvm_init_params, i);
+		u64 start = params->stack_hyp_va - NVHE_STACK_SIZE;
+
+		ret = kvm_pgtable_walk(&pkvm_pgtable, start, NVHE_STACK_SIZE, &walker);
+		if (ret)
+			return ret;
+	}
+
 	return 0;
 }
 
arch/arm64/kvm/hypercalls.c +2 -1
index b11b8821c9fb..dfa25bb6f25d 100644
@@ -185,7 +185,8 @@ static int kvm_smccc_set_filter(struct kvm *kvm, struct kvm_smccc_filter __user
 	start = filter.base;
 	end = start + filter.nr_functions - 1;
 
-	if (end < start || filter.action >= NR_SMCCC_FILTER_ACTIONS)
+	if (!filter.nr_functions || end < start ||
+	    filter.action >= NR_SMCCC_FILTER_ACTIONS)
 		return -EINVAL;
 
 	mutex_lock(&kvm->arch.config_lock);
arch/arm64/kvm/mmu.c +12 -3
index 2d95203386ba..2ed0836cb929 100644
@@ -59,27 +59,36 @@ static phys_addr_t stage2_range_addr_end(phys_addr_t addr, phys_addr_t end)
  * long will also starve other vCPUs. We have to also make sure that the page
  * tables are not freed while we released the lock.
  */
-static int stage2_apply_range(struct kvm_s2_mmu *mmu, phys_addr_t addr,
+static int stage2_apply_range(struct kvm_s2_mmu *mmu, phys_addr_t start,
 			      phys_addr_t end,
 			      int (*fn)(struct kvm_pgtable *, u64, u64),
 			      bool resched)
 {
 	struct kvm *kvm = kvm_s2_mmu_to_kvm(mmu);
+	bool lock_dropped = false;
+	phys_addr_t addr = start;
 	int ret;
 	u64 next;
 
 	do {
 		struct kvm_pgtable *pgt = mmu->pgt;
+		/*
+		 * We may be raced on PGT teardown when we release the
+		 * kvm->mmu_lock. That's fine as the PGT is legitimately no
+		 * longer present.
+		 */
 		if (!pgt)
-			return -EINVAL;
+			return lock_dropped ? 0 : -EINVAL;
 
 		next = stage2_range_addr_end(addr, end);
 		ret = fn(pgt, addr, next - addr);
 		if (ret)
 			break;
 
-		if (resched && next != end)
+		if (resched && next != end) {
 			cond_resched_rwlock_write(&kvm->mmu_lock);
+			lock_dropped = true;
+		}
 	} while (addr = next, addr != end);
 
 	return ret;
arch/arm64/kvm/nested.c +60 -51

206 lines not on this page · raw message

arch/arm64/kvm/sys_regs.c +1 -0
index 797e888bf939..e566bbce7d22 100644
@@ -889,6 +889,7 @@ static u64 *demux_wb_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd)
 	struct kvm_guest_debug_arch *dbg = &vcpu->arch.vcpu_debug_state;
 
 	switch (rd->Op2) {
+	case 0b001:
 	case 0b100:
 		return &dbg->dbg_bvr[rd->CRm];
 	case 0b101:
arch/arm64/kvm/vgic/vgic-its.c +27 -16

104 lines not on this page · raw message

arch/arm64/net/bpf_jit_comp.c +2 -0
index d4e62484baea..8c0c9b0fda16 100644
@@ -600,6 +600,8 @@ static int build_prologue(struct jit_ctx *ctx, bool ebpf_from_cbpf)
 		 * 12 registers are on the stack
 		 */
 		emit(A64_SUB_I(1, A64_SP, A64_FP, 96), ctx);
+		/* The callback may use its own BPF stack, set up fp for it. */
+		ctx->fp_used = true;
 	}
 
 	/* Stack must be multiples of 16B */
arch/mips/net/bpf_jit_comp32.c +1 -1
index 40a878b672f5..15a2a153dc87 100644
@@ -1111,7 +1111,7 @@ static void emit_jmp_i64(struct jit_context *ctx,
 			emit(ctx, xor, tmp, lo(dst), tmp);
 		}
 		if (imm < 0) { /* Compare sign extension */
-			emit(ctx, addu, MIPS_R_T9, hi(dst), 1);
+			emit(ctx, addiu, MIPS_R_T9, hi(dst), 1);
 			emit(ctx, or, tmp, tmp, MIPS_R_T9);
 		} else {       /* Compare zero extension */
 			emit(ctx, or, tmp, tmp, hi(dst));
arch/mips/net/bpf_jit_comp64.c +1 -2
index fa7e9aa37f49..6681ccac9dd9 100644
@@ -305,8 +305,7 @@ static void emit_bswap_r64(struct jit_context *ctx, u8 dst, u32 width)
 	case 16:
 		emit_sext(ctx, dst, dst);
 		emit_bswap_r(ctx, dst, width);
-		if (cpu_has_mips64r2 || cpu_has_mips64r6)
-			emit_zext(ctx, dst);
+		emit_zext(ctx, dst);
 		break;
 	}
 	clobber_reg(ctx, dst);
arch/parisc/include/asm/thread_info.h +1 -1
index b283738bb6da..249370706242 100644
@@ -24,7 +24,7 @@ struct thread_info {
 
 /* thread information allocation */
 
-#ifdef CONFIG_IRQSTACKS
+#if defined(CONFIG_IRQSTACKS) && !defined(CONFIG_64BIT)
 #define THREAD_SIZE_ORDER	2 /* PA-RISC requires at least 16k stack */
 #else
 #define THREAD_SIZE_ORDER	3 /* PA-RISC requires at least 32k stack */
arch/parisc/kernel/setup.c +12 -0
index d3e17a7a8901..4d3015a411d6 100644
@@ -132,6 +132,18 @@ void __init setup_arch(char **cmdline_p)
 	parisc_cache_init();
 	paging_init();
 
+	/*
+	 * Parse early parameters before mm_core_init_early() runs.
+	 * Several early_param() handlers only record data that is consumed
+	 * from there - for example hugepages=, hugepagesz=,
+	 * default_hugepagesz=, hugetlb_cma= and hugetlb_free_vmemmap= - so
+	 * the generic parse_early_param() call in start_kernel() is too late
+	 * for them.  jump_label_init() must come first, since early param
+	 * handlers may enable or disable static keys.
+	 */
+	jump_label_init();
+	parse_early_param();
+
 #ifdef CONFIG_PA11
 	dma_ops_init();
 #endif
arch/riscv/include/asm/csr.h +16 -4
index 31b8988f4488..72ff259154e9 100644
@@ -183,12 +183,24 @@
 #define HGATP_MODE_SHIFT	HGATP32_MODE_SHIFT
 #endif
 
-/* VSIP & HVIP relation */
+/*
+ * VSIP & HVIP relation
+ *
+ * The bit positions are same between VSIP and HVIP for interrupt
+ * numbers 13-63, where there's a shift for the SSI, STI and SEI.
+ */
 #define VSIP_TO_HVIP_SHIFT	(IRQ_VS_SOFT - IRQ_S_SOFT)
-#define VSIP_VALID_MASK		((_AC(1, UL) << IRQ_S_SOFT) | \
+#define VSIP_BIAS_MASK		((_AC(1, UL) << IRQ_S_SOFT) | \
 				 (_AC(1, UL) << IRQ_S_TIMER) | \
-				 (_AC(1, UL) << IRQ_S_EXT) | \
-				 (_AC(1, UL) << IRQ_PMU_OVF))
+				 (_AC(1, UL) << IRQ_S_EXT))
+#define VSIP_NO_BIAS_MASK	(_AC(1, UL) << IRQ_PMU_OVF)
+#define VSIP_VALID_MASK		(VSIP_BIAS_MASK | VSIP_NO_BIAS_MASK)
+#define vsip_to_hvip(_vsip)	((((_vsip) & VSIP_BIAS_MASK) << \
+				  VSIP_TO_HVIP_SHIFT) | \
+				 ((_vsip) & VSIP_NO_BIAS_MASK))
+#define hvip_to_vsip(_hvip)	((((_hvip) >> VSIP_TO_HVIP_SHIFT) & \
+				  VSIP_BIAS_MASK) | \
+				 ((_hvip) & VSIP_NO_BIAS_MASK))
 
 /* AIA CSR bits */
 #define TOPI_IID_SHIFT		16
arch/riscv/kvm/aia_imsic.c +9 -2
index d38f5de0834c..74f520e572b1 100644
@@ -969,9 +969,14 @@ int kvm_riscv_aia_imsic_rw_attr(struct kvm *kvm, unsigned long type,
 	if (!vcpu)
 		return -ENODEV;
 
+	if (mutex_lock_killable(&vcpu->mutex))
+		return -EINTR;
+
 	imsic = vcpu->arch.aia_context.imsic_state;
-	if (!imsic)
-		return -ENODEV;
+	if (!imsic) {
+		rc = -ENODEV;
+		goto out_unlock;
+	}
 	isel = KVM_DEV_RISCV_AIA_IMSIC_GET_ISEL(type);
 
 	read_lock_irqsave(&imsic->vsfile_lock, flags);
@@ -995,6 +1000,8 @@ int kvm_riscv_aia_imsic_rw_attr(struct kvm *kvm, unsigned long type,
 		rc = imsic_vsfile_rw(vsfile_hgei, vsfile_cpu, imsic->nr_eix,
 				     isel, write, val);
 
+out_unlock:
+	mutex_unlock(&vcpu->mutex);
 	return rc;
 }
 
arch/riscv/kvm/mmu.c +8 -2
index 8a0aa5e0e216..59e7297dea4a 100644
@@ -540,6 +540,7 @@ int kvm_riscv_mmu_map(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot,
 	int ret;
 	kvm_pfn_t hfn;
 	bool is_hugetlb;
+	bool unused = false;
 	bool writable;
 	short vma_pageshift;
 	gfn_t gfn = gpa >> PAGE_SHIFT;
@@ -620,6 +621,8 @@ int kvm_riscv_mmu_map(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot,
 				vma_pageshift, current);
 		return 0;
 	}
+	if (is_sigpending_pfn(hfn))
+		return -EINTR;
 	if (is_error_noslot_pfn(hfn))
 		return -EFAULT;
 
@@ -632,8 +635,10 @@ int kvm_riscv_mmu_map(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot,
 
 	write_lock(&kvm->mmu_lock);
 
-	if (mmu_invalidate_retry(kvm, mmu_seq))
+	if (mmu_invalidate_retry(kvm, mmu_seq)) {
+		unused = true;
 		goto out_unlock;
+	}
 
 	/*
 	 * Check if we are backed by a THP and thus use block mapping if
@@ -656,7 +661,8 @@ int kvm_riscv_mmu_map(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot,
 		kvm_err("Failed to map in G-stage\n");
 
 out_unlock:
-	kvm_release_faultin_page(kvm, page, ret && ret != -EEXIST, writable);
+	kvm_release_faultin_page(kvm, page,
+				 unused || (ret && ret != -EEXIST), writable);
 	write_unlock(&kvm->mmu_lock);
 	return ret;
 }
arch/riscv/kvm/nacl.c +16 -4
index 6f9f8963e9dd..0a2a50c6ce03 100644
@@ -42,12 +42,24 @@ void __kvm_riscv_nacl_hfence(void *shmem,
 		}
 	}
 
-	entp = shmem + SBI_NACL_SHMEM_HFENCE_ENTRY_CONFIG(i);
-	*entp = cpu_to_lelong(control);
+	/*
+	 * Per SBI v3.0 section 15.1.2, the Page_Number and Page_Count
+	 * words must be updated before the Config word with its Pending
+	 * bit set. WRITE_ONCE() stops the compiler from reordering the
+	 * stores and smp_wmb() makes the parameter words globally
+	 * visible to the SBI implementation (or NACL hardware) before
+	 * the Pending bit is set.
+	 */
 	entp = shmem + SBI_NACL_SHMEM_HFENCE_ENTRY_PNUM(i);
-	*entp = cpu_to_lelong(page_num);
+	WRITE_ONCE(*entp, cpu_to_lelong(page_num));
 	entp = shmem + SBI_NACL_SHMEM_HFENCE_ENTRY_PCOUNT(i);
-	*entp = cpu_to_lelong(page_count);
+	WRITE_ONCE(*entp, cpu_to_lelong(page_count));
+
+	/* Ensure the parameter words are visible before the Pending bit */
+	smp_wmb();
+
+	entp = shmem + SBI_NACL_SHMEM_HFENCE_ENTRY_CONFIG(i);
+	WRITE_ONCE(*entp, cpu_to_lelong(control));
 }
 
 int kvm_riscv_nacl_enable(void)
arch/riscv/kvm/vcpu.c +1 -2
index 977e36ab83d3..468918309dff 100644
@@ -475,8 +475,7 @@ bool kvm_riscv_vcpu_has_interrupts(struct kvm_vcpu *vcpu, u64 mask)
 	bool ret;
 
 	raw_spin_lock_irqsave(&vcpu->arch.irqs_pending_lock, flags);
-	ie = ((vcpu->arch.guest_csr.vsie & VSIP_VALID_MASK)
-		<< VSIP_TO_HVIP_SHIFT) & (unsigned long)mask;
+	ie = vsip_to_hvip(vcpu->arch.guest_csr.vsie) & (unsigned long)mask;
 	ie |= vcpu->arch.guest_csr.vsie & ~IRQ_LOCAL_MASK &
 		(unsigned long)mask;
 	ret = vcpu->arch.irqs_pending[0] & ie;
arch/riscv/kvm/vcpu_exit.c +1 -1
index 6c8530b9f29e..8092200c0f47 100644
@@ -267,7 +267,7 @@ int kvm_riscv_vcpu_exit(struct kvm_vcpu *vcpu, struct kvm_run *run,
 	}
 
 	/* Print details in-case of error */
-	if (ret < 0) {
+	if (ret < 0 && ret != -EINTR) {
 		kvm_err("VCPU exit error %d\n", ret);
 		kvm_err("SEPC=0x%lx SSTATUS=0x%lx HSTATUS=0x%lx\n",
 			vcpu->arch.guest_context.sepc,
arch/riscv/kvm/vcpu_onereg.c +3 -5
index 99b9107b1ac1..9fe829eed178 100644
@@ -272,7 +272,7 @@ static int kvm_riscv_vcpu_general_get_csr(struct kvm_vcpu *vcpu,
 
 	if (reg_num == KVM_REG_RISCV_CSR_REG(sip)) {
 		kvm_riscv_vcpu_flush_interrupts(vcpu);
-		*out_val = (csr->hvip >> VSIP_TO_HVIP_SHIFT) & VSIP_VALID_MASK;
+		*out_val = hvip_to_vsip(csr->hvip);
 		*out_val |= csr->hvip & ~IRQ_LOCAL_MASK;
 	} else
 		*out_val = ((unsigned long *)csr)[reg_num];
@@ -293,10 +293,8 @@ static int kvm_riscv_vcpu_general_set_csr(struct kvm_vcpu *vcpu,
 
 	reg_num = array_index_nospec(reg_num, regs_max);
 
-	if (reg_num == KVM_REG_RISCV_CSR_REG(sip)) {
-		reg_val &= VSIP_VALID_MASK;
-		reg_val <<= VSIP_TO_HVIP_SHIFT;
-	}
+	if (reg_num == KVM_REG_RISCV_CSR_REG(sip))
+		reg_val = vsip_to_hvip(reg_val);
 
 	((unsigned long *)csr)[reg_num] = reg_val;
 
arch/riscv/kvm/vcpu_pmu.c +17 -16
index a7f948410d53..73d76fd19896 100644
@@ -270,12 +270,13 @@ static int pmu_ctr_read(struct kvm_vcpu *vcpu, unsigned long cidx,
 			return -EINVAL;
 
 		pmc->counter_val = kvpmu->fw_event[fevent_code].value;
+		*out_val = pmc->counter_val;
 	} else if (pmc->perf_event) {
-		pmc->counter_val += perf_event_read_value(pmc->perf_event, &enabled, &running);
+		*out_val = pmc->counter_val +
+			   perf_event_read_value(pmc->perf_event, &enabled, &running);
 	} else {
 		return -EINVAL;
 	}
-	*out_val = pmc->counter_val;
 
 	return 0;
 }
@@ -645,7 +646,6 @@ int kvm_riscv_vcpu_pmu_ctr_stop(struct kvm_vcpu *vcpu, unsigned long ctr_base,
 {
 	struct kvm_pmu *kvpmu = vcpu_to_pmu(vcpu);
 	int i, pmc_index, sbiret = 0;
-	u64 enabled, running;
 	struct kvm_pmc *pmc;
 	int fevent_code;
 	bool snap_flag_set = flags & SBI_PMU_STOP_FLAG_TAKE_SNAPSHOT;
@@ -675,14 +675,19 @@ int kvm_riscv_vcpu_pmu_ctr_stop(struct kvm_vcpu *vcpu, unsigned long ctr_base,
 				goto out;
 			}
 
-			if (!kvpmu->fw_event[fevent_code].started)
+			if (!kvpmu->fw_event[fevent_code].started) {
 				sbiret = SBI_ERR_ALREADY_STOPPED;
-
-			kvpmu->fw_event[fevent_code].started = false;
+			} else {
+				kvpmu->fw_event[fevent_code].started = false;
+				pmc->counter_val = kvpmu->fw_event[fevent_code].value;
+			}
 		} else if (pmc->perf_event) {
 			if (pmc->started) {
-				/* Stop counting the counter */
-				perf_event_disable(pmc->perf_event);
+				/*
+				 * Stop the counter and fold the live count into counter_val.
+				 * Reset the event value to avoid redundant accumulation.
+				 */
+				pmc->counter_val += perf_event_pause(pmc->perf_event, true);
 				pmc->started = false;
 			} else {
 				sbiret = SBI_ERR_ALREADY_STOPPED;
@@ -696,11 +701,6 @@ int kvm_riscv_vcpu_pmu_ctr_stop(struct kvm_vcpu *vcpu, unsigned long ctr_base,
 		}
 
 		if (snap_flag_set && !sbiret) {
-			if (pmc->cinfo.type == SBI_PMU_CTR_TYPE_FW)
-				pmc->counter_val = kvpmu->fw_event[fevent_code].value;
-			else if (pmc->perf_event)
-				pmc->counter_val += perf_event_read_value(pmc->perf_event,
-									  &enabled, &running);
 			/*
 			 * The counter and overflow indices in the snapshot region are w.r.to
 			 * cbase. Modify the set bit in the counter mask instead of the pmc_index
@@ -727,9 +727,10 @@ int kvm_riscv_vcpu_pmu_ctr_stop(struct kvm_vcpu *vcpu, unsigned long ctr_base,
 		}
 	}
 
-	if (shmem_needs_update)
-		kvm_vcpu_write_guest(vcpu, kvpmu->snapshot_addr, kvpmu->sdata,
-					     sizeof(struct riscv_pmu_snapshot_data));
+	if (shmem_needs_update &&
+	    kvm_vcpu_write_guest(vcpu, kvpmu->snapshot_addr, kvpmu->sdata,
+				 sizeof(struct riscv_pmu_snapshot_data)))
+		sbiret = SBI_ERR_FAILURE;
 
 out:
 	retdata->err_val = sbiret;
arch/riscv/kvm/vcpu_sbi_hsm.c +2 -2
index f26207f84bab..06a15629c26b 100644
@@ -95,9 +95,9 @@ static int kvm_sbi_ext_hsm_handler(struct kvm_vcpu *vcpu, struct kvm_run *run,
 		ret = kvm_sbi_hsm_vcpu_get_status(vcpu);
 		if (ret >= 0) {
 			retdata->out_val = ret;
-			retdata->err_val = 0;
+			ret = 0;
 		}
-		return 0;
+		break;
 	case SBI_EXT_HSM_HART_SUSPEND:
 		switch (lower_32_bits(cp->a0)) {
 		case SBI_HSM_SUSPEND_RET_DEFAULT:
arch/riscv/kvm/vcpu_timer.c +4 -1
index ae53133c7ab0..a2cd277a4059 100644
@@ -61,10 +61,13 @@ static enum hrtimer_restart kvm_riscv_vcpu_hrtimer_expired(struct hrtimer *h)
 
 static int kvm_riscv_vcpu_timer_cancel(struct kvm_vcpu_timer *t)
 {
-	if (!t->init_done || !t->next_set)
+	if (!t->init_done)
 		return -EINVAL;
 
 	hrtimer_cancel(&t->hrt);
+
+	if (!t->next_set)
+		return -EINVAL;
 	t->next_set = false;
 
 	return 0;
arch/s390/crypto/hmac_s390.c +4 -1
index f8cd09f341d4..445fa7bbd958 100644
@@ -150,7 +150,10 @@ static int hash_data(const u8 *in, unsigned int inlen,
 
 #undef PARAM_INIT
 
-	cpacf_klmd(func, &param, in, inlen);
+	if (final)
+		cpacf_klmd(func, &param, in, inlen);
+	else
+		cpacf_kimd(func, &param, in, inlen);
 
 	memcpy(digest, &param, digestsize);
 
arch/s390/include/asm/debug.h +6 -2
index 39d484c59774..ad438d6352c8 100644
@@ -460,7 +460,11 @@ static int VNAME(var, active_entries)[EARLY_AREAS] __initdata
 #define __REGISTER_STATIC_DEBUG_INFO(var, name, pages, areas, view)	\
 static int __init VNAME(var, reg)(void)					\
 {									\
-	debug_register_static(&var, (pages), (areas));			\
+	int rc;								\
+									\
+	rc = debug_register_static(&var, (pages), (areas));		\
+	if (rc)								\
+		return rc;						\
 	debug_register_view(&var, (view));				\
 	return 0;							\
 }									\
@@ -493,7 +497,7 @@ static debug_info_t __refdata var =					\
 static debug_info_t __used __section(".s390dbf_info") *VNAME(var, info) = &var; \
 __REGISTER_STATIC_DEBUG_INFO(var, name, pages, nr_areas, view)
 
-void debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas);
+int debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas);
 
 #endif /* MODULE */
 
arch/s390/kernel/debug.c +11 -4
index e06abf1dbc21..71c966f4c5d0 100644
@@ -432,7 +432,8 @@ static debug_info_t *debug_info_copy(debug_info_t *in, int mode)
 		debug_info_free(rc);
 	} while (1);
 
-	if (mode == NO_AREAS)
+	/* debug_register_static() failure leaves areas NULL, bounds intact */
+	if (mode == NO_AREAS || !in->areas)
 		goto out;
 
 	for (i = 0; i < in->nr_areas; i++) {
@@ -948,8 +949,12 @@ EXPORT_SYMBOL(debug_register);
  *
  * Note: This function is called automatically via an initcall generated by
  *	 DEFINE_STATIC_DEBUG_INFO.
+ *
+ * Return:
+ * - 0 on success
+ * - negative error code on failure
  */
-void debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas)
+int debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas)
 {
 	unsigned long flags;
 	debug_info_t *copy;
@@ -957,7 +962,7 @@ void debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas)
 	if (!initialized) {
 		pr_err("Tried to register debug feature %s too early\n",
 		       id->name);
-		return;
+		return -EINVAL;
 	}
 
 	debug_get_param(id->name, &id->level, &pages_per_area);
@@ -973,7 +978,7 @@ void debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas)
 		id->active_entries = NULL;
 		raw_spin_unlock_irqrestore(&id->lock, flags);
 
-		return;
+		return -ENOMEM;
 	}
 
 	/* Replace static trace area with dynamic copy. */
@@ -991,6 +996,8 @@ void debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas)
 	mutex_lock(&debug_mutex);
 	_debug_register(id);
 	mutex_unlock(&debug_mutex);
+
+	return 0;
 }
 
 /* Remove debugfs entries. */
arch/s390/kernel/uv.c +5 -3
index a284f98d9716..e70acad09cd5 100644
@@ -760,7 +760,7 @@ static int find_secret_in_page(const u8 secret_id[UV_SECRET_ID_LEN],
 {
 	u16 i;
 
-	for (i = 0; i < list->total_num_secrets; i++) {
+	for (i = 0; i < list->num_secr_stored; i++) {
 		if (memcmp(secret_id, list->secrets[i].id, UV_SECRET_ID_LEN) == 0) {
 			*secret = list->secrets[i].hdr;
 			return 0;
@@ -781,11 +781,14 @@ int uv_find_secret(const u8 secret_id[UV_SECRET_ID_LEN],
 		   struct uv_secret_list *list,
 		   struct uv_secret_list_item_hdr *secret)
 {
-	u16 start_idx = 0;
+	u16 start_idx;
 	u16 list_rc;
 	int ret;
 
+	list->next_secret_idx = 0;
+
 	do {
+		start_idx = list->next_secret_idx;
 		uv_list_secrets(list, start_idx, &list_rc, NULL);
 		if (list_rc != UVC_RC_EXECUTED && list_rc != UVC_RC_MORE_DATA) {
 			if (list_rc == UVC_RC_INV_CMD)
@@ -796,7 +799,6 @@ int uv_find_secret(const u8 secret_id[UV_SECRET_ID_LEN],
 		ret = find_secret_in_page(secret_id, list, secret);
 		if (ret == 0)
 			return ret;
-		start_idx = list->next_secret_idx;
 	} while (list_rc == UVC_RC_MORE_DATA && start_idx < list->next_secret_idx);
 
 	return -ENOENT;
arch/s390/kvm/dat.c +32 -9

92 lines not on this page · raw message

arch/s390/kvm/gaccess.c +13 -0
index 36102b2727fb..7c1f614ec314 100644
@@ -1593,12 +1593,25 @@ static inline int ___gaccess_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg
 	parent = READ_ONCE(sg->parent);
 	if (!parent)
 		return -EAGAIN;
+retry:
 	scoped_guard(spinlock, &parent->children_lock) {
 		if (READ_ONCE(sg->parent) != parent)
 			return -EAGAIN;
 		sg->invalidated = false;
 		rc = _gaccess_do_shadow(vcpu->arch.mc, sg, saddr, walk);
 	}
+	if (rc == -ENOENT) {
+		struct kvm_memory_slot *slot;
+		struct guest_fault *entries;
+
+		entries = get_entries(walk);
+		slot = kvm_vcpu_gfn_to_memslot(vcpu, entries[LEVEL_MEM].gfn);
+		if (!slot)
+			return PGM_ADDRESSING;
+		rc = gmap_link(vcpu->arch.mc, parent, entries + LEVEL_MEM, slot);
+		if (!rc)
+			goto retry;
+	}
 	if (!rc)
 		kvm_s390_release_faultin_array(vcpu->kvm, walk->raw_entries, false);
 	return rc;
arch/s390/kvm/gmap.c +4 -2
index 8abb4f55b306..f11d4ecaef7b 100644
@@ -991,11 +991,13 @@ static long _destroy_pages_pte(union pte *ptep, gfn_t gfn, gfn_t next, struct da
 static long _destroy_pages_crste(union crste *crstep, gfn_t gfn, gfn_t next, struct dat_walk *walk)
 {
 	phys_addr_t origin, cur, end;
+	union crste crste;
 
-	if (!crstep->h.fc || !crstep->s.fc1.pr)
+	crste = READ_ONCE(*crstep);
+	if (!crste.h.fc || !crste.s.fc1.pr)
 		return 0;
 
-	origin = crste_origin_large(*crstep);
+	origin = crste_origin_large(crste);
 	cur = ((max(gfn, walk->start) - gfn) << PAGE_SHIFT) + origin;
 	end = ((min(next, walk->end) - gfn) << PAGE_SHIFT) + origin;
 	for ( ; cur < end; cur += PAGE_SIZE)
arch/s390/kvm/interrupt.c +77 -70

257 lines not on this page · raw message

arch/s390/pci/pci_event.c +5 -2
index 839bd91c056e..c1d6ec9977a5 100644
@@ -190,6 +190,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)
 	device_lock(&pdev->dev);
 	if (pdev->error_state == pci_channel_io_perm_failure) {
 		ers_res = PCI_ERS_RESULT_DISCONNECT;
+		status_str = "skipped (permanent failure)";
 		goto out_unlock;
 	}
 	pdev->error_state = pci_channel_io_frozen;
@@ -256,8 +257,8 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)
 		driver->err_handler->resume(pdev);
 	pci_uevent_ers(pdev, PCI_ERS_RESULT_RECOVERED);
 out_unlock:
+	zpci_report_status(zdev, pdev, "recovery", status_str);
 	device_unlock(&pdev->dev);
-	zpci_report_status(zdev, "recovery", status_str);
 
 	return ers_res;
 }
@@ -320,8 +321,10 @@ static void __zpci_event_error(struct zpci_ccdf_err *ccdf)
 	pr_err("%s: Event 0x%x reports an error for PCI function 0x%x\n",
 	       pdev ? pci_name(pdev) : "n/a", ccdf->pec, ccdf->fid);
 
-	if (!pdev)
+	if (!pdev) {
+		zpci_report_status(zdev, NULL, "error event", "no pdev bound");
 		goto no_pdev;
+	}
 
 	switch (ccdf->pec) {
 	case 0x002a: /* Error event concerns FMB */
arch/s390/pci/pci_report.c +20 -12
index 7030f7052926..72ecabf7003c 100644
@@ -87,9 +87,23 @@ static struct debug_view debug_log_view = {
 	NULL
 };
 
+static ssize_t zpci_report_pdev(struct pci_dev *pdev, char *buf, size_t size)
+{
+	struct pci_driver *driver;
+	const char *start = buf;
+	char *end = buf + size;
+
+	device_lock_assert(&pdev->dev);
+	buf += scnprintf(buf, end - buf, "state: %s\n", zpci_state_str(pdev->error_state));
+	driver = to_pci_driver(pdev->dev.driver);
+	buf += scnprintf(buf, end - buf, "driver: %s\n", (driver) ? driver->name : "n/a");
+	return buf - start;
+}
+
 /**
  * zpci_report_status - Report the status of operations on a PCI device
- * @zdev:	The PCI device for which to report status
+ * @zdev:	The zPCI device for which to report status
+ * @pdev:	The PCI device associated with the zdev if any, NULL otherwise
  * @operation:	A string representing the operation reported
  * @status:	A string representing the status of the operation
  *
@@ -103,15 +117,14 @@ static struct debug_view debug_log_view = {
  *
  * Return: 0 on success an error code < 0 otherwise.
  */
-int zpci_report_status(struct zpci_dev *zdev, const char *operation, const char *status)
+int zpci_report_status(struct zpci_dev *zdev, struct pci_dev *pdev,
+		       const char *operation, const char *status)
 {
 	struct zpci_report_error *report;
-	struct pci_driver *driver = NULL;
-	struct pci_dev *pdev = NULL;
 	char *buf, *end;
 	int ret;
 
-	if (!zdev || !zdev->zbus)
+	if (!zdev)
 		return -ENODEV;
 
 	/* Protected virtualization hosts get nothing from us */
@@ -121,18 +134,13 @@ int zpci_report_status(struct zpci_dev *zdev, const char *operation, const char
 	report = (void *)get_zeroed_page(GFP_KERNEL);
 	if (!report)
 		return -ENOMEM;
-	if (zdev->zbus->bus)
-		pdev = pci_get_slot(zdev->zbus->bus, zdev->devfn);
-	if (pdev)
-		driver = to_pci_driver(pdev->dev.driver);
 
 	buf = report->data.log_data;
 	end = report->data.log_data + ZPCI_REPORT_DATA_SIZE;
 	buf += scnprintf(buf, end - buf, "report: %s\n", operation);
 	buf += scnprintf(buf, end - buf, "status: %s\n", status);
-	buf += scnprintf(buf, end - buf, "state: %s\n",
-			 (pdev) ? zpci_state_str(pdev->error_state) : "n/a");
-	buf += scnprintf(buf, end - buf, "driver: %s\n", (driver) ? driver->name : "n/a");
+	if (pdev)
+		buf += zpci_report_pdev(pdev, buf, end - buf);
 	ret = debug_dump(pci_debug_msg_id, &debug_log_view, buf, end - buf, true);
 	if (ret < 0)
 		pr_err("Reading PCI debug messages failed with code %d\n", ret);
arch/s390/pci/pci_report.h +3 -1
index e08003d51a97..dd7b0b05001c 100644
@@ -8,9 +8,11 @@
  */
 #ifndef __S390_PCI_REPORT_H
 #define __S390_PCI_REPORT_H
+#include <linux/pci.h>
 
 struct zpci_dev;
 
-int zpci_report_status(struct zpci_dev *zdev, const char *operation, const char *status);
+int zpci_report_status(struct zpci_dev *zdev, struct pci_dev *pdev,
+		       const char *operation, const char *status);
 
 #endif /* __S390_PCI_REPORT_H */
arch/x86/coco/sev/svsm.c +8 -2
index 916d62cd17dc..2d493d55ff2e 100644
@@ -74,6 +74,14 @@ int svsm_perform_call_protocol(struct svsm_call *call)
 
 	flags = native_local_irq_save();
 
+	/*
+	 * 'caa' is a per-CPU variable. To avoid using a stale or incorrect
+	 * 'caa' if the task is preempted or migrated to another CPU after it
+	 * is fetched, always fetch 'caa' and then issue the SVSM call with
+	 * interrupts disabled. This ensures the correct 'caa' is used.
+	 */
+	call->caa = svsm_get_caa();
+
 	ghcb = __sev_get_ghcb(&state);
 
 	do {
@@ -321,7 +329,6 @@ int snp_svsm_vtpm_send_command(u8 *buffer)
 {
 	struct svsm_call call = {};
 
-	call.caa = svsm_get_caa();
 	call.rax = SVSM_VTPM_CALL(SVSM_VTPM_CMD);
 	call.rcx = __pa(buffer);
 
@@ -345,7 +352,6 @@ bool snp_svsm_vtpm_probe(void)
 	if (!snp_vmpl)
 		return false;
 
-	call.caa = svsm_get_caa();
 	call.rax = SVSM_VTPM_CALL(SVSM_VTPM_QUERY);
 
 	if (svsm_perform_call_protocol(&call))
arch/x86/events/amd/brs.c +4 -5
index dc564688f3d7..54b13faba116 100644
@@ -343,11 +343,10 @@ void amd_brs_drain(void)
 		if (!amd_brs_match_plm(event, from, to))
 			continue;
 
-		perf_clear_branch_entry_bitfields(br+nr);
-
-		br[nr].from = from;
-		br[nr].to   = to;
-
+		br[nr] = (struct perf_branch_entry){
+			.from	= from,
+			.to	= to,
+		};
 		nr++;
 	}
 empty:
arch/x86/events/amd/lbr.c +8 -8
index 9d9c961989d5..a55646fcb846 100644
@@ -184,13 +184,6 @@ void amd_pmu_lbr_read(void)
 		    entry.to.split.reserved)
 			continue;
 
-		perf_clear_branch_entry_bitfields(br + out);
-
-		br[out].from	= sign_ext_branch_ip(entry.from.split.ip);
-		br[out].to	= sign_ext_branch_ip(entry.to.split.ip);
-		br[out].mispred	= entry.from.split.mispredict;
-		br[out].predicted = !br[out].mispred;
-
 		/*
 		 * Set branch speculation information using the status of
 		 * the valid and spec bits.
@@ -208,7 +201,14 @@ void amd_pmu_lbr_read(void)
 		 * speculative and took the correct path
 		 */
 		idx = (entry.to.split.valid << 1) | entry.to.split.spec;
-		br[out].spec = lbr_spec_map[idx];
+
+		br[out] = (struct perf_branch_entry){
+			.from		= sign_ext_branch_ip(entry.from.split.ip),
+			.to		= sign_ext_branch_ip(entry.to.split.ip),
+			.mispred	= entry.from.split.mispredict,
+			.predicted	= !entry.from.split.mispredict,
+			.spec		= lbr_spec_map[idx],
+		};
 		out++;
 	}
 
arch/x86/events/intel/core.c +55 -25

122 lines not on this page · raw message

arch/x86/events/intel/ds.c +29 -39

128 lines not on this page · raw message

arch/x86/events/intel/lbr.c +35 -30

89 lines not on this page · raw message

arch/x86/events/perf_event.h +0 -4
index 680220d311a7..b577d6048bbb 100644
@@ -517,10 +517,6 @@ struct cpu_hw_events {
 	__EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS, \
 			  HWEIGHT(n), 0, PERF_X86_EVENT_PEBS_ST)
 
-#define INTEL_HYBRID_LAT_CONSTRAINT(c, n)	\
-	__EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS, \
-			  HWEIGHT(n), 0, PERF_X86_EVENT_PEBS_LAT_HYBRID)
-
 #define INTEL_HYBRID_LDLAT_CONSTRAINT(c, n)	\
 	__EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS, \
 			  HWEIGHT(n), 0, PERF_X86_EVENT_PEBS_LAT_HYBRID|PERF_X86_EVENT_PEBS_LD_HSW)
arch/x86/include/asm/kvm-x86-nested-ops.h new file +36 -0
new file mode 100644
index 000000000000..4b1be5bcecaa
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#if !defined(KVM_X86_NESTED_OP) || \
+    !defined(KVM_X86_NESTED_OP_OPTIONAL) || \
+    !defined(KVM_X86_NESTED_OP_OPTIONAL_RET0)
+#error Missing one or more KVM_X86_NESTED_OP #defines
+#else
+/*
+ * KVM_X86_NESTED_OP() and KVM_X86_NESTED_OP_OPTIONAL() are used to help
+ * generate both DECLARE/DEFINE_STATIC_CALL() invocations and
+ * "static_call_update()" calls.
+ *
+ * KVM_X86_NESTED_OP_OPTIONAL() can be used for those functions that can have
+ * a NULL definition.  KVM_X86_NESTED_OP_OPTIONAL_RET0() can be used likewise
+ * to make a definition optional, but in this case the default will
+ * be __static_call_return0.
+ */
+KVM_X86_NESTED_OP(leave_nested)
+KVM_X86_NESTED_OP(is_exception_vmexit)
+KVM_X86_NESTED_OP(check_events)
+KVM_X86_NESTED_OP_OPTIONAL_RET0(has_events)
+KVM_X86_NESTED_OP(triple_fault)
+KVM_X86_NESTED_OP(get_state)
+KVM_X86_NESTED_OP(set_state)
+KVM_X86_NESTED_OP(get_nested_state_pages)
+KVM_X86_NESTED_OP_OPTIONAL_RET0(write_log_dirty)
+KVM_X86_NESTED_OP(translate_nested_gpa)
+#ifdef CONFIG_KVM_HYPERV
+KVM_X86_NESTED_OP_OPTIONAL(enable_evmcs)
+KVM_X86_NESTED_OP_OPTIONAL_RET0(get_evmcs_version)
+KVM_X86_NESTED_OP(hv_inject_synthetic_vmexit_post_tlb_flush)
+#endif
+#endif
+
+#undef KVM_X86_NESTED_OP
+#undef KVM_X86_NESTED_OP_OPTIONAL
+#undef KVM_X86_NESTED_OP_OPTIONAL_RET0
arch/x86/include/asm/kvm_host.h +10 -12
index 2dfd6199a10c..d02c6c42d2a0 100644
@@ -2019,6 +2019,8 @@ struct kvm_x86_ops {
 };
 
 struct kvm_x86_nested_ops {
+	bool enabled;
+
 	void (*leave_nested)(struct kvm_vcpu *vcpu);
 	bool (*is_exception_vmexit)(struct kvm_vcpu *vcpu, u8 vector,
 				    u32 error_code);
@@ -2075,6 +2077,14 @@ extern struct kvm_x86_ops kvm_x86_ops;
 #define KVM_X86_OP_OPTIONAL_RET0 KVM_X86_OP
 #include <asm/kvm-x86-ops.h>
 
+#define kvm_nested_call(func) static_call(kvm_x86_nested_##func)
+
+#define KVM_X86_NESTED_OP(func) \
+	DECLARE_STATIC_CALL(kvm_x86_nested_##func, *(((struct kvm_x86_nested_ops *)0)->func));
+#define KVM_X86_NESTED_OP_OPTIONAL KVM_X86_NESTED_OP
+#define KVM_X86_NESTED_OP_OPTIONAL_RET0 KVM_X86_NESTED_OP
+#include <asm/kvm-x86-nested-ops.h>
+
 int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops);
 void kvm_x86_vendor_exit(void);
 
@@ -2433,13 +2443,6 @@ static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code)
 	kvm_queue_exception_e(vcpu, GP_VECTOR, error_code);
 }
 
-#define TSS_IOPB_BASE_OFFSET 0x66
-#define TSS_BASE_SIZE 0x68
-#define TSS_IOPB_SIZE (65536 / 8)
-#define TSS_REDIRECTION_SIZE (256 / 8)
-#define RMODE_TSS_SIZE							\
-	(TSS_BASE_SIZE + TSS_REDIRECTION_SIZE + TSS_IOPB_SIZE + 1)
-
 enum {
 	TASK_SWITCH_CALL = 0,
 	TASK_SWITCH_IRET = 1,
@@ -2462,12 +2465,7 @@ enum {
 # define kvm_memslots_for_spte_role(kvm, role) __kvm_memslots(kvm, 0)
 #endif
 
-int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v);
-int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
-int kvm_cpu_has_extint(struct kvm_vcpu *v);
 int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu);
-int kvm_cpu_get_extint(struct kvm_vcpu *v);
-int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
 void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event);
 
 int kvm_pv_send_ipi(struct kvm *kvm, unsigned long ipi_bitmap_low,
arch/x86/kernel/cpu/mce/core.c +10 -17
index cfb74be19994..1aebc8394fca 100644
@@ -2108,6 +2108,9 @@ bool filter_mce(struct mce *m)
 static __always_inline void exc_machine_check_kernel(struct pt_regs *regs)
 {
 	irqentry_state_t irq_state;
+	unsigned long dr7;
+
+	dr7 = local_db_save();
 
 	WARN_ON_ONCE(user_mode(regs));
 
@@ -2116,20 +2119,26 @@ static __always_inline void exc_machine_check_kernel(struct pt_regs *regs)
 	 * mce_check_crashing_cpu() for details.
 	 */
 	if (mca_cfg.initialized && mce_check_crashing_cpu())
-		return;
+		goto out;
 
 	irq_state = irqentry_nmi_enter(regs);
 
 	do_machine_check(regs);
 
 	irqentry_nmi_exit(regs, irq_state);
+out:
+	local_db_restore(dr7);
 }
 
 static __always_inline void exc_machine_check_user(struct pt_regs *regs)
 {
+	unsigned long dr7;
+
 	irqentry_enter_from_user_mode(regs);
 
+	dr7 = local_db_save();
 	do_machine_check(regs);
+	local_db_restore(dr7);
 
 	irqentry_exit_to_user_mode(regs);
 }
@@ -2138,21 +2147,13 @@ static __always_inline void exc_machine_check_user(struct pt_regs *regs)
 /* MCE hit kernel mode */
 DEFINE_IDTENTRY_MCE(exc_machine_check)
 {
-	unsigned long dr7;
-
-	dr7 = local_db_save();
 	exc_machine_check_kernel(regs);
-	local_db_restore(dr7);
 }
 
 /* The user mode variant. */
 DEFINE_IDTENTRY_MCE_USER(exc_machine_check)
 {
-	unsigned long dr7;
-
-	dr7 = local_db_save();
 	exc_machine_check_user(regs);
-	local_db_restore(dr7);
 }
 
 #ifdef CONFIG_X86_FRED
@@ -2169,28 +2170,20 @@ DEFINE_IDTENTRY_MCE_USER(exc_machine_check)
  */
 DEFINE_FREDENTRY_MCE(exc_machine_check)
 {
-	unsigned long dr7;
-
-	dr7 = local_db_save();
 	if (user_mode(regs))
 		exc_machine_check_user(regs);
 	else
 		exc_machine_check_kernel(regs);
-	local_db_restore(dr7);
 }
 #endif
 #else
 /* 32bit unified entry point */
 DEFINE_IDTENTRY_RAW(exc_machine_check)
 {
-	unsigned long dr7;
-
-	dr7 = local_db_save();
 	if (user_mode(regs))
 		exc_machine_check_user(regs);
 	else
 		exc_machine_check_kernel(regs);
-	local_db_restore(dr7);
 }
 #endif
 
arch/x86/kvm/hyperv.c +3 -3
index 5f43ae345f87..ddbd35ed255b 100644
@@ -2419,7 +2419,7 @@ static int kvm_hv_hypercall_complete(struct kvm_vcpu *vcpu, u64 result)
 	ret = kvm_skip_emulated_instruction(vcpu);
 
 	if (tlb_lock_count)
-		kvm_x86_ops.nested_ops->hv_inject_synthetic_vmexit_post_tlb_flush(vcpu);
+		kvm_nested_call(hv_inject_synthetic_vmexit_post_tlb_flush)(vcpu);
 
 	return ret;
 }
@@ -2800,8 +2800,8 @@ int kvm_get_hv_cpuid(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid,
 	};
 	int i, nent = ARRAY_SIZE(cpuid_entries);
 
-	if (kvm_x86_ops.nested_ops->get_evmcs_version)
-		evmcs_ver = kvm_x86_ops.nested_ops->get_evmcs_version(vcpu);
+	if (kvm_x86_ops.nested_ops->enabled)
+		evmcs_ver = kvm_nested_call(get_evmcs_version)(vcpu);
 
 	if (cpuid->nent < nent)
 		return -E2BIG;
arch/x86/kvm/irq.h +6 -0
index 34f4a78a7a01..1a84ea31e7fd 100644
@@ -112,6 +112,12 @@ static inline int irqchip_in_kernel(struct kvm *kvm)
 	return mode != KVM_IRQCHIP_NONE;
 }
 
+int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v);
+int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
+int kvm_cpu_has_extint(struct kvm_vcpu *v);
+int kvm_cpu_get_extint(struct kvm_vcpu *v);
+int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
+
 void kvm_inject_pending_timer_irqs(struct kvm_vcpu *vcpu);
 void kvm_inject_apic_timer_irqs(struct kvm_vcpu *vcpu);
 void kvm_apic_nmi_wd_deliver(struct kvm_vcpu *vcpu);
arch/x86/kvm/mmu.h +2 -3
index e1bb663ebbd5..bb6e01892852 100644
@@ -308,9 +308,8 @@ static inline gpa_t kvm_translate_gpa(struct kvm_vcpu *vcpu,
 {
 	if (mmu != &vcpu->arch.nested_mmu)
 		return gpa;
-	return kvm_x86_ops.nested_ops->translate_nested_gpa(vcpu, gpa, access,
-							    exception,
-							    pte_access);
+	return kvm_nested_call(translate_nested_gpa)(vcpu, gpa, access,
+						     exception, pte_access);
 }
 
 static inline bool kvm_has_mirrored_tdp(const struct kvm *kvm)
arch/x86/kvm/mmu/mmu.c +97 -32

153 lines not on this page · raw message

arch/x86/kvm/mmu/mmu_internal.h +0 -66

78 lines not on this page · raw message

arch/x86/kvm/mmu/paging_tmpl.h +1 -1
index 1ba840a73b7a..8d2c46bc6c0f 100644
@@ -233,7 +233,7 @@ static int FNAME(update_accessed_dirty_bits)(struct kvm_vcpu *vcpu,
 				!(pte & PT_GUEST_DIRTY_MASK)) {
 			trace_kvm_mmu_set_dirty_bit(table_gfn, index, sizeof(pte));
 #if PTTYPE == PTTYPE_EPT
-			if (kvm_x86_ops.nested_ops->write_log_dirty(vcpu, addr))
+			if (kvm_nested_call(write_log_dirty)(vcpu, addr))
 				return -EINVAL;
 #endif
 			pte |= PT_GUEST_DIRTY_MASK;
arch/x86/kvm/pmu.c +0 -8
index dd1c57593f48..7fedf25cf46f 100644
@@ -812,14 +812,6 @@ void kvm_pmu_deliver_pmi(struct kvm_vcpu *vcpu)
 
 bool kvm_pmu_is_valid_msr(struct kvm_vcpu *vcpu, u32 msr)
 {
-	switch (msr) {
-	case MSR_CORE_PERF_GLOBAL_STATUS:
-	case MSR_CORE_PERF_GLOBAL_CTRL:
-	case MSR_CORE_PERF_GLOBAL_OVF_CTRL:
-		return kvm_pmu_has_perf_global_ctrl(vcpu_to_pmu(vcpu));
-	default:
-		break;
-	}
 	return kvm_pmu_call(msr_idx_to_pmc)(vcpu, msr) ||
 	       kvm_pmu_call(is_valid_msr)(vcpu, msr);
 }
arch/x86/kvm/svm/nested.c +1 -0
index 3e6c671a8dc2..c1485c3e691c 100644
@@ -23,6 +23,7 @@
 
 #include "kvm_emulate.h"
 #include "trace.h"
+#include "irq.h"
 #include "mmu.h"
 #include "x86.h"
 #include "smm.h"
arch/x86/kvm/svm/sev.c +16 -2
index 1ed78f770340..62561da83107 100644
@@ -2048,6 +2048,12 @@ static void sev_migrate_from(struct kvm *dst_kvm, struct kvm *src_kvm)
 	src->pages_locked = 0;
 	src->es_active = false;
 
+	/*
+	 * Do cache maintenance on the source VM as it is no longer an SEV VM,
+	 * i.e. memory reclaim flows won't trigger cache maintenance on the VM.
+	 */
+	sev_writeback_caches(src_kvm);
+
 	list_cut_before(&dst->regions_list, &src->regions_list, &src->regions_list);
 
 	mutex_lock(&sev_mirror_lock);
@@ -2187,6 +2193,10 @@ int sev_vm_move_enc_context_from(struct kvm *kvm, unsigned int source_fd)
 	 * the set of CPUs from the source.  If a CPU was used to run a vCPU in
 	 * the source VM but is never used for the destination VM, then the CPU
 	 * can only have cached memory that was accessible to the source VM.
+	 * Furthermore, KVM *must* perform cache maintenance on the source VM,
+	 * as the source VM may have access to memory that the destination VM
+	 * does not, i.e. KVM could skip flushes if memory is reclaimed from
+	 * the old VM but not the new VM.
 	 */
 	if (!zalloc_cpumask_var(&dst_sev->have_run_cpus, GFP_KERNEL_ACCOUNT)) {
 		ret = -ENOMEM;
@@ -2981,13 +2991,17 @@ void sev_vm_destroy(struct kvm *kvm)
 	struct list_head *head = &sev->regions_list;
 	struct list_head *pos, *q;
 
+	/*
+	 * Free the mask even if the VM is not *currently* an SEV VM, as it may
+	 * have been an SEV VM prior to intra-host migration.
+	 */
+	free_cpumask_var(sev->have_run_cpus);
+
 	if (!sev_guest(kvm))
 		return;
 
 	WARN_ON(!list_empty(&sev->mirror_vms));
 
-	free_cpumask_var(sev->have_run_cpus);
-
 	/*
 	 * If this is a mirror VM, remove it from the owner's list of a mirrors
 	 * and skip ASID cleanup (the ASID is tied to the lifetime of the owner).
arch/x86/kvm/svm/svm.c +1 -0
index 03fb9d7231c8..d1423bab1a3a 100644
@@ -5662,6 +5662,7 @@ static __init int svm_hardware_setup(void)
 		if (r)
 			return r;
 	}
+	svm_nested_ops.enabled = nested;
 
 	/*
 	 * KVM's MMU doesn't support using 2-level paging for itself, and thus
arch/x86/kvm/tss.h +7 -0
index 3f9150125e70..117bf8bec07d 100644
@@ -57,4 +57,11 @@ struct tss_segment_16 {
 	u16 ldt;
 };
 
+#define TSS_IOPB_BASE_OFFSET 0x66
+#define TSS_BASE_SIZE 0x68
+#define TSS_IOPB_SIZE (65536 / 8)
+#define TSS_REDIRECTION_SIZE (256 / 8)
+#define RMODE_TSS_SIZE							\
+	(TSS_BASE_SIZE + TSS_REDIRECTION_SIZE + TSS_IOPB_SIZE + 1)
+
 #endif
arch/x86/kvm/vmx/nested.c +1 -0
index ed28cf6b6efc..cec7eb646a1e 100644
@@ -11,6 +11,7 @@
 #include "x86.h"
 #include "cpuid.h"
 #include "hyperv.h"
+#include "irq.h"
 #include "mmu.h"
 #include "nested.h"
 #include "pmu.h"
arch/x86/kvm/vmx/pmu_intel.c +3 -0
index 1944939c4139..e65ba7e85611 100644
@@ -187,6 +187,9 @@ static bool intel_is_valid_msr(struct kvm_vcpu *vcpu, u32 msr)
 	int ret;
 
 	switch (msr) {
+	case MSR_CORE_PERF_GLOBAL_STATUS:
+	case MSR_CORE_PERF_GLOBAL_CTRL:
+	case MSR_CORE_PERF_GLOBAL_OVF_CTRL:
 	case MSR_CORE_PERF_FIXED_CTR_CTRL:
 		return kvm_pmu_has_perf_global_ctrl(pmu);
 	case MSR_IA32_PEBS_ENABLE:
arch/x86/kvm/vmx/vmx.c +2 -0
index b8d745f6fd22..61243d16febf 100644
@@ -72,6 +72,7 @@
 #include "x86.h"
 #include "x86_ops.h"
 #include "smm.h"
+#include "tss.h"
 #include "vmx_onhyperv.h"
 #include "vmenter.h"
 #include "posted_intr.h"
@@ -8770,6 +8771,7 @@ __init int vmx_hardware_setup(void)
 		if (r)
 			return r;
 	}
+	vmx_nested_ops.enabled = nested;
 
 	kvm_set_posted_intr_wakeup_handler(pi_wakeup_handler);
 
arch/x86/kvm/x86.c +39 -23

168 lines not on this page · raw message

arch/x86/kvm/x86.h +1 -1
index bd2699bd3fe8..9973f905955a 100644
@@ -151,7 +151,7 @@ int kvm_check_nested_events(struct kvm_vcpu *vcpu);
 /* Forcibly leave the nested mode in cases like a vCPU reset */
 static inline void kvm_leave_nested(struct kvm_vcpu *vcpu)
 {
-	kvm_x86_ops.nested_ops->leave_nested(vcpu);
+	kvm_nested_call(leave_nested)(vcpu);
 }
 
 /*
arch/x86/pci/fixup.c +99 -0

105 lines not on this page · raw message

block/blk-zoned.c +13 -2
index ca30caec838e..dd6bc679210c 100644
@@ -2048,12 +2048,17 @@ static int disk_revalidate_zone_resources(struct gendisk *disk,
 				struct blk_revalidate_zone_args *args)
 {
 	struct queue_limits *lim = &disk->queue->limits;
+	unsigned long long nr_zones;
 	unsigned int pool_size;
 	int ret = 0;
 
 	args->disk = disk;
-	args->nr_zones =
-		DIV_ROUND_UP_ULL(get_capacity(disk), lim->chunk_sectors);
+	nr_zones = DIV_ROUND_UP_ULL(get_capacity(disk), lim->chunk_sectors);
+	if (nr_zones > UINT_MAX) {
+		pr_warn("%s: Too many zones (%llu)\n", disk->disk_name, nr_zones);
+		return -EINVAL;
+	}
+	args->nr_zones = nr_zones;
 
 	/* Cached zone conditions: 1 byte per zone */
 	args->zones_cond = kzalloc(args->nr_zones, GFP_NOIO);
@@ -2161,6 +2166,12 @@ static int blk_revalidate_zone_cond(struct blk_zone *zone, unsigned int idx,
 {
 	enum blk_zone_cond cond = zone->cond;
 
+	if (idx >= args->nr_zones) {
+		pr_warn("%s: Zone report index %u exceeds zone count %u\n",
+			args->disk->disk_name, idx, args->nr_zones);
+		return -EINVAL;
+	}
+
 	/* Check that the zone condition is consistent with the zone type. */
 	switch (cond) {
 	case BLK_ZONE_COND_NOT_WP:
drivers/accel/ivpu/ivpu_drv.c +26 -5
index 35e506074d5f..8c1c87e69f91 100644
@@ -307,6 +307,11 @@ static int ivpu_open(struct drm_device *dev, struct drm_file *file)
 		return -ENODEV;
 
 	limits = ivpu_user_limits_get(vdev);
+	if (IS_ERR(limits) && PTR_ERR(limits) == -EMFILE) {
+		/* Context limit may be held by jobs pending deferred cleanup */
+		flush_work(&vdev->job_destroy_work);
+		limits = ivpu_user_limits_get(vdev);
+	}
 	if (IS_ERR(limits)) {
 		ret = PTR_ERR(limits);
 		goto err_dev_exit;
@@ -510,9 +515,10 @@ void ivpu_prepare_for_reset(struct ivpu_device *vdev)
 {
 	ivpu_hw_irq_disable(vdev);
 	disable_irq(vdev->irq);
-	flush_work(&vdev->irq_ipc_work);
+	atomic_set(&vdev->job_timeout_detected, 0);
 	flush_work(&vdev->irq_dct_work);
 	flush_work(&vdev->context_abort_work);
+	flush_work(&vdev->job_destroy_work);
 	ivpu_ipc_disable(vdev);
 	ivpu_mmu_disable(vdev);
 }
@@ -584,6 +590,11 @@ static const struct drm_driver driver = {
 	.major = 1,
 };
 
+static void ivpu_destroy_workqueue(void *wq)
+{
+	destroy_workqueue(wq);
+}
+
 static int ivpu_irq_init(struct ivpu_device *vdev)
 {
 	struct pci_dev *pdev = to_pci_dev(vdev->drm.dev);
@@ -595,16 +606,26 @@ static int ivpu_irq_init(struct ivpu_device *vdev)
 		return ret;
 	}
 
-	INIT_WORK(&vdev->irq_ipc_work, ivpu_ipc_irq_work_fn);
 	INIT_WORK(&vdev->irq_dct_work, ivpu_pm_irq_dct_work_fn);
 	INIT_WORK(&vdev->context_abort_work, ivpu_context_abort_work_fn);
+	init_llist_head(&vdev->job_destroy_list);
+	INIT_WORK(&vdev->job_destroy_work, ivpu_job_destroy_work_fn);
+
+	vdev->job_destroy_wq = alloc_workqueue("ivpu_job_destroy", WQ_UNBOUND | WQ_MEM_RECLAIM, 0);
+	if (!vdev->job_destroy_wq)
+		return -ENOMEM;
+
+	ret = devm_add_action_or_reset(vdev->drm.dev, ivpu_destroy_workqueue, vdev->job_destroy_wq);
+	if (ret)
+		return ret;
 
 	ivpu_irq_handlers_init(vdev);
 
 	vdev->irq = pci_irq_vector(pdev, 0);
 
-	ret = devm_request_irq(vdev->drm.dev, vdev->irq, ivpu_hw_irq_handler,
-			       IRQF_NO_AUTOEN, DRIVER_NAME, vdev);
+	ret = devm_request_threaded_irq(vdev->drm.dev, vdev->irq, ivpu_hw_irq_handler,
+					ivpu_ipc_irq_thread_handler, IRQF_NO_AUTOEN,
+					DRIVER_NAME, vdev);
 	if (ret)
 		ivpu_err(vdev, "Failed to request an IRQ %d\n", ret);
 
@@ -690,7 +711,7 @@ static int ivpu_dev_init(struct ivpu_device *vdev)
 	vdev->context_xa_limit.max = IVPU_USER_CONTEXT_MAX_SSID;
 	atomic64_set(&vdev->unique_id_counter, 0);
 	atomic_set(&vdev->job_timeout_counter, 0);
-	atomic_set(&vdev->faults_detected, 0);
+	atomic_set(&vdev->job_timeout_detected, 0);
 	xa_init_flags(&vdev->context_xa, XA_FLAGS_ALLOC | XA_FLAGS_LOCK_IRQ);
 	xa_init_flags(&vdev->submitted_jobs_xa, XA_FLAGS_ALLOC1);
 	xa_init_flags(&vdev->db_xa, XA_FLAGS_ALLOC1);
drivers/accel/ivpu/ivpu_drv.h +5 -2
index 9eefbbb7ba11..6f4012926478 100644
@@ -13,6 +13,7 @@
 #include <drm/drm_print.h>
 
 #include <linux/hashtable.h>
+#include <linux/llist.h>
 #include <linux/pci.h>
 #include <linux/xarray.h>
 #include <uapi/drm/ivpu_accel.h>
@@ -157,9 +158,11 @@ struct ivpu_device {
 	struct xa_limit db_limit;
 	u32 db_next;
 
-	struct work_struct irq_ipc_work;
 	struct work_struct irq_dct_work;
 	struct work_struct context_abort_work;
+	struct llist_head job_destroy_list;
+	struct work_struct job_destroy_work;
+	struct workqueue_struct *job_destroy_wq;
 
 	struct mutex bo_list_lock; /* Protects bo_list */
 	struct list_head bo_list;
@@ -168,7 +171,7 @@ struct ivpu_device {
 	struct xarray submitted_jobs_xa;
 	struct ivpu_ipc_consumer job_done_consumer;
 	atomic_t job_timeout_counter;
-	atomic_t faults_detected;
+	atomic_t job_timeout_detected;
 
 	atomic64_t unique_id_counter;
 
drivers/accel/ivpu/ivpu_hw.c +4 -0
index d4a9bcda4100..647dc045c231 100644
@@ -399,6 +399,10 @@ irqreturn_t ivpu_hw_irq_handler(int irq, void *ptr)
 		return IRQ_NONE;
 
 	pm_runtime_mark_last_busy(vdev->drm.dev);
+
+	if (ip_handled)
+		return IRQ_WAKE_THREAD;
+
 	return IRQ_HANDLED;
 }
 
drivers/accel/ivpu/ivpu_ipc.c +4 -4
index 8f69fb133e2e..459e740873ab 100644
@@ -463,13 +463,11 @@ void ivpu_ipc_irq_handler(struct ivpu_device *vdev)
 			ivpu_ipc_rx_mark_free(vdev, ipc_hdr, jsm_msg);
 		}
 	}
-
-	queue_work(system_percpu_wq, &vdev->irq_ipc_work);
 }
 
-void ivpu_ipc_irq_work_fn(struct work_struct *work)
+irqreturn_t ivpu_ipc_irq_thread_handler(int irq, void *ptr)
 {
-	struct ivpu_device *vdev = container_of(work, struct ivpu_device, irq_ipc_work);
+	struct ivpu_device *vdev = ptr;
 	struct ivpu_ipc_info *ipc = vdev->ipc;
 	struct ivpu_ipc_rx_msg *rx_msg, *r;
 	struct list_head cb_msg_list;
@@ -484,6 +482,8 @@ void ivpu_ipc_irq_work_fn(struct work_struct *work)
 		rx_msg->callback(vdev, rx_msg->ipc_hdr, rx_msg->jsm_msg);
 		ivpu_ipc_rx_msg_del(vdev, rx_msg);
 	}
+
+	return IRQ_HANDLED;
 }
 
 int ivpu_ipc_init(struct ivpu_device *vdev)
drivers/accel/ivpu/ivpu_ipc.h +1 -1
index b524a1985b9d..1c9cf67f1e5b 100644
@@ -90,7 +90,7 @@ void ivpu_ipc_disable(struct ivpu_device *vdev);
 void ivpu_ipc_reset(struct ivpu_device *vdev);
 
 void ivpu_ipc_irq_handler(struct ivpu_device *vdev);
-void ivpu_ipc_irq_work_fn(struct work_struct *work);
+irqreturn_t ivpu_ipc_irq_thread_handler(int irq, void *ptr);
 
 void ivpu_ipc_consumer_add(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons,
 			   u32 channel, ivpu_ipc_rx_callback_t callback);
drivers/accel/ivpu/ivpu_job.c +56 -10

22 lines not on this page · raw message

drivers/accel/ivpu/ivpu_job.h +6 -1
index 3ab61e6a5616..d8dbce82447a 100644

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

drivers/accel/ivpu/ivpu_mmu.c +0 -1
index 41efd8985fa6..b2025274f91d 100644

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

drivers/accel/ivpu/ivpu_pm.c +1 -0
index c1ce8329790e..de0becbfdffb 100644

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

drivers/ata/libata-scsi.c +8 -2
index f0bb4068d14d..3559485b5034 100644

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

drivers/base/cacheinfo.c +6 -5
index 9f9c72727a05..7a47a392568a 100644

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

drivers/bluetooth/btintel_pcie.c +16 -0
index 3262e950a6bd..9381895dc3cf 100644

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

drivers/bluetooth/btnxpuart.c +5 -3
index e6c15bc6a30b..73b319c7e176 100644

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

drivers/dpll/dpll_netlink.c +1 -2
index 9e55745e33e4..9f274c6253c6 100644

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

drivers/firewire/core-cdev.c +4 -2
index e49d8a58be09..664952a67a11 100644

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

drivers/gpio/gpio-arizona.c +6 -2
index a7e98d395d8e..88cf013f0d90 100644

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

drivers/gpio/gpio-tps65219.c +7 -5
index 457fd8a589e8..6958466455d0 100644

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

drivers/gpio/gpio-zynq.c +1 -9
index 15a79d9a2e9e..13e4c5f0e297 100644

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

drivers/gpio/gpiolib-cdev.c +25 -7
index 82f27db0b230..4d0a94e19eba 100644

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

drivers/gpio/gpiolib.c +7 -0
index ef8ccaf17c9c..28f7265c5d56 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c +3 -1
index 516ab9cf88fc..8d3f1f5a141e 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +3 -1
index df2588642817..4536d46b7f21 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c +3 -0
index f6b7522c3c82..f8652fd0525d 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +1 -1
index b97fa35bac23..4d5d95e74bb5 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c +7 -9
index b18d78720656..655429c40351 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h +1 -0
index d1751febaefe..ff9f203a320b 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +1 -0
index 816800f596cd..5edf00a8273b 100644

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

drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c +2 -1
index 7f001c32e911..55acb544b1b6 100644

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

drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c +2 -1
index d3db0494341e..d25a775b3efd 100644

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

drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +57 -14

71 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +5 -3
index 5ba196dd9d7a..e5945485ec59 100644

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

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +12 -0
index 797f94471810..d2602c0310b2 100644

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

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c +2 -1
index f47ee9937ada..7206439ea5d5 100644

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

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +2 -1
index fe5b97e6f960..ee7140d8dda8 100644

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

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c +36 -26

62 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.h +28 -0
index 4f6b58f4f90d..f0a4577848f3 100644

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

drivers/gpu/drm/amd/display/dc/dml/Makefile +6 -2
index 10d4ace04d4f..60bca8d14771 100644

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

drivers/gpu/drm/amd/display/dc/dml2_0/Makefile +1 -1
index 44e00c2b7ac7..5f6bde11c3ca 100644

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

drivers/gpu/drm/amd/display/dc/link/link_dpms.c +90 -88

178 lines not on this page · raw message

drivers/gpu/drm/bridge/samsung-dsim.c +1 -1
index 9ee0515074c7..7e320eac2e4a 100644

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

drivers/gpu/drm/clients/drm_fbdev_client.c +8 -0
index 91d196a397cf..1c16bc1084c4 100644

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

drivers/gpu/drm/drm_pagemap.c +6 -6
index 89e1ddff84dd..a0546955d0b9 100644

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

drivers/gpu/drm/i915/display/intel_cursor.c +5 -2
index 52347668f27d..dad0e0eb0e0c 100644

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

drivers/gpu/drm/i915/display/intel_display_types.h +2 -0
index 96422641ae44..18e6b01efd38 100644

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

drivers/gpu/drm/i915/display/intel_dp_mst.c +23 -1
index bcdc50491347..a1922f95e5d5 100644

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

drivers/gpu/drm/i915/display/intel_dp_mst.h +2 -0
index ab09b487c6bb..8ce89242c05c 100644

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

drivers/gpu/drm/i915/display/intel_link_bw.c +2 -1
index b47474a3e9fe..e71e76d6fd3e 100644

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

drivers/gpu/drm/i915/display/intel_psr.c +15 -0
index beaa1d62613d..87128104476a 100644

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

drivers/gpu/drm/i915/display/intel_quirks.c +3 -0
index 33245f44c0d5..7d7db774d8c7 100644

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

drivers/gpu/drm/i915/display/skl_universal_plane.c +4 -5
index 164b7d61c9a3..3dad2da4c3aa 100644

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

drivers/gpu/drm/i915/gem/i915_gem_object.c +1 -1
index 5172d3982654..9e01f8b2079a 100644

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

drivers/gpu/drm/imagination/pvr_free_list.c +12 -3
index e85cac83834c..faf5e586d8dc 100644

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

drivers/gpu/drm/imagination/pvr_mmu.c +12 -7
index 3cac482e1034..62eae7fcd5a2 100644

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

drivers/gpu/drm/imagination/pvr_mmu.h +1 -1
index a8ecd460168d..2c02d61ba0a2 100644

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

drivers/gpu/drm/imagination/pvr_vm.c +2 -2
index ceb78694cd98..55cc999f3708 100644

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

drivers/gpu/drm/nouveau/nouveau_bo.c +2 -1
index 0e8de6d4b36f..6dcb92575eb4 100644

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

drivers/gpu/drm/nouveau/nouveau_connector.c +4 -1
index b0b0ad9a0c24..4cfc9c7c2ae0 100644

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

drivers/gpu/drm/nouveau/nouveau_dmem.c +2 -2
index ad4570c50be7..e74d7bb975a8 100644

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

drivers/gpu/drm/nouveau/nouveau_drm.c +2 -3
index e16f59b00f6f..c03638ebd352 100644

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

drivers/gpu/drm/nouveau/nouveau_gem.c +2 -0
index c5a24dff4b69..1958bd52dbbc 100644

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

drivers/gpu/drm/nouveau/nouveau_sched.c +1 -1
index 8b9f935afe09..b3f02c490ecb 100644

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

drivers/gpu/drm/nouveau/nouveau_sched.h +1 -0
index 20cd1da8db73..51ce8dcf6285 100644

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

drivers/gpu/drm/nouveau/nouveau_uvmm.c +11 -2
index fc125fd44a9b..2026fe6b48c6 100644

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

drivers/gpu/drm/nouveau/nvif/vmm.c +1 -0
index 65c3e883b119..579af70766f2 100644

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

drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.c +1 -2
index 377d0e0cef84..9887b3898505 100644

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

drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c +14 -9
index 572e63846315..fd2a9d64caba 100644

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

drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c +2 -0
index 18241c6ba5fa..4d52a158f320 100644

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

drivers/gpu/drm/virtio/virtgpu_drv.h +5 -0
index 88fb4be92cf3..5610add1da47 100644

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

drivers/gpu/drm/virtio/virtgpu_gem.c +1 -1
index 66c3f6f74e9c..d2f0b8a3f172 100644

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

drivers/gpu/drm/virtio/virtgpu_ioctl.c +46 -3

49 lines not on this page · raw message

drivers/gpu/drm/virtio/virtgpu_prime.c +1 -1
index 70b3b836e1c9..c2748378a8ad 100644

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

drivers/gpu/drm/virtio/virtgpu_submit.c +9 -2
index 32cb1e4aa425..3d35326dd904 100644

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

drivers/gpu/drm/virtio/virtgpu_vq.c +46 -0

46 lines not on this page · raw message

drivers/gpu/drm/virtio/virtgpu_vram.c +9 -8
index 4ae3cbc35dd3..683ea17454c2 100644

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

drivers/gpu/drm/xe/regs/xe_gt_regs.h +1 -0
index 08251c7a1a4b..247a736a54aa 100644

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

drivers/gpu/drm/xe/xe_bo.c +7 -0
index 7ed76349075f..2c60e99249f9 100644

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

drivers/gpu/drm/xe/xe_bo.h +19 -0
index 57039cf42ea7..a9e5e1bb8e4f 100644

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

drivers/gpu/drm/xe/xe_gt_throttle.c +3 -2
index 1e7e3a31aa69..c0af5484611d 100644

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

drivers/gpu/drm/xe/xe_guc_ads.c +1 -1
index 886bafd31f45..2b42a1bb83b2 100644

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

drivers/gpu/drm/xe/xe_hw_engine.c +85 -11

96 lines not on this page · raw message

drivers/gpu/drm/xe/xe_vm.c +9 -12
index 67819deb45e3..84ced696f46b 100644

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

drivers/gpu/drm/xe/xe_wa_oob.rules +2 -0
index 132a41859ab7..00c58b3ca9c2 100644

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

drivers/hid/amd-sfh-hid/amd_sfh_common.h +4 -0
index 78f830c133e5..bd8dc16feb61 100644

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

drivers/hid/amd-sfh-hid/amd_sfh_pcie.c +10 -0
index 4b81cebdc335..039b6ac327d3 100644

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

drivers/hid/bpf/hid_bpf_dispatch.c +8 -4
index 536f6d01fd14..b1de1dd0f21d 100644

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

drivers/hid/hid-alps.c +23 -2
index 67179e3fe39b..0556cb5645eb 100644

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

drivers/hid/hid-ids.h +3 -0
index 1059922baaac..dd31757601b6 100644

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

drivers/hid/hid-multitouch.c +27 -2
index 571166a769b9..e9da59e4bf79 100644

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

drivers/hid/hid-oxp.c +3 -3
index 20a54f337220..d8fb6a69d40d 100644

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

drivers/hid/hid-quirks.c +2 -1
index 57d8efdd9b89..dcfa8278447f 100644

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

drivers/hid/hid-winwing.c +8 -2
index 9cd25a77999e..19b92c2c6579 100644

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

drivers/hid/wacom_sys.c +3 -2
index 0eafa483b7f7..40770affdbde 100644

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

drivers/i2c/busses/i2c-qcom-geni.c +150 -143

293 lines not on this page · raw message

drivers/net/bonding/bond_main.c +1 -1
index 6ea46a617ee6..34c5bbbed9ae 100644

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

drivers/net/dsa/mt7530-mdio.c +11 -9
index 784dd58a7158..de42f70afcfa 100644

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

drivers/net/dsa/mt7530.c +0 -3
index 56ee8dc34f51..93dba4498c42 100644

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

drivers/net/dsa/mv88e6xxx/chip.c +64 -4

68 lines not on this page · raw message

drivers/net/ethernet/airoha/airoha_npu.c +6 -12
index 4045d1eb93ea..3862f829f183 100644

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

drivers/net/ethernet/amazon/ena/ena_netdev.c +2 -0
index 5d05020a6d05..e35eef9f6ce1 100644

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

drivers/net/ethernet/atheros/atl1c/atl1c_main.c +3 -0
index 7efa3fc257b3..e58f1d2c26bd 100644

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

drivers/net/ethernet/atheros/atl1e/atl1e_main.c +3 -0
index 40290028580b..437989edb780 100644

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

drivers/net/ethernet/atheros/atlx/atl1.c +3 -0
index 98a4d089270e..957d5598dda5 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +2 -1
index 62bc9cae613c..622e89587e5d 100644

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

drivers/net/ethernet/broadcom/genet/bcmgenet.c +21 -13
index b916080f4ff1..21668e41b696 100644

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

drivers/net/ethernet/broadcom/tg3.c +11 -4
index 73a4b569b03e..8b6806a79edf 100644

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

drivers/net/ethernet/brocade/bna/bnad.c +18 -6
index 8e19add764db..3fa805117dde 100644

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

drivers/net/ethernet/cadence/macb_main.c +12 -2
index 8085a3b3846d..a8d830eeb8ea 100644

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

drivers/net/ethernet/freescale/fman/fman.c +1 -0
index 299bab043175..46cc28895e56 100644

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

drivers/net/ethernet/google/gve/gve_desc_dqo.h +5 -0
index f7786b03c744..d2c86c8eeae2 100644

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

drivers/net/ethernet/google/gve/gve_tx_dqo.c +31 -9
index 80ab0a449ff5..616c1921aebe 100644

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

drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c +3 -0
index bc6b269be299..f1cb6d56e4b9 100644

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

drivers/net/ethernet/ibm/emac/core.c +9 -7
index 1d46cf6c2c12..e7043523457c 100644

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

drivers/net/ethernet/marvell/octeontx2/af/common.h +39 -6

45 lines not on this page · raw message

drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c +33 -71

104 lines not on this page · raw message

drivers/net/ethernet/mediatek/mtk_eth_soc.c +5 -1
index b2473df74dff..efc238abb67b 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c +36 -9

45 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c +3 -0
index 6c87a1c7db09..c1841ce74d9a 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c +2 -2
index 329608c59313..8ffa8068e90a 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c +2 -0
index daff53ba7d09..38a3415acf7a 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_main.c +0 -1
index 8634c970cd00..da907248dc6c 100644

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

drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c +11 -4
index 87b5fd349594..b4cf3c5ac0dd 100644

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

drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.h +2 -0
index d6f539161993..a4e59cc21089 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +32 -12

44 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/lag/shared_fdb.c +1 -0
index 6b4ad3c53f2f..424040918fa3 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c +4 -1
index 64f92427602d..75855481522b 100644

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

drivers/net/ethernet/meta/fbnic/fbnic_csr.h +5 -0
index 64b958df7774..baba3471bf5a 100644

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

drivers/net/ethernet/meta/fbnic/fbnic_debugfs.c +2 -2
index 3c4563c8f403..6edfa0aa69f1 100644

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

drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c +11 -5
index 0e47088ec44b..76e9a545bb16 100644

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

drivers/net/ethernet/meta/fbnic/fbnic_fw.c +45 -2

47 lines not on this page · raw message

drivers/net/ethernet/meta/fbnic/fbnic_fw.h +1 -0
index d84723e4cfa3..5f9969247e30 100644

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

drivers/net/ethernet/meta/fbnic/fbnic_pci.c +14 -4
index 8b9bc9e8ea56..c6698e3002a1 100644

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

drivers/net/ethernet/meta/fbnic/fbnic_txrx.c +25 -5
index e7918d3f6aba..10caacffee0f 100644

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

drivers/net/ethernet/netronome/nfp/crypto/ipsec.c +2 -1
index 9e7c285eaa6b..960d7513aa8d 100644

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

drivers/net/ethernet/spacemit/k1_emac.c +3 -0
index f7f16397a2c2..d641ac26a1e8 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +4 -1
index 8d7042e68926..72bdbcb5e863 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c +2 -2
index 2994df41ec2c..c6a8f8d73501 100644

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

drivers/net/ethernet/stmicro/stmmac/hwif.h +1 -1
index 9314bcb85c22..857f7562c6c6 100644

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

drivers/net/ethernet/stmicro/stmmac/ring_mode.c +2 -2
index 78fc6aa5bbe9..dd796cb74419 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +12 -9
index 5f717f02c3c0..29025eb41698 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c +123 -30

153 lines not on this page · raw message

drivers/net/ethernet/ti/netcp_core.c +1 -1
index eb8fc2ed05f4..4f9e20468bbb 100644

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

drivers/net/ethernet/wangxun/libwx/wx_hw.c +1 -0
index 260e14d5d541..9119c931b3a3 100644

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

drivers/net/ethernet/wangxun/libwx/wx_lib.c +52 -13

65 lines not on this page · raw message

drivers/net/ethernet/wangxun/libwx/wx_lib.h +1 -0
index aed6ea8cf0d6..11bd79985e17 100644

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

drivers/net/ethernet/wangxun/libwx/wx_ptp.c +117 -42

159 lines not on this page · raw message

drivers/net/ethernet/wangxun/libwx/wx_ptp.h +1 -0
index 50db90a6e3ee..ad2f824875d5 100644

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

drivers/net/ethernet/wangxun/libwx/wx_type.h +2 -0
index 0520288d18ab..e63a1666d8ed 100644

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

drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c +11 -2
index a84010828551..59a47532618c 100644

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

drivers/net/ethernet/wangxun/txgbe/txgbe_main.c +16 -0
index c277863baf67..00123c0e3f22 100644

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

drivers/net/macsec.c +43 -41

84 lines not on this page · raw message

drivers/net/mdio/mdio-realtek-rtl9300.c +6 -0
index afd52a1cd7f8..9ce2b7807532 100644

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

drivers/net/ovpn/netlink.c +94 -14

108 lines not on this page · raw message

drivers/net/ovpn/peer.c +94 -27

121 lines not on this page · raw message

drivers/net/ovpn/peer.h +23 -2
index dfa5c0037e02..1879bfb76992 100644

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

drivers/net/ovpn/udp.c +159 -34

193 lines not on this page · raw message

drivers/net/pcs/pcs-rzn1-miic.c +2 -1
index 2b72fa98ddf1..cb74861e823c 100644

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

drivers/net/pcs/pcs-xpcs.c +3 -1
index 0337e2bcc012..b415b93d77c1 100644

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

drivers/net/phy/intel-xway.c +28 -1
index afbcec711744..3cee31bb931f 100644

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

drivers/net/phy/micrel.c +1 -0
index 55df5efcfc86..cde60498d054 100644

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

drivers/net/phy/phylink.c +17 -3
index 27fd9aa2027a..3477e1104a43 100644

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

drivers/net/usb/catc.c +12 -3
index 96e82f94edcf..39b678f175dd 100644

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

drivers/net/usb/cdc_mbim.c +5 -0
index 877fb0ed7d3d..a7010a0664c7 100644

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

drivers/net/usb/lan78xx.c +2 -0
index cb782d81d84f..5655941f1478 100644

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

drivers/net/usb/sr9700.c +2 -1
index 937e6fef3ac6..50981a28376a 100644

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

drivers/net/veth.c +2 -0
index 6ab84c837a33..2780b2dd073d 100644

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

drivers/net/virtio_net.c +9 -0
index e34c52d059d3..bf82ef9874ab 100644

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

drivers/net/vrf.c +0 -2
index 46209917ae4d..bae0b69cf894 100644

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

drivers/net/vxlan/vxlan_core.c +4 -2
index e045e1ee9e59..c4bcaadba471 100644

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

drivers/nfc/microread/microread.c +3 -3
index dfa2490db545..2bfafa94e83d 100644

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

drivers/nfc/nfcmrvl/fw_dnld.c +8 -3
index 2b8f401d8fd7..8b9d5257320d 100644

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

drivers/nfc/pn533/pn533.c +8 -6
index 76081a99b450..572f0f8737c1 100644

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

drivers/nfc/pn533/pn533.h +3 -1
index 09e35b8693f5..5ab668e05121 100644

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

drivers/nfc/pn533/usb.c +3 -1
index efb07f944fce..972eaac09e59 100644

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

drivers/nfc/pn544/pn544.c +3 -4
index 9d0a16ac465e..c4fa70e45c14 100644

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

drivers/nfc/port100.c +7 -0
index 5ae61d7ebcfe..30a4e09875d3 100644

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

drivers/nfc/st21nfca/core.c +5 -7
index fd39a05c9622..b5c1ca3acfbe 100644

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

drivers/nfc/st21nfca/i2c.c +19 -10
index aa5f4922b6b0..11ba4fb49828 100644

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

drivers/nfc/trf7970a.c +3 -1
index f22e091019de..3bd8c4636055 100644

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

drivers/nfc/virtual_ncidev.c +2 -1
index 8eeb447ac96e..e51c647b27eb 100644

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

drivers/pci/of_property.c +9 -2
index 75a358f73e69..1500740cc55d 100644

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

drivers/pci/setup-bus.c +17 -6
index c0a949f2c995..9e13489cac71 100644

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

drivers/perf/arm_brbe.c +1 -1
index ba554e0c846c..254be4da8ae2 100644

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

drivers/pinctrl/meson/pinctrl-meson-s4.c +1 -1
index 872948699e9f..365dafe457a9 100644

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

drivers/pinctrl/microchip/pinctrl-mpfs-mssio.c +3 -3
index ea1026a0d22c..92d38e5336de 100644

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

drivers/pinctrl/pinctrl-generic.c +4 -0
index fd6bdb74028a..4277c8748513 100644

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

drivers/pinctrl/pinctrl-single.c +2 -1
index 4d5f85b7e6bb..e0eb7240a985 100644

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

drivers/pinctrl/qcom/pinctrl-ipq5210.c +1 -0
index 827a4ad07a6b..d5b4eb3e7343 100644

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

drivers/pinctrl/qcom/pinctrl-nord.c +23 -11
index 7c21306e77ff..7f37f8e819ba 100644

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

drivers/pinctrl/sunxi/pinctrl-sun55i-a523-r.c +1 -1
index 462aa1c4a5fa..e27e4945def2 100644

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

drivers/pinctrl/sunxi/pinctrl-sun55i-a523.c +1 -1
index b6f78f1f30ac..88d8acd5bc24 100644

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

drivers/pinctrl/sunxi/pinctrl-sunxi.c +67 -15

82 lines not on this page · raw message

drivers/pinctrl/sunxi/pinctrl-sunxi.h +9 -0
index 0daf7600e2fb..8bd00c6ff628 100644

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

drivers/pinctrl/tegra/pinctrl-tegra238.c +102 -102

204 lines not on this page · raw message

drivers/remoteproc/qcom_q6v5_adsp.c +4 -4
index c81e6c33c747..9c5dedf0aa60 100644

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

drivers/s390/cio/chp.c +3 -0
index c890f21a82ce..eaf0527bff6c 100644

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

drivers/s390/cio/cio.c +7 -4
index 70dc8cc76594..e1c62eb60cca 100644

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

drivers/s390/cio/cio.h +3 -2
index bad142c536e1..6d28a62bc67a 100644

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

drivers/s390/cio/cmf.c +1 -1
index 92ab3d546fe4..66b14fedbd18 100644

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

drivers/s390/cio/device.c +5 -4
index fb591118ecb2..68dd4a62975d 100644

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

drivers/s390/cio/device_fsm.c +3 -0
index ab419d40a8a7..b5686c25c83c 100644

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

drivers/s390/cio/device_ops.c +23 -0
index 61c07b4a0fe8..1f7e83fd5087 100644

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

drivers/s390/cio/vfio_ccw_fsm.c +1 -1
index 5fd94e9d5c61..9a000b0231d6 100644

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

drivers/s390/crypto/vfio_ap_ops.c +14 -4
index 940c0ff668be..4db878c18f41 100644

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

drivers/scsi/libiscsi_tcp.c +3 -0
index 7223bb18b048..d35f93451ee9 100644

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

drivers/scsi/megaraid/megaraid_sas_base.c +3 -1
index d83abded2039..f25ed22195fa 100644

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

drivers/scsi/sd_zbc.c +7 -1
index 56e455fb5add..456beaf2e769 100644

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

drivers/thermal/gov_step_wise.c +4 -6
index ea277c466d8d..4fa4377f0d42 100644

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

drivers/ufs/core/ufshcd.c +6 -0
index 86f49c0522ec..bc33da89af26 100644

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

drivers/ufs/host/ufshcd-pltfrm.c +5 -1
index c2dafb583cf5..ac264786d2a6 100644

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

fs/autofs/inode.c +4 -0
index 6b15a3717ba7..066c16f2ea56 100644

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

fs/bpf_fs_kfuncs.c +0 -4
index f1863a891db6..d77604a8996b 100644

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

fs/fs-writeback.c +20 -5
index fdb8766d275a..c0363c3bdb0e 100644

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

fs/inode.c +5 -6
index 95e981b4e19c..c6b08e8c5f62 100644

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

fs/kernfs/mount.c +2 -2
index f183a96778b9..a57399021c8b 100644

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

fs/netfs/buffered_read.c +19 -15
index 424df70a5c30..105194de6e13 100644

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

fs/netfs/objects.c +2 -2
index 7f6a3e912602..ad549daa9c79 100644

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

fs/netfs/read_collect.c +5 -0
index 5cf22087d243..a94197ef0181 100644

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

fs/netfs/rolling_buffer.c +1 -1
index 424e77a9a109..d30d5ef6d86e 100644

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

fs/ntfs3/inode.c +2 -5
index 0c9bd669117d..ea4b9193b07d 100644

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

fs/ocfs2/namei.c +2 -7
index ea37a5058089..4e9f8dd63dcb 100644

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

fs/ocfs2/xattr.c +5 -8
index 35bcbb0ff607..bfafe059bedf 100644

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

fs/ocfs2/xattr.h +4 -4
index 5e18513277f1..887cc1a18b1a 100644

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

fs/overlayfs/overlayfs.h +3 -1
index b75df37f70ac..3fea90fe37c7 100644

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

fs/smb/client/cached_dir.c +22 -10
index 88d5e9a32f28..647fa26da4d2 100644

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

fs/smb/client/dir.c +39 -13

52 lines not on this page · raw message

fs/smb/client/smb2inode.c +4 -2
index 441f107ed202..970503a7674e 100644

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

fs/smb/client/smb2misc.c +6 -3
index 9068175e57cd..596388acb31e 100644

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

fs/smb/client/smb2ops.c +20 -8
index 0c8478d1d698..46507f8bc68b 100644

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

fs/smb/client/smb2pdu.c +42 -12

54 lines not on this page · raw message

fs/smb/client/transport.c +58 -13

71 lines not on this page · raw message

fs/squashfs/xz_wrapper.c +3 -3
index 0a4ff3ec9c8c..6610af241449 100644

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

fs/super.c +53 -61

114 lines not on this page · raw message

fs/xfs/libxfs/xfs_metafile.c +4 -4
index 71f004e9dc64..1f54d39003c2 100644

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

fs/xfs/libxfs/xfs_rtrefcount_btree.c +2 -2
index e2950dbe2068..dcc89b8e149b 100644

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

fs/xfs/scrub/dir.c +1 -1
index 2a037aae904d..19d974c7e2b7 100644

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

fs/xfs/scrub/health.c +3 -3
index 2171bcf0f6c1..487ecc5f9f3c 100644

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

fs/xfs/scrub/inode.c +1 -1
index 65b13e311916..46e9bf4a4317 100644

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

fs/xfs/scrub/inode_repair.c +1 -1
index 8bc508336aa5..b87c22146233 100644

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

fs/xfs/scrub/newbt.c +5 -3
index c82f4631fd9c..584076b2a6ee 100644

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

fs/xfs/scrub/orphanage.c +5 -1
index 3aca66869b80..21e31eeaa042 100644

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

fs/xfs/scrub/repair.c +17 -2
index 11697a8b2a1d..c2a437416227 100644

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

fs/xfs/scrub/scrub.h +1 -1
index 6d7d3523b71f..7ade1d005efe 100644

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

fs/xfs/scrub/trace.h +8 -4
index 0f5adc293962..cb85f75ce101 100644

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

fs/xfs/xfs_dquot.c +6 -2
index b4f6c594808c..e696ee36c2e8 100644

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

fs/xfs/xfs_exchrange.c +9 -4
index c69ecd6a19de..fafb4e3f065c 100644

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

fs/xfs/xfs_healthmon.c +3 -1
index acb85a1249a8..451575dceae0 100644

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

fs/xfs/xfs_icache.c +1 -1
index 9d8dd30bd927..d462e17d4793 100644

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

fs/xfs/xfs_log_recover.c +8 -5
index fdb011e6ef60..8e4acebf72d6 100644

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

fs/xfs/xfs_qm.c +8 -2
index 896b24f87ac9..f9c28d3864db 100644

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

fs/xfs/xfs_refcount_item.c +6 -2
index 8bccf89a7766..682c6e1b45e3 100644

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

fs/xfs/xfs_rmap_item.c +6 -2
index 2a3a73a8566d..000cff1ce324 100644

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

include/linux/ethtool.h +2 -0
index 12683b5d125e..97a1adbd9eae 100644

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

include/linux/fs/super_types.h +1 -1
index ef7941e9dc79..68747182abf9 100644

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

include/linux/if_vlan.h +3 -0
index 20cc16ea4e5a..4846032bf4ff 100644

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

include/linux/mempool.h +7 -0
index a0fa6d43e0dc..6da502aef2f7 100644

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

include/linux/mm_types.h +5 -10
index b18c2b2e7d2c..2b109cdaaad8 100644

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

include/linux/perf_event.h +0 -17
index 48d851fbd8ea..310681cccb50 100644

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

include/linux/sched.h +4 -2
index 9341d647bbd1..1713fb6b33ed 100644

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

include/linux/sched/topology.h +2 -2
index b5d9d7c2b8ad..f96812d71c51 100644

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

include/linux/skbuff.h +5 -19
index f7dd3db9459c..ce125cd24443 100644

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

include/net/dst.h +2 -1
index 307073eae7f8..dbedfe72e1fd 100644

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

include/net/gue.h +15 -4
index caefd6da8693..d377155fd0b3 100644

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

include/net/ip6_route.h +2 -2
index 745ab62154ac..0a6c4ceb95a7 100644

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

include/net/netfilter/nf_conntrack.h +5 -0
index bc42dd0e10e6..c39425e54d87 100644

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

include/net/nfc/hci.h +1 -1
index 756c11084f65..86ed63e5d533 100644

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

include/net/nfc/nfc.h +2 -1
index c54df042db6b..bcafab5c53e5 100644

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

include/net/tcp.h +2 -2
index 436495ff2271..4416cdf9bf30 100644

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

kernel/bpf/btf.c +87 -49

136 lines not on this page · raw message

kernel/bpf/core.c +17 -4
index 883cb7a800b1..71ee96a77ae2 100644

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

kernel/bpf/crypto.c +3 -2
index 51f89cecefb4..3f3fe2450fc6 100644

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

kernel/bpf/fixups.c +22 -2
index 48acb61854ed..19c1b8f1b317 100644

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

kernel/bpf/hashtab.c +32 -11

43 lines not on this page · raw message

kernel/bpf/memalloc.c +28 -22

50 lines not on this page · raw message

kernel/bpf/offload.c +2 -0
index 0d6f5569588c..d855399812ee 100644

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

kernel/bpf/states.c +3 -0
index 66fb11b6c6a7..6c88ad95b63b 100644

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

kernel/bpf/syscall.c +9 -6
index c7cb336fb064..77b3252270f3 100644

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

kernel/bpf/verifier.c +15 -2
index 1a0cd37b03cd..ccf735d74dc8 100644

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

kernel/cgroup/cpuset.c +2 -1
index 69ff86e03c63..c43f15c9917c 100644

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

kernel/cgroup/pids.c +5 -0
index ecbb839d2acb..78cdc0558d0c 100644

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

kernel/events/core.c +12 -5
index 60e60809bedc..d8f9efaca989 100644

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

kernel/exit.c +8 -3
index 0abce8edb28b..200a936f601a 100644

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

kernel/kprobes.c +14 -8
index 6337da5cab9e..4edd8ca5c657 100644

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

kernel/power/hibernate.c +14 -12
index d2479c69d71a..c13f68ab7f6e 100644

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

kernel/sched/core.c +1 -1
index 3d6c55598726..c104562638e3 100644

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

kernel/sched/ext/ext.c +6 -1
index 906e4f08967f..2d0ab78b0efa 100644

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

kernel/sched/fair.c +127 -46

173 lines not on this page · raw message

kernel/sched/topology.c +13 -9
index 622e2e01974c..70b63224a230 100644

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

kernel/trace/fprobe.c +15 -0
index f681015413b8..2a1d65754b04 100644

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

kernel/workqueue.c +1 -1
index 36aaeb38e217..53608ac01fab 100644

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

mm/backing-dev.c +3 -2
index cecbcf9060a6..18e999053bae 100644

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

mm/damon/core.c +25 -14
index 372ca1161c57..c66fd59eb8ff 100644

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

mm/damon/ops-common.c +6 -1
index 6a969b1d2987..58ccb14f80b3 100644

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

mm/damon/vaddr.c +14 -7
index 404785128ffd..fb4f4911ea70 100644

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

mm/hugetlb.c +16 -4
index ca080806de17..abb15476eff1 100644

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

mm/rmap.c +5 -1
index 143cf80d95f4..acdadb470279 100644

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

mm/vma.c +8 -0
index 98c163431e40..638ec4793798 100644

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

net/8021q/vlan_dev.c +5 -0
index 2859cbac3f26..c949c6a82945 100644

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

net/bluetooth/bnep/core.c +16 -1
index f7d88c33e23e..ad24d2486665 100644

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

net/bluetooth/bnep/netdev.c +7 -1
index ee1e39a3daff..b451ef457741 100644

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

net/bluetooth/hci_conn.c +12 -2
index fa72cf8aaa7a..96195d2fd10f 100644

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

net/bluetooth/hci_sock.c +16 -4
index 070ca388f9ac..6d56c77741e1 100644

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

net/bluetooth/iso.c +7 -0
index eb99653f33f9..7657c2a0abbf 100644

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

net/bluetooth/l2cap_core.c +9 -1
index 800f7517bfeb..9a1b0ae07679 100644

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

net/bluetooth/mgmt.c +17 -10
index deced8a5bc2d..2a177cd17a9e 100644

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

net/bluetooth/rfcomm/core.c +2 -1
index 63fa0f542ccf..3f757198051a 100644

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

net/bluetooth/rfcomm/sock.c +4 -2
index 24b42483b3c0..d2855f9b3abc 100644

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

net/bluetooth/smp.c +17 -0
index c4470958b0d5..14bb2c82a562 100644

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

net/bridge/br_mdb.c +2 -0
index e0c7020b12f5..a01bd280c722 100644

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

net/bridge/br_stp_bpdu.c +4 -1
index 74ec42ba1e7d..21d092f5acbb 100644

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

net/core/dev.c +36 -13

49 lines not on this page · raw message

net/core/dev.h +2 -0
index b757faead4d1..04fb0e9a571e 100644

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

net/core/dev_ioctl.c +9 -16
index a320e264eaaf..164643140a52 100644

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

net/core/filter.c +21 -25

46 lines not on this page · raw message

net/core/skbuff.c +15 -6
index c485be081aea..39102b366003 100644

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

net/core/skmsg.c +4 -0
index 2521b643fa05..df385a5a961e 100644

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

net/core/sock_map.c +1 -0
index 9efbd8ca7db8..09d20318a0ea 100644

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

net/ethtool/common.h +2 -0
index 4e5356e26f40..ae32e7fdb563 100644

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

net/ipv4/arp.c +1 -0
index d409f606aec0..60009d92e071 100644

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

net/ipv4/devinet.c +4 -3
index a35b72662e43..a80896647154 100644

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

net/ipv4/fib_semantics.c +12 -1
index 0483519b7fb0..0c25f6dfb8a6 100644

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

net/ipv4/fou_core.c +4 -0
index ab09dfcdecbd..9a2999285b4a 100644

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

net/ipv4/inet_connection_sock.c +2 -1
index 6257459bcee2..6a30f1138454 100644

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

net/ipv4/ip_gre.c +12 -0
index 0ba1e94e9012..384c02b9700b 100644

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

net/ipv4/ipconfig.c +26 -19

45 lines not on this page · raw message

net/ipv4/tcp_output.c +3 -0
index f72a6b1fe749..0b89b624af8e 100644

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

net/ipv4/udp.c +37 -5

42 lines not on this page · raw message

net/ipv6/exthdrs_core.c +3 -0
index 9d06d487e8b1..4a9748338cf4 100644

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

net/ipv6/ip6_fib.c +1 -1
index 7c5daea3f096..fc3da984a9ab 100644

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

net/ipv6/ip6_gre.c +1 -1
index 678678fcb5da..e6913a7f6881 100644

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

net/ipv6/netfilter/ip6t_rpfilter.c +1 -1
index 67c87a88cde4..b5def30c3127 100644

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

net/ipv6/netfilter/ip6t_rt.c +8 -3
index 278b52752f36..2f6261d06a07 100644

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

net/ipv6/route.c +9 -3
index ee707e48f4ef..8fddcc631fcb 100644

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

net/ipv6/seg6.c +2 -2
index 62a7eb779202..8c2b156c227a 100644

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

net/llc/llc_c_ac.c +1 -1
index 724ecd741d4c..1aa7fe28acdd 100644

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

net/llc/llc_s_ac.c +4 -0
index 98deee560373..831998211b52 100644

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

net/llc/llc_sap.c +4 -4
index 1bd446a21092..3904a1b4ba84 100644

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

net/mctp/route.c +1 -1
index b19c63a5691a..e7c95eeacb48 100644

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

net/mptcp/protocol.c +1 -1
index 49c46498af96..de6f289a6e14 100644

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

net/netfilter/ipvs/ip_vs_core.c +6 -0
index eb806813292a..6802ce5cb1de 100644

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

net/netfilter/nf_conntrack_netlink.c +2 -1
index 92c3bb77d27e..6cddfa339d71 100644

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

net/netfilter/nf_flow_table_offload.c +6 -1
index 801a3dd9ceea..6757fd89c1f1 100644

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

net/netfilter/nf_tables_api.c +8 -2
index 245fe7b2f673..ea15ebd7bce8 100644

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

net/netfilter/nfnetlink_queue.c +5 -3
index b8aaf39cb4d8..ec5e7716df8b 100644

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

net/netfilter/nft_synproxy.c +2 -1
index 9ed288c9d168..554a96a000f4 100644

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

net/netlink/genetlink.c +5 -3
index 41d37442f186..5cc1037d4917 100644

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

net/nfc/core.c +7 -8
index a92a6566e6a0..f521669293f0 100644

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

net/nfc/digital_dep.c +4 -4
index 3982fa084737..968547c306a5 100644

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

net/nfc/llcp.h +1 -0
index d8345ed57c95..23ae7a0112d3 100644

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

net/nfc/llcp_commands.c +1 -1
index ca89fe967d6a..80a00938c869 100644

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

net/nfc/llcp_core.c +122 -53

175 lines not on this page · raw message

net/nfc/llcp_sock.c +47 -18

65 lines not on this page · raw message

net/nfc/nci/core.c +5 -5
index 5f46c4b5720f..73e3a96470ac 100644

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

net/nfc/netlink.c +5 -2
index 0c58824cb150..224bdfa2dd0d 100644

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

net/nfc/nfc.h +2 -1
index 0b1e6466f4fb..82c5dfdad10e 100644

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

net/openvswitch/conntrack.c +27 -10
index 757cce7a658e..4afb750ad2c8 100644

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

net/packet/af_packet.c +65 -39

104 lines not on this page · raw message

net/rds/connection.c +6 -0
index b6c4beb50eaf..c752a8623cfc 100644

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

net/rds/ib_frmr.c +5 -6
index bd861191157b..8397aa4a17ac 100644

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

net/sched/act_api.c +1 -1
index 3f653721c45f..e45a63be397c 100644

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

net/sched/act_ct.c +30 -11

41 lines not on this page · raw message

net/sched/act_gate.c +29 -1
index fdbfcaa3e2ab..a3c96519936b 100644

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

net/sched/act_ife.c +12 -5
index 9cea71fc1db3..2afd68983ece 100644

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

net/sched/act_meta_mark.c +4 -2
index ea0573cb8b2d..e2f61b22bf0f 100644

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

net/sched/act_meta_skbprio.c +4 -2
index 2df3133ce5ad..5cdb57931eab 100644

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

net/sched/act_meta_skbtcindex.c +4 -2
index 44547caead46..8803710c0905 100644

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

net/sched/cls_u32.c +10 -2
index a3e65c8cf29e..76ce2d124079 100644

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

net/sched/em_text.c +1 -1
index 343f1aebeec2..4132f8c3c5fc 100644

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

net/sched/sch_hfsc.c +22 -0
index e87f5021a199..284490fd6ca9 100644

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

net/sched/sch_teql.c +2 -5
index 9e52afc2d980..409ce50cc0db 100644

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

net/sctp/associola.c +8 -7
index 5be0bed2685e..1220ff909fbe 100644

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

net/sctp/input.c +4 -3
index 864741fae418..9494cfa51106 100644

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

net/sctp/sm_sideeffect.c +22 -15
index 0d99b7e8c082..35f540fb15fc 100644

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

net/sctp/sm_statefuns.c +2 -0
index 3a8e16b29660..86f26b8b3993 100644

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

net/smc/smc_core.c +2 -0
index 04aedd957543..9974149659c2 100644

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

net/smc/smc_ib.c +8 -2
index 9bb495707445..daaa8a72da90 100644

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

net/tipc/group.c +2 -2
index 14e6732624e2..74f6d3dac078 100644

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

net/tipc/monitor.c +2 -1
index a94b9b36a700..1a438e312d66 100644

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

net/vmw_vsock/af_vsock.c +3 -0
index 78e60ad04363..4a1dfde8414f 100644

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

net/xdp/xskmap.c +1 -1
index 3bff346308d0..bf00d6463c19 100644

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

security/ipe/eval.c +8 -4
index 21439c5be336..4a7be96c84f0 100644

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

security/ipe/eval.h +1 -1
index fef65a36468c..b26d1147d070 100644

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

security/ipe/fs.c +3 -5
index 076c111c85c8..847a76afb93d 100644

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

security/ipe/hooks.c +17 -5
index 0ae54a880405..d878b52ceec8 100644

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

security/ipe/policy_fs.c +3 -0
index 9d92d8a14b13..a7aeb57483c6 100644

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

security/landlock/access.h +8 -0
index d926078bf0a5..a0fa1009ccdb 100644

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

sound/hda/codecs/realtek/alc269.c +9 -0
index c31fed171c41..1e0612c39c89 100644

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

tools/arch/riscv/include/asm/csr.h +16 -4
index 21d8cee04638..8df64314d613 100644

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

tools/lib/bpf/libbpf.c +7 -0
index 1ab939dfb7f0..4f9ce4ff005b 100644

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

tools/lib/bpf/relo_core.c +31 -27

58 lines not on this page · raw message

tools/testing/selftests/bpf/prog_tests/linked_list.c +2 -2
index 8defea0253ed..178d133d5923 100644

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

tools/testing/selftests/cgroup/test_cpuset_prs.sh +2 -0
index ebbc5b4def24..2dff9d5b5356 100755

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

tools/testing/selftests/cgroup/test_memcontrol.c +1 -1
index 3a84d068fbf3..0ed82347044e 100644

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

tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc +1 -1
index bc9514428dba..07b1177c1634 100644

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

tools/testing/selftests/kvm/steal_time.c +20 -10
index 76fcdd1fd3cb..c00cb17f9e40 100644

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

tools/testing/selftests/nci/nci_dev.c +28 -17

45 lines not on this page · raw message

virt/kvm/kvm_main.c +26 -4
index 45e784462ec6..e389ac4744e6 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.