Skip to contentSkip to conversation

Linux 5.17.3

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

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.17.3 kernel.

All users of the 5.17 kernel series must upgrade.

The updated 5.17.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.17.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/virt/kvm/devices/vcpu.rst                        |    2 
 Makefile                                                       |    2 
 arch/arm64/include/asm/cputype.h                               |    2 
 arch/arm64/include/asm/kvm_host.h                              |    1 
 arch/arm64/kernel/patching.c                                   |    4 
 arch/arm64/kernel/proton-pack.c                                |    1 
 arch/arm64/kernel/smp.c                                        |    2 
 arch/arm64/kvm/arm.c                                           |    4 
 arch/arm64/kvm/pmu-emul.c                                      |   33 
 arch/mips/boot/dts/ingenic/jz4780.dtsi                         |    2 
 arch/mips/include/asm/setup.h                                  |    2 
 arch/mips/kernel/traps.c                                       |   22 
 arch/mips/ralink/ill_acc.c                                     |    1 
 arch/parisc/kernel/patch.c                                     |   25 
 arch/powerpc/boot/dts/fsl/t104xrdb.dtsi                        |    4 
 arch/powerpc/include/asm/interrupt.h                           |    2 
 arch/powerpc/include/asm/page.h                                |    6 
 arch/powerpc/kernel/rtas.c                                     |    6 
 arch/powerpc/kernel/secvar-sysfs.c                             |    9 
 arch/powerpc/kexec/core.c                                      |   15 
 arch/powerpc/kvm/book3s_64_entry.S                             |   10 
 arch/powerpc/lib/code-patching.c                               |   14 
 arch/powerpc/mm/book3s64/hash_utils.c                          |   54 
 arch/powerpc/mm/mem.c                                          |    2 
 arch/powerpc/mm/pageattr.c                                     |   32 
 arch/powerpc/perf/callchain.h                                  |    9 
 arch/powerpc/perf/callchain_64.c                               |   27 
 arch/powerpc/platforms/Kconfig.cputype                         |    3 
 arch/powerpc/sysdev/xive/common.c                              |    2 
 arch/riscv/lib/memmove.S                                       |  368 +++++-
 arch/um/include/asm/xor.h                                      |    4 
 arch/x86/Kconfig                                               |    5 
 arch/x86/events/intel/core.c                                   |    8 
 arch/x86/include/asm/asm.h                                     |   20 
 arch/x86/include/asm/bug.h                                     |    4 
 arch/x86/include/asm/irq_stack.h                               |    3 
 arch/x86/include/asm/kvm_host.h                                |    1 
 arch/x86/include/asm/msi.h                                     |   19 
 arch/x86/include/asm/perf_event.h                              |    5 
 arch/x86/kernel/cpu/mce/core.c                                 |   64 +
 arch/x86/kernel/cpu/mce/internal.h                             |    5 
 arch/x86/kernel/static_call.c                                  |    5 
 arch/x86/kvm/emulate.c                                         |    4 
 arch/x86/kvm/kvm_emulate.h                                     |    1 
 arch/x86/kvm/pmu.c                                             |   18 
 arch/x86/kvm/svm/pmu.c                                         |    9 
 arch/x86/kvm/svm/svm.h                                         |    2 
 arch/x86/kvm/svm/svm_onhyperv.c                                |    1 
 arch/x86/kvm/vmx/pmu_intel.c                                   |   14 
 arch/x86/kvm/x86.c                                             |    6 
 arch/x86/mm/tlb.c                                              |   37 
 arch/x86/power/cpu.c                                           |   21 
 arch/x86/xen/smp_hvm.c                                         |    6 
 arch/x86/xen/time.c                                            |   24 
 arch/xtensa/boot/dts/xtfpga-flash-128m.dtsi                    |    8 
 arch/xtensa/boot/dts/xtfpga-flash-16m.dtsi                     |    8 
 arch/xtensa/boot/dts/xtfpga-flash-4m.dtsi                      |    4 
 drivers/acpi/processor_idle.c                                  |    3 
 drivers/ata/sata_dwc_460ex.c                                   |    6 
 drivers/block/drbd/drbd_int.h                                  |    8 
 drivers/block/drbd/drbd_main.c                                 |    6 
 drivers/block/drbd/drbd_nl.c                                   |   41 
 drivers/block/drbd/drbd_state.c                                |   18 
 drivers/block/drbd/drbd_state_change.h                         |    8 
 drivers/bluetooth/btmtk.h                                      |    1 
 drivers/bluetooth/btmtksdio.c                                  |    9 
 drivers/bluetooth/btusb.c                                      |    8 
 drivers/char/virtio_console.c                                  |    8 
 drivers/clk/clk-si5341.c                                       |   16 
 drivers/clk/clk.c                                              |   24 
 drivers/clk/mediatek/clk-mt8192.c                              |   36 
 drivers/clk/rockchip/clk-rk3568.c                              |    6 
 drivers/clk/ti/clk.c                                           |   13 
 drivers/cpufreq/cppc_cpufreq.c                                 |   43 
 drivers/dma/sh/shdma-base.c                                    |    4 
 drivers/gpio/gpiolib.c                                         |   19 
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c               |    6 
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c                         |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                     |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c                        |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c                     |    3 
 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c                          |    4 
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c                       |   14 
 drivers/gpu/drm/amd/amdkfd/kfd_crat.c                          |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_process.c                       |    1 
 drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c                    |   24 
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c                           |   80 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c              |    7 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h              |    6 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c      |   80 +
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c          |    6 
 drivers/gpu/drm/amd/display/dc/core/dc.c                       |   66 +
 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c               |   15 
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c              |    3 
 drivers/gpu/drm/amd/display/dc/dc.h                            |    3 
 drivers/gpu/drm/amd/display/dc/dce/dmub_outbox.c               |   25 
 drivers/gpu/drm/amd/display/dc/dce/dmub_outbox.h               |    4 
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c      |   11 
 drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c          |    2 
 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hwseq.c             |    2 
 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c          |    2 
 drivers/gpu/drm/amd/pm/amdgpu_dpm.c                            |   11 
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c           |    8 
 drivers/gpu/drm/bridge/nwl-dsi.c                               |   18 
 drivers/gpu/drm/drm_edid.c                                     |   19 
 drivers/gpu/drm/drm_panel_orientation_quirks.c                 |    6 
 drivers/gpu/drm/imx/dw_hdmi-imx.c                              |    8 
 drivers/gpu/drm/imx/imx-ldb.c                                  |    2 
 drivers/gpu/drm/imx/parallel-display.c                         |    4 
 drivers/gpu/drm/msm/dsi/dsi_host.c                             |    2 
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c                |    1 
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c                |    2 
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c                |    1 
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h                 |    1 
 drivers/gpu/drm/panel/panel-ilitek-ili9341.c                   |    4 
 drivers/gpu/drm/sprd/sprd_dpu.c                                |    5 
 drivers/gpu/drm/sprd/sprd_drm.c                                |    2 
 drivers/gpu/drm/sprd/sprd_dsi.c                                |    5 
 drivers/gpu/drm/v3d/v3d_gem.c                                  |    6 
 drivers/hid/hid-apple.c                                        |    6 
 drivers/hv/channel_mgmt.c                                      |    6 
 drivers/hv/vmbus_drv.c                                         |   16 
 drivers/infiniband/core/cm.c                                   |    3 
 drivers/infiniband/hw/hfi1/mmu_rb.c                            |    6 
 drivers/infiniband/hw/mlx5/mr.c                                |    5 
 drivers/infiniband/sw/rdmavt/qp.c                              |    6 
 drivers/infiniband/ulp/rtrs/rtrs-clt.c                         |   40 
 drivers/infiniband/ulp/rtrs/rtrs-clt.h                         |    1 
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c                    |    1 
 drivers/iommu/omap-iommu.c                                     |    2 
 drivers/irqchip/irq-gic-v3-its.c                               |   28 
 drivers/irqchip/irq-gic-v3.c                                   |   14 
 drivers/irqchip/irq-gic.c                                      |    6 
 drivers/md/dm-ioctl.c                                          |    2 
 drivers/md/dm-rq.c                                             |    7 
 drivers/md/dm.c                                                |   11 
 drivers/misc/habanalabs/common/memory.c                        |   30 
 drivers/misc/habanalabs/common/mmu/mmu_v1.c                    |    2 
 drivers/misc/habanalabs/gaudi/gaudi.c                          |   48 
 drivers/mmc/core/block.c                                       |   46 
 drivers/mmc/core/quirks.h                                      |    5 
 drivers/mmc/host/mmci_stm32_sdmmc.c                            |    6 
 drivers/mmc/host/renesas_sdhi_core.c                           |    8 
 drivers/mmc/host/sdhci-xenon.c                                 |   10 
 drivers/net/can/usb/etas_es58x/es58x_fd.c                      |    3 
 drivers/net/dsa/ocelot/felix_vsc9959.c                         |    4 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                      |    7 
 drivers/net/ethernet/broadcom/bnxt/bnxt.h                      |    5 
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c              |    4 
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c                  |   14 
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h                  |    2 
 drivers/net/ethernet/freescale/dpaa2/dpaa2-ptp.c               |    4 
 drivers/net/ethernet/intel/i40e/i40e_common.c                  |   21 
 drivers/net/ethernet/intel/iavf/iavf.h                         |    5 
 drivers/net/ethernet/intel/iavf/iavf_main.c                    |  173 ++-
 drivers/net/ethernet/intel/iavf/iavf_virtchnl.c                |   18 
 drivers/net/ethernet/intel/ice/ice.h                           |    2 
 drivers/net/ethernet/intel/ice/ice_lib.c                       |    3 
 drivers/net/ethernet/intel/ice/ice_main.c                      |   13 
 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c               |    4 
 drivers/net/ethernet/intel/ice/ice_xsk.c                       |    6 
 drivers/net/ethernet/marvell/mv643xx_eth.c                     |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/sample.c     |    7 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c         |   10 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c              |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c                |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.h                |    2 
 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c     |    6 
 drivers/net/ethernet/mellanox/mlx5/core/port.c                 |   23 
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c                 |    4 
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h                 |    7 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c             |    3 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c       |    3 
 drivers/net/ethernet/qlogic/qed/qed_debug.c                    |    2 
 drivers/net/ethernet/qlogic/qede/qede_fp.c                     |    3 
 drivers/net/ethernet/sfc/efx_channels.c                        |  148 +-
 drivers/net/ethernet/sfc/rx_common.c                           |    3 
 drivers/net/ethernet/sfc/tx.c                                  |    3 
 drivers/net/ethernet/sfc/tx_common.c                           |    2 
 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c          |    3 
 drivers/net/macvtap.c                                          |    6 
 drivers/net/mdio/mdio-mscc-miim.c                              |    6 
 drivers/net/phy/sfp-bus.c                                      |    6 
 drivers/net/tap.c                                              |    3 
 drivers/net/tun.c                                              |    3 
 drivers/net/vrf.c                                              |   15 
 drivers/net/wireless/ath/ath11k/ahb.c                          |    2 
 drivers/net/wireless/ath/ath11k/mac.c                          |    2 
 drivers/net/wireless/ath/ath11k/mhi.c                          |    2 
 drivers/net/wireless/ath/ath11k/pci.c                          |   10 
 drivers/net/wireless/ath/ath5k/eeprom.c                        |    3 
 drivers/net/wireless/intel/iwlwifi/Kconfig                     |    1 
 drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h            |    5 
 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c              |   31 
 drivers/net/wireless/intel/iwlwifi/mvm/scan.c                  |    5 
 drivers/net/wireless/mediatek/mt76/dma.c                       |    1 
 drivers/net/wireless/mediatek/mt76/mt76.h                      |    2 
 drivers/net/wireless/mediatek/mt76/mt7615/mac.c                |    2 
 drivers/net/wireless/mediatek/mt76/mt7915/mac.c                |    1 
 drivers/net/wireless/mediatek/mt76/mt7921/main.c               |    1 
 drivers/net/wireless/realtek/rtw88/debug.c                     |    2 
 drivers/net/wireless/realtek/rtw88/debug.h                     |    1 
 drivers/net/wireless/realtek/rtw88/fw.c                        |    2 
 drivers/net/wireless/realtek/rtw88/mac80211.c                  |    8 
 drivers/net/wireless/realtek/rtw88/main.c                      |    8 
 drivers/net/wireless/realtek/rtw88/rtw8821c.c                  |    2 
 drivers/net/wireless/realtek/rtw88/rtw8822b.c                  |    4 
 drivers/net/wireless/realtek/rtw88/rtw8822c.c                  |    4 
 drivers/net/wireless/realtek/rtw88/sar.c                       |    8 
 drivers/net/wireless/realtek/rtw89/core.c                      |    5 
 drivers/opp/debugfs.c                                          |    5 
 drivers/opp/opp.h                                              |    1 
 drivers/parisc/dino.c                                          |   41 
 drivers/parisc/gsc.c                                           |   31 
 drivers/parisc/gsc.h                                           |    1 
 drivers/parisc/lasi.c                                          |    7 
 drivers/parisc/wax.c                                           |    7 
 drivers/pci/controller/pci-aardvark.c                          |   16 
 drivers/pci/endpoint/functions/pci-epf-test.c                  |   14 
 drivers/pci/hotplug/pciehp_hpc.c                               |    2 
 drivers/perf/qcom_l2_pmu.c                                     |    6 
 drivers/phy/amlogic/phy-meson-gxl-usb2.c                       |    5 
 drivers/phy/amlogic/phy-meson8b-usb2.c                         |    9 
 drivers/platform/x86/Kconfig                                   |    2 
 drivers/platform/x86/hp-wmi.c                                  |   93 +
 drivers/platform/x86/thinkpad_acpi.c                           |   15 
 drivers/power/supply/Kconfig                                   |    4 
 drivers/power/supply/axp20x_battery.c                          |   13 
 drivers/power/supply/axp288_charger.c                          |   21 
 drivers/power/supply/axp288_fuel_gauge.c                       |   14 
 drivers/ptp/ptp_sysfs.c                                        |    4 
 drivers/regulator/atc260x-regulator.c                          |    1 
 drivers/regulator/rtq2134-regulator.c                          |    1 
 drivers/rtc/rtc-wm8350.c                                       |   11 
 drivers/scsi/aha152x.c                                         |    6 
 drivers/scsi/bfa/bfad_attr.c                                   |   26 
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c                         |   68 +
 drivers/scsi/libfc/fc_exch.c                                   |    1 
 drivers/scsi/mpi3mr/mpi3mr.h                                   |    4 
 drivers/scsi/mpi3mr/mpi3mr_fw.c                                |    4 
 drivers/scsi/mpi3mr/mpi3mr_os.c                                |  108 +
 drivers/scsi/mpt3sas/mpt3sas_scsih.c                           |    5 
 drivers/scsi/mvsas/mv_init.c                                   |    4 
 drivers/scsi/pm8001/pm8001_hwi.c                               |   79 -
 drivers/scsi/pm8001/pm8001_init.c                              |    3 
 drivers/scsi/pm8001/pm8001_sas.c                               |   15 
 drivers/scsi/pm8001/pm8001_sas.h                               |    2 
 drivers/scsi/pm8001/pm80xx_hwi.c                               |   22 
 drivers/scsi/scsi_logging.c                                    |    2 
 drivers/scsi/scsi_scan.c                                       |    5 
 drivers/scsi/sd.c                                              |    2 
 drivers/scsi/smartpqi/smartpqi_init.c                          |   45 
 drivers/scsi/sr.c                                              |    2 
 drivers/scsi/ufs/ufshcd-pci.c                                  |   17 
 drivers/scsi/ufs/ufshpb.c                                      |   11 
 drivers/scsi/zorro7xx.c                                        |    2 
 drivers/spi/spi-bcm-qspi.c                                     |    4 
 drivers/spi/spi-rpc-if.c                                       |    8 
 drivers/spi/spi.c                                              |    4 
 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c  |    3 
 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c |    6 
 drivers/staging/wfx/bus_sdio.c                                 |    3 
 drivers/staging/wfx/main.c                                     |    7 
 drivers/tty/serial/samsung_tty.c                               |    5 
 drivers/usb/cdns3/cdnsp-debug.h                                |  305 ++---
 drivers/usb/dwc3/dwc3-omap.c                                   |    2 
 drivers/usb/dwc3/dwc3-pci.c                                    |   11 
 drivers/usb/gadget/udc/tegra-xudc.c                            |   20 
 drivers/usb/host/ehci-pci.c                                    |    9 
 drivers/usb/host/xen-hcd.c                                     |   57 -
 drivers/vdpa/mlx5/net/mlx5_vnet.c                              |   21 
 drivers/vfio/pci/vfio_pci_rdwr.c                               |    2 
 drivers/vhost/net.c                                            |    1 
 drivers/video/fbdev/core/fbmem.c                               |    9 
 drivers/w1/slaves/w1_therm.c                                   |    8 
 fs/btrfs/extent_io.h                                           |    2 
 fs/btrfs/inode.c                                               |   22 
 fs/btrfs/ioctl.c                                               |   20 
 fs/btrfs/volumes.c                                             |   65 -
 fs/btrfs/zoned.c                                               |    9 
 fs/ceph/dir.c                                                  |   11 
 fs/ceph/inode.c                                                |   10 
 fs/cifs/connect.c                                              |   15 
 fs/cifs/netmisc.c                                              |    2 
 fs/file_table.c                                                |    1 
 fs/io-wq.h                                                     |    1 
 fs/io_uring.c                                                  |  388 +++----
 fs/jfs/inode.c                                                 |    3 
 fs/minix/inode.c                                               |    3 
 fs/nfs/dir.c                                                   |   10 
 fs/nfs/direct.c                                                |   48 
 fs/nfs/file.c                                                  |    4 
 fs/nfs/inode.c                                                 |    1 
 fs/nfs/internal.h                                              |   17 
 fs/nfs/nfs42proc.c                                             |    9 
 fs/nfs/nfs4file.c                                              |    6 
 fs/nfs/nfs4state.c                                             |   12 
 fs/nfs/pagelist.c                                              |   10 
 fs/nfs/pnfs_nfs.c                                              |    8 
 fs/nfs/write.c                                                 |   34 
 include/linux/gpio/driver.h                                    |    9 
 include/linux/ipv6.h                                           |    2 
 include/linux/mmzone.h                                         |   11 
 include/linux/nfs_fs.h                                         |   10 
 include/linux/ref_tracker.h                                    |    2 
 include/linux/static_call.h                                    |    5 
 include/linux/vfio_pci_core.h                                  |    9 
 include/net/arp.h                                              |    1 
 include/net/bluetooth/bluetooth.h                              |   14 
 include/net/bluetooth/hci_core.h                               |    3 
 include/net/mctp.h                                             |    2 
 include/net/net_namespace.h                                    |    6 
 include/trace/events/sunrpc.h                                  |    1 
 include/uapi/linux/bpf.h                                       |    6 
 include/uapi/linux/can/isotp.h                                 |   28 
 init/main.c                                                    |    8 
 kernel/Makefile                                                |    3 
 kernel/events/core.c                                           |    3 
 kernel/sched/core.c                                            |   16 
 kernel/sched/idle.c                                            |    1 
 kernel/sched/sched.h                                           |    6 
 kernel/static_call.c                                           |  542 ---------
 kernel/static_call_inline.c                                    |  543 ++++++++++
 lib/Kconfig.debug                                              |    3 
 lib/logic_iomem.c                                              |    8 
 lib/lz4/lz4_decompress.c                                       |    8 
 lib/ref_tracker.c                                              |    5 
 mm/highmem.c                                                   |    4 
 mm/kfence/core.c                                               |   11 
 mm/kfence/kfence.h                                             |    3 
 mm/mempolicy.c                                                 |    1 
 mm/mremap.c                                                    |    3 
 mm/rmap.c                                                      |   25 
 net/batman-adv/multicast.c                                     |    2 
 net/bluetooth/hci_conn.c                                       |    1 
 net/bluetooth/hci_event.c                                      |   79 +
 net/bluetooth/hci_sync.c                                       |    7 
 net/bluetooth/l2cap_core.c                                     |    1 
 net/bpf/test_run.c                                             |    4 
 net/can/isotp.c                                                |   12 
 net/core/dev.c                                                 |    3 
 net/core/filter.c                                              |   46 
 net/core/net_namespace.c                                       |   17 
 net/core/rtnetlink.c                                           |   13 
 net/core/skbuff.c                                              |   15 
 net/dsa/master.c                                               |   25 
 net/ipv4/arp.c                                                 |    9 
 net/ipv4/fib_frontend.c                                        |    5 
 net/ipv4/fib_semantics.c                                       |    7 
 net/ipv4/inet_hashtables.c                                     |   53 
 net/ipv6/addrconf.c                                            |    4 
 net/ipv6/af_inet6.c                                            |   24 
 net/ipv6/inet6_hashtables.c                                    |    5 
 net/ipv6/ip6_input.c                                           |    2 
 net/ipv6/ip6mr.c                                               |    8 
 net/ipv6/ipv6_sockglue.c                                       |    6 
 net/ipv6/route.c                                               |    2 
 net/mctp/af_mctp.c                                             |   46 
 net/mctp/device.c                                              |   21 
 net/mctp/route.c                                               |   21 
 net/mctp/test/utils.c                                          |    1 
 net/netfilter/nf_conntrack_core.c                              |   85 +
 net/netfilter/nft_bitwise.c                                    |    4 
 net/netlabel/netlabel_kapi.c                                   |    2 
 net/openvswitch/actions.c                                      |    2 
 net/openvswitch/flow_netlink.c                                 |   99 +
 net/rxrpc/net_ns.c                                             |    2 
 net/sctp/outqueue.c                                            |    6 
 net/smc/af_smc.c                                               |    8 
 net/smc/smc_core.c                                             |    2 
 net/smc/smc_tx.c                                               |   25 
 net/smc/smc_tx.h                                               |    1 
 net/sunrpc/clnt.c                                              |    7 
 net/sunrpc/sched.c                                             |    7 
 net/sunrpc/svcsock.c                                           |    4 
 net/sunrpc/xprt.c                                              |   23 
 net/sunrpc/xprtrdma/transport.c                                |    2 
 net/sunrpc/xprtsock.c                                          |   70 -
 net/tls/tls_sw.c                                               |    2 
 net/wireless/scan.c                                            |    9 
 tools/build/feature/Makefile                                   |    9 
 tools/lib/bpf/Makefile                                         |    4 
 tools/lib/bpf/bpf_tracing.h                                    |   14 
 tools/objtool/check.c                                          |   11 
 tools/perf/Makefile.config                                     |    6 
 tools/perf/arch/arm64/util/arm-spe.c                           |    6 
 tools/perf/perf.c                                              |    2 
 tools/perf/tests/dwarf-unwind.c                                |    2 
 tools/perf/util/arm64-frame-pointer-unwind-support.c           |    2 
 tools/perf/util/machine.c                                      |    2 
 tools/perf/util/session.c                                      |   15 
 tools/perf/util/setup.py                                       |    8 
 tools/perf/util/unwind-libdw.c                                 |   10 
 tools/perf/util/unwind-libdw.h                                 |    1 
 tools/perf/util/unwind-libunwind-local.c                       |   10 
 tools/perf/util/unwind-libunwind.c                             |    6 
 tools/perf/util/unwind.h                                       |   13 
 tools/testing/selftests/bpf/progs/test_sk_lookup.c             |    3 
 tools/testing/selftests/bpf/xdpxceiver.c                       |   80 -
 tools/testing/selftests/bpf/xdpxceiver.h                       |    2 
 tools/testing/selftests/kvm/aarch64/vgic_irq.c                 |   45 
 tools/testing/selftests/kvm/lib/aarch64/gic_v3.c               |   12 
 tools/testing/selftests/kvm/lib/aarch64/vgic.c                 |    9 
 virt/kvm/kvm_main.c                                            |    2 
 404 files changed, 4509 insertions(+), 2533 deletions(-)

Adam Wujek (1):
clk: si5341: fix reported clk_rate when output divider is 2

Adrian Hunter (2):
perf tools: Fix perf's libperf_print callback
scsi: ufs: ufs-pci: Add support for Intel MTL

Aharon Landau (2):
RDMA/mlx5: Don't remove cache MRs when a delay is needed RDMA/mlx5: Add a missing update of cache->last_add

Akihiko Odaki (1):
Revert "ACPI: processor: idle: Only flush cache on entering C3"

Alex Deucher (3):
drm/amdkfd: make CRAT table missing message informational only drm/amdgpu/smu10: fix SoC/fclk units in auto mode drm/amdgpu: don't use BACO for reset in S3

Alex Williamson (1):
vfio/pci: Stub vfio_pci_vga_rw when !CONFIG_VFIO_PCI_VGA

Alexander Lobakin (1):
MIPS: fix fortify panic when copying asm exception handlers

Amit Cohen (1):
mlxsw: spectrum: Guard against invalid local ports

Amjad Ouled-Ameur (3):
phy: amlogic: phy-meson-gxl-usb2: fix shared reset controller use
phy: amlogic: meson8b-usb2: Use dev_err_probe()
phy: amlogic: meson8b-usb2: fix shared reset control use

Anatolii Gerasymenko (2):
ice: Set txq_teid to ICE_INVAL_TEID on ring creation
ice: Do not skip not enabled queues in ice_vc_dis_qs_msg

Andre Przywara (1):
irqchip/gic, gic-v3: Prevent GSI to SGI translations

Andrea Parri (Microsoft) (2):
Drivers: hv: vmbus: Fix initialization of device object in vmbus_device_register()
Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb()

Andrew Lunn (1):
net: ethernet: mv643xx: Fix over zealous checking of_get_mac_address()

Andy Gospodarek (1):
bnxt_en: reserve space inside receive page for skb_shared_info

Anisse Astier (1):
drm: Add orientation quirk for GPD Win Max

Arnaldo Carvalho de Melo (4):
perf build: Don't use -ffat-lto-objects in the python feature test when building with clang-13 perf python: Fix probing for some clang command line options
tools build: Filter out options and warnings not supported by clang
tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts

Arnd Bergmann (1):
iwlwifi: mei: fix building iwlmei

Avraham Stern (1):
cfg80211: don't add non transmitted BSS to 6GHz scanned channels

Axel Lin (2):
regulator: rtq2134: Fix missing active_discharge_on setting
regulator: atc260x: Fix missing active_discharge_on setting

Baochen Qiang (1):
ath11k: Fix frames flush failure caused by deadlock

Ben Greear (1):
mt76: mt7921: fix crash when startup fails.

Benjamin Beichler (1):
um: fix and optimize xor select template for CONFIG64 and timetravel mode

Benjamin Marty (1):
drm/amdgpu/display: change pipe policy for DCN 2.1

CHANDAN VURDIGERE NATARAJ (1):
drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw

Chanho Park (1):
arm64: Add part number for Arm Cortex-A78AE

Chen-Yu Tsai (1):
net: stmmac: Fix unset max_speed difference between DT and non-DT platforms

ChenXiaoSong (2):
Revert "NFSv4: Handle the special Linux file open access mode"
NFSv4: fix open failure with O_ACCMODE flag

Christian Lamparter (1):
ata: sata_dwc_460ex: Fix crash due to OOB write

Christian Löhle (1):
mmc: block: Check for errors after write on SPI

Christophe JAILLET (1):
scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()

Christophe Leroy (3):
powerpc/set_memory: Avoid spinlock recursion in change_page_attr() powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S
static_call: Don't make __static_call_return0 static

Dale Zhao (1):
drm/amd/display: Add signal type check when verify stream backends same

Damien Le Moal (7):

      scsi: pm8001: Fix pm80xx_pci_mem_copy() interface
      scsi: pm8001: Fix pm8001_mpi_task_abort_resp()
      scsi: pm8001: Fix tag values handling
      scsi: pm8001: Fix task leak in pm8001_send_abort_all()
      scsi: pm8001: Fix tag leaks on error
      scsi: pm8001: Fix memory leak in pm8001_chip_fw_flash_update_req()
      scsi: mpt3sas: Fix use after free in _scsih_expander_node_remove()

Dan Carpenter (1):
drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire()

Daniel Mack (1):
drm/panel: ili9341: fix optional regulator handling

Daniel Thompson (1):
drm/msm/dsi: Remove spurious IRQF_ONESHOT flag

Dave Hansen (1):
x86/mm/tlb: Revert retpoline avoidance approach

David Ahern (1):
ipv6: Fix stats accounting in ip6_pkt_drop

Denis Nikitin (1):
perf session: Remap buf if there is no space for event

Deren Wu (1):
mt76: fix monitor mode crash with sdio driver

Don Brace (1):
scsi: smartpqi: Fix rmmod stack trace

Dongli Zhang (1):
xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32

Douglas Miller (1):
RDMA/hfi1: Fix use-after-free bug for mm struct

Dust Li (2):
net/smc: correct settings of RMB window update limit net/smc: send directly on setting TCP_NODELAY

Emily Deng (1):
drm/amdgpu/vcn: Fix the register setting for vcn1

Eric Dumazet (5):
ipv6: make mc_forwarding atomic
ref_tracker: implement use-after-free detection
net: initialize init_net earlier
ipv6: annotate some data-races around sk->sk_prot
rxrpc: fix a race in rxrpc_exit_net()

Eric Huang (1):
drm/amdkfd: enable heavy-weight TLB flush on Arcturus

Ethan Lien (1):
btrfs: fix qgroup reserve overflow the qgroup limit

Eugene Syromiatnikov (1):
io_uring: implement compat handling for IORING_REGISTER_IOWQ_AFF

Evgeny Boger (1):

      power: supply: axp20x_battery: properly report current when discharging

Eyal Birger (1):
vrf: fix packet sniffing for traffic originating from ip tunnels

Feng Tang (1):
lib/Kconfig.debug: add ARCH dependency for FUNCTION_ALIGN option

Florian Westphal (1):
netfilter: conntrack: revisit gc autotuning

Gal Pressman (1):
net/mlx5e: Remove overzealous validations in netlink EEPROM query

Geert Uytterhoeven (1):
spi: rpc-if: Fix RPM imbalance in probe error path

Greg Kroah-Hartman (1):

      Linux 5.17.3

Guilherme G. Piccoli (1):
Drivers: hv: vmbus: Fix potential crash on module unload

Guo Ren (1):
arm64: patch_text: Fixup last cpu should be master

Guo Xuenan (1):
lz4: fix LZ4_decompress_safe_partial read out of bound

H. Nikolaus Schaller (1):
usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm

Haimin Zhang (1):
jfs: prevent NULL deref in diFree

Hangyu Hua (2):
mips: ralink: fix a refcount leak in ill_acc_of_setup() powerpc/secvar: fix refcount leak in format_show()

Hans de Goede (5):
power: supply: axp288-charger: Set Vhold to 4.4V
usb: dwc3: pci: Set the swnode from inside dwc3_pci_quirks()
power: supply: axp288_charger: Use acpi_quirk_skip_acpi_ac_and_battery()
power: supply: axp288_fuel_gauge: Use acpi_quirk_skip_acpi_ac_and_battery() platform/x86: x86-android-tablets: Depend on EFI and SPI

Harold Huang (1):
tuntap: add sanity checks about msg_controllen in sendmsg

Helge Deller (1):
parisc: Fix CPU affinity for Lasi, WAX and Dino chips

Hou Wenlong (1):
KVM: x86/emulator: Emulate RDPID only if it is enabled in guest

Hou Zhiqiang (1):
PCI: endpoint: Fix alignment fault error in copy tests

Ido Schimmel (1):
ipv4: Invalidate neighbour for broadcast address upon address addition

Ilan Peer (1):
iwlwifi: mvm: Correctly set fragmented EBS

Ilya Leoshkevich (3):
libbpf: Fix accessing syscall arguments on powerpc
libbpf: Fix accessing the first syscall argument on arm64
libbpf: Fix accessing the first syscall argument on s390

Ilya Maximets (2):
net: openvswitch: don't send internal clone attribute to the userspace.
net: openvswitch: fix leak of nested actions

Ivan Vecera (2):
ice: Clear default forwarding VSI during VSI release
ice: Fix MAC address setting

Jack Wang (1):
RDMA/rtrs-clt: Do stop and failover outside reconnect work.

Jakub Kicinski (3):
net: account alternate interface name memory
net: limit altnames to 64k total
Revert "selftests: net: Add tls config dependency for tls selftests"

Jakub Sitnicki (4):
bpf: Make dst_port field in struct bpf_sock 16-bit wide
bpf: Make remote_port field in struct bpf_sk_lookup 16-bit wide selftests/bpf: Fix u8 narrow load checks for bpf_sk_lookup remote_port
bpf: Treat bpf_sk_lookup remote_port as a 2-byte field

James Clark (2):
perf unwind: Don't show unwind error messages when augmenting frame pointer stack
perf: arm-spe: Fix perf report --mem-mode

Jamie Bainbridge (2):
sctp: count singleton chunks in assoc user stats
qede: confirm skb is allocated before using

Jani Nikula (1):
drm/edid: improve non-desktop quirk logging

Jason Wang (1):
vdpa: mlx5: prevent cvq work from hogging CPU

Jean-Philippe Brucker (1):
skbuff: fix coalescing for page_pool fragment recycling

Jedrzej Jagielski (1):
i40e: Add sending commands in atomic context

Jens Axboe (7):
io_uring: don't check req->file in io_fsync_prep()
io_uring: defer splice/tee file validity check until command issue
io_uring: fix race between timeout flush and removal
io_uring: move read/write file prep state into actual opcode handler
io_uring: propagate issue_flags state down to file assignment
io_uring: defer file assignment
io_uring: drop the old style inflight file tracking

Jeremy Sowden (1):
netfilter: bitwise: fix reduce comparisons

Jianglei Nie (1):
scsi: libfc: Fix use after free in fc_exch_abts_resp()

Jiasheng Jiang (2):
rtc: wm8350: Handle error for wm8350_register_irq drm/imx: imx-ldb: Check for null pointer after calling kmemdup

Jim Mattson (2):
KVM: x86/pmu: Use different raw event masks for AMD and Intel
KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs

Jiri Kosina (1):
rtw89: fix RCU usage in rtw89_core_txq_push()

Jiri Slaby (1):

      serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()

Johan Almbladh (1):
mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU

Johannes Berg (1):
lib/logic_iomem: correct fallback config references

Johannes Thumshirn (1):
btrfs: zoned: traverse devices under chunk_mutex in btrfs_can_activate_zone

John David Anglin (1):
parisc: Fix patch code locking and flushing

John Garry (1):
scsi: core: Fix sbitmap depth in scsi_realloc_sdev_budget_map()

Jordy Zomer (1):
dm ioctl: prevent potential spectre v1 gadget

Jorge Lopez (2):
platform/x86: hp-wmi: Fix SW_TABLET_MODE detection method platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls

José Expósito (4):
HID: apple: Report Magic Keyboard 2021 battery over USB
HID: apple: Report Magic Keyboard 2021 with fingerprint reader battery over USB
clk: mediatek: Fix memory leaks on probe
drm/imx: Fix memory leak in imx_pd_connector_get_modes

Jue Wang (1):
x86/mce: Work around an erratum on fast string copy instructions

Juergen Gross (1):
xen/usb: harden xen_hcd against malicious backends

Jérôme Pouiller (1):
staging: wfx: apply the necessary SDIO quirks for the Silabs WF200

Kaiwen Hu (1):
btrfs: prevent subvol with swapfile from being deleted

Kalle Valo (2):
ath11k: pci: fix crash on suspend if board file is not found
ath11k: mhi: use mhi_sync_power_up()

Kamal Dasu (1):
spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op()

Kan Liang (2):
perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids perf/x86/intel: Don't extend the pseudo-encoding to GP counters

Karol Herbst (1):
drm/nouveau/pmu: Add missing callbacks for Tegra devices

Kefeng Wang (2):
powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit Revert "powerpc: Set max_mapnr correctly"

Kevin Groeneveld (1):
scsi: sr: Fix typo in CDROM(CLOSETRAY|EJECT) handling

Kevin Tang (2):
drm/sprd: fix potential NULL dereference drm/sprd: check the platform_get_resource() return value

Krzysztof Kozlowski (1):
MIPS: ingenic: correct unit node address

Lee Jones (1):
drm/amdkfd: Create file descriptor after client is added to smi_clients list

Li Chen (1):
PCI: endpoint: Fix misused goto label

Like Xu (1):
KVM: x86/pmu: Fix and isolate TSX-specific performance event logic

Liu Ying (1):
drm/imx: dw_hdmi-imx: Fix bailout in error cases of probe

Lorenzo Bianconi (1):
mt76: dma: initialize skip_unmap in mt76_dma_rx_fill

Luca Coelho (1):
iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val

Lucas Denefle (1):
w1: w1_therm: fixes w1_seq for ds28ea00 sensors

Luiz Augusto von Dentz (4):
Bluetooth: hci_sync: Fix compilation warning
Bluetooth: hci_sync: Fix queuing commands when HCI_UNREGISTER is set
Bluetooth: Fix not checking for valid hdev on bt_dev_{info,warn,err,dbg}
Bluetooth: Fix use after free in hci_send_acl

Lv Yunlong (1):
drbd: Fix five use after free bugs in get_initial_state

Maciej Fijalkowski (3):
ice: synchronize_rcu() when terminating rings
ice: xsk: fix VSI state check in ice_xsk_wakeup()
ice: clear cmd_type_offset_bsz for TX rings

Magnus Karlsson (1):
selftests, xsk: Fix bpf_res cleanup test

Mahesh Rajashekhara (1):
scsi: smartpqi: Fix kdump issue when controller is locked up

Manish Chopra (1):
qed: fix ethtool register dump

Manivannan Sadhasivam (1):
PCI: pciehp: Add Qualcomm quirk for Command Completed erratum

Marc Zyngier (3):
KVM: arm64: Do not change the PMU event filter after a VCPU has run irqchip/gic-v3: Fix GICR_CTLR.RWP polling
irqchip/gic-v4: Wait for GICR_VPENDBASER.Dirty to clear before descheduling

Mark Pearson (1):
platform/x86: thinkpad_acpi: Add dual fan probe

Mark Zhang (1):
IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD

Martin Habets (1):
sfc: Do not free an empty page_ring

Martin K. Petersen (1):
scsi: sd: sd_read_cpr() requires VPD pages

Mateusz Palczewski (1):
iavf: stop leaking iavf_status as "errno" values

Matt Johnston (3):
mctp: make __mctp_dev_get() take a refcount hold
mctp: Fix check for dev_hard_header() result
mctp: Use output netdev to allocate skb headroom

Mauricio Faria de Oliveira (1):
mm: fix race between MADV_FREE reclaim and blkdev direct IO read

Max Filippov (2):
xtensa: fix DTC warning unit_address_format
highmem: fix checks in __kmap_local_sched_{in,out}

Maxim Kiselev (1):
powerpc: dts: t104xrdb: fix phy type for FMAN 4/5

Maxim Mikityanskiy (2):
net/mlx5e: Disable TX queues before registering the netdev
bpf: Support dual-stack sockets in bpf_tcp_check_syncookie

Maxime Ripard (1):
clk: Enforce that disjoints limits are invalid

Meenakshikumar Somasundaram (1):
drm/amd/display: Fix for dmub outbox notification enable

Miaohe Lin (1):
mm/mempolicy: fix mpol_new leak in shared_policy_replace

Miaoqian Lin (1):
dpaa2-ptp: Fix refcount leak in dpaa2_ptp_probe

Michael Chan (1):
bnxt_en: Eliminate unintended link toggle during FW reset

Michael Ellerman (2):
powerpc/code-patching: Pre-map patch area powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E

Michael T. Kloos (1):
riscv: Fixed misaligned memory access. Fixed pointer comparison.

Michael Walle (2):
net: sfp: add 2500base-X quirk for Lantech SFP module
net: phy: mscc-miim: reject clause 45 register accesses

Michael Wu (1):
mmc: core: Fixup support for writeback-cache for eMMC and SD

Mike Snitzer (1):
dm: requeue IO if mapping table not yet available

Minghao Chi (CGEL ZTE) (1):
Bluetooth: use memset avoid memory leaks

Miri Korenblit (1):
iwlwifi: mvm: move only to an enabled channel

Muchun Song (1):
mm: kfence: fix objcgs vector allocation

Namhyung Kim (1):
perf/core: Inherit event_caps

Naresh Kamboju (1):
selftests: net: Add tls config dependency for tls selftests

Nathan Chancellor (1):
x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopy

Neal Liu (1):
usb: ehci: add pci device support for Aspeed platforms

NeilBrown (4):
SUNRPC/xprt: async tasks mustn't block waiting for memory
SUNRPC: remove scheduling boost for "SWAPPER" tasks.
NFS: swap IO handling is slightly different for O_DIRECT IO
NFS: swap-out must always use STABLE writes.

Nicholas Kazlauskas (1):
drm/amd/display: Use PSR version selected during set_psr_caps

Nicholas Piggin (1):
powerpc/64s/hash: Make hash faults work in NMI context

Nick Desaulniers (1):
x86/extable: Prefer local labels in .set directives

Niels Dossche (1):
IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition

Nikolay Aleksandrov (1):
net: ipv4: fix route with nexthop object delete warning

Oded Gabbay (2):
habanalabs: reject host map with mmu disabled habanalabs/gaudi: handle axi errors from NIC engines

Ohad Sharabi (1):
habanalabs: fix possible memory leak in MMU DR fini

Oliver Hartkopp (1):
can: isotp: set default value for N_As to 50 micro seconds

Pali Rohár (2):
PCI: aardvark: Fix support for MSI interrupts Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning"

Paolo Bonzini (2):
mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
KVM: avoid NULL pointer dereference in kvm_dirty_ring_push

Paulo Alcantara (2):
cifs: fix potential race with cifsd thread
cifs: force new session setup and tcon for dfs

Pavan Chebbi (1):
bnxt_en: Synchronize tx when xdp redirects happen on same ring

Pavel Begunkov (2):
io_uring: nospec index for tags on files update
io_uring: don't touch scm_fp_list after queueing skb

Pawan Gupta (2):
x86/pm: Save the MSR validity status at context setup x86/speculation: Restore speculation related MSRs during S3 resume

Pawel Laszczak (1):
usb: cdnsp: fix cdnsp_decode_trb function to properly handle ret value

Peter Gonda (1):
KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode()

Peter Zijlstra (4):
x86: Annotate call_on_stack()
objtool: Fix SLS validation for kcov tail-call replacement sched/core: Fix forceidle balancing x86,static_call: Fix __static_call_return0 for i386

Phil Auld (1):
arch/arm64: Fix topology initialization for core scheduling

Philip Yang (4):
drm/amdkfd: Don't take process mutex for svm ioctls drm/amdkfd: Ensure mm remain valid in svm deferred_list work drm/amdkfd: svm range restore work deadlock when process exit drm/amdkfd: Fix variable set but not used warning

Philipp Zabel (1):
drm/edid: remove non_desktop quirk for HPN-3515 and LEN-B800.

Pierre Gondois (1):
cpufreq: CPPC: Fix performance/frequency conversion

Ping-Ke Shih (1):
rtw88: change rtw_info() to proper message level

Qi Liu (1):
scsi: hisi_sas: Free irq vectors in order for v3 HW

Qinghua Jin (1):
minix: fix bug when opening a file with O_DIRECT

Qu Wenruo (2):
btrfs: remove device item and update super block in the same transaction
btrfs: avoid defragging extents whose next extents are not targets

Rajneesh Bhardwaj (1):
drm/amdgpu: Fix recursive locking warning

Randy Dunlap (3):
scsi: aha152x: Fix aha152x_setup() __setup handler return value init/main.c: return 1 from handled __setup() functions
virtio_console: eliminate anonymous module_init & module_exit

Ray Jui (1):
bnxt_en: Prevent XDP redirect from running when stopping TX queue

Reto Buerki (1):
x86/msi: Fix msi message data shadow struct

Ricardo Koller (5):
kvm: selftests: aarch64: fix assert in gicv3_access_reg
kvm: selftests: aarch64: pass vgic_irq guest args as a pointer
kvm: selftests: aarch64: fix the failure check in kvm_set_gsi_routing_irqchip_check
kvm: selftests: aarch64: fix some vgic related comments
kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq()

Roi Dayan (1):
net/mlx5e: TC, Hold sample_attr on stack instead of pointer

Roman Li (1):
drm/amd/display: Remove redundant dsc power gating from init_hw

Sachin Sant (1):
powerpc/xive: Export XIVE IPI information for online-only processors.

Sascha Hauer (1):
clk: rockchip: drop CLK_SET_RATE_PARENT from dclk_vop* on rk3568

Sean Wang (1):
Bluetooth: mediatek: fix the conflict between mtk and msft vendor event

Sebastian Andrzej Siewior (2):
tcp: Don't acquire inet_listen_hashbucket::lock with disabled BH.
sched: Teach the forced-newidle balancer about CPU affinity limitation.

Shirish S (1):
amd/display: set backlight only if required

Shreeya Patel (1):
gpio: Restrict usage of GPIO chip irq members before initialization

Soenke Huster (2):
Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt
Bluetooth: hci_event: Ignore multiple conn complete events

Sourabh Jain (1):
powerpc: Set crashkernel offset to mid of RMA region

Sreekanth Reddy (3):
scsi: mpi3mr: Fix deadlock while canceling the fw event
scsi: mpi3mr: Fix reporting of actual data transfer size
scsi: mpi3mr: Fix memory leaks

Stefan Wahren (2):
staging: vchiq_arm: Avoid NULL ptr deref in vchiq_dump_platform_instances
staging: vchiq_core: handle NULL result of find_service_by_handle

Sung Joon Kim (1):
drm/amd/display: reset lane settings after each PHY repeater LT

Sven Eckelmann (1):
macvtap: advertise link netns via netlink

Taehee Yoo (2):
net: sfc: add missing xdp queue reinitialization
net: sfc: fix using uninitialized xdp tx_queue

Thomas Zimmermann (1):
fbdev: Fix unregistering of framebuffers without device

Tianci.Yin (1):
drm/amdgpu: Fix an error message in rmmod

Tomas Henzl (1):
scsi: core: scsi_logging: Fix a BUG

Tony Lindgren (2):
clk: ti: Preserve node in ti_dt_clocks_register() iommu/omap: Fix regression in probe for NULL pointer dereference

Tony Lu (1):
net/smc: Send directly when TCP_CORK is cleared

Trond Myklebust (8):
NFSv4: Protect the state recovery thread against direct reclaim
SUNRPC: Fix socket waits for write buffer space
NFS: nfsiod should not block forever in mempool_alloc()
NFS: Avoid writeback threads getting stuck in mempool_alloc()
SUNRPC: Handle ENOMEM in call_transmit_status()
SUNRPC: Handle low memory situations in call_status()
SUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec()
SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()

Venkateswara Naralasetty (1):
ath11k: fix kernel panic during unload/load ath11k modules

Vincent Mailhol (2):
can: etas_es58x: es58x_fd_rx_event_msg(): initialize rx_event_msg before calling es58x_check_msg_len() x86/bug: Prevent shadowing in __WARN_FLAGS

Vinod Koul (2):
spi: core: add dma_map_dev for __spi_unmap_msg()
dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error"

Viresh Kumar (1):
opp: Expose of-node's name in debugfs

Vladimir Oltean (1):
Revert "net: dsa: stop updating master MTU from master.c"

Waiman Long (1):
mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning

Wang Yufen (1):
netlabel: fix out-of-bounds memory accesses

Wayne Chang (2):
usb: gadget: tegra-xudc: Do not program SPARAM
usb: gadget: tegra-xudc: Fix control endpoint's definitions

Wolfram Sang (2):
mmc: renesas_sdhi: special 4tap settings only apply to HS400
mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is complete

Xiang Chen (1):
scsi: hisi_sas: Limit users changing debugfs BIST count value

Xiaoke Wang (1):
staging: wfx: fix an error handling in wfx_init_common()

Xiaomeng Tong (3):
scsi: ufs: ufshpb: Fix a NULL check on list iterator
drbd: fix an invalid memory access caused by incorrect use of list iterator
perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator

Xin Xiong (2):
drm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj NFSv4.2: fix reference count leaks in _nfs42_proc_copy_notify()

Xiubo Li (2):
ceph: fix inode reference leakage in ceph_get_snapdir()
ceph: fix memory leak in ceph_readdir when note_last_dentry returns error

Yang Guang (3):
ptp: replace snprintf with sysfs_emit
scsi: mvsas: Replace snprintf() with sysfs_emit()
scsi: bfa: Replace snprintf() with sysfs_emit()

Yang Li (1):
mt76: mt7615: Fix assigning negative values to unsigned variable

Yann Gautier (1):
mmc: mmci: stm32: correctly check all elements of sg list

Yonghong Song (1):
libbpf: Fix build issue with llvm-readelf

Yongzhi Liu (3):
drm/amd/display: Fix memory leak
drm/bridge: Add missing pm_runtime_put_sync
drm/v3d: fix missing unlock

Zekun Shen (1):
ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111

Zheng Yongjun (1):
net: dsa: felix: fix possible NULL pointer dereference

Zhou Guanghui (1):
iommu/arm-smmu-v3: fix event handling soft lockup

Ziyang Xuan (1):
net/tls: fix slab-out-of-bounds bug in decrypt_internal

author maintainer
#1 lore raw
Documentation/virt/kvm/devices/vcpu.rst +1 -1
index 60a29972d3f1..d063aaee5bb7 100644
@@ -70,7 +70,7 @@ irqchip.
 	 -ENODEV  PMUv3 not supported or GIC not initialized
 	 -ENXIO   PMUv3 not properly configured or in-kernel irqchip not
 	 	  configured as required prior to calling this attribute
-	 -EBUSY   PMUv3 already initialized
+	 -EBUSY   PMUv3 already initialized or a VCPU has already run
 	 -EINVAL  Invalid filter range
 	 =======  ======================================================
 
Makefile +1 -1
index 06d852cad74f..02fbef1a0213 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 17
-SUBLEVEL = 2
+SUBLEVEL = 3
 EXTRAVERSION =
 NAME = Superb Owl
 
arch/arm64/include/asm/cputype.h +2 -0
index bfbf0c4c7c5e..39f5c1672f48 100644
@@ -75,6 +75,7 @@
 #define ARM_CPU_PART_CORTEX_A77		0xD0D
 #define ARM_CPU_PART_NEOVERSE_V1	0xD40
 #define ARM_CPU_PART_CORTEX_A78		0xD41
+#define ARM_CPU_PART_CORTEX_A78AE	0xD42
 #define ARM_CPU_PART_CORTEX_X1		0xD44
 #define ARM_CPU_PART_CORTEX_A510	0xD46
 #define ARM_CPU_PART_CORTEX_A710	0xD47
@@ -123,6 +124,7 @@
 #define MIDR_CORTEX_A77	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A77)
 #define MIDR_NEOVERSE_V1	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V1)
 #define MIDR_CORTEX_A78	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78)
+#define MIDR_CORTEX_A78AE	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78AE)
 #define MIDR_CORTEX_X1	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1)
 #define MIDR_CORTEX_A510 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A510)
 #define MIDR_CORTEX_A710 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A710)
arch/arm64/include/asm/kvm_host.h +1 -0
index 031e3a2537fc..8234626a945a 100644
@@ -136,6 +136,7 @@ struct kvm_arch {
 
 	/* Memory Tagging Extension enabled for the guest */
 	bool mte_enabled;
+	bool ran_once;
 };
 
 struct kvm_vcpu_fault_info {
arch/arm64/kernel/patching.c +2 -2
index 771f543464e0..33e0fabc0b79 100644
@@ -117,8 +117,8 @@ static int __kprobes aarch64_insn_patch_text_cb(void *arg)
 	int i, ret = 0;
 	struct aarch64_insn_patch *pp = arg;
 
-	/* The first CPU becomes master */
-	if (atomic_inc_return(&pp->cpu_count) == 1) {
+	/* The last CPU becomes master */
+	if (atomic_inc_return(&pp->cpu_count) == num_online_cpus()) {
 		for (i = 0; ret == 0 && i < pp->insn_cnt; i++)
 			ret = aarch64_insn_patch_text_nosync(pp->text_addrs[i],
 							     pp->new_insns[i]);
arch/arm64/kernel/proton-pack.c +1 -0
index 5777929d35bf..40be3a7c2c53 100644
@@ -853,6 +853,7 @@ u8 spectre_bhb_loop_affected(int scope)
 	if (scope == SCOPE_LOCAL_CPU) {
 		static const struct midr_range spectre_bhb_k32_list[] = {
 			MIDR_ALL_VERSIONS(MIDR_CORTEX_A78),
+			MIDR_ALL_VERSIONS(MIDR_CORTEX_A78AE),
 			MIDR_ALL_VERSIONS(MIDR_CORTEX_A78C),
 			MIDR_ALL_VERSIONS(MIDR_CORTEX_X1),
 			MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
arch/arm64/kernel/smp.c +1 -1
index 27df5c1e6baa..3b46041f2b97 100644
@@ -234,6 +234,7 @@ asmlinkage notrace void secondary_start_kernel(void)
 	 * Log the CPU info before it is marked online and might get read.
 	 */
 	cpuinfo_store_cpu();
+	store_cpu_topology(cpu);
 
 	/*
 	 * Enable GIC and timers.
@@ -242,7 +243,6 @@ asmlinkage notrace void secondary_start_kernel(void)
 
 	ipi_setup(cpu);
 
-	store_cpu_topology(cpu);
 	numa_add_cpu(cpu);
 
 	/*
arch/arm64/kvm/arm.c +4 -0
index 4dca6ffd03d4..85a2a75f4498 100644
@@ -634,6 +634,10 @@ int kvm_arch_vcpu_run_pid_change(struct kvm_vcpu *vcpu)
 	if (kvm_vm_is_protected(kvm))
 		kvm_call_hyp_nvhe(__pkvm_vcpu_init_traps, vcpu);
 
+	mutex_lock(&kvm->lock);
+	kvm->arch.ran_once = true;
+	mutex_unlock(&kvm->lock);
+
 	return ret;
 }
 
arch/arm64/kvm/pmu-emul.c +20 -13
index fbcfd4ec6f92..bc771bc1a041 100644
@@ -924,6 +924,8 @@ static bool pmu_irq_is_valid(struct kvm *kvm, int irq)
 
 int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 {
+	struct kvm *kvm = vcpu->kvm;
+
 	if (!kvm_vcpu_has_pmu(vcpu))
 		return -ENODEV;
 
@@ -941,7 +943,7 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 		int __user *uaddr = (int __user *)(long)attr->addr;
 		int irq;
 
-		if (!irqchip_in_kernel(vcpu->kvm))
+		if (!irqchip_in_kernel(kvm))
 			return -EINVAL;
 
 		if (get_user(irq, uaddr))
@@ -951,7 +953,7 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 		if (!(irq_is_ppi(irq) || irq_is_spi(irq)))
 			return -EINVAL;
 
-		if (!pmu_irq_is_valid(vcpu->kvm, irq))
+		if (!pmu_irq_is_valid(kvm, irq))
 			return -EINVAL;
 
 		if (kvm_arm_pmu_irq_initialized(vcpu))
@@ -966,7 +968,7 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 		struct kvm_pmu_event_filter filter;
 		int nr_events;
 
-		nr_events = kvm_pmu_event_mask(vcpu->kvm) + 1;
+		nr_events = kvm_pmu_event_mask(kvm) + 1;
 
 		uaddr = (struct kvm_pmu_event_filter __user *)(long)attr->addr;
 
@@ -978,12 +980,17 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 		     filter.action != KVM_PMU_EVENT_DENY))
 			return -EINVAL;
 
-		mutex_lock(&vcpu->kvm->lock);
+		mutex_lock(&kvm->lock);
+
+		if (kvm->arch.ran_once) {
+			mutex_unlock(&kvm->lock);
+			return -EBUSY;
+		}
 
-		if (!vcpu->kvm->arch.pmu_filter) {
-			vcpu->kvm->arch.pmu_filter = bitmap_alloc(nr_events, GFP_KERNEL_ACCOUNT);
-			if (!vcpu->kvm->arch.pmu_filter) {
-				mutex_unlock(&vcpu->kvm->lock);
+		if (!kvm->arch.pmu_filter) {
+			kvm->arch.pmu_filter = bitmap_alloc(nr_events, GFP_KERNEL_ACCOUNT);
+			if (!kvm->arch.pmu_filter) {
+				mutex_unlock(&kvm->lock);
 				return -ENOMEM;
 			}
 
@@ -994,17 +1001,17 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 			 * events, the default is to allow.
 			 */
 			if (filter.action == KVM_PMU_EVENT_ALLOW)
-				bitmap_zero(vcpu->kvm->arch.pmu_filter, nr_events);
+				bitmap_zero(kvm->arch.pmu_filter, nr_events);
 			else
-				bitmap_fill(vcpu->kvm->arch.pmu_filter, nr_events);
+				bitmap_fill(kvm->arch.pmu_filter, nr_events);
 		}
 
 		if (filter.action == KVM_PMU_EVENT_ALLOW)
-			bitmap_set(vcpu->kvm->arch.pmu_filter, filter.base_event, filter.nevents);
+			bitmap_set(kvm->arch.pmu_filter, filter.base_event, filter.nevents);
 		else
-			bitmap_clear(vcpu->kvm->arch.pmu_filter, filter.base_event, filter.nevents);
+			bitmap_clear(kvm->arch.pmu_filter, filter.base_event, filter.nevents);
 
-		mutex_unlock(&vcpu->kvm->lock);
+		mutex_unlock(&kvm->lock);
 
 		return 0;
 	}
arch/mips/boot/dts/ingenic/jz4780.dtsi +1 -1
index 3f9ea47a10cd..b998301f179c 100644
@@ -510,7 +510,7 @@ efuse: efuse@d0 {
 			#address-cells = <1>;
 			#size-cells = <1>;
 
-			eth0_addr: eth-mac-addr@0x22 {
+			eth0_addr: eth-mac-addr@22 {
 				reg = <0x22 0x6>;
 			};
 		};
arch/mips/include/asm/setup.h +1 -1
index bb36a400203d..8c56b862fd9c 100644
@@ -16,7 +16,7 @@ static inline void setup_8250_early_printk_port(unsigned long base,
 	unsigned int reg_shift, unsigned int timeout) {}
 #endif
 
-extern void set_handler(unsigned long offset, void *addr, unsigned long len);
+void set_handler(unsigned long offset, const void *addr, unsigned long len);
 extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len);
 
 typedef void (*vi_handler_t)(void);
arch/mips/kernel/traps.c +11 -11
index a486486b2355..246c6a6b0261 100644
@@ -2091,19 +2091,19 @@ static void *set_vi_srs_handler(int n, vi_handler_t addr, int srs)
 		 * If no shadow set is selected then use the default handler
 		 * that does normal register saving and standard interrupt exit
 		 */
-		extern char except_vec_vi, except_vec_vi_lui;
-		extern char except_vec_vi_ori, except_vec_vi_end;
-		extern char rollback_except_vec_vi;
-		char *vec_start = using_rollback_handler() ?
-			&rollback_except_vec_vi : &except_vec_vi;
+		extern const u8 except_vec_vi[], except_vec_vi_lui[];
+		extern const u8 except_vec_vi_ori[], except_vec_vi_end[];
+		extern const u8 rollback_except_vec_vi[];
+		const u8 *vec_start = using_rollback_handler() ?
+				      rollback_except_vec_vi : except_vec_vi;
 #if defined(CONFIG_CPU_MICROMIPS) || defined(CONFIG_CPU_BIG_ENDIAN)
-		const int lui_offset = &except_vec_vi_lui - vec_start + 2;
-		const int ori_offset = &except_vec_vi_ori - vec_start + 2;
+		const int lui_offset = except_vec_vi_lui - vec_start + 2;
+		const int ori_offset = except_vec_vi_ori - vec_start + 2;
 #else
-		const int lui_offset = &except_vec_vi_lui - vec_start;
-		const int ori_offset = &except_vec_vi_ori - vec_start;
+		const int lui_offset = except_vec_vi_lui - vec_start;
+		const int ori_offset = except_vec_vi_ori - vec_start;
 #endif
-		const int handler_len = &except_vec_vi_end - vec_start;
+		const int handler_len = except_vec_vi_end - vec_start;
 
 		if (handler_len > VECTORSPACING) {
 			/*
@@ -2311,7 +2311,7 @@ void per_cpu_trap_init(bool is_boot_cpu)
 }
 
 /* Install CPU exception handler */
-void set_handler(unsigned long offset, void *addr, unsigned long size)
+void set_handler(unsigned long offset, const void *addr, unsigned long size)
 {
 #ifdef CONFIG_CPU_MICROMIPS
 	memcpy((void *)(ebase + offset), ((unsigned char *)addr - 1), size);
arch/mips/ralink/ill_acc.c +1 -0
index 115a69fc20ca..f395ae218470 100644
@@ -61,6 +61,7 @@ static int __init ill_acc_of_setup(void)
 	pdev = of_find_device_by_node(np);
 	if (!pdev) {
 		pr_err("%pOFn: failed to lookup pdev\n", np);
+		of_node_put(np);
 		return -EINVAL;
 	}
 
arch/parisc/kernel/patch.c +11 -14
index 80a0ab372802..e59574f65e64 100644
@@ -40,10 +40,7 @@ static void __kprobes *patch_map(void *addr, int fixmap, unsigned long *flags,
 
 	*need_unmap = 1;
 	set_fixmap(fixmap, page_to_phys(page));
-	if (flags)
-		raw_spin_lock_irqsave(&patch_lock, *flags);
-	else
-		__acquire(&patch_lock);
+	raw_spin_lock_irqsave(&patch_lock, *flags);
 
 	return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK));
 }
@@ -52,10 +49,7 @@ static void __kprobes patch_unmap(int fixmap, unsigned long *flags)
 {
 	clear_fixmap(fixmap);
 
-	if (flags)
-		raw_spin_unlock_irqrestore(&patch_lock, *flags);
-	else
-		__release(&patch_lock);
+	raw_spin_unlock_irqrestore(&patch_lock, *flags);
 }
 
 void __kprobes __patch_text_multiple(void *addr, u32 *insn, unsigned int len)
@@ -67,8 +61,9 @@ void __kprobes __patch_text_multiple(void *addr, u32 *insn, unsigned int len)
 	int mapped;
 
 	/* Make sure we don't have any aliases in cache */
-	flush_kernel_vmap_range(addr, len);
-	flush_icache_range(start, end);
+	flush_kernel_dcache_range_asm(start, end);
+	flush_kernel_icache_range_asm(start, end);
+	flush_tlb_kernel_range(start, end);
 
 	p = fixmap = patch_map(addr, FIX_TEXT_POKE0, &flags, &mapped);
 
@@ -81,8 +76,10 @@ void __kprobes __patch_text_multiple(void *addr, u32 *insn, unsigned int len)
 			 * We're crossing a page boundary, so
 			 * need to remap
 			 */
-			flush_kernel_vmap_range((void *)fixmap,
-						(p-fixmap) * sizeof(*p));
+			flush_kernel_dcache_range_asm((unsigned long)fixmap,
+						      (unsigned long)p);
+			flush_tlb_kernel_range((unsigned long)fixmap,
+					       (unsigned long)p);
 			if (mapped)
 				patch_unmap(FIX_TEXT_POKE0, &flags);
 			p = fixmap = patch_map(addr, FIX_TEXT_POKE0, &flags,
@@ -90,10 +87,10 @@ void __kprobes __patch_text_multiple(void *addr, u32 *insn, unsigned int len)
 		}
 	}
 
-	flush_kernel_vmap_range((void *)fixmap, (p-fixmap) * sizeof(*p));
+	flush_kernel_dcache_range_asm((unsigned long)fixmap, (unsigned long)p);
+	flush_tlb_kernel_range((unsigned long)fixmap, (unsigned long)p);
 	if (mapped)
 		patch_unmap(FIX_TEXT_POKE0, &flags);
-	flush_icache_range(start, end);
 }
 
 void __kprobes __patch_text(void *addr, u32 insn)
arch/powerpc/boot/dts/fsl/t104xrdb.dtsi +2 -2
index 099a598c74c0..bfe1ed5be337 100644
@@ -139,12 +139,12 @@ pca9546@77 {
 		fman@400000 {
 			ethernet@e6000 {
 				phy-handle = <&phy_rgmii_0>;
-				phy-connection-type = "rgmii";
+				phy-connection-type = "rgmii-id";
 			};
 
 			ethernet@e8000 {
 				phy-handle = <&phy_rgmii_1>;
-				phy-connection-type = "rgmii";
+				phy-connection-type = "rgmii-id";
 			};
 
 			mdio0: mdio@fc000 {
arch/powerpc/include/asm/interrupt.h +1 -1
index fc28f46d2f9d..5404f7abbcf8 100644
@@ -612,7 +612,7 @@ DECLARE_INTERRUPT_HANDLER_RAW(do_slb_fault);
 DECLARE_INTERRUPT_HANDLER(do_bad_segment_interrupt);
 
 /* hash_utils.c */
-DECLARE_INTERRUPT_HANDLER_RAW(do_hash_fault);
+DECLARE_INTERRUPT_HANDLER(do_hash_fault);
 
 /* fault.c */
 DECLARE_INTERRUPT_HANDLER(do_page_fault);
arch/powerpc/include/asm/page.h +5 -1
index 254687258f42..f2c5c26869f1 100644
@@ -132,7 +132,11 @@ static inline bool pfn_valid(unsigned long pfn)
 #define virt_to_page(kaddr)	pfn_to_page(virt_to_pfn(kaddr))
 #define pfn_to_kaddr(pfn)	__va((pfn) << PAGE_SHIFT)
 
-#define virt_addr_valid(kaddr)	pfn_valid(virt_to_pfn(kaddr))
+#define virt_addr_valid(vaddr)	({					\
+	unsigned long _addr = (unsigned long)vaddr;			\
+	_addr >= PAGE_OFFSET && _addr < (unsigned long)high_memory &&	\
+	pfn_valid(virt_to_pfn(_addr));					\
+})
 
 /*
  * On Book-E parts we need __va to parse the device tree and we can't
arch/powerpc/kernel/rtas.c +6 -0
index 733e6ef36758..1f42aabbbab3 100644
@@ -1313,6 +1313,12 @@ int __init early_init_dt_scan_rtas(unsigned long node,
 	entryp = of_get_flat_dt_prop(node, "linux,rtas-entry", NULL);
 	sizep  = of_get_flat_dt_prop(node, "rtas-size", NULL);
 
+#ifdef CONFIG_PPC64
+	/* need this feature to decide the crashkernel offset */
+	if (of_get_flat_dt_prop(node, "ibm,hypertas-functions", NULL))
+		powerpc_firmware_features |= FW_FEATURE_LPAR;
+#endif
+
 	if (basep && entryp && sizep) {
 		rtas.base = *basep;
 		rtas.entry = *entryp;
arch/powerpc/kernel/secvar-sysfs.c +6 -3
index a0a78aba2083..1ee4640a2641 100644
@@ -26,15 +26,18 @@ static ssize_t format_show(struct kobject *kobj, struct kobj_attribute *attr,
 	const char *format;
 
 	node = of_find_compatible_node(NULL, NULL, "ibm,secvar-backend");
-	if (!of_device_is_available(node))
-		return -ENODEV;
+	if (!of_device_is_available(node)) {
+		rc = -ENODEV;
+		goto out;
+	}
 
 	rc = of_property_read_string(node, "format", &format);
 	if (rc)
-		return rc;
+		goto out;
 
 	rc = sprintf(buf, "%s\n", format);
 
+out:
 	of_node_put(node);
 
 	return rc;
arch/powerpc/kexec/core.c +11 -4
index 8b68d9f91a03..abf5897ae88c 100644
@@ -134,11 +134,18 @@ void __init reserve_crashkernel(void)
 	if (!crashk_res.start) {
 #ifdef CONFIG_PPC64
 		/*
-		 * On 64bit we split the RMO in half but cap it at half of
-		 * a small SLB (128MB) since the crash kernel needs to place
-		 * itself and some stacks to be in the first segment.
+		 * On the LPAR platform place the crash kernel to mid of
+		 * RMA size (512MB or more) to ensure the crash kernel
+		 * gets enough space to place itself and some stack to be
+		 * in the first segment. At the same time normal kernel
+		 * also get enough space to allocate memory for essential
+		 * system resource in the first segment. Keep the crash
+		 * kernel starts at 128MB offset on other platforms.
 		 */
-		crashk_res.start = min(0x8000000ULL, (ppc64_rma_size / 2));
+		if (firmware_has_feature(FW_FEATURE_LPAR))
+			crashk_res.start = ppc64_rma_size / 2;
+		else
+			crashk_res.start = min(0x8000000ULL, (ppc64_rma_size / 2));
 #else
 		crashk_res.start = KDUMP_KERNELBASE;
 #endif
arch/powerpc/kvm/book3s_64_entry.S +8 -2
index 05e003eb5d90..e42d1c609e47 100644
@@ -414,10 +414,16 @@ END_FTR_SECTION_IFSET(CPU_FTR_DAWR1)
 	 */
 	ld	r10,HSTATE_SCRATCH0(r13)
 	cmpwi	r10,BOOK3S_INTERRUPT_MACHINE_CHECK
-	beq	machine_check_common
+	beq	.Lcall_machine_check_common
 
 	cmpwi	r10,BOOK3S_INTERRUPT_SYSTEM_RESET
-	beq	system_reset_common
+	beq	.Lcall_system_reset_common
 
 	b	.
+
+.Lcall_machine_check_common:
+	b	machine_check_common
+
+.Lcall_system_reset_common:
+	b	system_reset_common
 #endif
arch/powerpc/lib/code-patching.c +14 -0
index 906d43463366..00c68e7fb11e 100644
@@ -43,9 +43,14 @@ int raw_patch_instruction(u32 *addr, ppc_inst_t instr)
 #ifdef CONFIG_STRICT_KERNEL_RWX
 static DEFINE_PER_CPU(struct vm_struct *, text_poke_area);
 
+static int map_patch_area(void *addr, unsigned long text_poke_addr);
+static void unmap_patch_area(unsigned long addr);
+
 static int text_area_cpu_up(unsigned int cpu)
 {
 	struct vm_struct *area;
+	unsigned long addr;
+	int err;
 
 	area = get_vm_area(PAGE_SIZE, VM_ALLOC);
 	if (!area) {
@@ -53,6 +58,15 @@ static int text_area_cpu_up(unsigned int cpu)
 			cpu);
 		return -1;
 	}
+
+	// Map/unmap the area to ensure all page tables are pre-allocated
+	addr = (unsigned long)area->addr;
+	err = map_patch_area(empty_zero_page, addr);
+	if (err)
+		return err;
+
+	unmap_patch_area(addr);
+
 	this_cpu_write(text_poke_area, area);
 
 	return 0;
arch/powerpc/mm/book3s64/hash_utils.c +8 -46

84 lines not on this page · raw message

arch/powerpc/mm/mem.c +1 -1
index 8e301cd8925b..4d221d033804 100644
@@ -255,7 +255,7 @@ void __init mem_init(void)
 #endif
 
 	high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
-	set_max_mapnr(max_low_pfn);
+	set_max_mapnr(max_pfn);
 
 	kasan_late_init();
 
arch/powerpc/mm/pageattr.c +13 -19
index 3bb9d168e3b3..85753e32a4de 100644
@@ -15,12 +15,14 @@
 #include <asm/pgtable.h>
 
 
+static pte_basic_t pte_update_delta(pte_t *ptep, unsigned long addr,
+				    unsigned long old, unsigned long new)
+{
+	return pte_update(&init_mm, addr, ptep, old & ~new, new & ~old, 0);
+}
+
 /*
- * Updates the attributes of a page in three steps:
- *
- * 1. take the page_table_lock
- * 2. install the new entry with the updated attributes
- * 3. flush the TLB
+ * Updates the attributes of a page atomically.
  *
  * This sequence is safe against concurrent updates, and also allows updating the
  * attributes of a page currently being executed or accessed.
@@ -28,25 +30,21 @@
 static int change_page_attr(pte_t *ptep, unsigned long addr, void *data)
 {
 	long action = (long)data;
-	pte_t pte;
 
-	spin_lock(&init_mm.page_table_lock);
-
-	pte = ptep_get(ptep);
-
-	/* modify the PTE bits as desired, then apply */
+	/* modify the PTE bits as desired */
 	switch (action) {
 	case SET_MEMORY_RO:
-		pte = pte_wrprotect(pte);
+		/* Don't clear DIRTY bit */
+		pte_update_delta(ptep, addr, _PAGE_KERNEL_RW & ~_PAGE_DIRTY, _PAGE_KERNEL_RO);
 		break;
 	case SET_MEMORY_RW:
-		pte = pte_mkwrite(pte_mkdirty(pte));
+		pte_update_delta(ptep, addr, _PAGE_KERNEL_RO, _PAGE_KERNEL_RW);
 		break;
 	case SET_MEMORY_NX:
-		pte = pte_exprotect(pte);
+		pte_update_delta(ptep, addr, _PAGE_KERNEL_ROX, _PAGE_KERNEL_RO);
 		break;
 	case SET_MEMORY_X:
-		pte = pte_mkexec(pte);
+		pte_update_delta(ptep, addr, _PAGE_KERNEL_RO, _PAGE_KERNEL_ROX);
 		break;
 	case SET_MEMORY_NP:
 		pte_update(&init_mm, addr, ptep, _PAGE_PRESENT, 0, 0);
@@ -59,16 +57,12 @@ static int change_page_attr(pte_t *ptep, unsigned long addr, void *data)
 		break;
 	}
 
-	pte_update(&init_mm, addr, ptep, ~0UL, pte_val(pte), 0);
-
 	/* See ptesync comment in radix__set_pte_at() */
 	if (radix_enabled())
 		asm volatile("ptesync": : :"memory");
 
 	flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
 
-	spin_unlock(&init_mm.page_table_lock);
-
 	return 0;
 }
 
arch/powerpc/perf/callchain.h +1 -8
index d6fa6e25234f..19a8d051ddf1 100644
@@ -2,7 +2,6 @@
 #ifndef _POWERPC_PERF_CALLCHAIN_H
 #define _POWERPC_PERF_CALLCHAIN_H
 
-int read_user_stack_slow(const void __user *ptr, void *buf, int nb);
 void perf_callchain_user_64(struct perf_callchain_entry_ctx *entry,
 			    struct pt_regs *regs);
 void perf_callchain_user_32(struct perf_callchain_entry_ctx *entry,
@@ -26,17 +25,11 @@ static inline int __read_user_stack(const void __user *ptr, void *ret,
 				    size_t size)
 {
 	unsigned long addr = (unsigned long)ptr;
-	int rc;
 
 	if (addr > TASK_SIZE - size || (addr & (size - 1)))
 		return -EFAULT;
 
-	rc = copy_from_user_nofault(ret, ptr, size);
-
-	if (IS_ENABLED(CONFIG_PPC64) && !radix_enabled() && rc)
-		return read_user_stack_slow(ptr, ret, size);
-
-	return rc;
+	return copy_from_user_nofault(ret, ptr, size);
 }
 
 #endif /* _POWERPC_PERF_CALLCHAIN_H */
arch/powerpc/perf/callchain_64.c +0 -27
index 8d0df4226328..488e8a21a11e 100644
@@ -18,33 +18,6 @@
 
 #include "callchain.h"
 
-/*
- * On 64-bit we don't want to invoke hash_page on user addresses from
- * interrupt context, so if the access faults, we read the page tables
- * to find which page (if any) is mapped and access it directly. Radix
- * has no need for this so it doesn't use read_user_stack_slow.
- */
-int read_user_stack_slow(const void __user *ptr, void *buf, int nb)
-{
-
-	unsigned long addr = (unsigned long) ptr;
-	unsigned long offset;
-	struct page *page;
-	void *kaddr;
-
-	if (get_user_page_fast_only(addr, FOLL_WRITE, &page)) {
-		kaddr = page_address(page);
-
-		/* align address to page boundary */
-		offset = addr & ~PAGE_MASK;
-
-		memcpy(buf, kaddr + offset, nb);
-		put_page(page);
-		return 0;
-	}
-	return -EFAULT;
-}
-
 static int read_user_stack_64(const unsigned long __user *ptr, unsigned long *ret)
 {
 	return __read_user_stack(ptr, ret, sizeof(*ret));
arch/powerpc/platforms/Kconfig.cputype +2 -1
index 87bc1929ee5a..e2e1fec91c6e 100644
@@ -107,6 +107,7 @@ config PPC_BOOK3S_64
 
 config PPC_BOOK3E_64
 	bool "Embedded processors"
+	select PPC_FSL_BOOK3E
 	select PPC_FPU # Make it a choice ?
 	select PPC_SMP_MUXED_IPI
 	select PPC_DOORBELL
@@ -295,7 +296,7 @@ config FSL_BOOKE
 config PPC_FSL_BOOK3E
 	bool
 	select ARCH_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64
-	select FSL_EMB_PERFMON
+	imply FSL_EMB_PERFMON
 	select PPC_SMP_MUXED_IPI
 	select PPC_DOORBELL
 	select PPC_KUEP
arch/powerpc/sysdev/xive/common.c +1 -1
index 89c86f32aff8..bb5bda6b2357 100644
@@ -1791,7 +1791,7 @@ static int xive_ipi_debug_show(struct seq_file *m, void *private)
 	if (xive_ops->debug_show)
 		xive_ops->debug_show(m, private);
 
-	for_each_possible_cpu(cpu)
+	for_each_online_cpu(cpu)
 		xive_debug_show_ipi(m, cpu);
 	return 0;
 }
arch/riscv/lib/memmove.S +310 -58

374 lines not on this page · raw message

arch/um/include/asm/xor.h +3 -1
index f512704a9ec7..22b39de73c24 100644
@@ -4,8 +4,10 @@
 
 #ifdef CONFIG_64BIT
 #undef CONFIG_X86_32
+#define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_sse_pf64))
 #else
 #define CONFIG_X86_32 1
+#define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_8regs))
 #endif
 
 #include <asm/cpufeature.h>
@@ -16,7 +18,7 @@
 #undef XOR_SELECT_TEMPLATE
 /* pick an arbitrary one - measuring isn't possible with inf-cpu */
 #define XOR_SELECT_TEMPLATE(x)	\
-	(time_travel_mode == TT_MODE_INFCPU ? &xor_block_8regs : NULL)
+	(time_travel_mode == TT_MODE_INFCPU ? TT_CPU_INF_XOR_DEFAULT : x))
 #endif
 
 #endif
arch/x86/Kconfig +5 -0
index 9f5bd41bf660..d0ecc4005df3 100644
@@ -2837,6 +2837,11 @@ config IA32_AOUT
 config X86_X32
 	bool "x32 ABI for 64-bit mode"
 	depends on X86_64
+	# llvm-objcopy does not convert x86_64 .note.gnu.property or
+	# compressed debug sections to x86_x32 properly:
+	# https://github.com/ClangBuiltLinux/linux/issues/514
+	# https://github.com/ClangBuiltLinux/linux/issues/1141
+	depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
 	help
 	  Include code to run binaries for the x32 native 32-bit ABI
 	  for 64-bit processors.  An x32 process gets access to the
arch/x86/events/intel/core.c +6 -2
index a3c7ca876aeb..d87c9b246a8f 100644
@@ -281,7 +281,7 @@ static struct extra_reg intel_spr_extra_regs[] __read_mostly = {
 	INTEL_UEVENT_EXTRA_REG(0x012a, MSR_OFFCORE_RSP_0, 0x3fffffffffull, RSP_0),
 	INTEL_UEVENT_EXTRA_REG(0x012b, MSR_OFFCORE_RSP_1, 0x3fffffffffull, RSP_1),
 	INTEL_UEVENT_PEBS_LDLAT_EXTRA_REG(0x01cd),
-	INTEL_UEVENT_EXTRA_REG(0x01c6, MSR_PEBS_FRONTEND, 0x7fff17, FE),
+	INTEL_UEVENT_EXTRA_REG(0x01c6, MSR_PEBS_FRONTEND, 0x7fff1f, FE),
 	INTEL_UEVENT_EXTRA_REG(0x40ad, MSR_PEBS_FRONTEND, 0x7, FE),
 	INTEL_UEVENT_EXTRA_REG(0x04c2, MSR_PEBS_FRONTEND, 0x8, FE),
 	EVENT_EXTRA_END
@@ -5515,7 +5515,11 @@ static void intel_pmu_check_event_constraints(struct event_constraint *event_con
 			/* Disabled fixed counters which are not in CPUID */
 			c->idxmsk64 &= intel_ctrl;
 
-			if (c->idxmsk64 != INTEL_PMC_MSK_FIXED_REF_CYCLES)
+			/*
+			 * Don't extend the pseudo-encoding to the
+			 * generic counters
+			 */
+			if (!use_fixed_pseudo_encoding(c->code))
 				c->idxmsk64 |= (1ULL << num_counters) - 1;
 		}
 		c->idxmsk64 &=
arch/x86/include/asm/asm.h +10 -10
index c878fed3056f..fbcfec4dc4cc 100644
@@ -154,24 +154,24 @@
 
 # define DEFINE_EXTABLE_TYPE_REG \
 	".macro extable_type_reg type:req reg:req\n"						\
-	".set found, 0\n"									\
-	".set regnr, 0\n"									\
+	".set .Lfound, 0\n"									\
+	".set .Lregnr, 0\n"									\
 	".irp rs,rax,rcx,rdx,rbx,rsp,rbp,rsi,rdi,r8,r9,r10,r11,r12,r13,r14,r15\n"		\
 	".ifc \\reg, %%\\rs\n"									\
-	".set found, found+1\n"									\
-	".long \\type + (regnr << 8)\n"								\
+	".set .Lfound, .Lfound+1\n"								\
+	".long \\type + (.Lregnr << 8)\n"							\
 	".endif\n"										\
-	".set regnr, regnr+1\n"									\
+	".set .Lregnr, .Lregnr+1\n"								\
 	".endr\n"										\
-	".set regnr, 0\n"									\
+	".set .Lregnr, 0\n"									\
 	".irp rs,eax,ecx,edx,ebx,esp,ebp,esi,edi,r8d,r9d,r10d,r11d,r12d,r13d,r14d,r15d\n"	\
 	".ifc \\reg, %%\\rs\n"									\
-	".set found, found+1\n"									\
-	".long \\type + (regnr << 8)\n"								\
+	".set .Lfound, .Lfound+1\n"								\
+	".long \\type + (.Lregnr << 8)\n"							\
 	".endif\n"										\
-	".set regnr, regnr+1\n"									\
+	".set .Lregnr, .Lregnr+1\n"								\
 	".endr\n"										\
-	".if (found != 1)\n"									\
+	".if (.Lfound != 1)\n"									\
 	".error \"extable_type_reg: bad register argument\"\n"					\
 	".endif\n"										\
 	".endm\n"
arch/x86/include/asm/bug.h +2 -2
index bab883c0b6fe..66570e95af39 100644
@@ -77,9 +77,9 @@ do {								\
  */
 #define __WARN_FLAGS(flags)					\
 do {								\
-	__auto_type f = BUGFLAG_WARNING|(flags);		\
+	__auto_type __flags = BUGFLAG_WARNING|(flags);		\
 	instrumentation_begin();				\
-	_BUG_FLAGS(ASM_UD2, f, ASM_REACHABLE);			\
+	_BUG_FLAGS(ASM_UD2, __flags, ASM_REACHABLE);		\
 	instrumentation_end();					\
 } while (0)
 
arch/x86/include/asm/irq_stack.h +2 -1
index ae9d40f6c706..05af249d6bec 100644
@@ -99,7 +99,8 @@
 }
 
 #define ASM_CALL_ARG0							\
-	"call %P[__func]				\n"
+	"call %P[__func]				\n"		\
+	ASM_REACHABLE
 
 #define ASM_CALL_ARG1							\
 	"movq	%[arg1], %%rdi				\n"		\
arch/x86/include/asm/kvm_host.h +1 -0
index ec9830d2aabf..17b4e1808b8e 100644
@@ -509,6 +509,7 @@ struct kvm_pmu {
 	u64 global_ctrl_mask;
 	u64 global_ovf_ctrl_mask;
 	u64 reserved_bits;
+	u64 raw_event_mask;
 	u8 version;
 	struct kvm_pmc gp_counters[INTEL_PMC_MAX_GENERIC];
 	struct kvm_pmc fixed_counters[INTEL_PMC_MAX_FIXED];
arch/x86/include/asm/msi.h +11 -8
index b85147d75626..d71c7e8b738d 100644
@@ -12,14 +12,17 @@ int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec,
 /* Structs and defines for the X86 specific MSI message format */
 
 typedef struct x86_msi_data {
-	u32	vector			:  8,
-		delivery_mode		:  3,
-		dest_mode_logical	:  1,
-		reserved		:  2,
-		active_low		:  1,
-		is_level		:  1;
-
-	u32	dmar_subhandle;
+	union {
+		struct {
+			u32	vector			:  8,
+				delivery_mode		:  3,
+				dest_mode_logical	:  1,
+				reserved		:  2,
+				active_low		:  1,
+				is_level		:  1;
+		};
+		u32	dmar_subhandle;
+	};
 } __attribute__ ((packed)) arch_msi_msg_data_t;
 #define arch_msi_msg_data	x86_msi_data
 
arch/x86/include/asm/perf_event.h +5 -0
index 8fc1b5003713..a2b6626c681f 100644
@@ -241,6 +241,11 @@ struct x86_pmu_capability {
 #define INTEL_PMC_IDX_FIXED_SLOTS	(INTEL_PMC_IDX_FIXED + 3)
 #define INTEL_PMC_MSK_FIXED_SLOTS	(1ULL << INTEL_PMC_IDX_FIXED_SLOTS)
 
+static inline bool use_fixed_pseudo_encoding(u64 code)
+{
+	return !(code & 0xff);
+}
+
 /*
  * We model BTS tracing as another fixed-mode PMC.
  *
arch/x86/kernel/cpu/mce/core.c +64 -0

88 lines not on this page · raw message

arch/x86/kernel/cpu/mce/internal.h +4 -1
index 52c633950b38..24d099e2d2a2 100644
@@ -170,7 +170,10 @@ struct mce_vendor_flags {
 	/* SandyBridge IFU quirk */
 	snb_ifu_quirk		: 1,
 
-	__reserved_0		: 57;
+	/* Skylake, Cascade Lake, Cooper Lake REP;MOVS* quirk */
+	skx_repmov_quirk	: 1,
+
+	__reserved_0		: 56;
 };
 
 extern struct mce_vendor_flags mce_flags;
arch/x86/kernel/static_call.c +2 -3
index 531fb4cbb63f..aa72cefdd5be 100644
@@ -12,10 +12,9 @@ enum insn_type {
 };
 
 /*
- * data16 data16 xorq %rax, %rax - a single 5 byte instruction that clears %rax
- * The REX.W cancels the effect of any data16.
+ * cs cs cs xorl %eax, %eax - a single 5 byte instruction that clears %[er]ax
  */
-static const u8 xor5rax[] = { 0x66, 0x66, 0x48, 0x31, 0xc0 };
+static const u8 xor5rax[] = { 0x2e, 0x2e, 0x2e, 0x31, 0xc0 };
 
 static const u8 retinsn[] = { RET_INSN_OPCODE, 0xcc, 0xcc, 0xcc, 0xcc };
 
arch/x86/kvm/emulate.c +3 -1
index 02d061a06aa1..de9d8a27387c 100644
@@ -3523,8 +3523,10 @@ static int em_rdpid(struct x86_emulate_ctxt *ctxt)
 {
 	u64 tsc_aux = 0;
 
-	if (ctxt->ops->get_msr(ctxt, MSR_TSC_AUX, &tsc_aux))
+	if (!ctxt->ops->guest_has_rdpid(ctxt))
 		return emulate_ud(ctxt);
+
+	ctxt->ops->get_msr(ctxt, MSR_TSC_AUX, &tsc_aux);
 	ctxt->dst.val = tsc_aux;
 	return X86EMUL_CONTINUE;
 }
arch/x86/kvm/kvm_emulate.h +1 -0
index 39eded2426ff..a2a7654d8ace 100644
@@ -226,6 +226,7 @@ struct x86_emulate_ops {
 	bool (*guest_has_long_mode)(struct x86_emulate_ctxt *ctxt);
 	bool (*guest_has_movbe)(struct x86_emulate_ctxt *ctxt);
 	bool (*guest_has_fxsr)(struct x86_emulate_ctxt *ctxt);
+	bool (*guest_has_rdpid)(struct x86_emulate_ctxt *ctxt);
 
 	void (*set_nmi_mask)(struct x86_emulate_ctxt *ctxt, bool masked);
 
arch/x86/kvm/pmu.c +7 -11
index b1a02993782b..eca39f56c231 100644
@@ -96,8 +96,7 @@ static void kvm_perf_overflow(struct perf_event *perf_event,
 
 static void pmc_reprogram_counter(struct kvm_pmc *pmc, u32 type,
 				  u64 config, bool exclude_user,
-				  bool exclude_kernel, bool intr,
-				  bool in_tx, bool in_tx_cp)
+				  bool exclude_kernel, bool intr)
 {
 	struct perf_event *event;
 	struct perf_event_attr attr = {
@@ -116,16 +115,14 @@ static void pmc_reprogram_counter(struct kvm_pmc *pmc, u32 type,
 
 	attr.sample_period = get_sample_period(pmc, pmc->counter);
 
-	if (in_tx)
-		attr.config |= HSW_IN_TX;
-	if (in_tx_cp) {
+	if ((attr.config & HSW_IN_TX_CHECKPOINTED) &&
+	    guest_cpuid_is_intel(pmc->vcpu)) {
 		/*
 		 * HSW_IN_TX_CHECKPOINTED is not supported with nonzero
 		 * period. Just clear the sample period so at least
 		 * allocating the counter doesn't fail.
 		 */
 		attr.sample_period = 0;
-		attr.config |= HSW_IN_TX_CHECKPOINTED;
 	}
 
 	event = perf_event_create_kernel_counter(&attr, -1, current,
@@ -185,6 +182,7 @@ void reprogram_gp_counter(struct kvm_pmc *pmc, u64 eventsel)
 	u32 type = PERF_TYPE_RAW;
 	struct kvm *kvm = pmc->vcpu->kvm;
 	struct kvm_pmu_event_filter *filter;
+	struct kvm_pmu *pmu = vcpu_to_pmu(pmc->vcpu);
 	bool allow_event = true;
 
 	if (eventsel & ARCH_PERFMON_EVENTSEL_PIN_CONTROL)
@@ -221,7 +219,7 @@ void reprogram_gp_counter(struct kvm_pmc *pmc, u64 eventsel)
 	}
 
 	if (type == PERF_TYPE_RAW)
-		config = eventsel & AMD64_RAW_EVENT_MASK;
+		config = eventsel & pmu->raw_event_mask;
 
 	if (pmc->current_config == eventsel && pmc_resume_counter(pmc))
 		return;
@@ -232,9 +230,7 @@ void reprogram_gp_counter(struct kvm_pmc *pmc, u64 eventsel)
 	pmc_reprogram_counter(pmc, type, config,
 			      !(eventsel & ARCH_PERFMON_EVENTSEL_USR),
 			      !(eventsel & ARCH_PERFMON_EVENTSEL_OS),
-			      eventsel & ARCH_PERFMON_EVENTSEL_INT,
-			      (eventsel & HSW_IN_TX),
-			      (eventsel & HSW_IN_TX_CHECKPOINTED));
+			      eventsel & ARCH_PERFMON_EVENTSEL_INT);
 }
 EXPORT_SYMBOL_GPL(reprogram_gp_counter);
 
@@ -270,7 +266,7 @@ void reprogram_fixed_counter(struct kvm_pmc *pmc, u8 ctrl, int idx)
 			      kvm_x86_ops.pmu_ops->pmc_perf_hw_id(pmc),
 			      !(en_field & 0x2), /* exclude user */
 			      !(en_field & 0x1), /* exclude kernel */
-			      pmi, false, false);
+			      pmi);
 }
 EXPORT_SYMBOL_GPL(reprogram_fixed_counter);
 
arch/x86/kvm/svm/pmu.c +4 -5
index 5aa45f13b16d..ba40b7fced5a 100644
@@ -262,12 +262,10 @@ static int amd_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 	/* MSR_EVNTSELn */
 	pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL);
 	if (pmc) {
-		if (data == pmc->eventsel)
-			return 0;
-		if (!(data & pmu->reserved_bits)) {
+		data &= ~pmu->reserved_bits;
+		if (data != pmc->eventsel)
 			reprogram_gp_counter(pmc, data);
-			return 0;
-		}
+		return 0;
 	}
 
 	return 1;
@@ -284,6 +282,7 @@ static void amd_pmu_refresh(struct kvm_vcpu *vcpu)
 
 	pmu->counter_bitmask[KVM_PMC_GP] = ((u64)1 << 48) - 1;
 	pmu->reserved_bits = 0xfffffff000280000ull;
+	pmu->raw_event_mask = AMD64_RAW_EVENT_MASK;
 	pmu->version = 1;
 	/* not applicable to AMD; but clean them to prevent any fall out */
 	pmu->counter_bitmask[KVM_PMC_FIXED] = 0;
arch/x86/kvm/svm/svm.h +2 -0
index fa98d6844728..86bcfed6599e 100644
@@ -22,6 +22,8 @@
 #include <asm/svm.h>
 #include <asm/sev-common.h>
 
+#include "kvm_cache_regs.h"
+
 #define __sme_page_pa(x) __sme_set(page_to_pfn(x) << PAGE_SHIFT)
 
 #define	IOPM_SIZE PAGE_SIZE * 3
arch/x86/kvm/svm/svm_onhyperv.c +0 -1
index 98aa981c04ec..8cdc62c74a96 100644
@@ -4,7 +4,6 @@
  */
 
 #include <linux/kvm_host.h>
-#include "kvm_cache_regs.h"
 
 #include <asm/mshyperv.h>
 
arch/x86/kvm/vmx/pmu_intel.c +11 -3
index 466d18fc0c5d..5fa3870b8988 100644
@@ -389,6 +389,7 @@ static int intel_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 	struct kvm_pmc *pmc;
 	u32 msr = msr_info->index;
 	u64 data = msr_info->data;
+	u64 reserved_bits;
 
 	switch (msr) {
 	case MSR_CORE_PERF_FIXED_CTR_CTRL:
@@ -443,7 +444,11 @@ static int intel_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		} else if ((pmc = get_gp_pmc(pmu, msr, MSR_P6_EVNTSEL0))) {
 			if (data == pmc->eventsel)
 				return 0;
-			if (!(data & pmu->reserved_bits)) {
+			reserved_bits = pmu->reserved_bits;
+			if ((pmc->idx == 2) &&
+			    (pmu->raw_event_mask & HSW_IN_TX_CHECKPOINTED))
+				reserved_bits ^= HSW_IN_TX_CHECKPOINTED;
+			if (!(data & reserved_bits)) {
 				reprogram_gp_counter(pmc, data);
 				return 0;
 			}
@@ -485,6 +490,7 @@ static void intel_pmu_refresh(struct kvm_vcpu *vcpu)
 	pmu->counter_bitmask[KVM_PMC_FIXED] = 0;
 	pmu->version = 0;
 	pmu->reserved_bits = 0xffffffff00200000ull;
+	pmu->raw_event_mask = X86_RAW_EVENT_MASK;
 
 	entry = kvm_find_cpuid_entry(vcpu, 0xa, 0);
 	if (!entry || !enable_pmu)
@@ -533,8 +539,10 @@ static void intel_pmu_refresh(struct kvm_vcpu *vcpu)
 	entry = kvm_find_cpuid_entry(vcpu, 7, 0);
 	if (entry &&
 	    (boot_cpu_has(X86_FEATURE_HLE) || boot_cpu_has(X86_FEATURE_RTM)) &&
-	    (entry->ebx & (X86_FEATURE_HLE|X86_FEATURE_RTM)))
-		pmu->reserved_bits ^= HSW_IN_TX|HSW_IN_TX_CHECKPOINTED;
+	    (entry->ebx & (X86_FEATURE_HLE|X86_FEATURE_RTM))) {
+		pmu->reserved_bits ^= HSW_IN_TX;
+		pmu->raw_event_mask |= (HSW_IN_TX|HSW_IN_TX_CHECKPOINTED);
+	}
 
 	bitmap_set(pmu->all_valid_pmc_idx,
 		0, pmu->nr_arch_gp_counters);
arch/x86/kvm/x86.c +6 -0
index 9b6166348c94..c81ec70197fb 100644
@@ -7675,6 +7675,11 @@ static bool emulator_guest_has_fxsr(struct x86_emulate_ctxt *ctxt)
 	return guest_cpuid_has(emul_to_vcpu(ctxt), X86_FEATURE_FXSR);
 }
 
+static bool emulator_guest_has_rdpid(struct x86_emulate_ctxt *ctxt)
+{
+	return guest_cpuid_has(emul_to_vcpu(ctxt), X86_FEATURE_RDPID);
+}
+
 static ulong emulator_read_gpr(struct x86_emulate_ctxt *ctxt, unsigned reg)
 {
 	return kvm_register_read_raw(emul_to_vcpu(ctxt), reg);
@@ -7757,6 +7762,7 @@ static const struct x86_emulate_ops emulate_ops = {
 	.guest_has_long_mode = emulator_guest_has_long_mode,
 	.guest_has_movbe     = emulator_guest_has_movbe,
 	.guest_has_fxsr      = emulator_guest_has_fxsr,
+	.guest_has_rdpid     = emulator_guest_has_rdpid,
 	.set_nmi_mask        = emulator_set_nmi_mask,
 	.get_hflags          = emulator_get_hflags,
 	.exiting_smm         = emulator_exiting_smm,
arch/x86/mm/tlb.c +5 -32
index a6cf56a14939..b3cb49de0a64 100644
@@ -854,13 +854,11 @@ static void flush_tlb_func(void *info)
 			nr_invalidate);
 }
 
-static bool tlb_is_not_lazy(int cpu)
+static bool tlb_is_not_lazy(int cpu, void *data)
 {
 	return !per_cpu(cpu_tlbstate_shared.is_lazy, cpu);
 }
 
-static DEFINE_PER_CPU(cpumask_t, flush_tlb_mask);
-
 DEFINE_PER_CPU_SHARED_ALIGNED(struct tlb_state_shared, cpu_tlbstate_shared);
 EXPORT_PER_CPU_SYMBOL(cpu_tlbstate_shared);
 
@@ -889,36 +887,11 @@ STATIC_NOPV void native_flush_tlb_multi(const struct cpumask *cpumask,
 	 * up on the new contents of what used to be page tables, while
 	 * doing a speculative memory access.
 	 */
-	if (info->freed_tables) {
+	if (info->freed_tables)
 		on_each_cpu_mask(cpumask, flush_tlb_func, (void *)info, true);
-	} else {
-		/*
-		 * Although we could have used on_each_cpu_cond_mask(),
-		 * open-coding it has performance advantages, as it eliminates
-		 * the need for indirect calls or retpolines. In addition, it
-		 * allows to use a designated cpumask for evaluating the
-		 * condition, instead of allocating one.
-		 *
-		 * This code works under the assumption that there are no nested
-		 * TLB flushes, an assumption that is already made in
-		 * flush_tlb_mm_range().
-		 *
-		 * cond_cpumask is logically a stack-local variable, but it is
-		 * more efficient to have it off the stack and not to allocate
-		 * it on demand. Preemption is disabled and this code is
-		 * non-reentrant.
-		 */
-		struct cpumask *cond_cpumask = this_cpu_ptr(&flush_tlb_mask);
-		int cpu;
-
-		cpumask_clear(cond_cpumask);
-
-		for_each_cpu(cpu, cpumask) {
-			if (tlb_is_not_lazy(cpu))
-				__cpumask_set_cpu(cpu, cond_cpumask);
-		}
-		on_each_cpu_mask(cond_cpumask, flush_tlb_func, (void *)info, true);
-	}
+	else
+		on_each_cpu_cond_mask(tlb_is_not_lazy, flush_tlb_func,
+				(void *)info, 1, cpumask);
 }
 
 void flush_tlb_multi(const struct cpumask *cpumask,
arch/x86/power/cpu.c +19 -2
index 9f2b251e83c5..3822666fb73d 100644
@@ -40,7 +40,8 @@ static void msr_save_context(struct saved_context *ctxt)
 	struct saved_msr *end = msr + ctxt->saved_msrs.num;
 
 	while (msr < end) {
-		msr->valid = !rdmsrl_safe(msr->info.msr_no, &msr->info.reg.q);
+		if (msr->valid)
+			rdmsrl(msr->info.msr_no, msr->info.reg.q);
 		msr++;
 	}
 }
@@ -424,8 +425,10 @@ static int msr_build_context(const u32 *msr_id, const int num)
 	}
 
 	for (i = saved_msrs->num, j = 0; i < total_num; i++, j++) {
+		u64 dummy;
+
 		msr_array[i].info.msr_no	= msr_id[j];
-		msr_array[i].valid		= false;
+		msr_array[i].valid		= !rdmsrl_safe(msr_id[j], &dummy);
 		msr_array[i].info.reg.q		= 0;
 	}
 	saved_msrs->num   = total_num;
@@ -500,10 +503,24 @@ static int pm_cpu_check(const struct x86_cpu_id *c)
 	return ret;
 }
 
+static void pm_save_spec_msr(void)
+{
+	u32 spec_msr_id[] = {
+		MSR_IA32_SPEC_CTRL,
+		MSR_IA32_TSX_CTRL,
+		MSR_TSX_FORCE_ABORT,
+		MSR_IA32_MCU_OPT_CTRL,
+		MSR_AMD64_LS_CFG,
+	};
+
+	msr_build_context(spec_msr_id, ARRAY_SIZE(spec_msr_id));
+}
+
 static int pm_check_save_msr(void)
 {
 	dmi_check_system(msr_save_dmi_table);
 	pm_cpu_check(msr_save_cpu_table);
+	pm_save_spec_msr();
 
 	return 0;
 }
arch/x86/xen/smp_hvm.c +6 -0
index 6ff3c887e0b9..b70afdff419c 100644
@@ -19,6 +19,12 @@ static void __init xen_hvm_smp_prepare_boot_cpu(void)
 	 */
 	xen_vcpu_setup(0);
 
+	/*
+	 * Called again in case the kernel boots on vcpu >= MAX_VIRT_CPUS.
+	 * Refer to comments in xen_hvm_init_time_ops().
+	 */
+	xen_hvm_init_time_ops();
+
 	/*
 	 * The alternative logic (which patches the unlock/lock) runs before
 	 * the smp bootup up code is activated. Hence we need to set this up
arch/x86/xen/time.c +23 -1
index d9c945ee1100..9ef0a5cca96e 100644
@@ -558,6 +558,11 @@ static void xen_hvm_setup_cpu_clockevents(void)
 
 void __init xen_hvm_init_time_ops(void)
 {
+	static bool hvm_time_initialized;
+
+	if (hvm_time_initialized)
+		return;
+
 	/*
 	 * vector callback is needed otherwise we cannot receive interrupts
 	 * on cpu > 0 and at this point we don't know how many cpus are
@@ -567,7 +572,22 @@ void __init xen_hvm_init_time_ops(void)
 		return;
 
 	if (!xen_feature(XENFEAT_hvm_safe_pvclock)) {
-		pr_info("Xen doesn't support pvclock on HVM, disable pv timer");
+		pr_info_once("Xen doesn't support pvclock on HVM, disable pv timer");
+		return;
+	}
+
+	/*
+	 * Only MAX_VIRT_CPUS 'vcpu_info' are embedded inside 'shared_info'.
+	 * The __this_cpu_read(xen_vcpu) is still NULL when Xen HVM guest
+	 * boots on vcpu >= MAX_VIRT_CPUS (e.g., kexec), To access
+	 * __this_cpu_read(xen_vcpu) via xen_clocksource_read() will panic.
+	 *
+	 * The xen_hvm_init_time_ops() should be called again later after
+	 * __this_cpu_read(xen_vcpu) is available.
+	 */
+	if (!__this_cpu_read(xen_vcpu)) {
+		pr_info("Delay xen_init_time_common() as kernel is running on vcpu=%d\n",
+			xen_vcpu_nr(0));
 		return;
 	}
 
@@ -577,6 +597,8 @@ void __init xen_hvm_init_time_ops(void)
 	x86_cpuinit.setup_percpu_clockev = xen_hvm_setup_cpu_clockevents;
 
 	x86_platform.set_wallclock = xen_set_wallclock;
+
+	hvm_time_initialized = true;
 }
 #endif
 
arch/xtensa/boot/dts/xtfpga-flash-128m.dtsi +4 -4
index 9bf8bad1dd18..c33932568aa7 100644
@@ -8,19 +8,19 @@ flash: flash@00000000 {
 			reg = <0x00000000 0x08000000>;
 			bank-width = <2>;
 			device-width = <2>;
-			partition@0x0 {
+			partition@0 {
 				label = "data";
 				reg = <0x00000000 0x06000000>;
 			};
-			partition@0x6000000 {
+			partition@6000000 {
 				label = "boot loader area";
 				reg = <0x06000000 0x00800000>;
 			};
-			partition@0x6800000 {
+			partition@6800000 {
 				label = "kernel image";
 				reg = <0x06800000 0x017e0000>;
 			};
-			partition@0x7fe0000 {
+			partition@7fe0000 {
 				label = "boot environment";
 				reg = <0x07fe0000 0x00020000>;
 			};
arch/xtensa/boot/dts/xtfpga-flash-16m.dtsi +4 -4
index 40c2f81f7cb6..7bde2ab2d6fb 100644
@@ -8,19 +8,19 @@ flash: flash@08000000 {
 			reg = <0x08000000 0x01000000>;
 			bank-width = <2>;
 			device-width = <2>;
-			partition@0x0 {
+			partition@0 {
 				label = "boot loader area";
 				reg = <0x00000000 0x00400000>;
 			};
-			partition@0x400000 {
+			partition@400000 {
 				label = "kernel image";
 				reg = <0x00400000 0x00600000>;
 			};
-			partition@0xa00000 {
+			partition@a00000 {
 				label = "data";
 				reg = <0x00a00000 0x005e0000>;
 			};
-			partition@0xfe0000 {
+			partition@fe0000 {
 				label = "boot environment";
 				reg = <0x00fe0000 0x00020000>;
 			};
arch/xtensa/boot/dts/xtfpga-flash-4m.dtsi +2 -2
index fb8d3a9f33c2..0655b868749a 100644
@@ -8,11 +8,11 @@ flash: flash@08000000 {
 			reg = <0x08000000 0x00400000>;
 			bank-width = <2>;
 			device-width = <2>;
-			partition@0x0 {
+			partition@0 {
 				label = "boot loader area";
 				reg = <0x00000000 0x003f0000>;
 			};
-			partition@0x3f0000 {
+			partition@3f0000 {
 				label = "boot environment";
 				reg = <0x003f0000 0x00010000>;
 			};
drivers/acpi/processor_idle.c +1 -2
index f8e9fa82cb9b..05b3985a1984 100644
@@ -570,8 +570,7 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)
 {
 	struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu);
 
-	if (cx->type == ACPI_STATE_C3)
-		ACPI_FLUSH_CPU_CACHE();
+	ACPI_FLUSH_CPU_CACHE();
 
 	while (1) {
 
drivers/ata/sata_dwc_460ex.c +5 -1
index bec33d781ae0..e3263e961045 100644
@@ -137,7 +137,11 @@ struct sata_dwc_device {
 #endif
 };
 
-#define SATA_DWC_QCMD_MAX	32
+/*
+ * Allow one extra special slot for commands and DMA management
+ * to account for libata internal commands.
+ */
+#define SATA_DWC_QCMD_MAX	(ATA_MAX_QUEUE + 1)
 
 struct sata_dwc_device_port {
 	struct sata_dwc_device	*hsdev;
drivers/block/drbd/drbd_int.h +4 -4
index f27d5b0f9a0b..a98bfcf4a5f0 100644
@@ -1642,22 +1642,22 @@ struct sib_info {
 };
 void drbd_bcast_event(struct drbd_device *device, const struct sib_info *sib);
 
-extern void notify_resource_state(struct sk_buff *,
+extern int notify_resource_state(struct sk_buff *,
 				  unsigned int,
 				  struct drbd_resource *,
 				  struct resource_info *,
 				  enum drbd_notification_type);
-extern void notify_device_state(struct sk_buff *,
+extern int notify_device_state(struct sk_buff *,
 				unsigned int,
 				struct drbd_device *,
 				struct device_info *,
 				enum drbd_notification_type);
-extern void notify_connection_state(struct sk_buff *,
+extern int notify_connection_state(struct sk_buff *,
 				    unsigned int,
 				    struct drbd_connection *,
 				    struct connection_info *,
 				    enum drbd_notification_type);
-extern void notify_peer_device_state(struct sk_buff *,
+extern int notify_peer_device_state(struct sk_buff *,
 				     unsigned int,
 				     struct drbd_peer_device *,
 				     struct peer_device_info *,
drivers/block/drbd/drbd_main.c +2 -4
index 6f450816c4fa..5d5beeba3ed4 100644
@@ -2793,12 +2793,12 @@ enum drbd_ret_code drbd_create_device(struct drbd_config_context *adm_ctx, unsig
 
 	if (init_submitter(device)) {
 		err = ERR_NOMEM;
-		goto out_idr_remove_vol;
+		goto out_idr_remove_from_resource;
 	}
 
 	err = add_disk(disk);
 	if (err)
-		goto out_idr_remove_vol;
+		goto out_idr_remove_from_resource;
 
 	/* inherit the connection state */
 	device->state.conn = first_connection(resource)->cstate;
@@ -2812,8 +2812,6 @@ enum drbd_ret_code drbd_create_device(struct drbd_config_context *adm_ctx, unsig
 	drbd_debugfs_device_add(device);
 	return NO_ERROR;
 
-out_idr_remove_vol:
-	idr_remove(&connection->peer_devices, vnr);
 out_idr_remove_from_resource:
 	for_each_connection(connection, resource) {
 		peer_device = idr_remove(&connection->peer_devices, vnr);
drivers/block/drbd/drbd_nl.c +25 -16

156 lines not on this page · raw message

drivers/block/drbd/drbd_state.c +9 -9
index b8a27818ab3f..4ee11aef6672 100644
@@ -1537,7 +1537,7 @@ int drbd_bitmap_io_from_worker(struct drbd_device *device,
 	return rv;
 }
 
-void notify_resource_state_change(struct sk_buff *skb,
+int notify_resource_state_change(struct sk_buff *skb,
 				  unsigned int seq,
 				  struct drbd_resource_state_change *resource_state_change,
 				  enum drbd_notification_type type)
@@ -1550,10 +1550,10 @@ void notify_resource_state_change(struct sk_buff *skb,
 		.res_susp_fen = resource_state_change->susp_fen[NEW],
 	};
 
-	notify_resource_state(skb, seq, resource, &resource_info, type);
+	return notify_resource_state(skb, seq, resource, &resource_info, type);
 }
 
-void notify_connection_state_change(struct sk_buff *skb,
+int notify_connection_state_change(struct sk_buff *skb,
 				    unsigned int seq,
 				    struct drbd_connection_state_change *connection_state_change,
 				    enum drbd_notification_type type)
@@ -1564,10 +1564,10 @@ void notify_connection_state_change(struct sk_buff *skb,
 		.conn_role = connection_state_change->peer_role[NEW],
 	};
 
-	notify_connection_state(skb, seq, connection, &connection_info, type);
+	return notify_connection_state(skb, seq, connection, &connection_info, type);
 }
 
-void notify_device_state_change(struct sk_buff *skb,
+int notify_device_state_change(struct sk_buff *skb,
 				unsigned int seq,
 				struct drbd_device_state_change *device_state_change,
 				enum drbd_notification_type type)
@@ -1577,10 +1577,10 @@ void notify_device_state_change(struct sk_buff *skb,
 		.dev_disk_state = device_state_change->disk_state[NEW],
 	};
 
-	notify_device_state(skb, seq, device, &device_info, type);
+	return notify_device_state(skb, seq, device, &device_info, type);
 }
 
-void notify_peer_device_state_change(struct sk_buff *skb,
+int notify_peer_device_state_change(struct sk_buff *skb,
 				     unsigned int seq,
 				     struct drbd_peer_device_state_change *p,
 				     enum drbd_notification_type type)
@@ -1594,7 +1594,7 @@ void notify_peer_device_state_change(struct sk_buff *skb,
 		.peer_resync_susp_dependency = p->resync_susp_dependency[NEW],
 	};
 
-	notify_peer_device_state(skb, seq, peer_device, &peer_device_info, type);
+	return notify_peer_device_state(skb, seq, peer_device, &peer_device_info, type);
 }
 
 static void broadcast_state_change(struct drbd_state_change *state_change)
@@ -1602,7 +1602,7 @@ static void broadcast_state_change(struct drbd_state_change *state_change)
 	struct drbd_resource_state_change *resource_state_change = &state_change->resource[0];
 	bool resource_state_has_changed;
 	unsigned int n_device, n_connection, n_peer_device, n_peer_devices;
-	void (*last_func)(struct sk_buff *, unsigned int, void *,
+	int (*last_func)(struct sk_buff *, unsigned int, void *,
 			  enum drbd_notification_type) = NULL;
 	void *last_arg = NULL;
 
drivers/block/drbd/drbd_state_change.h +4 -4
index ba80f612d6ab..d5b0479bc9a6 100644
@@ -44,19 +44,19 @@ extern struct drbd_state_change *remember_old_state(struct drbd_resource *, gfp_
 extern void copy_old_to_new_state_change(struct drbd_state_change *);
 extern void forget_state_change(struct drbd_state_change *);
 
-extern void notify_resource_state_change(struct sk_buff *,
+extern int notify_resource_state_change(struct sk_buff *,
 					 unsigned int,
 					 struct drbd_resource_state_change *,
 					 enum drbd_notification_type type);
-extern void notify_connection_state_change(struct sk_buff *,
+extern int notify_connection_state_change(struct sk_buff *,
 					   unsigned int,
 					   struct drbd_connection_state_change *,
 					   enum drbd_notification_type type);
-extern void notify_device_state_change(struct sk_buff *,
+extern int notify_device_state_change(struct sk_buff *,
 				       unsigned int,
 				       struct drbd_device_state_change *,
 				       enum drbd_notification_type type);
-extern void notify_peer_device_state_change(struct sk_buff *,
+extern int notify_peer_device_state_change(struct sk_buff *,
 					    unsigned int,
 					    struct drbd_peer_device_state_change *,
 					    enum drbd_notification_type type);
drivers/bluetooth/btmtk.h +1 -0
index 6e7b0c7567c0..0defa68bc2ce 100644
@@ -5,6 +5,7 @@
 #define FIRMWARE_MT7668		"mediatek/mt7668pr2h.bin"
 #define FIRMWARE_MT7961		"mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin"
 
+#define HCI_EV_WMT 0xe4
 #define HCI_WMT_MAX_EVENT_SIZE		64
 
 #define BTMTK_WMT_REG_READ 0x2
drivers/bluetooth/btmtksdio.c +1 -8
index 9b868f187316..ecf29cfa7d79 100644
@@ -370,13 +370,6 @@ static int btmtksdio_recv_event(struct hci_dev *hdev, struct sk_buff *skb)
 	struct hci_event_hdr *hdr = (void *)skb->data;
 	int err;
 
-	/* Fix up the vendor event id with 0xff for vendor specific instead
-	 * of 0xe4 so that event send via monitoring socket can be parsed
-	 * properly.
-	 */
-	if (hdr->evt == 0xe4)
-		hdr->evt = HCI_EV_VENDOR;
-
 	/* When someone waits for the WMT event, the skb is being cloned
 	 * and being processed the events from there then.
 	 */
@@ -392,7 +385,7 @@ static int btmtksdio_recv_event(struct hci_dev *hdev, struct sk_buff *skb)
 	if (err < 0)
 		goto err_free_skb;
 
-	if (hdr->evt == HCI_EV_VENDOR) {
+	if (hdr->evt == HCI_EV_WMT) {
 		if (test_and_clear_bit(BTMTKSDIO_TX_WAIT_VND_EVT,
 				       &bdev->tx_state)) {
 			/* Barrier to sync with other CPUs */
drivers/bluetooth/btusb.c +0 -8
index 2afbd87d77c9..42234d5f602d 100644
@@ -2254,7 +2254,6 @@ static void btusb_mtk_wmt_recv(struct urb *urb)
 {
 	struct hci_dev *hdev = urb->context;
 	struct btusb_data *data = hci_get_drvdata(hdev);
-	struct hci_event_hdr *hdr;
 	struct sk_buff *skb;
 	int err;
 
@@ -2274,13 +2273,6 @@ static void btusb_mtk_wmt_recv(struct urb *urb)
 		hci_skb_pkt_type(skb) = HCI_EVENT_PKT;
 		skb_put_data(skb, urb->transfer_buffer, urb->actual_length);
 
-		hdr = (void *)skb->data;
-		/* Fix up the vendor event id with 0xff for vendor specific
-		 * instead of 0xe4 so that event send via monitoring socket can
-		 * be parsed properly.
-		 */
-		hdr->evt = 0xff;
-
 		/* When someone waits for the WMT event, the skb is being cloned
 		 * and being processed the events from there then.
 		 */
drivers/char/virtio_console.c +4 -4
index e3c430539a17..9fa3c76a267f 100644
@@ -2245,7 +2245,7 @@ static struct virtio_driver virtio_rproc_serial = {
 	.remove =	virtcons_remove,
 };
 
-static int __init init(void)
+static int __init virtio_console_init(void)
 {
 	int err;
 
@@ -2280,7 +2280,7 @@ static int __init init(void)
 	return err;
 }
 
-static void __exit fini(void)
+static void __exit virtio_console_fini(void)
 {
 	reclaim_dma_bufs();
 
@@ -2290,8 +2290,8 @@ static void __exit fini(void)
 	class_destroy(pdrvdata.class);
 	debugfs_remove_recursive(pdrvdata.debugfs_dir);
 }
-module_init(init);
-module_exit(fini);
+module_init(virtio_console_init);
+module_exit(virtio_console_fini);
 
 MODULE_DESCRIPTION("Virtio console driver");
 MODULE_LICENSE("GPL");
drivers/clk/clk-si5341.c +9 -7
index f7b41366666e..4de098b6b0d4 100644
@@ -798,6 +798,15 @@ static unsigned long si5341_output_clk_recalc_rate(struct clk_hw *hw,
 	u32 r_divider;
 	u8 r[3];
 
+	err = regmap_read(output->data->regmap,
+			SI5341_OUT_CONFIG(output), &val);
+	if (err < 0)
+		return err;
+
+	/* If SI5341_OUT_CFG_RDIV_FORCE2 is set, r_divider is 2 */
+	if (val & SI5341_OUT_CFG_RDIV_FORCE2)
+		return parent_rate / 2;
+
 	err = regmap_bulk_read(output->data->regmap,
 			SI5341_OUT_R_REG(output), r, 3);
 	if (err < 0)
@@ -814,13 +823,6 @@ static unsigned long si5341_output_clk_recalc_rate(struct clk_hw *hw,
 	r_divider += 1;
 	r_divider <<= 1;
 
-	err = regmap_read(output->data->regmap,
-			SI5341_OUT_CONFIG(output), &val);
-	if (err < 0)
-		return err;
-
-	if (val & SI5341_OUT_CFG_RDIV_FORCE2)
-		r_divider = 2;
 
 	return parent_rate / r_divider;
 }
drivers/clk/clk.c +24 -0
index 01b64b962e76..2fdfce116087 100644
@@ -632,6 +632,24 @@ static void clk_core_get_boundaries(struct clk_core *core,
 		*max_rate = min(*max_rate, clk_user->max_rate);
 }
 
+static bool clk_core_check_boundaries(struct clk_core *core,
+				      unsigned long min_rate,
+				      unsigned long max_rate)
+{
+	struct clk *user;
+
+	lockdep_assert_held(&prepare_lock);
+
+	if (min_rate > core->max_rate || max_rate < core->min_rate)
+		return false;
+
+	hlist_for_each_entry(user, &core->clks, clks_node)
+		if (min_rate > user->max_rate || max_rate < user->min_rate)
+			return false;
+
+	return true;
+}
+
 void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate,
 			   unsigned long max_rate)
 {
@@ -2348,6 +2366,11 @@ int clk_set_rate_range(struct clk *clk, unsigned long min, unsigned long max)
 	clk->min_rate = min;
 	clk->max_rate = max;
 
+	if (!clk_core_check_boundaries(clk->core, min, max)) {
+		ret = -EINVAL;
+		goto out;
+	}
+
 	rate = clk_core_get_rate_nolock(clk->core);
 	if (rate < min || rate > max) {
 		/*
@@ -2376,6 +2399,7 @@ int clk_set_rate_range(struct clk *clk, unsigned long min, unsigned long max)
 		}
 	}
 
+out:
 	if (clk->exclusive_count)
 		clk_core_rate_protect(clk->core);
 
drivers/clk/mediatek/clk-mt8192.c +30 -6
index cbc7c6dbe0f4..79ddb3cc0b98 100644
@@ -1236,9 +1236,17 @@ static int clk_mt8192_infra_probe(struct platform_device *pdev)
 
 	r = mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks), clk_data);
 	if (r)
-		return r;
+		goto free_clk_data;
+
+	r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+	if (r)
+		goto free_clk_data;
+
+	return r;
 
-	return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+free_clk_data:
+	mtk_free_clk_data(clk_data);
+	return r;
 }
 
 static int clk_mt8192_peri_probe(struct platform_device *pdev)
@@ -1253,9 +1261,17 @@ static int clk_mt8192_peri_probe(struct platform_device *pdev)
 
 	r = mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks), clk_data);
 	if (r)
-		return r;
+		goto free_clk_data;
+
+	r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+	if (r)
+		goto free_clk_data;
 
-	return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+	return r;
+
+free_clk_data:
+	mtk_free_clk_data(clk_data);
+	return r;
 }
 
 static int clk_mt8192_apmixed_probe(struct platform_device *pdev)
@@ -1271,9 +1287,17 @@ static int clk_mt8192_apmixed_probe(struct platform_device *pdev)
 	mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls), clk_data);
 	r = mtk_clk_register_gates(node, apmixed_clks, ARRAY_SIZE(apmixed_clks), clk_data);
 	if (r)
-		return r;
+		goto free_clk_data;
 
-	return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+	r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
+	if (r)
+		goto free_clk_data;
+
+	return r;
+
+free_clk_data:
+	mtk_free_clk_data(clk_data);
+	return r;
 }
 
 static const struct of_device_id of_match_clk_mt8192[] = {
drivers/clk/rockchip/clk-rk3568.c +3 -3
index 69a9e8069a48..604a367bc498 100644
@@ -1038,13 +1038,13 @@ static struct rockchip_clk_branch rk3568_clk_branches[] __initdata = {
 			RK3568_CLKGATE_CON(20), 8, GFLAGS),
 	GATE(HCLK_VOP, "hclk_vop", "hclk_vo", 0,
 			RK3568_CLKGATE_CON(20), 9, GFLAGS),
-	COMPOSITE(DCLK_VOP0, "dclk_vop0", hpll_vpll_gpll_cpll_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT,
+	COMPOSITE(DCLK_VOP0, "dclk_vop0", hpll_vpll_gpll_cpll_p, CLK_SET_RATE_NO_REPARENT,
 			RK3568_CLKSEL_CON(39), 10, 2, MFLAGS, 0, 8, DFLAGS,
 			RK3568_CLKGATE_CON(20), 10, GFLAGS),
-	COMPOSITE(DCLK_VOP1, "dclk_vop1", hpll_vpll_gpll_cpll_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT,
+	COMPOSITE(DCLK_VOP1, "dclk_vop1", hpll_vpll_gpll_cpll_p, CLK_SET_RATE_NO_REPARENT,
 			RK3568_CLKSEL_CON(40), 10, 2, MFLAGS, 0, 8, DFLAGS,
 			RK3568_CLKGATE_CON(20), 11, GFLAGS),
-	COMPOSITE(DCLK_VOP2, "dclk_vop2", hpll_vpll_gpll_cpll_p, 0,
+	COMPOSITE(DCLK_VOP2, "dclk_vop2", hpll_vpll_gpll_cpll_p, CLK_SET_RATE_NO_REPARENT,
 			RK3568_CLKSEL_CON(41), 10, 2, MFLAGS, 0, 8, DFLAGS,
 			RK3568_CLKGATE_CON(20), 12, GFLAGS),
 	GATE(CLK_VOP_PWM, "clk_vop_pwm", "xin24m", 0,
drivers/clk/ti/clk.c +8 -5
index 3da33c786d77..29eafab4353e 100644
@@ -131,7 +131,7 @@ int ti_clk_setup_ll_ops(struct ti_clk_ll_ops *ops)
 void __init ti_dt_clocks_register(struct ti_dt_clk oclks[])
 {
 	struct ti_dt_clk *c;
-	struct device_node *node, *parent;
+	struct device_node *node, *parent, *child;
 	struct clk *clk;
 	struct of_phandle_args clkspec;
 	char buf[64];
@@ -171,10 +171,13 @@ void __init ti_dt_clocks_register(struct ti_dt_clk oclks[])
 		node = of_find_node_by_name(NULL, buf);
 		if (num_args && compat_mode) {
 			parent = node;
-			node = of_get_child_by_name(parent, "clock");
-			if (!node)
-				node = of_get_child_by_name(parent, "clk");
-			of_node_put(parent);
+			child = of_get_child_by_name(parent, "clock");
+			if (!child)
+				child = of_get_child_by_name(parent, "clk");
+			if (child) {
+				of_node_put(parent);
+				node = child;
+			}
 		}
 
 		clkspec.np = node;
drivers/cpufreq/cppc_cpufreq.c +21 -22

80 lines not on this page · raw message

drivers/dma/sh/shdma-base.c +1 -3
index b26ed690f03c..158e5e7defae 100644
@@ -115,10 +115,8 @@ static dma_cookie_t shdma_tx_submit(struct dma_async_tx_descriptor *tx)
 		ret = pm_runtime_get(schan->dev);
 
 		spin_unlock_irq(&schan->chan_lock);
-		if (ret < 0) {
+		if (ret < 0)
 			dev_err(schan->dev, "%s(): GET = %d\n", __func__, ret);
-			pm_runtime_put(schan->dev);
-		}
 
 		pm_runtime_barrier(schan->dev);
 
drivers/gpio/gpiolib.c +19 -0
index 6630d92e30ad..344e376b2ee9 100644
@@ -1404,6 +1404,16 @@ static int gpiochip_to_irq(struct gpio_chip *gc, unsigned int offset)
 {
 	struct irq_domain *domain = gc->irq.domain;
 
+#ifdef CONFIG_GPIOLIB_IRQCHIP
+	/*
+	 * Avoid race condition with other code, which tries to lookup
+	 * an IRQ before the irqchip has been properly registered,
+	 * i.e. while gpiochip is still being brought up.
+	 */
+	if (!gc->irq.initialized)
+		return -EPROBE_DEFER;
+#endif
+
 	if (!gpiochip_irqchip_irq_valid(gc, offset))
 		return -ENXIO;
 
@@ -1593,6 +1603,15 @@ static int gpiochip_add_irqchip(struct gpio_chip *gc,
 
 	acpi_gpiochip_request_interrupts(gc);
 
+	/*
+	 * Using barrier() here to prevent compiler from reordering
+	 * gc->irq.initialized before initialization of above
+	 * GPIO chip irq members.
+	 */
+	barrier();
+
+	gc->irq.initialized = true;
+
 	return 0;
 }
 
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +0 -6
index f9bab963a948..5df387c4d7fb 100644
@@ -1813,12 +1813,6 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
 				true);
 	ret = unreserve_bo_and_vms(&ctx, false, false);
 
-	/* Only apply no TLB flush on Aldebaran to
-	 * workaround regressions on other Asics.
-	 */
-	if (table_freed && (adev->asic_type != CHIP_ALDEBARAN))
-		*table_freed = true;
-
 	goto out;
 
 out_unreserve:
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +1 -0
index 06d07502a1f6..a34be65c9eaa 100644
@@ -1509,6 +1509,7 @@ int amdgpu_cs_fence_to_handle_ioctl(struct drm_device *dev, void *data,
 		return 0;
 
 	default:
+		dma_fence_put(fence);
 		return -EINVAL;
 	}
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +2 -2
index f18c698137a6..b87dca6d09fa 100644
@@ -2723,11 +2723,11 @@ static int amdgpu_device_ip_fini_early(struct amdgpu_device *adev)
 		}
 	}
 
-	amdgpu_amdkfd_suspend(adev, false);
-
 	amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE);
 	amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE);
 
+	amdgpu_amdkfd_suspend(adev, false);
+
 	/* Workaroud for ASICs need to disable SMC first */
 	amdgpu_device_smu_fini_early(adev);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +1 -1
index 1916ec84dd71..e7845df6cad2 100644
@@ -266,7 +266,7 @@ static int amdgpu_gfx_kiq_acquire(struct amdgpu_device *adev,
 		    * adev->gfx.mec.num_pipe_per_mec
 		    * adev->gfx.mec.num_queue_per_pipe;
 
-	while (queue_bit-- >= 0) {
+	while (--queue_bit >= 0) {
 		if (test_bit(queue_bit, adev->gfx.mec.queue_bitmap))
 			continue;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +2 -1
index 5661b82d84d4..dda53fe30975 100644
@@ -1303,7 +1303,8 @@ void amdgpu_bo_release_notify(struct ttm_buffer_object *bo)
 	    !(abo->flags & AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE))
 		return;
 
-	dma_resv_lock(bo->base.resv, NULL);
+	if (WARN_ON_ONCE(!dma_resv_trylock(bo->base.resv)))
+		return;
 
 	r = amdgpu_fill_buffer(abo, AMDGPU_POISON, bo->base.resv, &fence);
 	if (!WARN_ON(r)) {
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c +2 -2
index da11ceba0698..0ce2a7aa400b 100644
@@ -569,8 +569,8 @@ static void vcn_v3_0_mc_resume_dpg_mode(struct amdgpu_device *adev, int inst_idx
 			AMDGPU_GPU_PAGE_ALIGN(sizeof(struct amdgpu_fw_shared)), 0, indirect);
 
 	/* VCN global tiling registers */
-	WREG32_SOC15_DPG_MODE(0, SOC15_DPG_MODE_OFFSET(
-		UVD, 0, mmUVD_GFX10_ADDR_CONFIG), adev->gfx.config.gb_addr_config, 0, indirect);
+	WREG32_SOC15_DPG_MODE(inst_idx, SOC15_DPG_MODE_OFFSET(
+		UVD, inst_idx, mmUVD_GFX10_ADDR_CONFIG), adev->gfx.config.gb_addr_config, 0, indirect);
 }
 
 static void vcn_v3_0_disable_static_power_gating(struct amdgpu_device *adev, int inst)
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +8 -6
index 4bfc0c8ab764..70122978bdd0 100644
@@ -1416,6 +1416,12 @@ static int kfd_ioctl_free_memory_of_gpu(struct file *filep,
 	return ret;
 }
 
+static bool kfd_flush_tlb_after_unmap(struct kfd_dev *dev) {
+	return KFD_GC_VERSION(dev) == IP_VERSION(9, 4, 2) ||
+	       (KFD_GC_VERSION(dev) == IP_VERSION(9, 4, 1) &&
+	        dev->adev->sdma.instance[0].fw_version >= 18);
+}
+
 static int kfd_ioctl_map_memory_to_gpu(struct file *filep,
 					struct kfd_process *p, void *data)
 {
@@ -1503,7 +1509,7 @@ static int kfd_ioctl_map_memory_to_gpu(struct file *filep,
 	}
 
 	/* Flush TLBs after waiting for the page table updates to complete */
-	if (table_freed) {
+	if (table_freed || !kfd_flush_tlb_after_unmap(dev)) {
 		for (i = 0; i < args->n_devices; i++) {
 			peer = kfd_device_by_id(devices_arr[i]);
 			if (WARN_ON_ONCE(!peer))
@@ -1603,7 +1609,7 @@ static int kfd_ioctl_unmap_memory_from_gpu(struct file *filep,
 	}
 	mutex_unlock(&p->mutex);
 
-	if (KFD_GC_VERSION(dev) == IP_VERSION(9, 4, 2)) {
+	if (kfd_flush_tlb_after_unmap(dev)) {
 		err = amdgpu_amdkfd_gpuvm_sync_memory(dev->adev,
 				(struct kgd_mem *) mem, true);
 		if (err) {
@@ -1840,13 +1846,9 @@ static int kfd_ioctl_svm(struct file *filep, struct kfd_process *p, void *data)
 	if (!args->start_addr || !args->size)
 		return -EINVAL;
 
-	mutex_lock(&p->mutex);
-
 	r = svm_ioctl(p, args->op, args->start_addr, args->size, args->nattr,
 		      args->attrs);
 
-	mutex_unlock(&p->mutex);
-
 	return r;
 }
 #else
drivers/gpu/drm/amd/amdkfd/kfd_crat.c +1 -1
index 9624bbe8b501..281def1c6c08 100644
@@ -1567,7 +1567,7 @@ int kfd_create_crat_image_acpi(void **crat_image, size_t *size)
 	/* Fetch the CRAT table from ACPI */
 	status = acpi_get_table(CRAT_SIGNATURE, 0, &crat_table);
 	if (status == AE_NOT_FOUND) {
-		pr_warn("CRAT table not found\n");
+		pr_info("CRAT table not found\n");
 		return -ENODATA;
 	} else if (ACPI_FAILURE(status)) {
 		const char *err = acpi_format_exception(status);
drivers/gpu/drm/amd/amdkfd/kfd_process.c +0 -1
index d1145da5348f..74f162887d3b 100644
@@ -1150,7 +1150,6 @@ static void kfd_process_notifier_release(struct mmu_notifier *mn,
 
 	cancel_delayed_work_sync(&p->eviction_work);
 	cancel_delayed_work_sync(&p->restore_work);
-	cancel_delayed_work_sync(&p->svms.restore_work);
 
 	mutex_lock(&p->mutex);
 
drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c +15 -9
index deae12dc777d..40d0d8cb3fe8 100644
@@ -268,15 +268,6 @@ int kfd_smi_event_open(struct kfd_dev *dev, uint32_t *fd)
 		return ret;
 	}
 
-	ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
-			       O_RDWR);
-	if (ret < 0) {
-		kfifo_free(&client->fifo);
-		kfree(client);
-		return ret;
-	}
-	*fd = ret;
-
 	init_waitqueue_head(&client->wait_queue);
 	spin_lock_init(&client->lock);
 	client->events = 0;
@@ -286,5 +277,20 @@ int kfd_smi_event_open(struct kfd_dev *dev, uint32_t *fd)
 	list_add_rcu(&client->list, &dev->smi_clients);
 	spin_unlock(&dev->smi_lock);
 
+	ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
+			       O_RDWR);
+	if (ret < 0) {
+		spin_lock(&dev->smi_lock);
+		list_del_rcu(&client->list);
+		spin_unlock(&dev->smi_lock);
+
+		synchronize_rcu();
+
+		kfifo_free(&client->fifo);
+		kfree(client);
+		return ret;
+	}
+	*fd = ret;
+
 	return 0;
 }
drivers/gpu/drm/amd/amdkfd/kfd_svm.c +45 -35

152 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +4 -3
index b28b5c490860..90c017859ad4 100644
@@ -3951,7 +3951,7 @@ static u32 convert_brightness_to_user(const struct amdgpu_dm_backlight_caps *cap
 				 max - min);
 }
 
-static int amdgpu_dm_backlight_set_level(struct amdgpu_display_manager *dm,
+static void amdgpu_dm_backlight_set_level(struct amdgpu_display_manager *dm,
 					 int bl_idx,
 					 u32 user_brightness)
 {
@@ -3982,7 +3982,8 @@ static int amdgpu_dm_backlight_set_level(struct amdgpu_display_manager *dm,
 			DRM_DEBUG("DM: Failed to update backlight on eDP[%d]\n", bl_idx);
 	}
 
-	return rc ? 0 : 1;
+	if (rc)
+		dm->actual_brightness[bl_idx] = user_brightness;
 }
 
 static int amdgpu_dm_backlight_update_status(struct backlight_device *bd)
@@ -9914,7 +9915,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
 	/* restore the backlight level */
 	for (i = 0; i < dm->num_of_edps; i++) {
 		if (dm->backlight_dev[i] &&
-		    (amdgpu_dm_backlight_get_level(dm, i) != dm->brightness[i]))
+		    (dm->actual_brightness[i] != dm->brightness[i]))
 			amdgpu_dm_backlight_set_level(dm, i, dm->brightness[i]);
 	}
 #endif
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +6 -0
index b9a69b0cef23..7a23cd603714 100644
@@ -540,6 +540,12 @@ struct amdgpu_display_manager {
 	 * cached backlight values.
 	 */
 	u32 brightness[AMDGPU_DM_MAX_NUM_EDP];
+	/**
+	 * @actual_brightness:
+	 *
+	 * last successfully applied backlight values.
+	 */
+	u32 actual_brightness[AMDGPU_DM_MAX_NUM_EDP];
 };
 
 enum dsc_clock_force_state {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +60 -20

220 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c +2 -4
index c510638b4f99..a009fc654ac9 100644
@@ -149,10 +149,8 @@ bool amdgpu_dm_link_setup_psr(struct dc_stream_state *stream)
 
 	link = stream->link;
 
-	psr_config.psr_version = link->dpcd_caps.psr_caps.psr_version;
-
-	if (psr_config.psr_version > 0) {
-		psr_config.psr_exit_link_training_required = 0x1;
+	if (link->psr_settings.psr_version != DC_PSR_VERSION_UNSUPPORTED) {
+		psr_config.psr_version = link->psr_settings.psr_version;
 		psr_config.psr_frame_capture_indication_req = 0;
 		psr_config.psr_rfb_setup_time = 0x37;
 		psr_config.psr_sdp_transmit_line_num_deadline = 0x20;
drivers/gpu/drm/amd/display/dc/core/dc.c +60 -6

92 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +10 -5
index 61b8f29a0c30..49d5271dcfdc 100644
@@ -2378,22 +2378,27 @@ static enum link_training_result dp_perform_8b_10b_link_training(
 				repeater_id--) {
 			status = perform_clock_recovery_sequence(link, link_res, lt_settings, repeater_id);
 
-			if (status != LINK_TRAINING_SUCCESS)
+			if (status != LINK_TRAINING_SUCCESS) {
+				repeater_training_done(link, repeater_id);
[… more lines in the raw message]

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

drivers/gpu/drm/amd/display/dc/core/dc_resource.c +3 -0
index 18757c158523..ac3071e38e4a 100644

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

drivers/gpu/drm/amd/display/dc/dc.h +3 -0
index b51864890621..6a8c100a3688 100644

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

drivers/gpu/drm/amd/display/dc/dce/dmub_outbox.c +14 -11
index faad8555ddbb..fff1d07d865d 100644

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

drivers/gpu/drm/amd/display/dc/dce/dmub_outbox.h +2 -2
index 4e0aa0d1a2d5..58ceabb9d497 100644

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

drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +0 -11
index 530a72e3eefe..2cefdd96d0cb 100644

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

drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +1 -1
index e5cc6bf45743..ca1bbc942fd4 100644

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

drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hwseq.c +1 -1
index 4206ce5bf9a9..1e156f398065 100644

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

drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c +2 -0
index 8d64187478e4..0e11285035b6 100644

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

drivers/gpu/drm/amd/pm/amdgpu_dpm.c +11 -0
index 08362d506534..a68496b3f929 100644

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

drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c +4 -4
index 9ddd8491ff00..ede71de2343d 100644

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

drivers/gpu/drm/bridge/nwl-dsi.c +12 -6
index 6e484d836cfe..691039aba87f 100644

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

drivers/gpu/drm/drm_edid.c +10 -9
index b8f5419e514a..83e5c115e754 100644

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

drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
index b910978d3e48..4e853acfd1e8 100644

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

drivers/gpu/drm/imx/dw_hdmi-imx.c +7 -1
index 87428fb23d9f..a2277a0d6d06 100644

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

drivers/gpu/drm/imx/imx-ldb.c +2 -0
index e5078d03020d..fb0e951248f6 100644

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

drivers/gpu/drm/imx/parallel-display.c +3 -1
index 06cb1a59b9bc..63ba2ad84679 100644

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

drivers/gpu/drm/msm/dsi/dsi_host.c +1 -1
index 6b3ced4aaaf5..3a3f53f0c8ae 100644

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

drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c +1 -0
index e1772211b0a4..612310d5d481 100644

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

drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c +1 -1
index 6bf7fc1bd1e3..1a6f9c3af5ec 100644

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

drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c +1 -0
index ba1583bb618b..94cfb1791af6 100644

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

drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h +1 -0
index bcaade758ff7..21abf31f4442 100644

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

drivers/gpu/drm/panel/panel-ilitek-ili9341.c +3 -1
index 2c3378a259b1..e1542451ef9d 100644

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

drivers/gpu/drm/sprd/sprd_dpu.c +5 -0
index 06a3414ee43a..1637203ea103 100644

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

drivers/gpu/drm/sprd/sprd_drm.c +1 -1
index a077e2d4d721..af2be97d5ed0 100644

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

drivers/gpu/drm/sprd/sprd_dsi.c +5 -0
index 911b3cddc264..12b67a5d5923 100644

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

drivers/gpu/drm/v3d/v3d_gem.c +4 -2
index c7ed2e1cbab6..92bc0faee84f 100644

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

drivers/hid/hid-apple.c +3 -3
index 7dc89dc6b0f0..590376d776a1 100644

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

drivers/hv/channel_mgmt.c +3 -3
index 60375879612f..67be81208a2d 100644

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

drivers/hv/vmbus_drv.c +11 -5
index 12a2b37e87f3..4bea1dfa41cd 100644

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

drivers/infiniband/core/cm.c +1 -2
index 35f0d5e7533d..1c107d6d03b9 100644

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

drivers/infiniband/hw/hfi1/mmu_rb.c +6 -0
index 876cc78a22cc..7333646021bb 100644

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

drivers/infiniband/hw/mlx5/mr.c +4 -1
index 2910d7833313..d40a1460ef97 100644

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

drivers/infiniband/sw/rdmavt/qp.c +5 -1
index ae50b56e8913..8ef112f883a7 100644

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

drivers/infiniband/ulp/rtrs/rtrs-clt.c +22 -18
index 759b85f03331..df4d06d4d183 100644

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

drivers/infiniband/ulp/rtrs/rtrs-clt.h +1 -0
index d1b18a154ae0..f848c0392d98 100644

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

drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +1 -0
index 6dc6d8b6b368..f60381cdf1c4 100644

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

drivers/iommu/omap-iommu.c +1 -1
index 980e4af3f06b..d2e82a1b56d8 100644

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

drivers/irqchip/irq-gic-v3-its.c +19 -9
index cd772973114a..a0fc764ec9dc 100644

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

drivers/irqchip/irq-gic-v3.c +10 -4
index 5e935d97207d..907af63d1bba 100644

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

drivers/irqchip/irq-gic.c +6 -0
index b8bb46c65a97..3dbac62c932d 100644

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

drivers/md/dm-ioctl.c +2 -0
index 21fe8652b095..901abd6dea41 100644

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

drivers/md/dm-rq.c +6 -1
index 579ab6183d4d..dffeb47a9efb 100644

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

drivers/md/dm.c +3 -8
index 394778d8bf54..dcb8d8fc7877 100644

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

drivers/misc/habanalabs/common/memory.c +11 -19
index c1eefaebacb6..bcc6e547e071 100644

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

drivers/misc/habanalabs/common/mmu/mmu_v1.c +1 -1
index 6134b6ae7615..3cadef97817d 100644

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

drivers/misc/habanalabs/gaudi/gaudi.c +48 -0

48 lines not on this page · raw message

drivers/mmc/core/block.c +42 -4

46 lines not on this page · raw message

drivers/mmc/core/quirks.h +5 -0
index 20f568727277..f879dc63d936 100644

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

drivers/mmc/host/mmci_stm32_sdmmc.c +3 -3
index 9c13f2c31365..4566d7fc9055 100644

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

drivers/mmc/host/renesas_sdhi_core.c +4 -4
index 2797a9c0f17d..ddb5ca2f559e 100644

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

drivers/mmc/host/sdhci-xenon.c +0 -10
index 666cee4c7f7c..08e838400b52 100644

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

drivers/net/can/usb/etas_es58x/es58x_fd.c +1 -2
index ec87126e1a7d..8ccda748fd08 100644

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

drivers/net/dsa/ocelot/felix_vsc9959.c +4 -0
index 33f0ceae381d..2875b5250856 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.c +7 -0
index b1c98d1408b8..6af0ae1d0c46 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.h +4 -1
index 666fc1e7a7d2..d57bff46b587 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +1 -3
index 8aaa2335f848..f09b04556c32 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c +12 -2
index 52fad0fdeacf..03b1d6c04504 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h +2 -0
index 0df40c3beb05..067bb5e821f5 100644

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

drivers/net/ethernet/freescale/dpaa2/dpaa2-ptp.c +3 -1
index 5f5f8c53c4a0..c8cb541572ff 100644

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

drivers/net/ethernet/intel/i40e/i40e_common.c +12 -9
index 9ddeb015eb7e..e830987a8c6d 100644

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

drivers/net/ethernet/intel/iavf/iavf.h +4 -1
index 4babe4705a55..358a9b3031d5 100644

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

drivers/net/ethernet/intel/iavf/iavf_main.c +143 -30

173 lines not on this page · raw message

drivers/net/ethernet/intel/iavf/iavf_virtchnl.c +10 -8
index 5263cefe46f5..b8c5837f8b50 100644

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

drivers/net/ethernet/intel/ice/ice.h +1 -1
index 2f60230d332a..9c04a71a9fca 100644

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

drivers/net/ethernet/intel/ice/ice_lib.c +3 -0
index 53256aca27c7..5fd2bbeab2d1 100644

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

drivers/net/ethernet/intel/ice/ice_main.c +9 -4
index 296f9d5f7408..db2e02e673a7 100644

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

drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c +2 -2
index 1be3cd4b2bef..2bee8f10ad89 100644

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

drivers/net/ethernet/intel/ice/ice_xsk.c +4 -2
index feb874bde171..30620b942fa0 100644

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

drivers/net/ethernet/marvell/mv643xx_eth.c +1 -1
index 143ca8be5eb5..4008596963be 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/sample.c +1 -6
index 6699bdf5cf01..b895c378cfaf 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c +5 -5
index ff4b4f8a5a9d..0faaf9a4b531 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_main.c +1 -0
index 3667f5ef5990..169e3524bb1c 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +0 -1
index b27532a9301e..7e5c00349ccf 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tc.h +1 -1
index 5ffae9b13066..2f09e34db9ff 100644

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

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +3 -3
index cfcd72bad9af..e7e7b4b0dcdb 100644

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

drivers/net/ethernet/mellanox/mlx5/core/port.c +0 -23
index 7b16a1188aab..fd79860de723 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum.c +1 -3
index aa411dec62f0..eb1319d63613 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum.h +7 -0
index bb2442e1f705..30942b6ffcf9 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c +1 -2
index 0ff163fbc775..35422e64d89f 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +1 -2
index 65c1724c63b0..bffdb41fc4ed 100644

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

drivers/net/ethernet/qlogic/qed/qed_debug.c +1 -1
index e3edca187ddf..5250d1d1e49c 100644

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

drivers/net/ethernet/qlogic/qede/qede_fp.c +3 -0
index b242000a77fd..b7cc36589f59 100644

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

drivers/net/ethernet/sfc/efx_channels.c +82 -66

148 lines not on this page · raw message

drivers/net/ethernet/sfc/rx_common.c +3 -0
index 633ca77a26fd..b925de9b4302 100644

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

drivers/net/ethernet/sfc/tx.c +3 -0
index d16e031e95f4..6983799e1c05 100644

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

drivers/net/ethernet/sfc/tx_common.c +2 -0
index d530cde2b864..9bc8281b7f5b 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +1 -2
index 5d29f336315b..11e1055e8260 100644

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

drivers/net/macvtap.c +6 -0
index 6b12902a803f..cecf8c63096c 100644

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

drivers/net/mdio/mdio-mscc-miim.c +6 -0
index 64fb76c1e395..08381038810d 100644

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

drivers/net/phy/sfp-bus.c +6 -0
index c1512c9925a6..15aa5ac1ff49 100644

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

drivers/net/tap.c +2 -1
index 8e3a28ba6b28..ba2ef5437e16 100644

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

drivers/net/tun.c +2 -1
index fed85447701a..de999e0fedbc 100644

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

drivers/net/vrf.c +11 -4
index e0b1ab99a359..f37adcef4bef 100644

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

drivers/net/wireless/ath/ath11k/ahb.c +2 -0
index 3fb0aa000825..24bd0520926b 100644

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

drivers/net/wireless/ath/ath11k/mac.c +1 -1
index 08e33778f63b..28de877ad6c4 100644

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

drivers/net/wireless/ath/ath11k/mhi.c +1 -1
index cccaa348cf21..8b2143802816 100644

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

drivers/net/wireless/ath/ath11k/pci.c +10 -0
index de71ad594f34..903758751c99 100644

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

drivers/net/wireless/ath/ath5k/eeprom.c +3 -0
index 1fbc2c19848f..d444b3d70ba2 100644

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

drivers/net/wireless/intel/iwlwifi/Kconfig +1 -0
index 85e704283755..a647a406b87b 100644

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

drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h +2 -3
index 456b7eaac570..061fe6cc6cf5 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c +22 -9
index 9af40b0fa37a..a6e6673bf4ee 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/scan.c +4 -1
index 5f92a09db374..4cd507cb412d 100644

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

drivers/net/wireless/mediatek/mt76/dma.c +1 -0
index 3a9af8931c35..3d644925a4e0 100644

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

drivers/net/wireless/mediatek/mt76/mt76.h +1 -1
index 1f6f7a44d3f0..5197fcb06649 100644

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

drivers/net/wireless/mediatek/mt76/mt7615/mac.c +1 -1
index ba31bb7caaf9..5d69e77814c9 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/mac.c +1 -0
index db267642924d..e4c300aa1526 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/main.c +1 -0
index 7a8d2596c226..4abb7a6e775a 100644

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

drivers/net/wireless/realtek/rtw88/debug.c +1 -1
index e429428232c1..e7e9f17df96a 100644

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

drivers/net/wireless/realtek/rtw88/debug.h +1 -0
index 61f8369fe2d6..066792dd96af 100644

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

drivers/net/wireless/realtek/rtw88/fw.c +1 -1
index 4c8e5ea5d069..db90d75a8633 100644

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

drivers/net/wireless/realtek/rtw88/mac80211.c +4 -4
index 647d2662955b..5cdc54c9a9aa 100644

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

drivers/net/wireless/realtek/rtw88/main.c +4 -4
index 39c223a2e3e2..b00200f81db7 100644

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

drivers/net/wireless/realtek/rtw88/rtw8821c.c +1 -1
index db078df63f85..80d4761796b1 100644

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

drivers/net/wireless/realtek/rtw88/rtw8822b.c +2 -2
index dd4fbb82750d..a23806b69b0f 100644

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

drivers/net/wireless/realtek/rtw88/rtw8822c.c +2 -2
index 35c46e5209de..ddf4d1a23e60 100644

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

drivers/net/wireless/realtek/rtw88/sar.c +4 -4
index 3383726c4d90..c472f1502b82 100644

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

drivers/net/wireless/realtek/rtw89/core.c +4 -1
index a0737eea9f81..9632e7f218dd 100644

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

drivers/opp/debugfs.c +5 -0
index 596c185b5dda..b5f2f9f39392 100644

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

drivers/opp/opp.h +1 -0
index 407c3bfe51d9..45e3a55239a1 100644

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

drivers/parisc/dino.c +33 -8

41 lines not on this page · raw message

drivers/parisc/gsc.c +31 -0
index ed9371acf37e..ec175ae99873 100644

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

drivers/parisc/gsc.h +1 -0
index 86abad3fa215..73cbd0bb1975 100644

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

drivers/parisc/lasi.c +3 -4
index 4e4fd12c2112..6ef621adb63a 100644

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

drivers/parisc/wax.c +3 -4
index 5b6df1516235..73a2b01f8d9c 100644

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

drivers/pci/controller/pci-aardvark.c +6 -10
index 82e2c618d532..15348be1a8aa 100644

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

drivers/pci/endpoint/functions/pci-epf-test.c +12 -2
index 90d84d3bc868..5b833f00e980 100644

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

drivers/pci/hotplug/pciehp_hpc.c +2 -0
index 85dce560831a..040ae076ec0e 100644

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

drivers/perf/qcom_l2_pmu.c +3 -3
index 7640491aab12..30234c261b05 100644

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

drivers/phy/amlogic/phy-meson-gxl-usb2.c +4 -1
index 2b3c0d730f20..db17c3448bfe 100644

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

drivers/phy/amlogic/phy-meson8b-usb2.c +7 -2
index cf10bed40528..dd96763911b8 100644

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

drivers/platform/x86/Kconfig +1 -1
index 24deeeb29af2..53abd553b842 100644

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

drivers/platform/x86/hp-wmi.c +63 -30

93 lines not on this page · raw message

drivers/platform/x86/thinkpad_acpi.c +12 -3
index 3424b080db77..3fb8cda31eb9 100644

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

drivers/power/supply/Kconfig +2 -2
index b366e2fd8e97..5e4a69352811 100644

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

drivers/power/supply/axp20x_battery.c +6 -7
index 5d197141f476..9106077c0dbb 100644

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

drivers/power/supply/axp288_charger.c +19 -2
index ec41f6cd3f93..19746e658a6a 100644

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

drivers/power/supply/axp288_fuel_gauge.c +8 -6
index c1da217fdb0e..ce8ffd0a41b5 100644

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

drivers/ptp/ptp_sysfs.c +2 -2
index 41b92dc2f011..9233bfedeb17 100644

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

drivers/regulator/atc260x-regulator.c +1 -0
index 05147d2c3842..485e58b264c0 100644

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

drivers/regulator/rtq2134-regulator.c +1 -0
index f21e3f8b21f2..8e13dea354a2 100644

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

drivers/rtc/rtc-wm8350.c +9 -2
index 2018614f258f..6eaa9321c074 100644

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

drivers/scsi/aha152x.c +2 -4
index d17880b57d17..2449b4215b32 100644

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

drivers/scsi/bfa/bfad_attr.c +13 -13
index f46989bd083c..5a85401e9e2d 100644

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

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +61 -7

68 lines not on this page · raw message

drivers/scsi/libfc/fc_exch.c +1 -0
index 841000445b9a..aa223db4cf53 100644

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

drivers/scsi/mpi3mr/mpi3mr.h +4 -0
index fc4eaf6d1e47..d892ade421bf 100644

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

drivers/scsi/mpi3mr/mpi3mr_fw.c +2 -2
index 15bdc21ead66..e44868230197 100644

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

drivers/scsi/mpi3mr/mpi3mr_os.c +88 -20

108 lines not on this page · raw message

drivers/scsi/mpt3sas/mpt3sas_scsih.c +4 -1
index 00792767c620..7e476f50935b 100644

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

drivers/scsi/mvsas/mv_init.c +2 -2
index dcae2d4464f9..44df7c03aab8 100644

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

drivers/scsi/pm8001/pm8001_hwi.c +38 -41

79 lines not on this page · raw message

drivers/scsi/pm8001/pm8001_init.c +2 -1
index d8a2121cb8d9..d2a2593f669d 100644

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

drivers/scsi/pm8001/pm8001_sas.c +7 -8
index 32edda3e55c6..b68c8400ca15 100644

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

drivers/scsi/pm8001/pm8001_sas.h +2 -0
index a17da1cebce1..1791cdf30276 100644

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

drivers/scsi/pm8001/pm80xx_hwi.c +10 -12
index 908dbac20b48..55163469030d 100644

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

drivers/scsi/scsi_logging.c +1 -1
index 1f8f80b2dbfc..a9f8de5e9639 100644

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

drivers/scsi/scsi_scan.c +5 -0
index f4e6c68ac99e..2ef78083f1ef 100644

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

drivers/scsi/sd.c +1 -1
index 66056806159a..8b5d2a4076c2 100644

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

drivers/scsi/smartpqi/smartpqi_init.c +25 -20

45 lines not on this page · raw message

drivers/scsi/sr.c +1 -1
index f925b1f1f9ad..a0beb11abdc9 100644

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

drivers/scsi/ufs/ufshcd-pci.c +17 -0
index f76692053ca1..e892b9feffb1 100644

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

drivers/scsi/ufs/ufshpb.c +5 -6
index 2d36a0715fca..b34feba1f53d 100644

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

drivers/scsi/zorro7xx.c +2 -0
index 27b9e2baab1a..7acf9193a9e8 100644

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

drivers/spi/spi-bcm-qspi.c +2 -2
index 86c76211b3d3..cad2d55dcd3d 100644

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

drivers/spi/spi-rpc-if.c +6 -2
index fe82f3575df4..24ec1c83f379 100644

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

drivers/spi/spi.c +4 -0
index d96082dc3340..bbf977a0d2c5 100644

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

drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +3 -0
index 3a2e4582db8e..a3e3c9f9aa18 100644

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

drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +6 -0
index 7fe20d4b7ba2..b7295236671c 100644

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

drivers/staging/wfx/bus_sdio.c +0 -3
index a670176ba06f..0612f8a7c085 100644

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

drivers/staging/wfx/main.c +6 -1
index 858d778cc589..e3999e95ce85 100644

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

drivers/tty/serial/samsung_tty.c +1 -4
index d002a4e48ed9..0d94a7cb275e 100644

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

drivers/usb/cdns3/cdnsp-debug.h +154 -151

305 lines not on this page · raw message

drivers/usb/dwc3/dwc3-omap.c +1 -1
index e196673f5c64..efaf0db595f4 100644

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

drivers/usb/dwc3/dwc3-pci.c +4 -7
index 06d0e88ec8af..4d9608cc55f7 100644

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

drivers/usb/gadget/udc/tegra-xudc.c +10 -10
index 43f1b0d461c1..be76f891b9c5 100644

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

drivers/usb/host/ehci-pci.c +9 -0
index e87cf3a00fa4..638f03b89739 100644

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

drivers/usb/host/xen-hcd.c +43 -14

57 lines not on this page · raw message

drivers/vdpa/mlx5/net/mlx5_vnet.c +9 -12
index 9fe1071a9644..1b5de3af1a62 100644

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

drivers/vfio/pci/vfio_pci_rdwr.c +2 -0
index 57d3b2cbbd8e..82ac1569deb0 100644

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

drivers/vhost/net.c +1 -0
index 28ef323882fb..792ab5f23647 100644

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

drivers/video/fbdev/core/fbmem.c +8 -1
index ad9aac06427a..00f0f282e7a1 100644

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

drivers/w1/slaves/w1_therm.c +6 -2
index 565578002d79..c7b8a8e787e2 100644

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

fs/btrfs/extent_io.h +1 -1
index 0399cf8e3c32..151e9da5da2d 100644

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

fs/btrfs/inode.c +22 -0
index 0f4408f9dadd..ec4950cfe1ea 100644

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

fs/btrfs/ioctl.c +14 -6
index 8d47ec5fc4f4..8fe9d55d6862 100644

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

fs/btrfs/volumes.c +28 -37

65 lines not on this page · raw message

fs/btrfs/zoned.c +5 -4
index f559d517c7c4..f03705d2f8a8 100644

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

fs/ceph/dir.c +10 -1
index 133dbd9338e7..d91fa53e12b3 100644

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

fs/ceph/inode.c +8 -2
index ef4a980a7bf3..c092dce0485c 100644

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

fs/cifs/connect.c +9 -6
index d6f8ccc7bfe2..c3be6a541c8f 100644

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

fs/cifs/netmisc.c +1 -1
index ebe236b9d9f5..235aa1b395eb 100644

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

fs/file_table.c +1 -0
index 7d2e692b66a9..ada8fe814db9 100644

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

fs/io-wq.h +1 -0
index dbecd27656c7..04d374e65e54 100644

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

fs/io_uring.c +197 -191

388 lines not on this page · raw message

fs/jfs/inode.c +2 -1
index 57ab424c05ff..072821b50ab9 100644

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

fs/minix/inode.c +2 -1
index a71f1cf894b9..d4bd94234ef7 100644

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

fs/nfs/dir.c +0 -10
index 75cb1cbe4cde..911bdb35eb08 100644

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

fs/nfs/direct.c +32 -16

48 lines not on this page · raw message

fs/nfs/file.c +2 -2
index 76d76acbc594..d8583f57ff99 100644

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

fs/nfs/inode.c +0 -1
index d96baa4450e3..e4fb939a2904 100644

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

fs/nfs/internal.h +17 -0
index 2de7c56a1fbe..465e39ff018d 100644

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

fs/nfs/nfs42proc.c +6 -3
index 32129446beca..ca878d021fab 100644

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

fs/nfs/nfs4file.c +4 -2
index e79ae4cbc395..e34af48fb4f4 100644

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

fs/nfs/nfs4state.c +12 -0
index f5a62c0d999b..0f4818627ef0 100644

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

fs/nfs/pagelist.c +5 -5
index 815d63080245..9157dd19b8b4 100644

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

fs/nfs/pnfs_nfs.c +6 -2
index 316f68f96e57..657c242a18ff 100644

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

fs/nfs/write.c +17 -17
index 60693ab6a032..938850303099 100644

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

include/linux/gpio/driver.h +9 -0
index b0728c8ad90c..f8996b46f430 100644

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

include/linux/ipv6.h +1 -1
index a59d25f19385..b8641dc0ee66 100644

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

include/linux/mmzone.h +7 -4
index aed44e9b5d89..c7a0d500b396 100644

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

include/linux/nfs_fs.h +5 -5
index 68f81d8d36de..c9d3dc79d587 100644

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

include/linux/ref_tracker.h +2 -0
index 60f3453be23e..a443abda937d 100644

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

include/linux/static_call.h +1 -4
index 3e56a9751c06..fcc5b48989b3 100644

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

include/linux/vfio_pci_core.h +9 -0
index ef9a44b6cf5d..ae6f4838ab75 100644

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

include/net/arp.h +1 -0
index 031374ac2f22..d7ef4ec71dfe 100644

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

include/net/bluetooth/bluetooth.h +8 -6
index a647e5fabdbd..2aa5e95808a5 100644

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

include/net/bluetooth/hci_core.h +3 -0
index e336e9c1dda4..36d727f94ac2 100644

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

include/net/mctp.h +0 -2
index 7e35ec79b909..204ae3aebc0d 100644

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

include/net/net_namespace.h +6 -0
index 5b61c462e534..374cc7b260fc 100644

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

include/trace/events/sunrpc.h +0 -1
index 29982d60b68a..5be3faf88c1a 100644

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

include/uapi/linux/bpf.h +4 -2
index 015bfec0dbfd..4b46021eafa9 100644

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

include/uapi/linux/can/isotp.h +22 -6
index c55935b64ccc..590f8aea2b6d 100644

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

init/main.c +6 -2
index 65fa2e41a9c0..9a5097b2251a 100644

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

kernel/Makefile +2 -1
index 56f4ee97f328..a18d169732d2 100644

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

kernel/events/core.c +3 -0
index 69cf71d97312..0ee9ffceb976 100644

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

kernel/sched/core.c +11 -5
index 1620ae8535dc..1eec4925b8c6 100644

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

kernel/sched/idle.c +0 -1
index d17b0a5ce6ac..314c36fc9c42 100644

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

kernel/sched/sched.h +0 -6
index 9b33ba9c3c42..e8a5549488dd 100644

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

kernel/static_call.c +1 -541

542 lines not on this page · raw message

kernel/static_call_inline.c new file +543 -0

543 lines not on this page · raw message

lib/Kconfig.debug +2 -1
index 14b89aa37c5c..440fd666c16d 100644

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

lib/logic_iomem.c +4 -4
index 8c3365f26e51..b247d412ddef 100644

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

lib/lz4/lz4_decompress.c +6 -2
index 926f4823d5ea..fd1728d94bab 100644

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

lib/ref_tracker.c +5 -0
index a6789c0c626b..32ff6bd497f8 100644

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

mm/highmem.c +2 -2
index 762679050c9a..916b66e0776c 100644

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

mm/kfence/core.c +10 -1
index 13128fa13062..d4c7978cd75e 100644

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

mm/kfence/kfence.h +3 -0
index 2a2d5de9d379..9a6c4b1b12a8 100644

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

mm/mempolicy.c +1 -0
index 1628cd90d9fc..f468bd911c3b 100644

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

mm/mremap.c +3 -0
index 002eec83e91e..0e175aef536e 100644

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

mm/rmap.c +24 -1
index 6a1e8c7f6213..9e27f9f038d3 100644

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

net/batman-adv/multicast.c +1 -1
index f4004cf0ff6f..9f311fddfaf9 100644

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

net/bluetooth/hci_conn.c +1 -0
index 3bb2b3b6a1c9..84312c836549 100644

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

net/bluetooth/hci_event.c +63 -16

79 lines not on this page · raw message

net/bluetooth/hci_sync.c +5 -2
index 405d48c3e63e..8f4c5698913d 100644

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

net/bluetooth/l2cap_core.c +1 -0
index e817ff0607a0..8df99c07f272 100644

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

net/bpf/test_run.c +2 -2
index 46dd95755967..eb43aaac0392 100644

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

net/can/isotp.c +11 -1
index a95d171b3a64..5bce7c66c121 100644

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

net/core/dev.c +1 -2
index 1baab07820f6..91cf709c98b3 100644

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

net/core/filter.c +40 -6

46 lines not on this page · raw message

net/core/net_namespace.c +5 -12
index a5b5bb99c644..212e65add951 100644

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

net/core/rtnetlink.c +12 -1
index 2fb8eb6791e8..43b995e935cd 100644

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

net/core/skbuff.c +11 -4
index a8a2fb745274..180fa6a26ad4 100644

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

net/dsa/master.c +24 -1
index 880f910b23a9..10b51ffbb6f4 100644

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

net/ipv4/arp.c +7 -2
index 4db0325f6e1a..dc28f0588e54 100644

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

net/ipv4/fib_frontend.c +4 -1
index 85117b45216d..89a5a4875595 100644

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

net/ipv4/fib_semantics.c +6 -1
index 2dd375f7407b..0a0f49770345 100644

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

net/ipv4/inet_hashtables.c +32 -21

53 lines not on this page · raw message

net/ipv6/addrconf.c +2 -2
index f908e2fd30b2..4df84013c4e6 100644

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

net/ipv6/af_inet6.c +18 -6
index 8fe7900f1949..7d7b7523d126 100644

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

net/ipv6/inet6_hashtables.c +1 -4
index 4514444e96c8..4740afecf7c6 100644

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

net/ipv6/ip6_input.c +1 -1
index 80256717868e..d4b1e2c5aa76 100644

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

net/ipv6/ip6mr.c +4 -4
index 8a2db926b5eb..e3c884678dbe 100644

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

net/ipv6/ipv6_sockglue.c +4 -2
index a733803a710c..222f6bf220ba 100644

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

net/ipv6/route.c +1 -1
index ea1cf414a92e..da1bf48e7937 100644

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

net/mctp/af_mctp.c +33 -13

46 lines not on this page · raw message

net/mctp/device.c +18 -3
index ef2755f82f87..f86ef6d751bd 100644

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

net/mctp/route.c +16 -5
index e52cef750500..1a296e211a50 100644

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

net/mctp/test/utils.c +0 -1
index 7b7918702592..e03ba66bbe18 100644

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

net/netfilter/nf_conntrack_core.c +68 -17

85 lines not on this page · raw message

net/netfilter/nft_bitwise.c +2 -2
index 7b727d3ebf9d..04bd2f89afe8 100644

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

net/netlabel/netlabel_kapi.c +2 -0
index beb0e573266d..54c083003947 100644

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

net/openvswitch/actions.c +1 -1
index 780d9e2246f3..8955f31fa47e 100644

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

net/openvswitch/flow_netlink.c +93 -6

99 lines not on this page · raw message

net/rxrpc/net_ns.c +1 -1
index 25bbc4cc8b13..f15d6942da45 100644

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

net/sctp/outqueue.c +5 -1
index a18609f608fb..e213aaf45d67 100644

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

net/smc/af_smc.c +4 -4
index 284befa90967..303c5e56e4df 100644

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

net/smc/smc_core.c +1 -1
index be7d704976ff..f40f6ed0fbdb 100644

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

net/smc/smc_tx.c +15 -10
index be241d53020f..7b0b6e24582f 100644

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

net/smc/smc_tx.h +1 -0
index 07e6ad76224a..a59f370b8b43 100644

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

net/sunrpc/clnt.c +7 -0
index b36d235d2d6d..0222ad4523a9 100644

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

net/sunrpc/sched.c +0 -7
index ae295844ac55..9020cedb7c95 100644

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

net/sunrpc/svcsock.c +3 -1
index 478f857cdaed..6ea3d87e1147 100644

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

net/sunrpc/xprt.c +5 -18
index 396a74974f60..d557a3cb2ad4 100644

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

net/sunrpc/xprtrdma/transport.c +1 -1
index ff78a296fa81..6b7e10e5a141 100644

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

net/sunrpc/xprtsock.c +52 -18

70 lines not on this page · raw message

net/tls/tls_sw.c +1 -1
index efc84845bb6b..75a699591383 100644

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

net/wireless/scan.c +8 -1
index b888522f133b..b2fdac96bab0 100644

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

tools/build/feature/Makefile +8 -1
index 1480910c792e..de66e1cc0734 100644

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

tools/lib/bpf/Makefile +2 -2
index f947b61b2107..b8b37fe76006 100644

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

tools/lib/bpf/bpf_tracing.h +14 -0
index e1b505606882..122d79c8f4b4 100644

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

tools/objtool/check.c +11 -0
index 7c33ec67c4a9..3470813daf4a 100644

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

tools/perf/Makefile.config +6 -0
index 96ad944ca6a8..f3bf9297bcc0 100644

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

tools/perf/arch/arm64/util/arm-spe.c +6 -0
index 2100d46ccf5e..bb4ab99afa7f 100644

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

tools/perf/perf.c +1 -1
index 2f6b67189b42..6aae7b6c376b 100644

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

tools/perf/tests/dwarf-unwind.c +1 -1
index 2dab2d262060..afdca7f2959f 100644

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

tools/perf/util/arm64-frame-pointer-unwind-support.c +1 -1
index 2242a885fbd7..4940be4a0569 100644

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

tools/perf/util/machine.c +1 -1
index 394550003693..564abe17a0bd 100644

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

tools/perf/util/session.c +12 -3
index 498b05708db5..245dc70d1882 100644

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

tools/perf/util/setup.py +6 -2
index 483f05004e68..c255a2c90cd6 100644

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

tools/perf/util/unwind-libdw.c +7 -3
index a74b517f7497..94aa40f6e348 100644

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

tools/perf/util/unwind-libdw.h +1 -0
index 0cbd2650e280..8c88bc4f2304 100644

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

tools/perf/util/unwind-libunwind-local.c +7 -3
index 71a353349181..41e29fc7648a 100644

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

tools/perf/util/unwind-libunwind.c +4 -2
index e89a5479b361..509c287ee762 100644

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

tools/perf/util/unwind.h +10 -3
index ab8ad469c8de..b2a03fa5289b 100644

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

tools/testing/selftests/bpf/progs/test_sk_lookup.c +1 -2
index 83b0aaa52ef7..a0e0d85e29da 100644

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

tools/testing/selftests/bpf/xdpxceiver.c +49 -31

80 lines not on this page · raw message

tools/testing/selftests/bpf/xdpxceiver.h +1 -1
index 2f705f44b748..62a3e6388632 100644

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

tools/testing/selftests/kvm/aarch64/vgic_irq.c +26 -19

45 lines not on this page · raw message

tools/testing/selftests/kvm/lib/aarch64/gic_v3.c +7 -5
index 00f613c0583c..263bf3ed8fd5 100644

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

tools/testing/selftests/kvm/lib/aarch64/vgic.c +5 -4
index f5cd0c536d85..5d45046c1b80 100644

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

virt/kvm/kvm_main.c +1 -1
index 246168310a75..610cc7920c8a 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.