Skip to contentSkip to conversation

Linux 5.11.22

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages May 19, 2021 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

Note, this is the LAST 5.11.y release, this branch is now end-of-life.

Everyone should move to the 5.12.y tree at this point in time.

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

I'm announcing the release of the 5.11.22 kernel.

All users of the 5.11 kernel series must upgrade.

The updated 5.11.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.11.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

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

 .gitignore                                                       |    1 
 Documentation/devicetree/bindings/media/renesas,vin.yaml         |   46 
 Documentation/devicetree/bindings/pci/rcar-pci-host.yaml         |   12 
 Documentation/devicetree/bindings/serial/8250.yaml               |    5 
 Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml |   43 
 Documentation/dontdiff                                           |    1 
 Makefile                                                         |    4 
 arch/arc/include/asm/page.h                                      |   12 
 arch/arc/include/asm/pgtable.h                                   |   12 
 arch/arc/include/uapi/asm/page.h                                 |    1 
 arch/arc/kernel/entry.S                                          |    4 
 arch/arc/mm/init.c                                               |   11 
 arch/arc/mm/ioremap.c                                            |    5 
 arch/arc/mm/tlb.c                                                |    2 
 arch/arm/boot/dts/dra7-l4.dtsi                                   |    4 
 arch/arm/boot/dts/dra7.dtsi                                      |   20 
 arch/arm/kernel/hw_breakpoint.c                                  |    2 
 arch/arm64/include/asm/daifflags.h                               |    3 
 arch/arm64/kernel/entry-common.c                                 |   17 
 arch/arm64/kernel/entry.S                                        |   85 -
 arch/arm64/mm/flush.c                                            |    4 
 arch/arm64/mm/proc.S                                             |   12 
 arch/ia64/include/asm/module.h                                   |    6 
 arch/ia64/kernel/module.c                                        |   29 
 arch/mips/include/asm/div64.h                                    |   55 -
 arch/mips/kernel/cpu-probe.c                                     |    3 
 arch/powerpc/kernel/head_32.h                                    |    6 
 arch/powerpc/kernel/iommu.c                                      |    4 
 arch/powerpc/kernel/setup_32.c                                   |    2 
 arch/powerpc/kernel/smp.c                                        |    6 
 arch/powerpc/lib/feature-fixups.c                                |   35 
 arch/powerpc/mm/book3s64/hash_utils.c                            |   13 
 arch/powerpc/platforms/pseries/hotplug-cpu.c                     |    3 
 arch/powerpc/sysdev/xive/common.c                                |    9 
 arch/powerpc/sysdev/xive/native.c                                |    6 
 arch/powerpc/sysdev/xive/xive-internal.h                         |    1 
 arch/riscv/kernel/smp.c                                          |    2 
 arch/sh/kernel/traps.c                                           |    1 
 arch/x86/include/asm/idtentry.h                                  |   15 
 arch/x86/include/asm/kvm_host.h                                  |    4 
 arch/x86/include/asm/processor.h                                 |    2 
 arch/x86/kernel/cpu/amd.c                                        |   16 
 arch/x86/kernel/nmi.c                                            |   10 
 arch/x86/kernel/smpboot.c                                        |    2 
 arch/x86/kvm/cpuid.c                                             |    3 
 arch/x86/kvm/emulate.c                                           |    2 
 arch/x86/kvm/kvm_emulate.h                                       |    1 
 arch/x86/kvm/lapic.c                                             |    2 
 arch/x86/kvm/mmu/mmu.c                                           |   49 
 arch/x86/kvm/svm/sev.c                                           |    3 
 arch/x86/kvm/svm/svm.c                                           |    2 
 arch/x86/kvm/vmx/nested.c                                        |   29 
 arch/x86/kvm/vmx/vmx.c                                           |   30 
 arch/x86/kvm/x86.c                                               |   40 
 block/bfq-iosched.c                                              |    3 
 block/blk-iocost.c                                               |   14 
 block/blk-mq-sched.c                                             |    8 
 block/blk-mq.c                                                   |   11 
 block/kyber-iosched.c                                            |    5 
 block/mq-deadline.c                                              |    3 
 drivers/acpi/device_pm.c                                         |    1 
 drivers/acpi/scan.c                                              |    1 
 drivers/ata/ahci_brcm.c                                          |   46 
 drivers/base/power/runtime.c                                     |   10 
 drivers/block/nbd.c                                              |    3 
 drivers/block/rnbd/rnbd-clt.c                                    |   12 
 drivers/block/rnbd/rnbd-clt.h                                    |    2 
 drivers/bluetooth/btusb.c                                        |    4 
 drivers/char/tpm/tpm2-cmd.c                                      |    1 
 drivers/char/tpm/tpm_tis_core.c                                  |   22 
 drivers/clk/samsung/clk-exynos7.c                                |    7 
 drivers/clocksource/timer-ti-dm-systimer.c                       |  144 ++
 drivers/cpufreq/acpi-cpufreq.c                                   |    6 
 drivers/cpufreq/intel_pstate.c                                   |   14 
 drivers/crypto/ccp/sev-dev.c                                     |    4 
 drivers/dma/idxd/cdev.c                                          |  129 --
 drivers/dma/idxd/device.c                                        |   25 
 drivers/dma/idxd/dma.c                                           |   77 +
 drivers/dma/idxd/idxd.h                                          |   89 +
 drivers/dma/idxd/init.c                                          |  350 ++++---
 drivers/dma/idxd/irq.c                                           |   10 
 drivers/dma/idxd/sysfs.c                                         |  324 ++----
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c                           |    2 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c           |    1 
 drivers/gpu/drm/amd/display/dc/core/dc.c                         |    4 
 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c                |   15 
 drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c              |    2 
 drivers/gpu/drm/i915/display/intel_overlay.c                     |    2 
 drivers/gpu/drm/i915/gem/i915_gem_mman.c                         |    2 
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c                             |    1 
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c                     |    4 
 drivers/gpu/drm/i915/i915_active.c                               |    3 
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c                            |    9 
 drivers/gpu/drm/msm/dp/dp_audio.c                                |    1 
 drivers/gpu/drm/msm/dp/dp_display.c                              |   26 
 drivers/gpu/drm/msm/dp/dp_display.h                              |    1 
 drivers/gpu/drm/radeon/radeon.h                                  |    1 
 drivers/gpu/drm/radeon/radeon_atombios.c                         |   26 
 drivers/gpu/drm/radeon/radeon_pm.c                               |    8 
 drivers/gpu/drm/radeon/si_dpm.c                                  |    3 
 drivers/hwmon/ltc2992.c                                          |    8 
 drivers/hwmon/occ/common.c                                       |    5 
 drivers/hwmon/occ/common.h                                       |    2 
 drivers/hwtracing/coresight/coresight-platform.c                 |    6 
 drivers/i2c/busses/i2c-imx.c                                     |    2 
 drivers/i2c/busses/i2c-mt65xx.c                                  |    9 
 drivers/i2c/i2c-dev.c                                            |    9 
 drivers/iio/accel/Kconfig                                        |    1 
 drivers/iio/common/hid-sensors/Kconfig                           |    1 
 drivers/iio/gyro/Kconfig                                         |    1 
 drivers/iio/gyro/mpu3050-core.c                                  |   13 
 drivers/iio/humidity/Kconfig                                     |    1 
 drivers/iio/industrialio-core.c                                  |    9 
 drivers/iio/light/Kconfig                                        |    2 
 drivers/iio/light/gp2ap002.c                                     |    5 
 drivers/iio/light/tsl2583.c                                      |    8 
 drivers/iio/magnetometer/Kconfig                                 |    1 
 drivers/iio/orientation/Kconfig                                  |    2 
 drivers/iio/pressure/Kconfig                                     |    1 
 drivers/iio/proximity/pulsedlight-lidar-lite-v2.c                |    1 
 drivers/iio/temperature/Kconfig                                  |    1 
 drivers/infiniband/hw/hfi1/ipoib.h                               |    3 
 drivers/infiniband/hw/hfi1/ipoib_tx.c                            |   14 
 drivers/iommu/amd/init.c                                         |   49 
 drivers/net/can/m_can/m_can.c                                    |    3 
 drivers/net/can/spi/mcp251x.c                                    |   35 
 drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c                   |    4 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                        |   19 
 drivers/net/ethernet/cisco/enic/enic_main.c                      |    7 
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c                  |  127 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.h                  |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c               |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c           |    3 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h           |    3 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c          |   27 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c           |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c          |    2 
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h                |    6 
 drivers/net/ethernet/intel/i40e/i40e_client.c                    |    1 
 drivers/net/ethernet/intel/i40e/i40e_common.c                    |    4 
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c                   |    7 
 drivers/net/ethernet/intel/i40e/i40e_txrx.c                      |    8 
 drivers/net/ethernet/intel/i40e/i40e_type.h                      |    7 
 drivers/net/ethernet/intel/iavf/iavf_main.c                      |    2 
 drivers/net/ethernet/intel/ice/ice_lib.c                         |  123 +-
 drivers/net/ethernet/intel/ice/ice_txrx.h                        |    2 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                      |    2 
 drivers/net/ethernet/mediatek/mtk_eth_soc.h                      |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c                  |    2 
 drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c              |    2 
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c                |    1 
 drivers/net/ipa/gsi.c                                            |    4 
 drivers/net/ipa/gsi_reg.h                                        |   18 
 drivers/net/wireless/ath/ath11k/wmi.c                            |   53 -
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c                    |   35 
 drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c             |    4 
 drivers/net/wireless/intel/iwlwifi/queue/tx.c                    |   30 
 drivers/net/wireless/intel/iwlwifi/queue/tx.h                    |    3 
 drivers/net/wireless/mediatek/mt76/mt76.h                        |    1 
 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c               |    1 
 drivers/net/wireless/mediatek/mt76/mt7615/mac.c                  |   97 +
 drivers/net/wireless/mediatek/mt76/mt7615/main.c                 |   18 
 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c                  |   12 
 drivers/net/wireless/mediatek/mt76/mt76x02_util.c                |    4 
 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c               |   19 
 drivers/net/wireless/mediatek/mt76/mt7915/init.c                 |   58 +
 drivers/net/wireless/mediatek/mt76/mt7915/main.c                 |   25 
 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c                  |   27 
 drivers/net/wireless/mediatek/mt76/mt7915/regs.h                 |   13 
 drivers/net/wireless/microchip/wilc1000/netdev.c                 |   25 
 drivers/net/wireless/quantenna/qtnfmac/event.c                   |    6 
 drivers/net/wireless/realtek/rtw88/main.h                        |    2 
 drivers/net/wireless/realtek/rtw88/phy.c                         |   14 
 drivers/net/wireless/realtek/rtw88/phy.h                         |    1 
 drivers/net/wireless/realtek/rtw88/reg.h                         |    5 
 drivers/net/wireless/realtek/rtw88/rtw8822c.c                    |   27 
 drivers/net/wireless/wl3501.h                                    |   47 
 drivers/net/wireless/wl3501_cs.c                                 |   54 -
 drivers/nvme/host/core.c                                         |    3 
 drivers/nvme/target/io-cmd-bdev.c                                |   10 
 drivers/nvme/target/nvmet.h                                      |   16 
 drivers/nvme/target/passthru.c                                   |    2 
 drivers/nvme/target/rdma.c                                       |    4 
 drivers/pci/controller/pcie-brcmstb.c                            |   19 
 drivers/pci/controller/pcie-iproc-msi.c                          |    2 
 drivers/pci/endpoint/functions/pci-epf-test.c                    |   18 
 drivers/pci/endpoint/pci-epc-core.c                              |   42 
 drivers/pci/pcie/rcec.c                                          |    2 
 drivers/pci/probe.c                                              |    1 
 drivers/pinctrl/samsung/pinctrl-exynos.c                         |   10 
 drivers/pwm/pwm-atmel.c                                          |    2 
 drivers/remoteproc/pru_rproc.c                                   |   41 
 drivers/remoteproc/qcom_q6v5_mss.c                               |   18 
 drivers/rpmsg/qcom_glink_native.c                                |    1 
 drivers/rtc/rtc-ds1307.c                                         |   12 
 drivers/rtc/rtc-fsl-ftm-alarm.c                                  |    1 
 drivers/scsi/qla2xxx/qla_init.c                                  |    3 
 drivers/scsi/ufs/ufshcd.c                                        |    7 
 drivers/soc/mediatek/mt8173-pm-domains.h                         |   10 
 drivers/soc/mediatek/mt8183-pm-domains.h                         |   15 
 drivers/soc/mediatek/mt8192-pm-domains.h                         |   21 
 drivers/soc/mediatek/mtk-pm-domains.c                            |    6 
 drivers/soc/mediatek/mtk-pm-domains.h                            |    2 
 drivers/staging/media/rkvdec/rkvdec.c                            |    2 
 drivers/thermal/qcom/tsens.c                                     |    6 
 drivers/thermal/thermal_of.c                                     |    7 
 drivers/usb/class/cdc-wdm.c                                      |   30 
 drivers/usb/core/hub.c                                           |    6 
 drivers/usb/dwc2/core.h                                          |    2 
 drivers/usb/dwc2/gadget.c                                        |    3 
 drivers/usb/dwc3/dwc3-omap.c                                     |    5 
 drivers/usb/dwc3/dwc3-pci.c                                      |    1 
 drivers/usb/dwc3/gadget.c                                        |   11 
 drivers/usb/host/fotg210-hcd.c                                   |    4 
 drivers/usb/host/xhci-ext-caps.h                                 |    5 
 drivers/usb/host/xhci-pci.c                                      |    8 
 drivers/usb/host/xhci.c                                          |    6 
 drivers/usb/musb/mediatek.c                                      |    2 
 drivers/usb/typec/tcpm/tcpm.c                                    |    6 
 drivers/usb/typec/ucsi/ucsi.c                                    |   46 
 drivers/usb/typec/ucsi/ucsi.h                                    |    6 
 drivers/xen/gntdev.c                                             |    4 
 drivers/xen/unpopulated-alloc.c                                  |    4 
 fs/9p/vfs_file.c                                                 |    4 
 fs/btrfs/ctree.h                                                 |    2 
 fs/btrfs/file.c                                                  |   36 
 fs/btrfs/inode.c                                                 |    4 
 fs/btrfs/ioctl.c                                                 |    2 
 fs/btrfs/qgroup.c                                                |    2 
 fs/btrfs/send.c                                                  |    4 
 fs/btrfs/tree-log.c                                              |    3 
 fs/ceph/export.c                                                 |    4 
 fs/dax.c                                                         |   35 
 fs/debugfs/inode.c                                               |    2 
 fs/dlm/config.c                                                  |   86 +
 fs/dlm/config.h                                                  |    1 
 fs/dlm/debug_fs.c                                                |    1 
 fs/dlm/lockspace.c                                               |   20 
 fs/dlm/lowcomms.c                                                |  104 +-
 fs/dlm/lowcomms.h                                                |    5 
 fs/dlm/midcomms.c                                                |    7 
 fs/ext4/fast_commit.c                                            |    2 
 fs/f2fs/compress.c                                               |   55 -
 fs/f2fs/data.c                                                   |    6 
 fs/f2fs/f2fs.h                                                   |    7 
 fs/f2fs/file.c                                                   |   42 
 fs/f2fs/gc.c                                                     |   62 -
 fs/f2fs/inline.c                                                 |    3 
 fs/f2fs/segment.c                                                |   86 +
 fs/f2fs/segment.h                                                |   14 
 fs/f2fs/super.c                                                  |    2 
 fs/fuse/cuse.c                                                   |    2 
 fs/fuse/file.c                                                   |    9 
 fs/fuse/virtio_fs.c                                              |    3 
 fs/hfsplus/extents.c                                             |    7 
 fs/hugetlbfs/inode.c                                             |    5 
 fs/jbd2/recovery.c                                               |    5 
 fs/nfs/callback_proc.c                                           |   17 
 fs/nfs/dir.c                                                     |   22 
 fs/nfs/flexfilelayout/flexfilelayout.c                           |    2 
 fs/nfs/inode.c                                                   |    8 
 fs/nfs/nfs42proc.c                                               |   31 
 fs/nfs/nfs4proc.c                                                |   56 -
 fs/nfsd/nfs4state.c                                              |   24 
 fs/proc/generic.c                                                |    2 
 fs/squashfs/file.c                                               |    6 
 include/linux/cpuhotplug.h                                       |    1 
 include/linux/elevator.h                                         |    2 
 include/linux/i2c.h                                              |    2 
 include/linux/mm.h                                               |   32 
 include/linux/mm_types.h                                         |    4 
 include/linux/nfs_xdr.h                                          |   11 
 include/linux/pci-epc.h                                          |    6 
 include/linux/pci-epf.h                                          |    1 
 include/linux/pm.h                                               |    1 
 include/net/page_pool.h                                          |   12 
 include/trace/events/sunrpc.h                                    |    1 
 include/uapi/linux/netfilter/xt_SECMARK.h                        |    6 
 kernel/dma/swiotlb.c                                             |    3 
 kernel/kexec_file.c                                              |    4 
 kernel/resource.c                                                |    4 
 kernel/sched/core.c                                              |    2 
 kernel/sched/fair.c                                              |   12 
 kernel/watchdog.c                                                |   40 
 lib/kobject_uevent.c                                             |    9 
 lib/nlattr.c                                                     |    2 
 lib/test_kasan.c                                                 |   29 
 mm/gup.c                                                         |   94 -
 mm/hugetlb.c                                                     |   11 
 mm/khugepaged.c                                                  |   18 
 mm/ksm.c                                                         |    1 
 mm/migrate.c                                                     |    7 
 mm/shmem.c                                                       |   34 
 net/bluetooth/hci_event.c                                        |    2 
 net/bluetooth/l2cap_core.c                                       |    4 
 net/bluetooth/l2cap_sock.c                                       |    8 
 net/bluetooth/mgmt.c                                             |    1 
 net/bridge/br_arp_nd_proxy.c                                     |    4 
 net/core/flow_dissector.c                                        |    6 
 net/core/page_pool.c                                             |   12 
 net/ethtool/ioctl.c                                              |    2 
 net/ethtool/netlink.c                                            |    3 
 net/ipv6/ip6_vti.c                                               |    2 
 net/mac80211/mlme.c                                              |   12 
 net/mac80211/tx.c                                                |   20 
 net/mptcp/subflow.c                                              |    3 
 net/netfilter/nf_tables_api.c                                    |    4 
 net/netfilter/nfnetlink_osf.c                                    |    2 
 net/netfilter/nft_set_hash.c                                     |   10 
 net/netfilter/xt_SECMARK.c                                       |   88 +
 net/sched/cls_flower.c                                           |   36 
 net/sched/sch_taprio.c                                           |    6 
 net/sctp/sm_make_chunk.c                                         |    2 
 net/sctp/sm_statefuns.c                                          |   28 
 net/smc/af_smc.c                                                 |    4 
 net/sunrpc/clnt.c                                                |   12 
 net/sunrpc/svc.c                                                 |    3 
 net/sunrpc/svcsock.c                                             |    2 
 net/sunrpc/xprt.c                                                |   12 
 net/sunrpc/xprtrdma/frwr_ops.c                                   |    2 
 net/sunrpc/xprtrdma/rpc_rdma.c                                   |    3 
 net/sunrpc/xprtrdma/transport.c                                  |    6 
 net/sunrpc/xprtrdma/verbs.c                                      |   10 
 net/sunrpc/xprtrdma/xprt_rdma.h                                  |    2 
 net/tipc/netlink_compat.c                                        |    2 
 net/xdp/xsk_queue.h                                              |    7 
 samples/bpf/tracex1_kern.c                                       |    4 
 scripts/Makefile.modpost                                         |   15 
 scripts/kconfig/nconf.c                                          |    2 
 scripts/mod/modpost.c                                            |   15 
 security/keys/trusted-keys/trusted_tpm1.c                        |    8 
 sound/firewire/bebob/bebob_stream.c                              |   12 
 sound/pci/hda/ideapad_s740_helper.c                              |  492 ++++++++++
 sound/pci/hda/patch_hdmi.c                                       |    4 
 sound/pci/hda/patch_realtek.c                                    |   11 
 sound/pci/rme9652/hdsp.c                                         |    3 
 sound/pci/rme9652/hdspm.c                                        |    3 
 sound/pci/rme9652/rme9652.c                                      |    3 
 sound/soc/codecs/rt286.c                                         |   23 
 sound/soc/codecs/rt5670.c                                        |   12 
 sound/soc/intel/boards/bytcr_rt5640.c                            |   20 
 sound/soc/intel/boards/sof_sdw.c                                 |   11 
 sound/soc/sh/rcar/core.c                                         |   69 +
 sound/soc/sh/rcar/ssi.c                                          |   16 
 sound/soc/soc-compress.c                                         |    4 
 sound/usb/quirks-table.h                                         |   63 +
 tools/lib/bpf/ringbuf.c                                          |   30 
 tools/perf/Makefile.config                                       |    1 
 tools/perf/util/Build                                            |    7 
 tools/testing/selftests/drivers/net/mlxsw/mirror_gre_scale.sh    |    3 
 tools/testing/selftests/drivers/net/mlxsw/sch_red_core.sh        |    4 
 tools/testing/selftests/lib.mk                                   |    4 
 tools/testing/selftests/net/forwarding/mirror_lib.sh             |   19 
 tools/testing/selftests/net/mptcp/diag.sh                        |   55 -
 tools/testing/selftests/net/mptcp/mptcp_connect.sh               |   15 
 tools/testing/selftests/net/mptcp/mptcp_join.sh                  |   22 
 tools/testing/selftests/net/mptcp/simult_flows.sh                |   13 
 tools/testing/selftests/powerpc/security/entry_flush.c           |    2 
 tools/testing/selftests/powerpc/security/flush_utils.h           |    4 
 tools/testing/selftests/powerpc/security/rfi_flush.c             |    2 
 virt/kvm/kvm_main.c                                              |    7 
 361 files changed, 4207 insertions(+), 1966 deletions(-)

Abhijeet Rao (1):
xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI

Alex Elder (1):
net: ipa: fix inter-EE IRQ register definitions

Alexander Aring (8):
fs: dlm: fix debugfs dump
fs: dlm: fix mark setting deadlock
fs: dlm: add errno handling to check callback
fs: dlm: add check if dlm is currently running
fs: dlm: change allocation limits
fs: dlm: check on minimum msglen size
fs: dlm: flush swork on shutdown
fs: dlm: add shutdown hook

Alexandru Ardelean (2):
iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER
iio: core: return ENODEV if ioctl is unknown

Alexey Kardashevskiy (1):
powerpc/iommu: Annotate nested lock for lockdep

Anastasia Kovaleva (1):
scsi: qla2xxx: Prevent PRLI in target mode

Andy Shevchenko (2):

      hwmon: (ltc2992) Put fwnode in error case during ->probe()
      usb: typec: ucsi: Put fwnode in any case during ->probe()

Anthony Wang (1):
drm/amd/display: Force vsync flip when reconfiguring MPCC

Anup Patel (1):
RISC-V: Fix error code returned by riscv_hartid_to_cpuid()

Archie Pusaka (2):
Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default
Bluetooth: check for zapped sk before connecting

Arnd Bergmann (1):
ext4: fix debug format string warning

Axel Rasmussen (1):
userfaultfd: release page in error path to avoid BUG_ON

Ayush Garg (1):
Bluetooth: Fix incorrect status handling in LE PHY UPDATE event

Badhri Jagan Sridharan (1):
usb: typec: tcpm: Fix error while calculating PPS out values

Baptiste Lepers (1):
sunrpc: Fix misplaced barrier in call_decode

Bart Van Assche (1):
blk-mq: Swap two calls in blk_mq_exit_queue()

Bence Csókás (1):
i2c: Add I2C_AQ_NO_REP_START adapter quirk

Benjamin Segall (1):
kvm: exit halt polling on need_resched() as well

Bjorn Andersson (1):
remoteproc: qcom_q6v5_mss: Validate p_filesz in ELF loader

Brendan Jackman (1):
libbpf: Fix signed overflow in ringbuf_process_ring

Can Guo (3):
scsi: ufs: core: Do not put UFS power into LPM if link is broken
scsi: ufs: core: Cancel rpm_dev_flush_recheck_work during system suspend
scsi: ufs: core: Narrow down fast path in system suspend path

Catalin Marinas (1):
arm64: Fix race condition on PG_dcache_clean in __sync_icache_dcache()

Chaitanya Kulkarni (3):
nvmet: add lba to sect conversion helpers
nvmet: fix inline bio check for bdev-ns
nvmet: fix inline bio check for passthru

Chao Yu (10):
f2fs: fix to allow migrating fully valid segment
f2fs: fix panic during f2fs_resize_fs()
f2fs: fix to align to section for fallocate() on pinned file
f2fs: fix to update last i_size if fallocate partially succeeds
f2fs: fix to avoid touching checkpointed data in get_victim()
f2fs: fix to cover __allocate_new_section() with curseg_lock
f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block()
f2fs: compress: fix to free compress page correctly
f2fs: compress: fix race condition of overwrite vs truncate
f2fs: compress: fix to assign cc.cluster_idx correctly

Chris Dion (1):
SUNRPC: Handle major timeout in xprt_adjust_timeout()

Christoph Hellwig (1):
nvme: do not try to reconfigure APST when the controller is not live

Christophe JAILLET (4):
usb: fotg210-hcd: Fix an error message
usb: musb: Fix an error message
ACPI: scan: Fix a memory leak in an error handling path
xhci: Do not use GFP_KERNEL in (potentially) atomic context

Christophe Leroy (1):
powerpc/32: Statically initialise first emergency context

Chuck Lever (5):
SUNRPC: Move fault injection call sites
SUNRPC: Remove trace_xprt_transmit_queued
xprtrdma: Avoid Receive Queue wrapping
xprtrdma: Fix cwnd update ordering
xprtrdma: rpcrdma_mr_pop() already does list_del_init()

Chunfeng Yun (1):
usb: core: hub: fix race condition about TRSMRCY of resume

Claire Chang (1):
swiotlb: Fix the type of index

Colin Ian King (5):
KEYS: trusted: Fix memory leak on object td
f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
dmaengine: idxd: Fix potential null dereference on pointer status fs/proc/generic.c: fix incorrect pde_is_permanent check
iio: tsl2583: Fix division by a zero lux_val

Cong Wang (1):
smc: disallow TCP_ULP in smc_setsockopt()

Cédric Le Goater (1):
powerpc/xive: Use the "ibm, chip-id" property only under PowerNV

Dan Carpenter (1):
SUNRPC: fix ternary sign expansion bug in tracing

Daniel Winkler (1):
Bluetooth: Do not set cur_adv_instance in adv param MGMT request

Dave Jiang (9):
dmaengine: idxd: fix dma device lifetime
dmaengine: idxd: cleanup pci interrupt vector allocation management
dmaengine: idxd: removal of pcim managed mmio mapping
dmaengine: idxd: use ida for device instance enumeration
dmaengine: idxd: fix idxd conf_dev 'struct device' lifetime
dmaengine: idxd: fix wq conf_dev 'struct device' lifetime
dmaengine: idxd: fix engine conf_dev lifetime
dmaengine: idxd: fix group conf_dev lifetime
dmaengine: idxd: fix cdev setup and free device lifetime issues

David Bauer (1):
mt76: mt76x0: disable GTK offloading

David Hildenbrand (2):
kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources

David Matlack (1):

      kvm: Cap halt polling at kvm->max_halt_poll_ns

David Mosberger-Tang (1):
wilc1000: Bring MAC address setting in line with typical Linux behavior

David Ward (3):
ASoC: rt286: Generalize support for ALC3263 codec
ASoC: rt286: Make RT286_SET_GPIO_* readable and writable drm/amd/display: Initialize attribute for hdcp_srm sysfs file

Dingchen (David) Zhang (1):
drm/amd/display: add handling for hdcp2 rx id list validation

Dinghao Liu (2):
iio: light: gp2ap002: Fix rumtime PM imbalance on error
iio: proximity: pulsedlight: Fix rumtime PM imbalance on error

Dmitry Baryshkov (1):
PCI: Release OF node in pci_scan_device()'s error path

Dmitry Osipenko (1):
iio: gyro: mpu3050: Fix reported temperature value

Du Cheng (1):

      net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule

Eddie James (1):
hwmon: (occ) Fix poll rate limiting

Emmanuel Grumbach (2):
mac80211: clear the beacon's CRC after channel switch
mac80211: properly drop the connection in case of invalid CSA IE

Enric Balletbo i Serra (3):
soc: mediatek: pm-domains: Add a meaningful power domain name
soc: mediatek: pm-domains: Add a power domain names for mt8183
soc: mediatek: pm-domains: Add a power domain names for mt8192

Eric Dumazet (3):
ip6_vti: proper dev_{hold|put} in ndo_[un]init methods
netfilter: nftables: avoid overflows in nft_hash_buckets()
sh: Remove unused variable

Fabio Estevam (1):
media: rkvdec: Remove of_match_ptr()

Felix Fietkau (4):
mt76: mt7615: fix key set/delete issues
mt76: mt7915: fix key set/delete issue
mt76: mt7615: fix entering driver-own state on mt7663
net: ethernet: mtk_eth_soc: fix RX VLAN offload

Fernando Fernandez Mancera (1):
ethtool: fix missing NLM_F_MULTI flag when dumping

Ferry Toth (1):
usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield

Filipe Manana (2):
btrfs: fix deadlock when cloning inline extents and using qgroups
btrfs: fix race leading to unpersisted data and metadata on fsync

Frieder Schrempf (1):
can: mcp251x: fix resume from sleep before interface was brought up

Geert Uytterhoeven (2):
dt-bindings: media: renesas,vin: Make resets optional on R-Car Gen1
dt-bindings: PCI: rcar-pci-host: Document missing R-Car H1 support

Greg Kroah-Hartman (2):
kobject_uevent: remove warning in init_uevent_argv() Linux 5.11.22

Guangbin Huang (1):
net: hns3: remediate a potential overflow risk of bd_num_list

Guangqing Zhu (1):
thermal/drivers/tsens: Fix missing put_device error

Gustavo A. R. Silva (5):
sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target()
ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user()
wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt
wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join

Gyeongtaek Lee (1):
ASoC: soc-compress: lock pcm_mutex to resolve lockdep error

Hans de Goede (3):
ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF
ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet
ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055

Hao Chen (1):
net: hns3: fix for vxlan gpe tx checksum bug

Hoang Le (1):
tipc: convert dest node's address to network order

Huang Rui (1):
x86, sched: Fix the AMD CPPC maximum performance value on certain AMD Ryzen generations

J. Bruce Fields (1):
nfsd: ensure new clients break delegations

Jack Pham (3):
usb: dwc3: gadget: Free gadget structure only after freeing endpoints
usb: dwc3: gadget: Enable suspend events
usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4

Jarkko Sakkinen (2):
tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt() tpm, tpm_tis: Reserve locality in tpm_tis_resume()

Jaroslaw Gawin (1):
i40e: fix the restart auto-negotiation after FEC modified

Jeff Layton (1):
ceph: fix inode leak on getattr error in __fh_to_dentry

Jia-Ju Bai (3):
thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params()
rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data()
kernel: kexec_file: fix error return code of kexec_calculate_store_digests()

Jian Shen (1):
net: hns3: add check for HNS3_NIC_STATE_INITED in hns3_reset_notify_up_enet()

Jim Quinlan (2):
ata: ahci_brcm: Fix use of BCM7216 reset controller
PCI: brcmstb: Use reset/rearm instead of deassert/assert

Jinzhou Su (1):
drm/amdgpu: Add mem sync flag for IB allocated by SA

Jiri Olsa (1):
perf tools: Fix dynamic libbpf link

Johan Almbladh (1):
mac80211: Set priority and queue mapping for injected frames

Johannes Berg (1):
iwlwifi: pcie: make cfg vs. trans_cfg more robust

Jonathan Marek (1):
drm/msm: fix LLC not being enabled for mmu500 targets

Jonathan McDowell (1):
net: stmmac: Set FIFO sizes for ipq806x

Jouni Roivas (1):
hfsplus: prevent corruption in shrinking truncate

Juergen Gross (1):
xen/gntdev: fix gntdev_mmap() error exit path

Kai Vehmanen (1):
ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume

Kai-Heng Feng (1):
drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected

Kees Cook (3):
drm/radeon: Fix off-by-one power_state index heap overwrite drm/radeon: Avoid power table parsing memory leaks
debugfs: Make debugfs_allow RO after init

Kishon Vijay Abraham I (3):
PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR
PCI: endpoint: Add helper API to get the 'next' unreserved BAR
PCI: endpoint: Make *_free_bar() to return error codes on failure

Krzysztof Kozlowski (1):
pinctrl: samsung: use 'int' for register masks in Exynos

Kuninori Morimoto (2):
ASoC: rsnd: call rsnd_ssi_master_clk_start() from rsnd_ssi_init()
ASoC: rsnd: check all BUSIF status when error

Kuogee Hsieh (2):
drm/msm/dp: initialize audio_comp when audio starts drm/msm/dp: check sink_count before update is_connected status

Lai Jiangshan (1):
KVM/VMX: Invoke NMI non-IST entry instead of IST entry

Lee Gibson (1):
qtnfmac: Fix possible buffer overflow in qtnf_event_handle_external_auth

Lorenzo Bianconi (1):
mt76: mt7915: always check return value from mt7915_mcu_alloc_wtbl_req

Lv Yunlong (2):
ethernet:enic: Fix a use after free bug in enic_hard_start_xmit drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp

Maciej W. Rozycki (3):
MIPS: Reinstate platform `__div64_32' handler
MIPS: Avoid DIVU in `__div64_32' is result would be zero
MIPS: Avoid handcoded DIVU in `__div64_32' altogether

Maciej Żenczykowski (1):
net: fix nla_strcmp to handle more then one trailing null character

Magnus Karlsson (1):
i40e: fix broken XDP support

Marc Kleine-Budde (2):
can: mcp251xfd: mcp251xfd_probe(): add missing can_rx_offload_del() in error path
can: m_can: m_can_tx_work_queue(): fix tx_skb race condition

Marc Zyngier (1):
arm64: entry: factor irq triage logic into macros

Marcel Hamer (1):
usb: dwc3: omap: improve extcon initialization

Mark Rutland (1):
arm64: entry: always set GIC_PRIO_PSR_I_SET during entry

Masahiro Yamada (1):
kbuild: generate Module.symvers only when vmlinux exists

Mateusz Palczewski (1):
i40e: Fix PHY type identifiers for 2.5G and 5G adapters

Matthew Wilcox (Oracle) (1):
mm: fix struct page layout on 32-bit systems

Matthieu Baerts (1):
selftests: mptcp: launch mptcp_connect with timeout

Maxim Mikityanskiy (1):
net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath

Maximilian Luz (1):
usb: xhci: Increase timeout for HC halt

Md Haris Iqbal (2):
block/rnbd-clt: Change queue_depth type in rnbd_clt_session to size_t block/rnbd-clt: Check the return value of the function rtrs_clt_query

Miaohe Lin (4):
khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page()
ksm: fix potential missing rmap_item for stable_node

Michael Chan (1):
bnxt_en: Add PCI IDs for Hyper-V VF devices.

Michael Ellerman (3):
powerpc/pseries: Stop calling printk in rtas_stop_self() powerpc/64s: Fix crashes when toggling stf barrier powerpc/64s: Fix crashes when toggling entry flush barrier

Michael Walle (1):
rtc: fsl-ftm-alarm: add MODULE_TABLE()

Michal Kalderon (1):
nvmet-rdma: Fix NULL deref when SEND is completed with error

Mihai Moldovan (1):
kconfig: nconf: stop endless search loops

Mike Marciniszyn (1):
IB/hfi1: Correct oversized ring allocation

Mikhail Durnev (1):
ASoC: rsnd: core: Check convert rate in rsnd_hw_params

Miklos Szeredi (2):
virtiofs: fix userns
cuse: prevent clone

Ming Lei (1):
blk-mq: plug request for shared sbitmap

Mordechay Goodstein (1):
iwlwifi: queue: avoid memory leak in reset flow

Nagendra S Tomar (1):
nfs: Subsequent READDIR calls should carry non-zero cookieverifier

Nicolas MURE (1):
ALSA: usb-audio: Add Pioneer DJM-850 to quirks-table

Niklas Söderlund (1):
dt-bindings: thermal: rcar-gen3-thermal: Support five TSC nodes on r8a779a0

Nikola Livic (1):
pNFS/flexfiles: fix incorrect size check in decode_nfs_fh()

Nikolay Aleksandrov (1):
net: bridge: when suppression is enabled exclude RARP packets

Nobuhiro Iwamatsu (1):
rtc: ds1307: Fix wday settings for rx8130

Odin Ugedal (1):
sched/fair: Fix unfairness caused by missing load decay

Olga Kornievskaia (1):
NFSv4.2 fix handling of sr_eof in SEEK's reply

Oliver Neukum (1):
cdc-wdm: untangle a circular dependency between callback and softint

Omar Sandoval (1):
kyber: fix out of bounds access when preempted

Pablo Neira Ayuso (3):
netfilter: xt_SECMARK: add new revision to fix structure layout
netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check
netfilter: nftables: Fix a memleak from userdata error path in new objects

Pali Rohár (1):
PCI: iproc: Fix return value of iproc_msi_irq_domain_alloc()

Paolo Abeni (1):
mptcp: fix splat when closing unaccepted socket

Paul M Stillwell Jr (1):
ice: handle increasing Tx or Rx ring sizes

Paul Menzel (1):
Revert "iommu/amd: Fix performance counter initialization"

Pavel Tatashin (3):
mm/gup: check every subpage of a compound page during isolation mm/gup: return an error on migration failure
mm/gup: check for isolation errors

Paweł Chmiel (1):
clk: exynos7: Mark aclk_fsys1_200 as critical

Peng Li (1):
net: hns3: use netif_tx_disable to stop the transmit queue

Peter Collingbourne (2):
kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled
arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup

Peter Xu (1):
mm/hugetlb: fix F_SEAL_FUTURE_WRITE

Petr Machata (2):
selftests: mlxsw: Increase the tolerance of backlog buildup
selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test

Petr Mladek (4):
watchdog: rename __touch_watchdog() to a better descriptive name
watchdog: explicitly update timestamp when reporting softlockup watchdog/softlockup: remove logic that tried to prevent repeated reports
watchdog: fix barriers when printing backtraces from all CPUs

Phil Elwell (1):
usb: dwc2: Fix gadget DMA unmap direction

Phillip Lougher (1):
squashfs: fix divide error in calculate_skip()

Po-Hao Huang (1):

      rtw88: 8822c: add LC calibration for RTL8822C

Pradeep Kumar Chitrapu (1):
ath11k: fix thermal temperature read

Qii Wang (1):
i2c: mediatek: Fix send master code at more than 1MHz

Qiuxu Zhuo (1):
PCI/RCEC: Fix RCiEP device to RCEC association

Quentin Perret (1):
sched: Fix out-of-bound access in uclamp

Rafael J. Wysocki (1):
cpufreq: intel_pstate: Use HWP if enabled by platform firmware

Ramesh Babu B (1):
net: stmmac: Clear receive all(RA) bit when promiscuous mode is off

Robin Singh (1):
drm/amd/display: fixed divide by zero kernel crash during dsc enablement

Russell Currey (1):
selftests/powerpc: Fix L1D flushing tests for Power10

Ryder Lee (1):
mt76: mt7915: add wifi subsystem reset

Sandeep Singh (1):
xhci: Add reset resume quirk for AMD xhci controller.

Sander Vanheule (1):
mt76: mt7615: support loading EEPROM for MT7613BE

Sean Christopherson (6):
KVM: x86/mmu: Remove the defunct update_pte() paging hook
crypto: ccp: Free SEV device if SEV init fails
KVM: x86: Emulate RDPID only if RDTSCP is supported
KVM: x86: Move RDPID emulation intercept to its own enum
KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported
KVM: VMX: Disable preemption when probing user return MSRs

Sergei Trofimovich (1):
ia64: module: fix symbolizer crash on fdescr

Shayne Chen (1):
mt76: mt7915: fix txpower init for TSSI off chips

Shradha Todi (1):

      PCI: endpoint: Fix NULL pointer dereference for ->get_features()

Srikar Dronamraju (1):
powerpc/smp: Set numa node before updating mask

Stefan Assmann (1):
iavf: remove duplicate free resources calls

Stéphane Marchesin (1):
drm/i915: Fix crash in auto_retire

Suman Anna (3):
remoteproc: pru: Fixup interrupt-parent logic for fw events
remoteproc: pru: Fix wrong success return value for fw events
remoteproc: pru: Fix and cleanup firmware interrupt mapping logic

Sumeet Pawnikar (1):
ACPI: PM: Add ACPI ID of Alder Lake Fan

Sun Ke (1):
nbd: Fix NULL pointer in flush_workqueue

Suravee Suthikulpanit (1):
iommu/amd: Remove performance counter pre-initialization test

Suzuki K Poulose (1):
coresight: Do not scan for graph if none is present

Takashi Iwai (1):
ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740

Takashi Sakamoto (1):
ALSA: bebob: enable to deliver MIDI messages for multiple ports

Tejun Heo (1):
blk-iocost: fix weight updates of inner active iocgs

Tetsuo Handa (1):
Bluetooth: initialize skb_queue_head at l2cap_chan_create()

Thomas Gleixner (2):
KVM: x86: Cancel pvclock_gtod_work on module removal
KVM: x86: Prevent deadlock against tk_core.seq

Tiezhu Yang (1):
MIPS: Loongson64: Use _CACHE_UNCACHED instead of _CACHE_UNCACHED_ACCELERATED

Tom Lendacky (1):
KVM: SVM: Make sure GHCB is mapped before updating

Tomasz Duszynski (1):
iio: core: fix ioctl handlers removal

Tong Zhang (3):
ALSA: hdsp: don't disable if not enabled
ALSA: hdspm: don't disable if not enabled
ALSA: rme9652: don't disable if not enabled

Tony Lindgren (3):
PM: runtime: Fix unpaired parent child_count for force_resume clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940

Trond Myklebust (7):
NFS: Fix handling of cookie verifier in uncached_readdir()
NFS: Only change the cookie verifier if the directory page cache is empty
NFS: nfs4_bitmask_adjust() must not change the server global bitmasks
NFS: Fix attribute bitmask in _nfs42_proc_fallocate() NFSv4.2: Always flush out writes in nfs42_proc_fallocate()
NFS: Deal correctly with attribute generation counter overflow NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting

Tvrtko Ursulin (1):
drm/i915/overlay: Fix active retire callback alignment

Uwe Kleine-König (1):
pwm: atmel: Fix duty cycle calculation in .get_state()

Vaibhav Jain (1):
powerpc/mm: Add cond_resched() while removing hpte mappings

Vamshi Krishna Gopal (1):
ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp

Ville Syrjälä (2):
drm/i915: Avoid div-by-zero on gen2 drm/i915: Read C0DRB3/C1DRB3 as 16 bits again

Vineet Gupta (1):
ARC: entry: fix off-by-one error in syscall number validation

Vitaly Kuznetsov (1):
KVM: nVMX: Always make an attempt to map eVMCS after migration

Vivek Goyal (4):
fuse: invalidate attrs when page writeback completes
dax: Add an enum for specifying dax wakup mode
dax: Add a wakeup mode parameter to put_unlocked_entry()
dax: Wake up all waiters after invalidating dax entry

Vladimir Isaev (2):
ARC: mm: PAE: use 40-bit physical page mask
ARC: mm: Use max_high_pfn as a HIGHMEM zone border

Vladimir Oltean (1):
net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports

Wanpeng Li (1):
KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer

Wesley Cheng (1):
usb: dwc3: gadget: Return success always for kick transfer in ep queue

Wolfram Sang (1):
i2c: bail out early when RDWR parameters are wrong

Xin Long (2):
sctp: do asoc update earlier in sctp_sf_do_dupcook_a
sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b

Xuan Zhuo (1):

      xsk: Fix for xp_aligned_validate_desc() when len == chunk_size

Yang Yingliang (2):
fs: 9p: fix v9fs_file_open writeback fid error check
PCI: endpoint: Fix missing destroy_workqueue()

Yaqi Chen (1):
samples/bpf: Fix broken tracex1 due to kprobe argument change

Ye Weihua (1):
i2c: imx: Fix PM reference leak in i2c_imx_reg_slave()

Yi Zhuang (1):
f2fs: Fix a hungtask problem in atomic write

Yonghong Song (1):
selftests: Set CC to clang in lib.mk if LLVM is set

Yufeng Mo (3):
net: hns3: fix incorrect configuration for igu_egu_hw_err
net: hns3: initialize the message content in hclge_get_link_mode()
net: hns3: disable phy loopback setting in hclge_mac_start_phy

Yunjian Wang (2):
SUNRPC: Fix null pointer dereference in svc_rqst_free()
i40e: Fix use-after-free in i40e_client_subtask()

Yunsheng Lin (1):
net: hns3: add handling for xmit skb with recursive fraglist

Zhen Lei (4):
tpm: fix error return code in tpm2_get_cc_attrs_tbl()
ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook xen/unpopulated-alloc: fix error return code in fill_list()
dt-bindings: serial: 8250: Remove duplicated compatible strings

Zheng Yongjun (1):
dma: idxd: use DEFINE_MUTEX() for mutex lock

mark-yw.chen (1):
Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip.

author maintainer
#1 lore raw
.gitignore +1 -0
index d01cda8e1177..67d2f3503128 100644
@@ -55,6 +55,7 @@ modules.order
 /tags
 /TAGS
 /linux
+/modules-only.symvers
 /vmlinux
 /vmlinux.32
 /vmlinux.symvers
Documentation/devicetree/bindings/media/renesas,vin.yaml +29 -17

52 lines not on this page · raw message

Documentation/devicetree/bindings/pci/rcar-pci-host.yaml +11 -1
index 4a2bcc0158e2..8fdfbc763d70 100644
@@ -17,6 +17,7 @@ allOf:
 properties:
   compatible:
     oneOf:
+      - const: renesas,pcie-r8a7779       # R-Car H1
       - items:
           - enum:
               - renesas,pcie-r8a7742      # RZ/G1H
@@ -74,7 +75,16 @@ required:
   - clocks
   - clock-names
   - power-domains
-  - resets
+
+if:
+  not:
+    properties:
+      compatible:
+        contains:
+          const: renesas,pcie-r8a7779
+then:
+  required:
+    - resets
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/serial/8250.yaml +0 -5
index f54cae9ff7b2..d3f87f2bfdc2 100644
@@ -93,11 +93,6 @@ properties:
               - mediatek,mt7622-btif
               - mediatek,mt7623-btif
           - const: mediatek,mtk-btif
-      - items:
-          - enum:
-              - mediatek,mt7622-btif
-              - mediatek,mt7623-btif
-          - const: mediatek,mtk-btif
       - items:
           - const: mrvl,mmp-uart
           - const: intel,xscale-uart
Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml +35 -8

60 lines not on this page · raw message

Documentation/dontdiff +1 -0
index e361fc95ca29..82e3eee7363b 100644
@@ -178,6 +178,7 @@ mktables
 mktree
 mkutf8data
 modpost
+modules-only.symvers
 modules.builtin
 modules.builtin.modinfo
 modules.nsdeps
Makefile +2 -2
index 11ca74eabf47..ff363cc6b11f 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 11
-SUBLEVEL = 21
+SUBLEVEL = 22
 EXTRAVERSION =
 NAME = 💕 Valentine's Day Edition 💕
 
@@ -1482,7 +1482,7 @@ endif # CONFIG_MODULES
 # make distclean Remove editor backup files, patch leftover files and the like
 
 # Directories & files removed with 'make clean'
-CLEAN_FILES += include/ksym vmlinux.symvers \
+CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \
 	       modules.builtin modules.builtin.modinfo modules.nsdeps \
 	       compile_commands.json
 
arch/arc/include/asm/page.h +12 -0
index ad9b7fe4dba3..4a9d33372fe2 100644
@@ -7,6 +7,18 @@
 
 #include <uapi/asm/page.h>
 
+#ifdef CONFIG_ARC_HAS_PAE40
+
+#define MAX_POSSIBLE_PHYSMEM_BITS	40
+#define PAGE_MASK_PHYS			(0xff00000000ull | PAGE_MASK)
+
+#else /* CONFIG_ARC_HAS_PAE40 */
+
+#define MAX_POSSIBLE_PHYSMEM_BITS	32
+#define PAGE_MASK_PHYS			PAGE_MASK
+
+#endif /* CONFIG_ARC_HAS_PAE40 */
+
 #ifndef __ASSEMBLY__
 
 #define clear_page(paddr)		memset((paddr), 0, PAGE_SIZE)
arch/arc/include/asm/pgtable.h +3 -9
index 163641726a2b..5878846f00cf 100644
@@ -107,8 +107,8 @@
 #define ___DEF (_PAGE_PRESENT | _PAGE_CACHEABLE)
 
 /* Set of bits not changed in pte_modify */
-#define _PAGE_CHG_MASK	(PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_SPECIAL)
-
+#define _PAGE_CHG_MASK	(PAGE_MASK_PHYS | _PAGE_ACCESSED | _PAGE_DIRTY | \
+							   _PAGE_SPECIAL)
 /* More Abbrevaited helpers */
 #define PAGE_U_NONE     __pgprot(___DEF)
 #define PAGE_U_R        __pgprot(___DEF | _PAGE_READ)
@@ -132,13 +132,7 @@
 #define PTE_BITS_IN_PD0		(_PAGE_GLOBAL | _PAGE_PRESENT | _PAGE_HW_SZ)
 #define PTE_BITS_RWX		(_PAGE_EXECUTE | _PAGE_WRITE | _PAGE_READ)
 
-#ifdef CONFIG_ARC_HAS_PAE40
-#define PTE_BITS_NON_RWX_IN_PD1	(0xff00000000 | PAGE_MASK | _PAGE_CACHEABLE)
-#define MAX_POSSIBLE_PHYSMEM_BITS 40
-#else
-#define PTE_BITS_NON_RWX_IN_PD1	(PAGE_MASK | _PAGE_CACHEABLE)
-#define MAX_POSSIBLE_PHYSMEM_BITS 32
-#endif
+#define PTE_BITS_NON_RWX_IN_PD1	(PAGE_MASK_PHYS | _PAGE_CACHEABLE)
 
 /**************************************************************************
  * Mapping of vm_flags (Generic VM) to PTE flags (arch specific)
arch/arc/include/uapi/asm/page.h +0 -1
index 2a97e2718a21..2a4ad619abfb 100644
@@ -33,5 +33,4 @@
 
 #define PAGE_MASK	(~(PAGE_SIZE-1))
 
-
 #endif /* _UAPI__ASM_ARC_PAGE_H */
arch/arc/kernel/entry.S +2 -2
index 1743506081da..2cb8dfe866b6 100644
@@ -177,7 +177,7 @@ tracesys:
 
 	; Do the Sys Call as we normally would.
 	; Validate the Sys Call number
-	cmp     r8,  NR_syscalls
+	cmp     r8,  NR_syscalls - 1
 	mov.hi  r0, -ENOSYS
 	bhi     tracesys_exit
 
@@ -255,7 +255,7 @@ ENTRY(EV_Trap)
 	;============ Normal syscall case
 
 	; syscall num shd not exceed the total system calls avail
-	cmp     r8,  NR_syscalls
+	cmp     r8,  NR_syscalls - 1
 	mov.hi  r0, -ENOSYS
 	bhi     .Lret_from_system_call
 
arch/arc/mm/init.c +10 -1
index ce07e697916c..1bcc6985b9a0 100644
@@ -157,7 +157,16 @@ void __init setup_arch_memory(void)
 	min_high_pfn = PFN_DOWN(high_mem_start);
 	max_high_pfn = PFN_DOWN(high_mem_start + high_mem_sz);
 
-	max_zone_pfn[ZONE_HIGHMEM] = min_low_pfn;
+	/*
+	 * max_high_pfn should be ok here for both HIGHMEM and HIGHMEM+PAE.
+	 * For HIGHMEM without PAE max_high_pfn should be less than
+	 * min_low_pfn to guarantee that these two regions don't overlap.
+	 * For PAE case highmem is greater than lowmem, so it is natural
+	 * to use max_high_pfn.
+	 *
+	 * In both cases, holes should be handled by pfn_valid().
+	 */
+	max_zone_pfn[ZONE_HIGHMEM] = max_high_pfn;
 
 	high_memory = (void *)(min_high_pfn << PAGE_SHIFT);
 
arch/arc/mm/ioremap.c +3 -2
index fac4adc90204..95c649fbc95a 100644
@@ -53,9 +53,10 @@ EXPORT_SYMBOL(ioremap);
 void __iomem *ioremap_prot(phys_addr_t paddr, unsigned long size,
 			   unsigned long flags)
 {
+	unsigned int off;
 	unsigned long vaddr;
 	struct vm_struct *area;
-	phys_addr_t off, end;
+	phys_addr_t end;
 	pgprot_t prot = __pgprot(flags);
 
 	/* Don't allow wraparound, zero size */
@@ -72,7 +73,7 @@ void __iomem *ioremap_prot(phys_addr_t paddr, unsigned long size,
 
 	/* Mappings have to be page-aligned */
 	off = paddr & ~PAGE_MASK;
-	paddr &= PAGE_MASK;
+	paddr &= PAGE_MASK_PHYS;
 	size = PAGE_ALIGN(end + 1) - paddr;
 
 	/*
arch/arc/mm/tlb.c +1 -1
index 9bb3c24f3677..9c7c68247289 100644
@@ -576,7 +576,7 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr_unaligned,
 		      pte_t *ptep)
 {
 	unsigned long vaddr = vaddr_unaligned & PAGE_MASK;
-	phys_addr_t paddr = pte_val(*ptep) & PAGE_MASK;
+	phys_addr_t paddr = pte_val(*ptep) & PAGE_MASK_PHYS;
 	struct page *page = pfn_to_page(pte_pfn(*ptep));
 
 	create_tlb(vma, vaddr, ptep);
arch/arm/boot/dts/dra7-l4.dtsi +2 -2
index 3bf90d9e3335..a294a02f2d23 100644
@@ -1168,7 +1168,7 @@ timer2: timer@0 {
 			};
 		};
 
-		target-module@34000 {			/* 0x48034000, ap 7 46.0 */
+		timer3_target: target-module@34000 {	/* 0x48034000, ap 7 46.0 */
 			compatible = "ti,sysc-omap4-timer", "ti,sysc";
 			reg = <0x34000 0x4>,
 			      <0x34010 0x4>;
@@ -1195,7 +1195,7 @@ timer3: timer@0 {
 			};
 		};
 
-		target-module@36000 {			/* 0x48036000, ap 9 4e.0 */
+		timer4_target: target-module@36000 {	/* 0x48036000, ap 9 4e.0 */
 			compatible = "ti,sysc-omap4-timer", "ti,sysc";
 			reg = <0x36000 0x4>,
 			      <0x36010 0x4>;
arch/arm/boot/dts/dra7.dtsi +20 -0
index ce1194744f84..53d68786a61f 100644
@@ -46,6 +46,7 @@ aliases {
 
 	timer {
 		compatible = "arm,armv7-timer";
+		status = "disabled";	/* See ARM architected timer wrap erratum i940 */
 		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
 			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
 			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
@@ -1241,3 +1242,22 @@ timer@0 {
 		assigned-clock-parents = <&sys_32k_ck>;
 	};
 };
+
+/* Local timers, see ARM architected timer wrap erratum i940 */
+&timer3_target {
+	ti,no-reset-on-init;
+	ti,no-idle;
+	timer@0 {
+		assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER3_CLKCTRL 24>;
+		assigned-clock-parents = <&timer_sys_clk_div>;
+	};
+};
+
+&timer4_target {
+	ti,no-reset-on-init;
+	ti,no-idle;
+	timer@0 {
+		assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER4_CLKCTRL 24>;
+		assigned-clock-parents = <&timer_sys_clk_div>;
+	};
+};
arch/arm/kernel/hw_breakpoint.c +1 -1
index 08660ae9dcbc..b1423fb130ea 100644
@@ -886,7 +886,7 @@ static void breakpoint_handler(unsigned long unknown, struct pt_regs *regs)
 			info->trigger = addr;
 			pr_debug("breakpoint fired: address = 0x%x\n", addr);
 			perf_bp_event(bp, regs);
-			if (!bp->overflow_handler)
+			if (is_default_overflow_handler(bp))
 				enable_single_step(bp, addr);
 			goto unlock;
 		}
arch/arm64/include/asm/daifflags.h +3 -0
index 1c26d7baa67f..cfdde3a56805 100644
@@ -131,6 +131,9 @@ static inline void local_daif_inherit(struct pt_regs *regs)
 	if (interrupts_enabled(regs))
 		trace_hardirqs_on();
 
+	if (system_uses_irq_prio_masking())
+		gic_write_pmr(regs->pmr_save);
+
 	/*
 	 * We can't use local_daif_restore(regs->pstate) here as
 	 * system_has_prio_mask_debugging() won't restore the I bit if it can
arch/arm64/kernel/entry-common.c +0 -17
index 5346953e4382..ead1ecffe054 100644
@@ -177,14 +177,6 @@ static void noinstr el1_dbg(struct pt_regs *regs, unsigned long esr)
 {
 	unsigned long far = read_sysreg(far_el1);
 
-	/*
-	 * The CPU masked interrupts, and we are leaving them masked during
-	 * do_debug_exception(). Update PMR as if we had called
-	 * local_daif_mask().
-	 */
-	if (system_uses_irq_prio_masking())
-		gic_write_pmr(GIC_PRIO_IRQON | GIC_PRIO_PSR_I_SET);
-
 	arm64_enter_el1_dbg(regs);
 	do_debug_exception(far, esr, regs);
 	arm64_exit_el1_dbg(regs);
@@ -348,9 +340,6 @@ static void noinstr el0_dbg(struct pt_regs *regs, unsigned long esr)
 	/* Only watchpoints write FAR_EL1, otherwise its UNKNOWN */
 	unsigned long far = read_sysreg(far_el1);
 
-	if (system_uses_irq_prio_masking())
-		gic_write_pmr(GIC_PRIO_IRQON | GIC_PRIO_PSR_I_SET);
-
 	enter_from_user_mode();
 	do_debug_exception(far, esr, regs);
 	local_daif_restore(DAIF_PROCCTX_NOIRQ);
@@ -358,9 +347,6 @@ static void noinstr el0_dbg(struct pt_regs *regs, unsigned long esr)
 
 static void noinstr el0_svc(struct pt_regs *regs)
 {
-	if (system_uses_irq_prio_masking())
-		gic_write_pmr(GIC_PRIO_IRQON | GIC_PRIO_PSR_I_SET);
-
 	enter_from_user_mode();
 	do_el0_svc(regs);
 }
@@ -435,9 +421,6 @@ static void noinstr el0_cp15(struct pt_regs *regs, unsigned long esr)
 
 static void noinstr el0_svc_compat(struct pt_regs *regs)
 {
-	if (system_uses_irq_prio_masking())
-		gic_write_pmr(GIC_PRIO_IRQON | GIC_PRIO_PSR_I_SET);
-
 	enter_from_user_mode();
 	do_el0_svc_compat(regs);
 }
arch/arm64/kernel/entry.S +40 -45

128 lines not on this page · raw message

arch/arm64/mm/flush.c +3 -1
index ac485163a4a7..6d44c028d1c9 100644
@@ -55,8 +55,10 @@ void __sync_icache_dcache(pte_t pte)
 {
 	struct page *page = pte_page(pte);
 
-	if (!test_and_set_bit(PG_dcache_clean, &page->flags))
+	if (!test_bit(PG_dcache_clean, &page->flags)) {
 		sync_icache_aliases(page_address(page), page_size(page));
+		set_bit(PG_dcache_clean, &page->flags);
+	}
 }
 EXPORT_SYMBOL_GPL(__sync_icache_dcache);
 
arch/arm64/mm/proc.S +12 -0
index 1f7ee8c8b7b8..434b2d9f570e 100644
@@ -454,6 +454,18 @@ SYM_FUNC_START(__cpu_setup)
 	mov	x10, #(SYS_GCR_EL1_RRND | SYS_GCR_EL1_EXCL_MASK)
 	msr_s	SYS_GCR_EL1, x10
 
+	/*
+	 * If GCR_EL1.RRND=1 is implemented the same way as RRND=0, then
+	 * RGSR_EL1.SEED must be non-zero for IRG to produce
+	 * pseudorandom numbers. As RGSR_EL1 is UNKNOWN out of reset, we
+	 * must initialize it.
+	 */
+	mrs	x10, CNTVCT_EL0
+	ands	x10, x10, #SYS_RGSR_EL1_SEED_MASK
+	csinc	x10, x10, xzr, ne
+	lsl	x10, x10, #SYS_RGSR_EL1_SEED_SHIFT
+	msr_s	SYS_RGSR_EL1, x10
+
 	/* clear any pending tag check faults in TFSR*_EL1 */
 	msr_s	SYS_TFSR_EL1, xzr
 	msr_s	SYS_TFSRE0_EL1, xzr
arch/ia64/include/asm/module.h +5 -1
index 5a29652e6def..7271b9c5fc76 100644
@@ -14,16 +14,20 @@
 struct elf64_shdr;			/* forward declration */
 
 struct mod_arch_specific {
+	/* Used only at module load time. */
 	struct elf64_shdr *core_plt;	/* core PLT section */
 	struct elf64_shdr *init_plt;	/* init PLT section */
 	struct elf64_shdr *got;		/* global offset table */
 	struct elf64_shdr *opd;		/* official procedure descriptors */
 	struct elf64_shdr *unwind;	/* unwind-table section */
 	unsigned long gp;		/* global-pointer for module */
+	unsigned int next_got_entry;	/* index of next available got entry */
 
+	/* Used at module run and cleanup time. */
 	void *core_unw_table;		/* core unwind-table cookie returned by unwinder */
 	void *init_unw_table;		/* init unwind-table cookie returned by unwinder */
-	unsigned int next_got_entry;	/* index of next available got entry */
+	void *opd_addr;			/* symbolize uses .opd to get to actual function */
+	unsigned long opd_size;
 };
 
 #define ARCH_SHF_SMALL	SHF_IA_64_SHORT
arch/ia64/kernel/module.c +25 -4
index 00a496cb346f..2cba53c1da82 100644
@@ -905,9 +905,31 @@ register_unwind_table (struct module *mod)
 int
 module_finalize (const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *mod)
 {
+	struct mod_arch_specific *mas = &mod->arch;
+
 	DEBUGP("%s: init: entry=%p\n", __func__, mod->init);
-	if (mod->arch.unwind)
+	if (mas->unwind)
 		register_unwind_table(mod);
+
+	/*
+	 * ".opd" was already relocated to the final destination. Store
+	 * it's address for use in symbolizer.
+	 */
+	mas->opd_addr = (void *)mas->opd->sh_addr;
+	mas->opd_size = mas->opd->sh_size;
+
+	/*
+	 * Module relocation was already done at this point. Section
+	 * headers are about to be deleted. Wipe out load-time context.
+	 */
+	mas->core_plt = NULL;
+	mas->init_plt = NULL;
+	mas->got = NULL;
+	mas->opd = NULL;
+	mas->unwind = NULL;
+	mas->gp = 0;
+	mas->next_got_entry = 0;
+
 	return 0;
 }
 
@@ -926,10 +948,9 @@ module_arch_cleanup (struct module *mod)
 
 void *dereference_module_function_descriptor(struct module *mod, void *ptr)
 {
-	Elf64_Shdr *opd = mod->arch.opd;
+	struct mod_arch_specific *mas = &mod->arch;
 
-	if (ptr < (void *)opd->sh_addr ||
-			ptr >= (void *)(opd->sh_addr + opd->sh_size))
+	if (ptr < mas->opd_addr || ptr >= mas->opd_addr + mas->opd_size)
 		return ptr;
 
 	return dereference_function_descriptor(ptr);
arch/mips/include/asm/div64.h +39 -16

87 lines not on this page · raw message

arch/mips/kernel/cpu-probe.c +0 -3
index 21794db53c05..8895eb6568ca 100644
@@ -1743,7 +1743,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
 			set_isa(c, MIPS_CPU_ISA_M64R2);
 			break;
 		}
-		c->writecombine = _CACHE_UNCACHED_ACCELERATED;
 		c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT |
 				MIPS_ASE_LOONGSON_EXT2);
 		break;
@@ -1773,7 +1772,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
 		 * register, we correct it here.
 		 */
 		c->options |= MIPS_CPU_FTLB | MIPS_CPU_TLBINV | MIPS_CPU_LDPTE;
-		c->writecombine = _CACHE_UNCACHED_ACCELERATED;
 		c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_CAM |
 			MIPS_ASE_LOONGSON_EXT | MIPS_ASE_LOONGSON_EXT2);
 		c->ases &= ~MIPS_ASE_VZ; /* VZ of Loongson-3A2000/3000 is incomplete */
@@ -1784,7 +1782,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
 		set_elf_platform(cpu, "loongson3a");
 		set_isa(c, MIPS_CPU_ISA_M64R2);
 		decode_cpucfg(c);
-		c->writecombine = _CACHE_UNCACHED_ACCELERATED;
 		break;
 	default:
 		panic("Unknown Loongson Processor ID!");
arch/powerpc/kernel/head_32.h +1 -5
index abc7b603ab65..294dd0082ad2 100644
@@ -331,11 +331,7 @@
 	lis	r1, emergency_ctx@ha
 #endif
 	lwz	r1, emergency_ctx@l(r1)
-	cmpwi	cr1, r1, 0
-	bne	cr1, 1f
-	lis	r1, init_thread_union@ha
-	addi	r1, r1, init_thread_union@l
-1:	addi	r1, r1, THREAD_SIZE - INT_FRAME_SIZE
+	addi	r1, r1, THREAD_SIZE - INT_FRAME_SIZE
 	EXCEPTION_PROLOG_2
 	SAVE_NVGPRS(r11)
 	addi	r3, r1, STACK_FRAME_OVERHEAD
arch/powerpc/kernel/iommu.c +2 -2
index 5b69a6a72a0e..6806eefa52ce 100644
@@ -1050,7 +1050,7 @@ int iommu_take_ownership(struct iommu_table *tbl)
 
 	spin_lock_irqsave(&tbl->large_pool.lock, flags);
 	for (i = 0; i < tbl->nr_pools; i++)
-		spin_lock(&tbl->pools[i].lock);
+		spin_lock_nest_lock(&tbl->pools[i].lock, &tbl->large_pool.lock);
 
 	iommu_table_release_pages(tbl);
 
@@ -1078,7 +1078,7 @@ void iommu_release_ownership(struct iommu_table *tbl)
 
 	spin_lock_irqsave(&tbl->large_pool.lock, flags);
 	for (i = 0; i < tbl->nr_pools; i++)
-		spin_lock(&tbl->pools[i].lock);
+		spin_lock_nest_lock(&tbl->pools[i].lock, &tbl->large_pool.lock);
 
 	memset(tbl->it_map, 0, sz);
 
arch/powerpc/kernel/setup_32.c +1 -1
index 8ba49a6bf515..d7c1f92152af 100644
@@ -164,7 +164,7 @@ void __init irqstack_early_init(void)
 }
 
 #ifdef CONFIG_VMAP_STACK
-void *emergency_ctx[NR_CPUS] __ro_after_init;
+void *emergency_ctx[NR_CPUS] __ro_after_init = {[0] = &init_stack};
 
 void __init emergency_stack_init(void)
 {
arch/powerpc/kernel/smp.c +3 -3
index d1bc51a128b2..e285d55f9213 100644
@@ -1545,6 +1545,9 @@ void start_secondary(void *unused)
 
 	vdso_getcpu_init();
 #endif
+	set_numa_node(numa_cpu_lookup_table[cpu]);
+	set_numa_mem(local_memory_node(numa_cpu_lookup_table[cpu]));
+
 	/* Update topology CPU masks */
 	add_cpu_to_masks(cpu);
 
@@ -1563,9 +1566,6 @@ void start_secondary(void *unused)
 			shared_caches = true;
 	}
 
-	set_numa_node(numa_cpu_lookup_table[cpu]);
-	set_numa_mem(local_memory_node(numa_cpu_lookup_table[cpu]));
-
 	smp_wmb();
 	notify_cpu_starting(cpu);
 	set_cpu_online(cpu, true);
arch/powerpc/lib/feature-fixups.c +32 -3
index 1fd31b4b0e13..0aefa6a4a259 100644
@@ -14,6 +14,7 @@
 #include <linux/string.h>
 #include <linux/init.h>
 #include <linux/sched/mm.h>
+#include <linux/stop_machine.h>
 #include <asm/cputable.h>
 #include <asm/code-patching.h>
 #include <asm/page.h>
@@ -227,11 +228,25 @@ static void do_stf_exit_barrier_fixups(enum stf_barrier_type types)
 		                                           : "unknown");
 }
 
+static int __do_stf_barrier_fixups(void *data)
+{
+	enum stf_barrier_type *types = data;
+
+	do_stf_entry_barrier_fixups(*types);
+	do_stf_exit_barrier_fixups(*types);
+
+	return 0;
+}
 
 void do_stf_barrier_fixups(enum stf_barrier_type types)
 {
-	do_stf_entry_barrier_fixups(types);
-	do_stf_exit_barrier_fixups(types);
+	/*
+	 * The call to the fallback entry flush, and the fallback/sync-ori exit
+	 * flush can not be safely patched in/out while other CPUs are executing
+	 * them. So call __do_stf_barrier_fixups() on one CPU while all other CPUs
+	 * spin in the stop machine core with interrupts hard disabled.
+	 */
+	stop_machine(__do_stf_barrier_fixups, &types, NULL);
 }
 
 void do_uaccess_flush_fixups(enum l1d_flush_type types)
@@ -284,8 +299,9 @@ void do_uaccess_flush_fixups(enum l1d_flush_type types)
 						: "unknown");
 }
 
-void do_entry_flush_fixups(enum l1d_flush_type types)
+static int __do_entry_flush_fixups(void *data)
 {
+	enum l1d_flush_type types = *(enum l1d_flush_type *)data;
 	unsigned int instrs[3], *dest;
 	long *start, *end;
 	int i;
@@ -354,6 +370,19 @@ void do_entry_flush_fixups(enum l1d_flush_type types)
 							: "ori type" :
 		(types &  L1D_FLUSH_MTTRIG)     ? "mttrig type"
 						: "unknown");
+
+	return 0;
+}
+
+void do_entry_flush_fixups(enum l1d_flush_type types)
+{
+	/*
+	 * The call to the fallback flush can not be safely patched in/out while
+	 * other CPUs are executing it. So call __do_entry_flush_fixups() on one
+	 * CPU while all other CPUs spin in the stop machine core with interrupts
+	 * hard disabled.
+	 */
+	stop_machine(__do_entry_flush_fixups, &types, NULL);
 }
 
 void do_rfi_flush_fixups(enum l1d_flush_type types)
arch/powerpc/mm/book3s64/hash_utils.c +12 -1
index 73b06adb6eeb..f81b09769e0b 100644
@@ -337,7 +337,7 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
 int htab_remove_mapping(unsigned long vstart, unsigned long vend,
 		      int psize, int ssize)
 {
-	unsigned long vaddr;
+	unsigned long vaddr, time_limit;
 	unsigned int step, shift;
 	int rc;
 	int ret = 0;
@@ -350,8 +350,19 @@ int htab_remove_mapping(unsigned long vstart, unsigned long vend,
 
 	/* Unmap the full range specificied */
 	vaddr = ALIGN_DOWN(vstart, step);
+	time_limit = jiffies + HZ;
+
 	for (;vaddr < vend; vaddr += step) {
 		rc = mmu_hash_ops.hpte_removebolted(vaddr, psize, ssize);
+
+		/*
+		 * For large number of mappings introduce a cond_resched()
+		 * to prevent softlockup warnings.
+		 */
+		if (time_after(jiffies, time_limit)) {
+			cond_resched();
+			time_limit = jiffies + HZ;
+		}
 		if (rc == -ENOENT) {
 			ret = -ENOENT;
 			continue;
arch/powerpc/platforms/pseries/hotplug-cpu.c +0 -3
index 12cbffd3c2e3..325f3b220f36 100644
@@ -47,9 +47,6 @@ static void rtas_stop_self(void)
 
 	BUG_ON(rtas_stop_self_token == RTAS_UNKNOWN_SERVICE);
 
-	printk("cpu %u (hwid %u) Ready to die...\n",
-	       smp_processor_id(), hard_smp_processor_id());
-
 	rtas_call_unlocked(&args, rtas_stop_self_token, 0, 1, NULL);
 
 	panic("Alas, I survived.\n");
arch/powerpc/sysdev/xive/common.c +3 -6
index 5cacb632eb37..31b657c37735 100644
@@ -1341,17 +1341,14 @@ static int xive_prepare_cpu(unsigned int cpu)
 
 	xc = per_cpu(xive_cpu, cpu);
 	if (!xc) {
-		struct device_node *np;
-
 		xc = kzalloc_node(sizeof(struct xive_cpu),
 				  GFP_KERNEL, cpu_to_node(cpu));
 		if (!xc)
 			return -ENOMEM;
-		np = of_get_cpu_node(cpu, NULL);
-		if (np)
-			xc->chip_id = of_get_ibm_chip_id(np);
-		of_node_put(np);
 		xc->hw_ipi = XIVE_BAD_IRQ;
+		xc->chip_id = XIVE_INVALID_CHIP_ID;
+		if (xive_ops->prepare_cpu)
+			xive_ops->prepare_cpu(cpu, xc);
 
 		per_cpu(xive_cpu, cpu) = xc;
 	}
arch/powerpc/sysdev/xive/native.c +6 -0
index 05a800a3104e..57e3f1540435 100644
@@ -380,6 +380,11 @@ static void xive_native_update_pending(struct xive_cpu *xc)
 	}
 }
 
+static void xive_native_prepare_cpu(unsigned int cpu, struct xive_cpu *xc)
+{
+	xc->chip_id = cpu_to_chip_id(cpu);
+}
+
 static void xive_native_setup_cpu(unsigned int cpu, struct xive_cpu *xc)
 {
 	s64 rc;
@@ -462,6 +467,7 @@ static const struct xive_ops xive_native_ops = {
 	.match			= xive_native_match,
 	.shutdown		= xive_native_shutdown,
 	.update_pending		= xive_native_update_pending,
+	.prepare_cpu		= xive_native_prepare_cpu,
 	.setup_cpu		= xive_native_setup_cpu,
 	.teardown_cpu		= xive_native_teardown_cpu,
 	.sync_source		= xive_native_sync_source,
arch/powerpc/sysdev/xive/xive-internal.h +1 -0
index 9cf57c722faa..6478be19b4d3 100644
@@ -46,6 +46,7 @@ struct xive_ops {
 				  u32 *sw_irq);
 	int	(*setup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio);
 	void	(*cleanup_queue)(unsigned int cpu, struct xive_cpu *xc, u8 prio);
+	void	(*prepare_cpu)(unsigned int cpu, struct xive_cpu *xc);
 	void	(*setup_cpu)(unsigned int cpu, struct xive_cpu *xc);
 	void	(*teardown_cpu)(unsigned int cpu, struct xive_cpu *xc);
 	bool	(*match)(struct device_node *np);
arch/riscv/kernel/smp.c +1 -1
index ea028d9e0d24..d44567490d91 100644
@@ -54,7 +54,7 @@ int riscv_hartid_to_cpuid(int hartid)
 			return i;
 
 	pr_err("Couldn't find cpu id for hartid [%d]\n", hartid);
-	return i;
+	return -ENOENT;
 }
 
 void riscv_cpuid_to_hartid_mask(const struct cpumask *in, struct cpumask *out)
arch/sh/kernel/traps.c +0 -1
index f5beecdac693..e76b22157099 100644
@@ -180,7 +180,6 @@ static inline void arch_ftrace_nmi_exit(void) { }
 
 BUILD_TRAP_HANDLER(nmi)
 {
-	unsigned int cpu = smp_processor_id();
 	TRAP_HANDLER_DECL;
 
 	arch_ftrace_nmi_enter();
arch/x86/include/asm/idtentry.h +15 -0
index f656aabd1545..0e3325790f3a 100644
@@ -588,6 +588,21 @@ DECLARE_IDTENTRY_RAW(X86_TRAP_MC,	exc_machine_check);
 #endif
 
 /* NMI */
+
+#if defined(CONFIG_X86_64) && IS_ENABLED(CONFIG_KVM_INTEL)
+/*
+ * Special NOIST entry point for VMX which invokes this on the kernel
+ * stack. asm_exc_nmi() requires an IST to work correctly vs. the NMI
+ * 'executing' marker.
+ *
+ * On 32bit this just uses the regular NMI entry point because 32-bit does
+ * not have ISTs.
+ */
+DECLARE_IDTENTRY(X86_TRAP_NMI,		exc_nmi_noist);
+#else
+#define asm_exc_nmi_noist		asm_exc_nmi
+#endif
+
 DECLARE_IDTENTRY_NMI(X86_TRAP_NMI,	exc_nmi);
 #ifdef CONFIG_XEN_PV
 DECLARE_IDTENTRY_RAW(X86_TRAP_NMI,	xenpv_exc_nmi);
arch/x86/include/asm/kvm_host.h +1 -3
index e0cfd620b293..d5b365e670ac 100644
@@ -358,8 +358,6 @@ struct kvm_mmu {
 	int (*sync_page)(struct kvm_vcpu *vcpu,
 			 struct kvm_mmu_page *sp);
 	void (*invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa);
-	void (*update_pte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
-			   u64 *spte, const void *pte);
 	hpa_t root_hpa;
 	gpa_t root_pgd;
 	union kvm_mmu_role mmu_role;
@@ -1035,7 +1033,6 @@ struct kvm_arch {
 struct kvm_vm_stat {
 	ulong mmu_shadow_zapped;
 	ulong mmu_pte_write;
-	ulong mmu_pte_updated;
 	ulong mmu_pde_zapped;
 	ulong mmu_flooded;
 	ulong mmu_recycled;
@@ -1697,6 +1694,7 @@ int kvm_pv_send_ipi(struct kvm *kvm, unsigned long ipi_bitmap_low,
 		    unsigned long icr, int op_64_bit);
 
 void kvm_define_user_return_msr(unsigned index, u32 msr);
+int kvm_probe_user_return_msr(u32 msr);
 int kvm_set_user_return_msr(unsigned index, u64 val, u64 mask);
 
 u64 kvm_scale_tsc(struct kvm_vcpu *vcpu, u64 tsc);
arch/x86/include/asm/processor.h +2 -0
index c66df6368909..ea72b3d83240 100644
@@ -805,8 +805,10 @@ DECLARE_PER_CPU(u64, msr_misc_features_shadow);
 
 #ifdef CONFIG_CPU_SUP_AMD
 extern u32 amd_get_nodes_per_socket(void);
+extern u32 amd_get_highest_perf(void);
 #else
 static inline u32 amd_get_nodes_per_socket(void)	{ return 0; }
+static inline u32 amd_get_highest_perf(void)		{ return 0; }
 #endif
 
 static inline uint32_t hypervisor_cpuid_base(const char *sig, uint32_t leaves)
arch/x86/kernel/cpu/amd.c +16 -0
index 347a956f71ca..eedb2b320946 100644
@@ -1170,3 +1170,19 @@ void set_dr_addr_mask(unsigned long mask, int dr)
 		break;
 	}
 }
+
+u32 amd_get_highest_perf(void)
+{
+	struct cpuinfo_x86 *c = &boot_cpu_data;
+
+	if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < 0x40) ||
+			       (c->x86_model >= 0x70 && c->x86_model < 0x80)))
+		return 166;
+
+	if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < 0x30) ||
+			       (c->x86_model >= 0x40 && c->x86_model < 0x70)))
+		return 166;
+
+	return 255;
+}
+EXPORT_SYMBOL_GPL(amd_get_highest_perf);
arch/x86/kernel/nmi.c +10 -0
index bf250a339655..2ef961cf4cfc 100644
@@ -524,6 +524,16 @@ DEFINE_IDTENTRY_RAW(exc_nmi)
 		mds_user_clear_cpu_buffers();
 }
 
+#if defined(CONFIG_X86_64) && IS_ENABLED(CONFIG_KVM_INTEL)
+DEFINE_IDTENTRY_RAW(exc_nmi_noist)
+{
+	exc_nmi(regs);
+}
+#endif
+#if IS_MODULE(CONFIG_KVM_INTEL)
+EXPORT_SYMBOL_GPL(asm_exc_nmi_noist);
+#endif
+
 void stop_nmi(void)
 {
 	ignore_nmis++;
arch/x86/kernel/smpboot.c +1 -1
index 6b08d1eb173f..363b36bbd791 100644
@@ -2046,7 +2046,7 @@ static bool amd_set_max_freq_ratio(void)
 		return false;
 	}
 
-	highest_perf = perf_caps.highest_perf;
+	highest_perf = amd_get_highest_perf();
 	nominal_perf = perf_caps.nominal_perf;
 
 	if (!highest_perf || !nominal_perf) {
arch/x86/kvm/cpuid.c +2 -1
index 38172ca627d3..0bd815101ff4 100644
@@ -573,7 +573,8 @@ static int __do_cpuid_func_emulated(struct kvm_cpuid_array *array, u32 func)
 	case 7:
 		entry->flags |= KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
 		entry->eax = 0;
-		entry->ecx = F(RDPID);
+		if (kvm_cpu_cap_has(X86_FEATURE_RDTSCP))
+			entry->ecx = F(RDPID);
 		++array->nent;
 	default:
 		break;
arch/x86/kvm/emulate.c +1 -1
index d3f2b6316745..e82151ba95c0 100644
@@ -4502,7 +4502,7 @@ static const struct opcode group8[] = {
  * from the register case of group9.
  */
 static const struct gprefix pfx_0f_c7_7 = {
-	N, N, N, II(DstMem | ModRM | Op3264 | EmulateOnUD, em_rdpid, rdtscp),
+	N, N, N, II(DstMem | ModRM | Op3264 | EmulateOnUD, em_rdpid, rdpid),
 };
 
 
arch/x86/kvm/kvm_emulate.h +1 -0
index 43c93ffa76ed..7d5be04dc661 100644
@@ -468,6 +468,7 @@ enum x86_intercept {
 	x86_intercept_clgi,
 	x86_intercept_skinit,
 	x86_intercept_rdtscp,
+	x86_intercept_rdpid,
 	x86_intercept_icebp,
 	x86_intercept_wbinvd,
 	x86_intercept_monitor,
arch/x86/kvm/lapic.c +1 -1
index 570fa298083c..70eb00f4317f 100644
@@ -1908,8 +1908,8 @@ void kvm_lapic_expired_hv_timer(struct kvm_vcpu *vcpu)
 	if (!apic->lapic_timer.hv_timer_in_use)
 		goto out;
 	WARN_ON(rcuwait_active(&vcpu->wait));
-	cancel_hv_timer(apic);
 	apic_timer_expired(apic, false);
+	cancel_hv_timer(apic);
 
 	if (apic_lvtt_period(apic) && apic->lapic_timer.period) {
 		advance_periodic_target_expiration(apic);
arch/x86/kvm/mmu/mmu.c +2 -47

105 lines not on this page · raw message

arch/x86/kvm/svm/sev.c +3 -0
index 7c233c79c124..965f1f901cf3 100644
@@ -2062,5 +2062,8 @@ void sev_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector)
 	 * the guest will set the CS and RIP. Set SW_EXIT_INFO_2 to a
 	 * non-zero value.
 	 */
+	if (!svm->ghcb)
+		return;
+
 	ghcb_set_sw_exit_info_2(svm->ghcb, 1);
 }
arch/x86/kvm/svm/svm.c +1 -1
index 15a69500819d..9006fe1230a1 100644
@@ -2724,7 +2724,7 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 static int svm_complete_emulated_msr(struct kvm_vcpu *vcpu, int err)
 {
 	struct vcpu_svm *svm = to_svm(vcpu);
-	if (!sev_es_guest(svm->vcpu.kvm) || !err)
+	if (!err || !sev_es_guest(vcpu->kvm) || WARN_ON_ONCE(!svm->ghcb))
 		return kvm_complete_insn_gp(&svm->vcpu, err);
 
 	ghcb_set_sw_exit_info_1(svm->ghcb, 1);
arch/x86/kvm/vmx/nested.c +19 -10
index 0c41ffb7957f..9aec6b4476cd 100644
@@ -3140,15 +3140,8 @@ static bool nested_get_evmcs_page(struct kvm_vcpu *vcpu)
 			nested_vmx_handle_enlightened_vmptrld(vcpu, false);
 
 		if (evmptrld_status == EVMPTRLD_VMFAIL ||
-		    evmptrld_status == EVMPTRLD_ERROR) {
-			pr_debug_ratelimited("%s: enlightened vmptrld failed\n",
-					     __func__);
-			vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
-			vcpu->run->internal.suberror =
-				KVM_INTERNAL_ERROR_EMULATION;
-			vcpu->run->internal.ndata = 0;
+		    evmptrld_status == EVMPTRLD_ERROR)
 			return false;
-		}
 	}
 
 	return true;
@@ -3236,8 +3229,16 @@ static bool nested_get_vmcs12_pages(struct kvm_vcpu *vcpu)
 
 static bool vmx_get_nested_state_pages(struct kvm_vcpu *vcpu)
 {
-	if (!nested_get_evmcs_page(vcpu))
+	if (!nested_get_evmcs_page(vcpu)) {
+		pr_debug_ratelimited("%s: enlightened vmptrld failed\n",
+				     __func__);
+		vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
+		vcpu->run->internal.suberror =
+			KVM_INTERNAL_ERROR_EMULATION;
+		vcpu->run->internal.ndata = 0;
+
 		return false;
+	}
 
 	if (is_guest_mode(vcpu) && !nested_get_vmcs12_pages(vcpu))
 		return false;
@@ -4467,7 +4468,15 @@ void nested_vmx_vmexit(struct kvm_vcpu *vcpu, u32 vm_exit_reason,
 	/* trying to cancel vmlaunch/vmresume is a bug */
 	WARN_ON_ONCE(vmx->nested.nested_run_pending);
 
-	kvm_clear_request(KVM_REQ_GET_NESTED_STATE_PAGES, vcpu);
+	if (kvm_check_request(KVM_REQ_GET_NESTED_STATE_PAGES, vcpu)) {
+		/*
+		 * KVM_REQ_GET_NESTED_STATE_PAGES is also used to map
+		 * Enlightened VMCS after migration and we still need to
+		 * do that when something is forcing L2->L1 exit prior to
+		 * the first L2 run.
+		 */
+		(void)nested_get_evmcs_page(vcpu);
+	}
 
 	/* Service the TLB flush request for L2 before switching to L1. */
 	if (kvm_check_request(KVM_REQ_TLB_FLUSH_CURRENT, vcpu))
arch/x86/kvm/vmx/vmx.c +16 -14
index 852cfb4c063e..d3ec6ba3acb5 100644
@@ -36,6 +36,7 @@
 #include <asm/debugreg.h>
 #include <asm/desc.h>
 #include <asm/fpu/internal.h>
+#include <asm/idtentry.h>
 #include <asm/io.h>
 #include <asm/irq_remapping.h>
 #include <asm/kexec.h>
@@ -6334,18 +6335,17 @@ static void vmx_apicv_post_state_restore(struct kvm_vcpu *vcpu)
 
 void vmx_do_interrupt_nmi_irqoff(unsigned long entry);
 
-static void handle_interrupt_nmi_irqoff(struct kvm_vcpu *vcpu, u32 intr_info)
+static void handle_interrupt_nmi_irqoff(struct kvm_vcpu *vcpu,
+					unsigned long entry)
 {
-	unsigned int vector = intr_info & INTR_INFO_VECTOR_MASK;
-	gate_desc *desc = (gate_desc *)host_idt_base + vector;
-
 	kvm_before_interrupt(vcpu);
-	vmx_do_interrupt_nmi_irqoff(gate_offset(desc));
+	vmx_do_interrupt_nmi_irqoff(entry);
 	kvm_after_interrupt(vcpu);
 }
 
 static void handle_exception_nmi_irqoff(struct vcpu_vmx *vmx)
 {
+	const unsigned long nmi_entry = (unsigned long)asm_exc_nmi_noist;
 	u32 intr_info = vmx_get_intr_info(&vmx->vcpu);
 
 	/* if exit due to PF check for async PF */
@@ -6356,18 +6356,20 @@ static void handle_exception_nmi_irqoff(struct vcpu_vmx *vmx)
 		kvm_machine_check();
 	/* We need to handle NMIs before interrupts are enabled */
 	else if (is_nmi(intr_info))
-		handle_interrupt_nmi_irqoff(&vmx->vcpu, intr_info);
+		handle_interrupt_nmi_irqoff(&vmx->vcpu, nmi_entry);
 }
 
 static void handle_external_interrupt_irqoff(struct kvm_vcpu *vcpu)
 {
 	u32 intr_info = vmx_get_intr_info(vcpu);
+	unsigned int vector = intr_info & INTR_INFO_VECTOR_MASK;
+	gate_desc *desc = (gate_desc *)host_idt_base + vector;
 
 	if (WARN_ONCE(!is_external_intr(intr_info),
 	    "KVM: unexpected VM-Exit interrupt info: 0x%x", intr_info))
 		return;
 
-	handle_interrupt_nmi_irqoff(vcpu, intr_info);
+	handle_interrupt_nmi_irqoff(vcpu, gate_offset(desc));
 }
 
 static void vmx_handle_exit_irqoff(struct kvm_vcpu *vcpu)
@@ -6848,12 +6850,9 @@ static int vmx_create_vcpu(struct kvm_vcpu *vcpu)
 
 	for (i = 0; i < ARRAY_SIZE(vmx_uret_msrs_list); ++i) {
 		u32 index = vmx_uret_msrs_list[i];
-		u32 data_low, data_high;
 		int j = vmx->nr_uret_msrs;
 
-		if (rdmsr_safe(index, &data_low, &data_high) < 0)
-			continue;
-		if (wrmsr_safe(index, data_low, data_high) < 0)
+		if (kvm_probe_user_return_msr(index))
 			continue;
 
 		vmx->guest_uret_msrs[j].slot = i;
@@ -7286,9 +7285,11 @@ static __init void vmx_set_cpu_caps(void)
 	if (!cpu_has_vmx_xsaves())
 		kvm_cpu_cap_clear(X86_FEATURE_XSAVES);
 
-	/* CPUID 0x80000001 */
-	if (!cpu_has_vmx_rdtscp())
+	/* CPUID 0x80000001 and 0x7 (RDPID) */
+	if (!cpu_has_vmx_rdtscp()) {
 		kvm_cpu_cap_clear(X86_FEATURE_RDTSCP);
+		kvm_cpu_cap_clear(X86_FEATURE_RDPID);
+	}
 
 	if (cpu_has_vmx_waitpkg())
 		kvm_cpu_cap_check_and_set(X86_FEATURE_WAITPKG);
@@ -7344,8 +7345,9 @@ static int vmx_check_intercept(struct kvm_vcpu *vcpu,
 	/*
 	 * RDPID causes #UD if disabled through secondary execution controls.
 	 * Because it is marked as EmulateOnUD, we need to intercept it here.
+	 * Note, RDPID is hidden behind ENABLE_RDTSCP.
 	 */
-	case x86_intercept_rdtscp:
+	case x86_intercept_rdpid:
 		if (!nested_cpu_has2(vmcs12, SECONDARY_EXEC_ENABLE_RDTSCP)) {
 			exception->vector = UD_VECTOR;
 			exception->error_code_valid = false;
arch/x86/kvm/x86.c +35 -5
index 38c3e7860aa9..95e28358f443 100644
@@ -234,7 +234,6 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
 	VCPU_STAT("halt_poll_fail_ns", halt_poll_fail_ns),
 	VM_STAT("mmu_shadow_zapped", mmu_shadow_zapped),
 	VM_STAT("mmu_pte_write", mmu_pte_write),
-	VM_STAT("mmu_pte_updated", mmu_pte_updated),
 	VM_STAT("mmu_pde_zapped", mmu_pde_zapped),
 	VM_STAT("mmu_flooded", mmu_flooded),
 	VM_STAT("mmu_recycled", mmu_recycled),
@@ -324,6 +323,22 @@ static void kvm_on_user_return(struct user_return_notifier *urn)
 	}
 }
 
+int kvm_probe_user_return_msr(u32 msr)
+{
+	u64 val;
+	int ret;
+
+	preempt_disable();
+	ret = rdmsrl_safe(msr, &val);
+	if (ret)
+		goto out;
+	ret = wrmsrl_safe(msr, val);
+out:
+	preempt_enable();
+	return ret;
+}
+EXPORT_SYMBOL_GPL(kvm_probe_user_return_msr);
+
 void kvm_define_user_return_msr(unsigned slot, u32 msr)
 {
 	BUG_ON(slot >= KVM_MAX_NR_USER_RETURN_MSRS);
@@ -7873,6 +7888,18 @@ static void pvclock_gtod_update_fn(struct work_struct *work)
 
 static DECLARE_WORK(pvclock_gtod_work, pvclock_gtod_update_fn);
 
+/*
+ * Indirection to move queue_work() out of the tk_core.seq write held
+ * region to prevent possible deadlocks against time accessors which
+ * are invoked with work related locks held.
+ */
+static void pvclock_irq_work_fn(struct irq_work *w)
+{
+	queue_work(system_long_wq, &pvclock_gtod_work);
+}
+
+static DEFINE_IRQ_WORK(pvclock_irq_work, pvclock_irq_work_fn);
+
 /*
  * Notification about pvclock gtod data update.
  */
@@ -7884,13 +7911,14 @@ static int pvclock_gtod_notify(struct notifier_block *nb, unsigned long unused,
 
 	update_pvclock_gtod(tk);
 
-	/* disable master clock if host does not trust, or does not
-	 * use, TSC based clocksource.
+	/*
+	 * Disable master clock if host does not trust, or does not use,
+	 * TSC based clocksource. Delegate queue_work() to irq_work as
+	 * this is invoked with tk_core.seq write held.
 	 */
 	if (!gtod_is_based_on_tsc(gtod->clock.vclock_mode) &&
 	    atomic_read(&kvm_guest_has_master_clock) != 0)
-		queue_work(system_long_wq, &pvclock_gtod_work);
-
+		irq_work_queue(&pvclock_irq_work);
 	return 0;
 }
 
@@ -8006,6 +8034,8 @@ void kvm_arch_exit(void)
 	cpuhp_remove_state_nocalls(CPUHP_AP_X86_KVM_CLK_ONLINE);
 #ifdef CONFIG_X86_64
 	pvclock_gtod_unregister_notifier(&pvclock_gtod_notifier);
+	irq_work_sync(&pvclock_irq_work);
+	cancel_work_sync(&pvclock_gtod_work);
 #endif
 	kvm_x86_ops.hardware_enable = NULL;
 	kvm_mmu_module_exit();
block/bfq-iosched.c +1 -2
index 5720978e4d09..c91dca641eb4 100644
@@ -2210,10 +2210,9 @@ static void bfq_remove_request(struct request_queue *q,
 
 }
 
-static bool bfq_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio,
+static bool bfq_bio_merge(struct request_queue *q, struct bio *bio,
 		unsigned int nr_segs)
 {
-	struct request_queue *q = hctx->queue;
 	struct bfq_data *bfqd = q->elevator->elevator_data;
 	struct request *free = NULL;
 	/*
block/blk-iocost.c +12 -2
index 98d656bdb42b..4fbc875f7cb2 100644
@@ -1073,7 +1073,17 @@ static void __propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse,
 
 	lockdep_assert_held(&ioc->lock);
 
-	inuse = clamp_t(u32, inuse, 1, active);
+	/*
+	 * For an active leaf node, its inuse shouldn't be zero or exceed
+	 * @active. An active internal node's inuse is solely determined by the
+	 * inuse to active ratio of its children regardless of @inuse.
+	 */
+	if (list_empty(&iocg->active_list) && iocg->child_active_sum) {
+		inuse = DIV64_U64_ROUND_UP(active * iocg->child_inuse_sum,
+					   iocg->child_active_sum);
+	} else {
+		inuse = clamp_t(u32, inuse, 1, active);
+	}
 
 	iocg->last_inuse = iocg->inuse;
 	if (save)
@@ -1090,7 +1100,7 @@ static void __propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse,
 		/* update the level sums */
 		parent->child_active_sum += (s32)(active - child->active);
 		parent->child_inuse_sum += (s32)(inuse - child->inuse);
-		/* apply the udpates */
+		/* apply the updates */
 		child->active = active;
 		child->inuse = inuse;
 
block/blk-mq-sched.c +5 -3
index deff4e826e23..d93b45834776 100644
@@ -348,14 +348,16 @@ bool __blk_mq_sched_bio_merge(struct request_queue *q, struct bio *bio,
 		unsigned int nr_segs)
 {
 	struct elevator_queue *e = q->elevator;
-	struct blk_mq_ctx *ctx = blk_mq_get_ctx(q);
-	struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(q, bio->bi_opf, ctx);
+	struct blk_mq_ctx *ctx;
+	struct blk_mq_hw_ctx *hctx;
 	bool ret = false;
 	enum hctx_type type;
 
 	if (e && e->type->ops.bio_merge)
-		return e->type->ops.bio_merge(hctx, bio, nr_segs);
+		return e->type->ops.bio_merge(q, bio, nr_segs);
 
+	ctx = blk_mq_get_ctx(q);
+	hctx = blk_mq_map_queue(q, bio->bi_opf, ctx);
 	type = hctx->type;
 	if (!(hctx->flags & BLK_MQ_F_SHOULD_MERGE) ||
 	    list_empty_careful(&ctx->rq_lists[type]))
block/blk-mq.c +7 -4
index f285a9123a8b..88c843fa8d13 100644
@@ -2189,8 +2189,9 @@ blk_qc_t blk_mq_submit_bio(struct bio *bio)
 		/* Bypass scheduler for flush requests */
 		blk_insert_flush(rq);
 		blk_mq_run_hw_queue(data.hctx, true);
-	} else if (plug && (q->nr_hw_queues == 1 || q->mq_ops->commit_rqs ||
-				!blk_queue_nonrot(q))) {
+	} else if (plug && (q->nr_hw_queues == 1 ||
+		   blk_mq_is_sbitmap_shared(rq->mq_hctx->flags) ||
+		   q->mq_ops->commit_rqs || !blk_queue_nonrot(q))) {
 		/*
 		 * Use plugging if we have a ->commit_rqs() hook as well, as
 		 * we know the driver uses bd->last in a smart fashion.
@@ -3243,10 +3244,12 @@ EXPORT_SYMBOL(blk_mq_init_allocated_queue);
 /* tags can _not_ be used after returning from blk_mq_exit_queue */
 void blk_mq_exit_queue(struct request_queue *q)
 {
-	struct blk_mq_tag_set	*set = q->tag_set;
+	struct blk_mq_tag_set *set = q->tag_set;
 
-	blk_mq_del_queue_tag_set(q);
+	/* Checks hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED. */
 	blk_mq_exit_hw_queues(q, set, set->nr_hw_queues);
+	/* May clear BLK_MQ_F_TAG_QUEUE_SHARED in hctx->flags. */
+	blk_mq_del_queue_tag_set(q);
 }
 
 static int __blk_mq_alloc_rq_maps(struct blk_mq_tag_set *set)
block/kyber-iosched.c +3 -2
index dc89199bc8c6..7f9ef773bf44 100644
@@ -562,11 +562,12 @@ static void kyber_limit_depth(unsigned int op, struct blk_mq_alloc_data *data)
 	}
 }
 
-static bool kyber_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio,
+static bool kyber_bio_merge(struct request_queue *q, struct bio *bio,
 		unsigned int nr_segs)
 {
+	struct blk_mq_ctx *ctx = blk_mq_get_ctx(q);
+	struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(q, bio->bi_opf, ctx);
 	struct kyber_hctx_data *khd = hctx->sched_data;
-	struct blk_mq_ctx *ctx = blk_mq_get_ctx(hctx->queue);
 	struct kyber_ctx_queue *kcq = &khd->kcqs[ctx->index_hw[hctx->type]];
 	unsigned int sched_domain = kyber_sched_domain(bio->bi_opf);
 	struct list_head *rq_list = &kcq->rq_list[sched_domain];
block/mq-deadline.c +1 -2
index 800ac902809b..2b9635d0dcba 100644
@@ -461,10 +461,9 @@ static int dd_request_merge(struct request_queue *q, struct request **rq,
 	return ELEVATOR_NO_MERGE;
 }
 
-static bool dd_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio,
+static bool dd_bio_merge(struct request_queue *q, struct bio *bio,
 		unsigned int nr_segs)
 {
-	struct request_queue *q = hctx->queue;
 	struct deadline_data *dd = q->elevator->elevator_data;
 	struct request *free = NULL;
 	bool ret;
drivers/acpi/device_pm.c +1 -0
index 3586434d0ded..13bc4ed2a26a 100644
@@ -1314,6 +1314,7 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on)
 		{"PNP0C0B", }, /* Generic ACPI fan */
 		{"INT3404", }, /* Fan */
 		{"INTC1044", }, /* Fan for Tiger Lake generation */
+		{"INTC1048", }, /* Fan for Alder Lake generation */
 		{}
 	};
 	struct acpi_device *adev = ACPI_COMPANION(dev);
drivers/acpi/scan.c +1 -0
index 239eeeafc62f..32a9bd878852 100644
@@ -705,6 +705,7 @@ int acpi_device_add(struct acpi_device *device,
 
 		result = acpi_device_set_name(device, acpi_device_bus_id);
 		if (result) {
+			kfree_const(acpi_device_bus_id->bus_id);
 			kfree(acpi_device_bus_id);
 			goto err_unlock;
 		}
drivers/ata/ahci_brcm.c +23 -23

88 lines not on this page · raw message

drivers/base/power/runtime.c +7 -3
index d6d73ff94e88..bc649da4899a 100644
@@ -1637,6 +1637,7 @@ void pm_runtime_init(struct device *dev)
 	dev->power.request_pending = false;
 	dev->power.request = RPM_REQ_NONE;
 	dev->power.deferred_resume = false;
+	dev->power.needs_force_resume = 0;
 	INIT_WORK(&dev->power.work, pm_runtime_work);
 
 	dev->power.timer_expires = 0;
@@ -1804,10 +1805,12 @@ int pm_runtime_force_suspend(struct device *dev)
 	 * its parent, but set its status to RPM_SUSPENDED anyway in case this
 	 * function will be called again for it in the meantime.
 	 */
-	if (pm_runtime_need_not_resume(dev))
+	if (pm_runtime_need_not_resume(dev)) {
 		pm_runtime_set_suspended(dev);
-	else
+	} else {
 		__update_runtime_status(dev, RPM_SUSPENDED);
+		dev->power.needs_force_resume = 1;
+	}
 
 	return 0;
 
@@ -1834,7 +1837,7 @@ int pm_runtime_force_resume(struct device *dev)
 	int (*callback)(struct device *);
 	int ret = 0;
 
-	if (!pm_runtime_status_suspended(dev) || pm_runtime_need_not_resume(dev))
+	if (!pm_runtime_status_suspended(dev) || !dev->power.needs_force_resume)
 		goto out;
 
 	/*
@@ -1853,6 +1856,7 @@ int pm_runtime_force_resume(struct device *dev)
 
 	pm_runtime_mark_last_busy(dev);
 out:
+	dev->power.needs_force_resume = 0;
 	pm_runtime_enable(dev);
 	return ret;
 }
drivers/block/nbd.c +2 -1
index 0f3bab47c0d6..b21eb58d6a45 100644
@@ -2000,7 +2000,8 @@ static void nbd_disconnect_and_put(struct nbd_device *nbd)
 	 * config ref and try to destroy the workqueue from inside the work
 	 * queue.
 	 */
-	flush_workqueue(nbd->recv_workq);
+	if (nbd->recv_workq)
+		flush_workqueue(nbd->recv_workq);
 	if (test_and_clear_bit(NBD_RT_HAS_CONFIG_REF,
 			       &nbd->config->runtime_flags))
 		nbd_config_put(nbd);
drivers/block/rnbd/rnbd-clt.c +10 -2
index 45a470076652..5ab7319ff2ea 100644
@@ -693,7 +693,11 @@ static void remap_devs(struct rnbd_clt_session *sess)
 		return;
 	}
 
-	rtrs_clt_query(sess->rtrs, &attrs);
+	err = rtrs_clt_query(sess->rtrs, &attrs);
+	if (err) {
+		pr_err("rtrs_clt_query(\"%s\"): %d\n", sess->sessname, err);
+		return;
+	}
 	mutex_lock(&sess->lock);
 	sess->max_io_size = attrs.max_io_size;
 
@@ -1234,7 +1238,11 @@ find_and_get_or_create_sess(const char *sessname,
 		err = PTR_ERR(sess->rtrs);
 		goto wake_up_and_put;
 	}
-	rtrs_clt_query(sess->rtrs, &attrs);
+
+	err = rtrs_clt_query(sess->rtrs, &attrs);
+	if (err)
+		goto close_rtrs;
+
 	sess->max_io_size = attrs.max_io_size;
 	sess->queue_depth = attrs.queue_depth;
 
drivers/block/rnbd/rnbd-clt.h +1 -1
index 537d499dad3b..73d980840531 100644
@@ -87,7 +87,7 @@ struct rnbd_clt_session {
 	DECLARE_BITMAP(cpu_queues_bm, NR_CPUS);
 	int	__percpu	*cpu_rr; /* per-cpu var for CPU round-robin */
 	atomic_t		busy;
-	int			queue_depth;
+	size_t			queue_depth;
 	u32			max_io_size;
 	struct blk_mq_tag_set	tag_set;
 	struct mutex		lock; /* protects state and devs_list */
drivers/bluetooth/btusb.c +3 -1
index a4f834a50a98..3620981e8b1c 100644
@@ -397,7 +397,9 @@ static const struct usb_device_id blacklist_table[] = {
 
 	/* MediaTek Bluetooth devices */
 	{ USB_VENDOR_AND_INTERFACE_INFO(0x0e8d, 0xe0, 0x01, 0x01),
-	  .driver_info = BTUSB_MEDIATEK },
+	  .driver_info = BTUSB_MEDIATEK |
+			 BTUSB_WIDEBAND_SPEECH |
+			 BTUSB_VALID_LE_STATES },
 
 	/* Additional MediaTek MT7615E Bluetooth devices */
 	{ USB_DEVICE(0x13d3, 0x3560), .driver_info = BTUSB_MEDIATEK},
drivers/char/tpm/tpm2-cmd.c +1 -0
index eff1f12d981a..c84d23951219 100644
@@ -656,6 +656,7 @@ int tpm2_get_cc_attrs_tbl(struct tpm_chip *chip)
 
 	if (nr_commands !=
 	    be32_to_cpup((__be32 *)&buf.data[TPM_HEADER_SIZE + 5])) {
+		rc = -EFAULT;
 		tpm_buf_destroy(&buf);
 		goto out;
 	}
drivers/char/tpm/tpm_tis_core.c +14 -8
index a2e0395cbe61..55b9d3965ae1 100644
@@ -709,16 +709,14 @@ static int tpm_tis_gen_interrupt(struct tpm_chip *chip)
 	cap_t cap;
 	int ret;
 
-	/* TPM 2.0 */
-	if (chip->flags & TPM_CHIP_FLAG_TPM2)
-		return tpm2_get_tpm_pt(chip, 0x100, &cap2, desc);
-
-	/* TPM 1.2 */
 	ret = request_locality(chip, 0);
 	if (ret < 0)
 		return ret;
 
-	ret = tpm1_getcap(chip, TPM_CAP_PROP_TIS_TIMEOUT, &cap, desc, 0);
+	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+		ret = tpm2_get_tpm_pt(chip, 0x100, &cap2, desc);
+	else
+		ret = tpm1_getcap(chip, TPM_CAP_PROP_TIS_TIMEOUT, &cap, desc, 0);
 
 	release_locality(chip, 0);
 
@@ -1127,12 +1125,20 @@ int tpm_tis_resume(struct device *dev)
 	if (ret)
 		return ret;
 
-	/* TPM 1.2 requires self-test on resume. This function actually returns
+	/*
+	 * TPM 1.2 requires self-test on resume. This function actually returns
 	 * an error code but for unknown reason it isn't handled.
 	 */
-	if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
+	if (!(chip->flags & TPM_CHIP_FLAG_TPM2)) {
+		ret = request_locality(chip, 0);
+		if (ret < 0)
+			return ret;
+
 		tpm1_do_selftest(chip);
 
+		release_locality(chip, 0);
+	}
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(tpm_tis_resume);
drivers/clk/samsung/clk-exynos7.c +6 -1
index 87ee1bad9a9a..4a5d2a914bd6 100644
@@ -537,8 +537,13 @@ static const struct samsung_gate_clock top1_gate_clks[] __initconst = {
 	GATE(CLK_ACLK_FSYS0_200, "aclk_fsys0_200", "dout_aclk_fsys0_200",
 		ENABLE_ACLK_TOP13, 28, CLK_SET_RATE_PARENT |
 		CLK_IS_CRITICAL, 0),
+	/*
+	 * This clock is required for the CMU_FSYS1 registers access, keep it
+	 * enabled permanently until proper runtime PM support is added.
+	 */
 	GATE(CLK_ACLK_FSYS1_200, "aclk_fsys1_200", "dout_aclk_fsys1_200",
-		ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT, 0),
+		ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT |
+		CLK_IS_CRITICAL, 0),
 
 	GATE(CLK_SCLK_PHY_FSYS1_26M, "sclk_phy_fsys1_26m",
 		"dout_sclk_phy_fsys1_26m", ENABLE_SCLK_TOP1_FSYS11,
drivers/clocksource/timer-ti-dm-systimer.c +120 -24

212 lines not on this page · raw message

drivers/cpufreq/acpi-cpufreq.c +5 -1
index d1bbc16fba4b..7e7450453714 100644
@@ -646,7 +646,11 @@ static u64 get_max_boost_ratio(unsigned int cpu)
 		return 0;
 	}
 
-	highest_perf = perf_caps.highest_perf;
+	if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
+		highest_perf = amd_get_highest_perf();
+	else
+		highest_perf = perf_caps.highest_perf;
+
 	nominal_perf = perf_caps.nominal_perf;
 
 	if (!highest_perf || !nominal_perf) {
drivers/cpufreq/intel_pstate.c +13 -1
index c4d8a5126d61..d483383dcfb9 100644
@@ -3053,6 +3053,14 @@ static const struct x86_cpu_id hwp_support_ids[] __initconst = {
 	{}
 };
 
+static bool intel_pstate_hwp_is_enabled(void)
+{
+	u64 value;
+
+	rdmsrl(MSR_PM_ENABLE, value);
+	return !!(value & 0x1);
+}
+
 static int __init intel_pstate_init(void)
 {
 	const struct x86_cpu_id *id;
@@ -3071,8 +3079,12 @@ static int __init intel_pstate_init(void)
 		 * Avoid enabling HWP for processors without EPP support,
 		 * because that means incomplete HWP implementation which is a
 		 * corner case and supporting it is generally problematic.
+		 *
+		 * If HWP is enabled already, though, there is no choice but to
+		 * deal with it.
 		 */
-		if (!no_hwp && boot_cpu_has(X86_FEATURE_HWP_EPP)) {
+		if ((!no_hwp && boot_cpu_has(X86_FEATURE_HWP_EPP)) ||
+		    intel_pstate_hwp_is_enabled()) {
 			hwp_active++;
 			hwp_mode_bdw = id->driver_data;
 			intel_pstate.attr = hwp_cpufreq_attrs;
drivers/crypto/ccp/sev-dev.c +3 -1
index 5b82ba7acc7c..21caed429cc5 100644
@@ -989,7 +989,7 @@ int sev_dev_init(struct psp_device *psp)
 	if (!sev->vdata) {
 		ret = -ENODEV;
 		dev_err(dev, "sev: missing driver data\n");
-		goto e_err;
+		goto e_sev;
 	}
 
 	psp_set_sev_irq_handler(psp, sev_irq_handler, sev);
@@ -1004,6 +1004,8 @@ int sev_dev_init(struct psp_device *psp)
 
 e_irq:
 	psp_clear_sev_irq_handler(psp);
+e_sev:
+	devm_kfree(dev, sev);
 e_err:
 	psp->sev_data = NULL;
 
drivers/dma/idxd/cdev.c +47 -82

185 lines not on this page · raw message

drivers/dma/idxd/device.c +12 -13
index 31c819544a22..4fef57717049 100644
@@ -19,7 +19,7 @@ static void idxd_cmd_exec(struct idxd_device *idxd, int cmd_code, u32 operand,
 /* Interrupt control bits */
 void idxd_mask_msix_vector(struct idxd_device *idxd, int vec_id)
 {
-	struct irq_data *data = irq_get_irq_data(idxd->msix_entries[vec_id].vector);
+	struct irq_data *data = irq_get_irq_data(idxd->irq_entries[vec_id].vector);
 
 	pci_msi_mask_irq(data);
 }
@@ -36,7 +36,7 @@ void idxd_mask_msix_vectors(struct idxd_device *idxd)
 
 void idxd_unmask_msix_vector(struct idxd_device *idxd, int vec_id)
 {
-	struct irq_data *data = irq_get_irq_data(idxd->msix_entries[vec_id].vector);
+	struct irq_data *data = irq_get_irq_data(idxd->irq_entries[vec_id].vector);
 
 	pci_msi_unmask_irq(data);
 }
@@ -186,8 +186,6 @@ int idxd_wq_alloc_resources(struct idxd_wq *wq)
 		desc->id = i;
 		desc->wq = wq;
 		desc->cpu = -1;
-		dma_async_tx_descriptor_init(&desc->txd, &wq->dma_chan);
-		desc->txd.tx_submit = idxd_dma_tx_submit;
 	}
 
 	return 0;
@@ -451,7 +449,8 @@ static void idxd_cmd_exec(struct idxd_device *idxd, int cmd_code, u32 operand,
 
 	if (idxd_device_is_halted(idxd)) {
 		dev_warn(&idxd->pdev->dev, "Device is HALTED!\n");
-		*status = IDXD_CMDSTS_HW_ERR;
+		if (status)
+			*status = IDXD_CMDSTS_HW_ERR;
 		return;
 	}
 
@@ -521,7 +520,7 @@ void idxd_device_wqs_clear_state(struct idxd_device *idxd)
 	lockdep_assert_held(&idxd->dev_lock);
 
 	for (i = 0; i < idxd->max_wqs; i++) {
-		struct idxd_wq *wq = &idxd->wqs[i];
+		struct idxd_wq *wq = idxd->wqs[i];
 
 		if (wq->state == IDXD_WQ_ENABLED) {
 			idxd_wq_disable_cleanup(wq);
@@ -660,7 +659,7 @@ static int idxd_groups_config_write(struct idxd_device *idxd)
 		ioread32(idxd->reg_base + IDXD_GENCFG_OFFSET));
 
 	for (i = 0; i < idxd->max_groups; i++) {
-		struct idxd_group *group = &idxd->groups[i];
+		struct idxd_group *group = idxd->groups[i];
 
 		idxd_group_config_write(group);
 	}
@@ -739,7 +738,7 @@ static int idxd_wqs_config_write(struct idxd_device *idxd)
 	int i, rc;
 
 	for (i = 0; i < idxd->max_wqs; i++) {
-		struct idxd_wq *wq = &idxd->wqs[i];
+		struct idxd_wq *wq = idxd->wqs[i];
 
 		rc = idxd_wq_config_write(wq);
 		if (rc < 0)
@@ -755,7 +754,7 @@ static void idxd_group_flags_setup(struct idxd_device *idxd)
 
 	/* TC-A 0 and TC-B 1 should be defaults */
 	for (i = 0; i < idxd->max_groups; i++) {
-		struct idxd_group *group = &idxd->groups[i];
+		struct idxd_group *group = idxd->groups[i];
 
 		if (group->tc_a == -1)
 			group->tc_a = group->grpcfg.flags.tc_a = 0;
@@ -782,12 +781,12 @@ static int idxd_engines_setup(struct idxd_device *idxd)
 	struct idxd_group *group;
 
 	for (i = 0; i < idxd->max_groups; i++) {
-		group = &idxd->groups[i];
+		group = idxd->groups[i];
 		group->grpcfg.engines = 0;
 	}
 
 	for (i = 0; i < idxd->max_engines; i++) {
-		eng = &idxd->engines[i];
+		eng = idxd->engines[i];
 		group = eng->group;
 
 		if (!group)
@@ -811,13 +810,13 @@ static int idxd_wqs_setup(struct idxd_device *idxd)
 	struct device *dev = &idxd->pdev->dev;
 
 	for (i = 0; i < idxd->max_groups; i++) {
-		group = &idxd->groups[i];
+		group = idxd->groups[i];
 		for (j = 0; j < 4; j++)
 			group->grpcfg.wqs[j] = 0;
 	}
 
 	for (i = 0; i < idxd->max_wqs; i++) {
-		wq = &idxd->wqs[i];
+		wq = idxd->wqs[i];
 		group = wq->group;
 
 		if (!wq->group)
drivers/dma/idxd/dma.c +64 -13

127 lines not on this page · raw message

drivers/dma/idxd/idxd.h +65 -24

181 lines not on this page · raw message

drivers/dma/idxd/init.c +244 -106

399 lines not on this page · raw message

drivers/dma/idxd/irq.c +5 -5
index f1463fc58112..fc0781e3f36d 100644

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

drivers/dma/idxd/sysfs.c +143 -181

324 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +2 -0
index 024d0a563a65..f41764cee690 100644

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

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c +1 -0
index 79de68ac03f2..0c3b15992b81 100644

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

drivers/gpu/drm/amd/display/dc/core/dc.c +4 -0
index ccac86347315..2d4f8780922e 100644

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

drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c +9 -6
index bec7059f6d5d..a1318c31bcfa 100644

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

drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c +2 -0
index 3a367a5968ae..972f2600f967 100644

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

drivers/gpu/drm/i915/display/intel_overlay.c +1 -1
index b73d51e766ce..0e60aec0bb19 100644

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

drivers/gpu/drm/i915/gem/i915_gem_mman.c +1 -1
index ec28a6cde49b..0b2434e29d00 100644

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

drivers/gpu/drm/i915/gt/gen8_ppgtt.c +0 -1
index a37c968ef8f7..787c0a93caef 100644

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

drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +2 -2
index 6614f6736486..b5937b39145a 100644

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

drivers/gpu/drm/i915/i915_active.c +2 -1
index 9ed19b8bca60..c4c2d24dc509 100644

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

drivers/gpu/drm/msm/adreno/a6xx_gpu.c +5 -4
index b6e8ff2782da..50ddc5834cab 100644

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

drivers/gpu/drm/msm/dp/dp_audio.c +1 -0
index 82a8673ab8da..d7e4a39a904e 100644

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

drivers/gpu/drm/msm/dp/dp_display.c +17 -9
index 81f6794a2510..9abb6bddb52b 100644

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

drivers/gpu/drm/msm/dp/dp_display.h +1 -0
index 6092ba1ed85e..5173c89eedf7 100644

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

drivers/gpu/drm/radeon/radeon.h +1 -0
index aa3b589f30a1..1d6130563fe5 100644

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

drivers/gpu/drm/radeon/radeon_atombios.c +18 -8
index be96d9b64e43..70821d73f58f 100644

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

drivers/gpu/drm/radeon/radeon_pm.c +8 -0
index 1995dad59dd0..2db4a8b1542d 100644

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

drivers/gpu/drm/radeon/si_dpm.c +3 -0
index 91bfc4762767..43b63705d073 100644

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

drivers/hwmon/ltc2992.c +6 -2
index 4382105bf142..2a4bed0ab226 100644

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

drivers/hwmon/occ/common.c +3 -2
index 7a5e539b567b..580e63d7daa0 100644

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

drivers/hwmon/occ/common.h +1 -1
index 67e6968b8978..e6df719770e8 100644

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

drivers/hwtracing/coresight/coresight-platform.c +6 -0
index 3629b7885aca..c594f45319fc 100644

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

drivers/i2c/busses/i2c-imx.c +1 -1
index 8a694b2eebfd..d6b3fdf09b8f 100644

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

drivers/i2c/busses/i2c-mt65xx.c +5 -4
index 86f70c751319..bf25acba2ed5 100644

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

drivers/i2c/i2c-dev.c +7 -2
index 6ceb11cc4be1..6ef38a8ee95c 100644

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

drivers/iio/accel/Kconfig +0 -1
index 2e0c62c39155..8acf277b8b25 100644

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

drivers/iio/common/hid-sensors/Kconfig +1 -0
index 24d492567336..2a3dd3b907be 100644

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

drivers/iio/gyro/Kconfig +0 -1
index 5824f2edf975..20b5ac7ab66a 100644

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

drivers/iio/gyro/mpu3050-core.c +11 -2
index ac90be03332a..f17a93519535 100644

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

drivers/iio/humidity/Kconfig +0 -1
index 6549fcf6db69..2de5494e7c22 100644

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

drivers/iio/industrialio-core.c +1 -8
index c2e4c267c36b..4b3ecae0ae12 100644

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

drivers/iio/light/Kconfig +0 -2
index 33ad4dd0b5c7..917f9becf9c7 100644

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

drivers/iio/light/gp2ap002.c +3 -2
index 7ba7aa59437c..040d8429a6e0 100644

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

drivers/iio/light/tsl2583.c +8 -0
index 9e5490b7473b..40b7dd266b31 100644

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

drivers/iio/magnetometer/Kconfig +0 -1
index 1697a8c03506..7e9489a35571 100644

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

drivers/iio/orientation/Kconfig +0 -2
index a505583cc2fd..396cbbb867f4 100644

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

drivers/iio/pressure/Kconfig +0 -1
index 689b978db4f9..fc0d3cfca418 100644

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

drivers/iio/proximity/pulsedlight-lidar-lite-v2.c +1 -0
index c685f10b5ae4..cc206bfa09c7 100644

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

drivers/iio/temperature/Kconfig +0 -1
index f1f2a1499c9e..4df60082c1fa 100644

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

drivers/infiniband/hw/hfi1/ipoib.h +2 -1
index f650cac9d424..d30c23b6527a 100644

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

drivers/infiniband/hw/hfi1/ipoib_tx.c +7 -7
index edd4eeac8dd1..cdc26ee3cf52 100644

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

drivers/iommu/amd/init.c +2 -47

49 lines not on this page · raw message

drivers/net/can/m_can/m_can.c +2 -1
index 44b3f4b3aea5..f6c135d0a35f 100644

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

drivers/net/can/spi/mcp251x.c +18 -17
index e7be36dc2159..24ae221c2f10 100644

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

drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c +3 -1
index ee39e79927ef..486dbd3357aa 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.c +18 -1
index f3c659bc6bb6..87406d85d914 100644

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

drivers/net/ethernet/cisco/enic/enic_main.c +5 -2
index fb269d587b74..548d8095c0a7 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +83 -44

127 lines not on this page · raw message

drivers/net/ethernet/hisilicon/hns3/hns3_enet.h +2 -0
index 0a7b606e7c93..0b531e107e26 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c +2 -0
index e2fc443fe92c..7276cfaa8c3b 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c +2 -1
index 9ee55ee0487d..3226ca176155 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h +2 -1
index 608fe26fc3fe..d647f3c84134 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +20 -7
index 67764d930435..1c13cf34ae9f 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +1 -1
index ffb416e088a9..cdd77430e4de 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c +2 -0
index e89820702540..c194bba187d6 100644

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

drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h +4 -2
index 1e960c3c7ef0..e84054fb8213 100644

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

drivers/net/ethernet/intel/i40e/i40e_client.c +1 -0
index a2dba32383f6..32f3facbed1a 100644

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

drivers/net/ethernet/intel/i40e/i40e_common.c +2 -2
index adc9e4fa4789..ba109073d605 100644

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

drivers/net/ethernet/intel/i40e/i40e_ethtool.c +4 -3
index 31d48a85cfaf..5d48bc0c3f6c 100644

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

drivers/net/ethernet/intel/i40e/i40e_txrx.c +2 -6
index 92ce835bc79e..c779512f44f4 100644

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

drivers/net/ethernet/intel/i40e/i40e_type.h +2 -5
index c0bdc666f557..add67f7b73e8 100644

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

drivers/net/ethernet/intel/iavf/iavf_main.c +0 -2
index dc5b3c06d1e0..ebd08543791b 100644

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

drivers/net/ethernet/intel/ice/ice_lib.c +90 -33

123 lines not on this page · raw message

drivers/net/ethernet/intel/ice/ice_txrx.h +2 -0
index ff1a1cbd078e..eab7ceae926b 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.c +1 -1
index 6d2d60675ffd..d930fcda9c3b 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.h +1 -0
index 454cfcd465fd..73ce1f0f307a 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tx.c +1 -1
index 61ed671fe741..1b3c93c3fd23 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c +2 -0
index bf3250e0e59c..749585fe6fc9 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +1 -0
index 29f765a246a0..aaf37598cbd3 100644

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

drivers/net/ipa/gsi.c +2 -2
index febfac75dd6a..537853b9301b 100644

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

drivers/net/ipa/gsi_reg.h +9 -9
index 1622d8cf8dea..48ef04afab79 100644

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

drivers/net/wireless/ath/ath11k/wmi.c +21 -32

53 lines not on this page · raw message

drivers/net/wireless/intel/iwlwifi/pcie/drv.c +28 -7
index 018daa84ddd2..70752f0c67b0 100644

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

drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c +2 -2
index 08788bc90683..fd7398daaf65 100644

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

drivers/net/wireless/intel/iwlwifi/queue/tx.c +6 -24
index 7ff1bb0ccc9c..cd5b06ce3e9c 100644

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

drivers/net/wireless/intel/iwlwifi/queue/tx.h +1 -2
index cff694c25ccc..d32256d78917 100644

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

drivers/net/wireless/mediatek/mt76/mt76.h +1 -0
index 5da6b74687ed..7a551811d203 100644

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

drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c +1 -0
index 3232ebd5eda6..a31fa2017f52 100644

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

drivers/net/wireless/mediatek/mt76/mt7615/mac.c +53 -44

97 lines not on this page · raw message

drivers/net/wireless/mediatek/mt76/mt7615/main.c +11 -7
index 0ec836af211c..cbfcf00377db 100644

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

drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +10 -2
index c13547841a4e..4c7083d17418 100644

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

drivers/net/wireless/mediatek/mt76/mt76x02_util.c +4 -0
index 7ac20d3c16d7..aaa597b941cd 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c +13 -6
index 7a2be3f61398..c3e32555cf24 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/init.c +56 -2

58 lines not on this page · raw message

drivers/net/wireless/mediatek/mt76/mt7915/main.c +18 -7
index 0721e9d85b65..2f3527179b7d 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +13 -14
index 35bfa197dff6..db204cbcde96 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/regs.h +13 -0
index 294cc0769331..12bbe565cdd1 100644

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

drivers/net/wireless/microchip/wilc1000/netdev.c +16 -9
index 0c188310919e..acf7ed4bfe57 100644

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

drivers/net/wireless/quantenna/qtnfmac/event.c +4 -2
index c775c177933b..8dc80574d08d 100644

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

drivers/net/wireless/realtek/rtw88/main.h +2 -0
index 9a318dfd04f9..3d51394edb4a 100644

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

drivers/net/wireless/realtek/rtw88/phy.c +14 -0
index a76aac514fc8..e655f6a76cc3 100644

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

drivers/net/wireless/realtek/rtw88/phy.h +1 -0
index b924ed07630a..9623248c9466 100644

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

drivers/net/wireless/realtek/rtw88/reg.h +5 -0
index cf9a3b674d30..767f7777d409 100644

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

drivers/net/wireless/realtek/rtw88/rtw8822c.c +25 -2
index dd560c28abb2..448922cb2e63 100644

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

drivers/net/wireless/wl3501.h +23 -24

47 lines not on this page · raw message

drivers/net/wireless/wl3501_cs.c +29 -25

54 lines not on this page · raw message

drivers/nvme/host/core.c +2 -1
index 6199bce5d3a4..36c5932bd3f2 100644

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

drivers/nvme/target/io-cmd-bdev.c +4 -6
index 125dde3f410e..6a9626ff0713 100644

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

drivers/nvme/target/nvmet.h +16 -0
index 592763732065..7f8712de77e0 100644

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

drivers/nvme/target/passthru.c +1 -1
index b9776fc8f08f..df6f64870cec 100644

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

drivers/nvme/target/rdma.c +2 -2
index 6c1f3ab7649c..7d607f435e36 100644

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

drivers/pci/controller/pcie-brcmstb.c +13 -6
index d41257f43a8f..7cbd56d8a5ff 100644

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

drivers/pci/controller/pcie-iproc-msi.c +1 -1
index 908475d27e0e..eede4e8f3f75 100644

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

drivers/pci/endpoint/functions/pci-epf-test.c +13 -5
index e4e51d884553..d41570715dc7 100644

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

drivers/pci/endpoint/pci-epc-core.c +34 -8

42 lines not on this page · raw message

drivers/pci/pcie/rcec.c +1 -1
index 2c5c552994e4..d0bcd141ac9c 100644

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

drivers/pci/probe.c +1 -0
index 953f15abc850..be51670572fa 100644

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

drivers/pinctrl/samsung/pinctrl-exynos.c +5 -5
index b9ea09fabf84..493079a47d05 100644

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

drivers/pwm/pwm-atmel.c +1 -1
index 5813339b597b..3292158157b6 100644

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

drivers/remoteproc/pru_rproc.c +32 -9

41 lines not on this page · raw message

drivers/remoteproc/qcom_q6v5_mss.c +18 -0
index 66106ba25ba3..14e0ce5f18f5 100644

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

drivers/rpmsg/qcom_glink_native.c +1 -0
index 27a05167c18c..4840886532ff 100644

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

drivers/rtc/rtc-ds1307.c +10 -2
index 183cf7c01364..c6c16961385b 100644

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

drivers/rtc/rtc-fsl-ftm-alarm.c +1 -0
index 57cc09d0a806..c0df49fb978c 100644

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

drivers/scsi/qla2xxx/qla_init.c +3 -0
index dcc0f0d823db..5d985d50eab7 100644

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

drivers/scsi/ufs/ufshcd.c +5 -2
index e53a3f89e863..ab3a5c1b5723 100644

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

drivers/soc/mediatek/mt8173-pm-domains.h +10 -0
index 3e8ee5dabb43..654c717e5467 100644

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

drivers/soc/mediatek/mt8183-pm-domains.h +15 -0
index 8d996c5d2682..45dbaff4c14d 100644

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

drivers/soc/mediatek/mt8192-pm-domains.h +21 -0
index 0fdf6dc6231f..543dda70de01 100644

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

drivers/soc/mediatek/mtk-pm-domains.c +5 -1
index fb70cb3b07b3..d85bf2ef9597 100644

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

drivers/soc/mediatek/mtk-pm-domains.h +2 -0
index a2f4d8f97e05..c275bbaa9b0d 100644

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

drivers/staging/media/rkvdec/rkvdec.c +1 -1
index b1507f29fcc5..c8305330b458 100644

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

drivers/thermal/qcom/tsens.c +4 -2
index d8ce3a687b80..3c4c0516e58a 100644

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

drivers/thermal/thermal_of.c +5 -2
index 69ef12f852b7..5b76f9a1280d 100644

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

drivers/usb/class/cdc-wdm.c +22 -8
index 508b1c3f8b73..d1e4a7379beb 100644

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

drivers/usb/core/hub.c +3 -3
index 404507d1b76f..13fe37fbbd2c 100644

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

drivers/usb/dwc2/core.h +2 -0
index 7161344c6522..641e4251cb7f 100644

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

drivers/usb/dwc2/gadget.c +2 -1
index ad4c94366dad..d2f623d83bf7 100644

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

drivers/usb/dwc3/dwc3-omap.c +5 -0
index 3db17806e92e..e196673f5c64 100644

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

drivers/usb/dwc3/dwc3-pci.c +1 -0
index 598daed8086f..17117870f6ce 100644

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

drivers/usb/dwc3/gadget.c +9 -2
index 84d1487e9f06..acf57a98969d 100644

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

drivers/usb/host/fotg210-hcd.c +2 -2
index 5617ef30530a..f0e4a315cc81 100644

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

drivers/usb/host/xhci-ext-caps.h +3 -2
index fa59b242cd51..e8af0a125f84 100644

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

drivers/usb/host/xhci-pci.c +6 -2
index 5bbccc9a0179..7bc18cf8042c 100644

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

drivers/usb/host/xhci.c +3 -3
index 66147f9179e5..e81f4175e2eb 100644

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

drivers/usb/musb/mediatek.c +1 -1
index eebeadd26946..6b92d037d8fc 100644

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

drivers/usb/typec/tcpm/tcpm.c +3 -3
index c2bdfeb60e4f..b237ed8046fb 100644

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

drivers/usb/typec/ucsi/ucsi.c +36 -10

46 lines not on this page · raw message

drivers/usb/typec/ucsi/ucsi.h +4 -2
index dd9ba60ab4a3..fce23ad16c6d 100644

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

drivers/xen/gntdev.c +3 -1
index 5447c5156b2e..b9651f797676 100644

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

drivers/xen/unpopulated-alloc.c +3 -1
index e64e6befc63b..87e6b7db892f 100644

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

fs/9p/vfs_file.c +2 -2
index 649f04f112dc..59c32c9b799f 100644

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

fs/btrfs/ctree.h +1 -1
index 0c8c55a41d7b..c6e0f7a647cc 100644

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

fs/btrfs/file.c +25 -11
index f851a1a63833..f6aae90f83e6 100644

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

fs/btrfs/inode.c +2 -2
index fe723eadced7..c4c26724a00c 100644

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

fs/btrfs/ioctl.c +1 -1
index d06ad9a9abb3..1285837c2746 100644

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

fs/btrfs/qgroup.c +1 -1
index f0b9ef13153a..2991287a71a8 100644

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

fs/btrfs/send.c +2 -2
index 78a35374d492..e405d68fe1e3 100644

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

fs/btrfs/tree-log.c +2 -1
index 254c2ee43aae..2fadd5974838 100644

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

fs/ceph/export.c +3 -1
index e088843a7734..baa6368bece5 100644

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

fs/dax.c +23 -12
index b3d27fdc6775..df5485b4bddf 100644

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

fs/debugfs/inode.c +1 -1
index 86c7f0489620..720d65f224f0 100644

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

fs/dlm/config.c +58 -28

86 lines not on this page · raw message

fs/dlm/config.h +0 -1
index c210250a2581..d2cd4bd20313 100644

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

fs/dlm/debug_fs.c +1 -0
index d6bbccb0ed15..d5bd990bcab8 100644

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

fs/dlm/lockspace.c +11 -9
index 561dcad08ad6..c14cf2b7faab 100644

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

fs/dlm/lowcomms.c +63 -41

104 lines not on this page · raw message

fs/dlm/lowcomms.h +5 -0
index 0918f9376489..48bbc4e18761 100644

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

fs/dlm/midcomms.c +4 -3
index fde3a6afe4be..0bedfa8606a2 100644

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

fs/ext4/fast_commit.c +1 -1
index 0d3e67e7b00d..585ecbd7061f 100644

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

fs/f2fs/compress.c +23 -32

55 lines not on this page · raw message

fs/f2fs/data.c +3 -3
index 4d3ebf094f6d..3802ad227a1e 100644

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

fs/f2fs/f2fs.h +4 -3
index 1578402c5844..43e76529d674 100644

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

fs/f2fs/file.c +21 -21

42 lines not on this page · raw message

fs/f2fs/gc.c +45 -17

62 lines not on this page · raw message

fs/f2fs/inline.c +2 -1
index 993caefcd2bb..92652ca7a7c8 100644

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

fs/f2fs/segment.c +59 -27

86 lines not on this page · raw message

fs/f2fs/segment.h +13 -1
index 229814b4f4a6..1bf33fc27b8f 100644

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

fs/f2fs/super.c +1 -1
index 972736d71fa4..e89655285120 100644

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

fs/fuse/cuse.c +2 -0
index 45082269e698..a37528b51798 100644

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

fs/fuse/file.c +9 -0
index eff4abaa87da..6e6d1e599869 100644

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

fs/fuse/virtio_fs.c +1 -2
index 1e5affed158e..005209b1cd50 100644

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

fs/hfsplus/extents.c +4 -3
index a930ddd15681..7054a542689f 100644

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

fs/hugetlbfs/inode.c +5 -0
index 21c20fd5f9ee..b7c24d152604 100644

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

fs/jbd2/recovery.c +2 -3
index dc0694fcfcd1..1e07dfac4d81 100644

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

fs/nfs/callback_proc.c +9 -8
index f7786e00a6a7..ed9d580826f5 100644

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

fs/nfs/dir.c +15 -7
index 4db3018776f6..d5f28a1f3671 100644

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

fs/nfs/flexfilelayout/flexfilelayout.c +1 -1
index 872112bffcab..d383de00d486 100644

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

fs/nfs/inode.c +4 -4
index 522aa10a1a3e..fd073b1caf6c 100644

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

fs/nfs/nfs42proc.c +21 -10
index f3fd935620fc..b85f7d56a155 100644

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

fs/nfs/nfs4proc.c +34 -22

56 lines not on this page · raw message

fs/nfsd/nfs4state.c +19 -5
index a501bb9a2fac..eca36d804158 100644

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

fs/proc/generic.c +1 -1
index 6c0a05f55d6b..09e4d8a499a3 100644

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

fs/squashfs/file.c +3 -3
index 7b1128398976..89d492916dea 100644

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

include/linux/cpuhotplug.h +1 -0
index 0042ef362511..5c0a0883b91a 100644

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

include/linux/elevator.h +1 -1
index bacc40a0bdf3..bc26b4e11f62 100644

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

include/linux/i2c.h +2 -0
index 56622658b215..a670ae129f4b 100644

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

include/linux/mm.h +32 -0
index 992c18d5e85d..ad8395cf1262 100644

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

include/linux/mm_types.h +2 -2
index 61c77cfff8c2..b4f85d8dd15e 100644

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

include/linux/nfs_xdr.h +8 -3
index 3327239fa2f9..cc29dee508f7 100644

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

include/linux/pci-epc.h +4 -2
index cc66bec8be90..88d311bad984 100644

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

include/linux/pci-epf.h +1 -0
index 6644ff3b0702..fa3aca43eb19 100644

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

include/linux/pm.h +1 -0
index 47aca6bac1d6..52d9724db9dc 100644

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

include/net/page_pool.h +11 -1
index b5b195305346..e05744b9a1bc 100644

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

include/trace/events/sunrpc.h +0 -1
index 6f89c27265f5..9db5702a84a5 100644

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

include/uapi/linux/netfilter/xt_SECMARK.h +6 -0
index 1f2a708413f5..beb2cadba8a9 100644

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

kernel/dma/swiotlb.c +2 -1
index 33a2a702b152..b897756202df 100644

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

kernel/kexec_file.c +3 -1
index 5c3447cf7ad5..33400ff051a8 100644

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

kernel/resource.c +2 -2
index 833394f9c608..c99cf3f35802 100644

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

kernel/sched/core.c +1 -1
index c5fcb5ce2194..984456b431aa 100644

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

kernel/sched/fair.c +9 -3
index f217e5251fb2..10b8b133145d 100644

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

kernel/watchdog.c +14 -26
index 71109065bd8e..01bf977090dc 100644

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

lib/kobject_uevent.c +5 -4
index 7998affa45d4..c87d5b6a8a55 100644

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

lib/nlattr.c +1 -1
index 5b6116e81f9f..1d051ef66afe 100644

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

lib/test_kasan.c +23 -6
index 5a2f104ca13f..20f65b1b4ce5 100644

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

mm/gup.c +47 -47

94 lines not on this page · raw message

mm/hugetlb.c +9 -2
index 8e89b277ffcc..19c245b96bd1 100644

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

mm/khugepaged.c +9 -9
index 494d3cb0b58a..897b91c5f1d2 100644

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

mm/ksm.c +1 -0
index 9694ee2c71de..b32391ccf6d5 100644

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

mm/migrate.c +7 -0
index 20ca887ea769..4754f2489d78 100644

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

mm/shmem.c +15 -19
index 7c6b6d8f6c39..f4d24915d1f9 100644

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

net/bluetooth/hci_event.c +1 -1
index 7a3e42e75235..82f4973a011d 100644

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

net/bluetooth/l2cap_core.c +4 -0
index 17b87b57a175..78776d0782c5 100644

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

net/bluetooth/l2cap_sock.c +8 -0
index f1b1edd0b697..c99d65ef13b1 100644

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

net/bluetooth/mgmt.c +0 -1
index fa0f7a4a1d2f..01e143c2bbc0 100644

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

net/bridge/br_arp_nd_proxy.c +3 -1
index dfec65eca8a6..3db1def4437b 100644

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

net/core/flow_dissector.c +4 -2
index 180be5102efc..aa997de1d44c 100644

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

net/core/page_pool.c +7 -5
index f3c690b8c8e3..7c3c0774a67c 100644

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

net/ethtool/ioctl.c +1 -1
index 771688e1b0da..2603966da904 100644

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

net/ethtool/netlink.c +2 -1
index 50d3c8896f91..25a55086d2b6 100644

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

net/ipv6/ip6_vti.c +1 -1
index f10e7a72ea62..a018afdb3e06 100644

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

net/mac80211/mlme.c +7 -5
index b7155b078b19..fe71c1ca984a 100644

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

net/mac80211/tx.c +9 -11
index 64fae4f645f5..f6bfa0ce262c 100644

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

net/mptcp/subflow.c +1 -2
index f97f29df4505..371a114f3a5f 100644

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

net/netfilter/nf_tables_api.c +2 -2
index d6ec76a0fe62..1380369d5787 100644

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

net/netfilter/nfnetlink_osf.c +2 -0
index 916a3c7f9eaf..79fbf37291f3 100644

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

net/netfilter/nft_set_hash.c +9 -1
index bf618b7ec1ae..560c2cda52ee 100644

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

net/netfilter/xt_SECMARK.c +69 -19

88 lines not on this page · raw message

net/sched/cls_flower.c +18 -18
index 14316ba9b3b3..a5212a3f86e2 100644

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

net/sched/sch_taprio.c +6 -0
index 6f775275826a..c70f93d64483 100644

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

net/sctp/sm_make_chunk.c +1 -1
index f77484df097b..da4ce0947c3a 100644

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

net/sctp/sm_statefuns.c +22 -6
index af2b7041fa4e..73bb4c6e9201 100644

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

net/smc/af_smc.c +3 -1
index 47340b3b514f..cb23cca72c24 100644

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

net/sunrpc/clnt.c +5 -7
index 612f0a641f4c..f555d335e910 100644

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

net/sunrpc/svc.c +2 -1
index 7034b4755fa1..16b6681a97ab 100644

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

net/sunrpc/svcsock.c +1 -1
index 5a809c64dc7b..42a400135d41 100644

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

net/sunrpc/xprt.c +6 -6
index 691ccf8049a4..20fe31b1b776 100644

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

net/sunrpc/xprtrdma/frwr_ops.c +1 -1
index baca49fe83af..0104430e4c8e 100644

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

net/sunrpc/xprtrdma/rpc_rdma.c +2 -1
index 8f5d0cb68360..d40ace8a973d 100644

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

net/sunrpc/xprtrdma/transport.c +4 -2
index 78d29d1bcc20..09953597d055 100644

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

net/sunrpc/xprtrdma/verbs.c +5 -5
index ec912cf9c618..f3fffc74ab0f 100644

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

net/sunrpc/xprtrdma/xprt_rdma.h +1 -1
index 94b28657aeeb..c3bcc84c16c4 100644

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

net/tipc/netlink_compat.c +1 -1
index 5a1ce64039f7..0749df80454d 100644

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

net/xdp/xsk_queue.h +3 -4
index 2823b7c3302d..40f359bf2044 100644

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

samples/bpf/tracex1_kern.c +2 -2
index 3f4599c9a202..ef30d2b353b0 100644

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

scripts/Makefile.modpost +14 -1
index f54b6ac37ac2..12a87be0fb44 100644

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

scripts/kconfig/nconf.c +1 -1
index e0f965529166..af814b39b876 100644

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

scripts/mod/modpost.c +1 -14
index d6c81657d695..5f9d8d9147d0 100644

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

security/keys/trusted-keys/trusted_tpm1.c +5 -3
index 1e13c9f7ea8c..56c9b48460d9 100644

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

sound/firewire/bebob/bebob_stream.c +7 -5
index bbae04793c50..c18017e0a3d9 100644

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

sound/pci/hda/ideapad_s740_helper.c new file +492 -0

492 lines not on this page · raw message

sound/pci/hda/patch_hdmi.c +2 -2
index d6387106619f..7b0d9d7a1c38 100644

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

sound/pci/hda/patch_realtek.c +11 -0
index 8ec57bd351df..1fe70f2fe4fe 100644

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

sound/pci/rme9652/hdsp.c +2 -1
index cea53a878c36..4aee30db034d 100644

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

sound/pci/rme9652/hdspm.c +2 -1
index 04e878a0f773..49fee31ad905 100644

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

sound/pci/rme9652/rme9652.c +2 -1
index 012fbec5e6a7..0f4ab86a29f6 100644

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

sound/soc/codecs/rt286.c +13 -10
index 5fb9653d9131..eec2dd93ecbb 100644

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

sound/soc/codecs/rt5670.c +12 -0
index a0c8f58d729b..47ce074289ca 100644

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

sound/soc/intel/boards/bytcr_rt5640.c +20 -0
index 21d2e1cba380..d45f43290653 100644

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

sound/soc/intel/boards/sof_sdw.c +11 -0
index 1d7677376e74..9dc982c2c776 100644

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

sound/soc/sh/rcar/core.c +68 -1

69 lines not on this page · raw message

sound/soc/sh/rcar/ssi.c +5 -11
index d0ded427a836..042207c11651 100644

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

sound/soc/soc-compress.c +4 -0
index 246a5e32e22a..b4810266f5e5 100644

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

sound/usb/quirks-table.h +63 -0

63 lines not on this page · raw message

tools/lib/bpf/ringbuf.c +21 -9
index e7a8d847161f..1d80ad4e0de8 100644

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

tools/perf/Makefile.config +1 -0
index ce8516e4de34..2abbd75fbf2e 100644

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

tools/perf/util/Build +7 -0
index e2563d0154eb..0cf27354aa45 100644

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

tools/testing/selftests/drivers/net/mlxsw/mirror_gre_scale.sh +2 -1
index 6f3a70df63bc..e00435753008 100644

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

tools/testing/selftests/drivers/net/mlxsw/sch_red_core.sh +2 -2
index b0cb1aaffdda..33ddd01689be 100644

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

tools/testing/selftests/lib.mk +4 -0
index be17462fe146..0af84ad48aa7 100644

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

tools/testing/selftests/net/forwarding/mirror_lib.sh +17 -2
index 13db1cb50e57..6406cd76a19d 100644

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

tools/testing/selftests/net/mptcp/diag.sh +35 -20

55 lines not on this page · raw message

tools/testing/selftests/net/mptcp/mptcp_connect.sh +11 -4
index e927df83efb9..c37acb790bd6 100755

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

tools/testing/selftests/net/mptcp/mptcp_join.sh +16 -6
index 9aa9624cff97..99c5dc0eeb26 100755

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

tools/testing/selftests/net/mptcp/simult_flows.sh +10 -3
index f039ee57eb3c..3aeef3bcb101 100755

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

tools/testing/selftests/powerpc/security/entry_flush.c +1 -1
index 78cf914fa321..68ce377b205e 100644

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

tools/testing/selftests/powerpc/security/flush_utils.h +4 -0
index 07a5eb301466..7a3d60292916 100644

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

tools/testing/selftests/powerpc/security/rfi_flush.c +1 -1
index 7565fd786640..f73484a6470f 100644

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

virt/kvm/kvm_main.c +4 -3
index 2d2dfb8b51ea..7377346be880 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.