Skip to contentSkip to conversation

Linux 6.7.6

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Feb 23, 2024 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.7.6 kernel.

All users of the 6.7 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/ABI/testing/sysfs-class-net-statistics             |   48 
 Documentation/arch/arm64/silicon-errata.rst                      |    7 
 Documentation/netlink/specs/dpll.yaml                            |    4 
 Documentation/networking/devlink/devlink-port.rst                |    2 
 Documentation/sphinx/kernel_feat.py                              |    2 
 Makefile                                                         |    2 
 arch/Kconfig                                                     |    1 
 arch/arc/include/asm/jump_label.h                                |    4 
 arch/arm/include/asm/jump_label.h                                |    4 
 arch/arm64/include/asm/alternative-macros.h                      |    4 
 arch/arm64/include/asm/cputype.h                                 |    4 
 arch/arm64/include/asm/jump_label.h                              |    4 
 arch/arm64/kernel/cpu_errata.c                                   |    3 
 arch/arm64/kernel/fpsimd.c                                       |    2 
 arch/arm64/kernel/signal.c                                       |    4 
 arch/arm64/kvm/pkvm.c                                            |   27 
 arch/csky/include/asm/jump_label.h                               |    4 
 arch/loongarch/include/asm/jump_label.h                          |    4 
 arch/loongarch/mm/kasan_init.c                                   |    3 
 arch/mips/include/asm/checksum.h                                 |    3 
 arch/mips/include/asm/jump_label.h                               |    4 
 arch/mips/include/asm/ptrace.h                                   |    2 
 arch/mips/kernel/ptrace.c                                        |    7 
 arch/parisc/Kconfig                                              |    1 
 arch/parisc/include/asm/assembly.h                               |    1 
 arch/parisc/include/asm/extable.h                                |   64 
 arch/parisc/include/asm/jump_label.h                             |    4 
 arch/parisc/include/asm/special_insns.h                          |    6 
 arch/parisc/include/asm/uaccess.h                                |   48 
 arch/parisc/kernel/cache.c                                       |    6 
 arch/parisc/kernel/drivers.c                                     |    3 
 arch/parisc/kernel/unaligned.c                                   |   44 
 arch/parisc/mm/fault.c                                           |   11 
 arch/powerpc/include/asm/jump_label.h                            |    4 
 arch/powerpc/include/asm/reg.h                                   |    2 
 arch/powerpc/include/asm/thread_info.h                           |    2 
 arch/powerpc/include/asm/uaccess.h                               |   12 
 arch/powerpc/kernel/cpu_setup_6xx.S                              |   20 
 arch/powerpc/kernel/cpu_specs_e500mc.h                           |    3 
 arch/powerpc/kernel/interrupt_64.S                               |    4 
 arch/powerpc/kernel/iommu.c                                      |    4 
 arch/powerpc/kernel/irq_64.c                                     |    2 
 arch/powerpc/mm/kasan/init_32.c                                  |    1 
 arch/powerpc/platforms/pseries/lpar.c                            |    8 
 arch/riscv/include/asm/bitops.h                                  |    8 
 arch/riscv/include/asm/cpufeature.h                              |    4 
 arch/riscv/include/asm/jump_label.h                              |    4 
 arch/s390/include/asm/jump_label.h                               |    4 
 arch/s390/kvm/vsie.c                                             |    1 
 arch/s390/mm/gmap.c                                              |    1 
 arch/sparc/include/asm/jump_label.h                              |    4 
 arch/um/Makefile                                                 |    4 
 arch/um/include/asm/cpufeature.h                                 |    2 
 arch/x86/Kconfig.cpu                                             |    2 
 arch/x86/include/asm/barrier.h                                   |   18 
 arch/x86/include/asm/cpufeature.h                                |    2 
 arch/x86/include/asm/cpufeatures.h                               |    2 
 arch/x86/include/asm/jump_label.h                                |    6 
 arch/x86/include/asm/processor.h                                 |   18 
 arch/x86/include/asm/rmwcc.h                                     |    2 
 arch/x86/include/asm/special_insns.h                             |    2 
 arch/x86/include/asm/uaccess.h                                   |   10 
 arch/x86/kernel/cpu/amd.c                                        |    3 
 arch/x86/kernel/cpu/common.c                                     |    7 
 arch/x86/kernel/cpu/hygon.c                                      |    3 
 arch/x86/kernel/fpu/signal.c                                     |   13 
 arch/x86/kvm/svm/svm_ops.h                                       |    6 
 arch/x86/kvm/vmx/pmu_intel.c                                     |    2 
 arch/x86/kvm/vmx/vmx.c                                           |    4 
 arch/x86/kvm/vmx/vmx_ops.h                                       |    6 
 arch/x86/kvm/x86.c                                               |    3 
 arch/x86/mm/ident_map.c                                          |   23 
 arch/xtensa/include/asm/jump_label.h                             |    4 
 block/blk-mq.c                                                   |    9 
 block/blk-wbt.c                                                  |    4 
 crypto/algif_hash.c                                              |    5 
 drivers/android/binder.c                                         |   10 
 drivers/base/core.c                                              |   15 
 drivers/base/power/domain.c                                      |    2 
 drivers/connector/cn_proc.c                                      |    5 
 drivers/crypto/ccp/sev-dev.c                                     |   10 
 drivers/dpll/dpll_netlink.c                                      |   20 
 drivers/dpll/dpll_nl.c                                           |    4 
 drivers/dpll/dpll_nl.h                                           |    2 
 drivers/firewire/core-device.c                                   |    7 
 drivers/firmware/efi/libstub/Makefile                            |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                       |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c                          |    9 
 drivers/gpu/drm/amd/amdgpu/cik_ih.c                              |    6 
 drivers/gpu/drm/amd/amdgpu/cz_ih.c                               |    5 
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c                           |    2 
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c                            |    8 
 drivers/gpu/drm/amd/amdgpu/iceland_ih.c                          |    5 
 drivers/gpu/drm/amd/amdgpu/ih_v6_0.c                             |    6 
 drivers/gpu/drm/amd/amdgpu/ih_v6_1.c                             |    7 
 drivers/gpu/drm/amd/amdgpu/navi10_ih.c                           |    6 
 drivers/gpu/drm/amd/amdgpu/si_ih.c                               |    6 
 drivers/gpu/drm/amd/amdgpu/soc21.c                               |    4 
 drivers/gpu/drm/amd/amdgpu/tonga_ih.c                            |    6 
 drivers/gpu/drm/amd/amdgpu/vega10_ih.c                           |    6 
 drivers/gpu/drm/amd/amdgpu/vega20_ih.c                           |    6 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                |   14 
 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c     |   15 
 drivers/gpu/drm/amd/display/dc/dml/Makefile                      |    6 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c             |    2 
 drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c    |   29 
 drivers/gpu/drm/amd/display/dc/inc/core_types.h                  |    2 
 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c |    5 
 drivers/gpu/drm/drm_buddy.c                                      |    6 
 drivers/gpu/drm/drm_prime.c                                      |    2 
 drivers/gpu/drm/i915/display/intel_dp.c                          |    3 
 drivers/gpu/drm/i915/display/intel_vdsc_regs.h                   |    4 
 drivers/gpu/drm/msm/msm_gem_prime.c                              |    4 
 drivers/gpu/drm/msm/msm_gpu.c                                    |   11 
 drivers/gpu/drm/msm/msm_iommu.c                                  |   32 
 drivers/gpu/drm/msm/msm_ringbuffer.c                             |    7 
 drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h                |    2 
 drivers/gpu/drm/nouveau/nouveau_fence.c                          |   24 
 drivers/gpu/drm/nouveau/nouveau_fence.h                          |    1 
 drivers/gpu/drm/nouveau/nouveau_svm.c                            |    2 
 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c                   |   61 
 drivers/gpu/drm/virtio/virtgpu_drv.c                             |    1 
 drivers/hid/bpf/hid_bpf_dispatch.c                               |   83 -
 drivers/hid/bpf/hid_bpf_dispatch.h                               |    4 
 drivers/hid/bpf/hid_bpf_jmp_table.c                              |   40 
 drivers/hid/i2c-hid/i2c-hid-of.c                                 |    1 
 drivers/hid/wacom_sys.c                                          |   63 
 drivers/hid/wacom_wac.c                                          |    9 
 drivers/i2c/busses/Makefile                                      |    6 
 drivers/i2c/busses/i2c-i801.c                                    |    4 
 drivers/i2c/busses/i2c-pasemi-core.c                             |    6 
 drivers/i2c/busses/i2c-qcom-geni.c                               |   14 
 drivers/iio/accel/Kconfig                                        |    2 
 drivers/iio/adc/ad4130.c                                         |   12 
 drivers/iio/imu/bno055/Kconfig                                   |    1 
 drivers/iio/industrialio-core.c                                  |    5 
 drivers/iio/light/hid-sensor-als.c                               |    1 
 drivers/iio/magnetometer/rm3100-core.c                           |   10 
 drivers/iio/pressure/bmp280-spi.c                                |    1 
 drivers/interconnect/qcom/sc8180x.c                              |    1 
 drivers/interconnect/qcom/sm8550.c                               |    1 
 drivers/irqchip/irq-brcmstb-l2.c                                 |    5 
 drivers/irqchip/irq-gic-v3-its.c                                 |   62 
 drivers/irqchip/irq-loongson-eiointc.c                           |    2 
 drivers/md/dm-core.h                                             |    2 
 drivers/md/dm-crypt.c                                            |   38 
 drivers/md/dm-ioctl.c                                            |    3 
 drivers/md/dm-table.c                                            |    9 
 drivers/md/dm-verity-target.c                                    |   26 
 drivers/md/dm-verity.h                                           |    1 
 drivers/md/md.c                                                  |    7 
 drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c              |    2 
 drivers/media/rc/bpf-lirc.c                                      |    6 
 drivers/media/rc/ir_toy.c                                        |    2 
 drivers/media/rc/lirc_dev.c                                      |    5 
 drivers/media/rc/rc-core-priv.h                                  |    2 
 drivers/misc/fastrpc.c                                           |    2 
 drivers/mmc/core/slot-gpio.c                                     |    6 
 drivers/mmc/host/sdhci-pci-o2micro.c                             |   30 
 drivers/net/bonding/bond_main.c                                  |    5 
 drivers/net/can/dev/netlink.c                                    |    2 
 drivers/net/dsa/mv88e6xxx/chip.c                                 |    2 
 drivers/net/ethernet/intel/i40e/i40e_main.c                      |    2 
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c               |   38 
 drivers/net/ethernet/mellanox/mlx5/core/dpll.c                   |    2 
 drivers/net/ethernet/microchip/lan966x/lan966x_lag.c             |    9 
 drivers/net/ethernet/netronome/nfp/flower/conntrack.c            |   46 
 drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c          |    2 
 drivers/net/ethernet/netronome/nfp/nfp_net_common.c              |    1 
 drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c        |    6 
 drivers/net/ethernet/stmicro/stmmac/common.h                     |   56 
 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c                |   15 
 drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c                 |   15 
 drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c                  |   15 
 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c               |   15 
 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c             |  129 +
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                |  136 -
 drivers/net/ethernet/ti/cpsw.c                                   |    2 
 drivers/net/ethernet/ti/cpsw_new.c                               |    3 
 drivers/net/hyperv/netvsc.c                                      |    5 
 drivers/net/hyperv/netvsc_drv.c                                  |   82 -
 drivers/net/wireless/intel/iwlwifi/fw/acpi.c                     |   15 
 drivers/net/wireless/intel/iwlwifi/iwl-drv.c                     |    1 
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c                |    3 
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c                    |    4 
 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c              |    3 
 drivers/net/xen-netback/netback.c                                |   84 -
 drivers/of/property.c                                            |   65 
 drivers/of/unittest.c                                            |   12 
 drivers/pci/controller/dwc/pcie-designware-ep.c                  |    3 
 drivers/pci/pci.c                                                |   37 
 drivers/perf/cxl_pmu.c                                           |    2 
 drivers/pmdomain/mediatek/mtk-pm-domains.c                       |   15 
 drivers/pmdomain/renesas/r8a77980-sysc.c                         |    3 
 drivers/s390/net/qeth_l3_main.c                                  |    9 
 drivers/scsi/fcoe/fcoe_ctlr.c                                    |   20 
 drivers/scsi/storvsc_drv.c                                       |   12 
 drivers/spi/spi-imx.c                                            |    9 
 drivers/spi/spi-omap2-mcspi.c                                    |  137 -
 drivers/spi/spi-ppc4xx.c                                         |    5 
 drivers/staging/iio/impedance-analyzer/ad5933.c                  |    2 
 drivers/thunderbolt/tb_regs.h                                    |    2 
 drivers/thunderbolt/usb4.c                                       |    2 
 drivers/tty/serial/max310x.c                                     |   53 
 drivers/tty/serial/mxs-auart.c                                   |    5 
 drivers/tty/serial/serial_core.c                                 |    2 
 drivers/usb/chipidea/ci.h                                        |    2 
 drivers/usb/chipidea/core.c                                      |   44 
 drivers/usb/common/ulpi.c                                        |    2 
 drivers/usb/core/hub.c                                           |   46 
 drivers/usb/dwc3/gadget.c                                        |    6 
 drivers/usb/gadget/function/f_mass_storage.c                     |   20 
 drivers/usb/typec/tcpm/tcpm.c                                    |    3 
 drivers/usb/typec/ucsi/ucsi.c                                    |    2 
 drivers/usb/typec/ucsi/ucsi_acpi.c                               |   17 
 drivers/xen/events/events_base.c                                 |    8 
 fs/btrfs/block-group.c                                           |   80 
 fs/btrfs/block-group.h                                           |    7 
 fs/btrfs/delalloc-space.c                                        |   29 
 fs/btrfs/disk-io.c                                               |   13 
 fs/btrfs/inode.c                                                 |   26 
 fs/btrfs/ioctl.c                                                 |    5 
 fs/btrfs/qgroup.c                                                |   14 
 fs/btrfs/send.c                                                  |    2 
 fs/btrfs/transaction.c                                           |   38 
 fs/ceph/caps.c                                                   |    3 
 fs/ext4/mballoc.c                                                |   39 
 fs/ext4/move_extent.c                                            |    6 
 fs/hugetlbfs/inode.c                                             |   21 
 fs/namespace.c                                                   |   11 
 fs/nfsd/nfs4state.c                                              |   11 
 fs/nilfs2/file.c                                                 |    8 
 fs/nilfs2/recovery.c                                             |    7 
 fs/nilfs2/segment.c                                              |    8 
 fs/proc/array.c                                                  |   66 
 fs/smb/client/connect.c                                          |   14 
 fs/smb/client/fs_context.c                                       |   11 
 fs/smb/client/namespace.c                                        |   16 
 fs/smb/client/smb2ops.c                                          |    2 
 fs/smb/server/smb2pdu.c                                          |    8 
 fs/tracefs/event_inode.c                                         |  808 ++--------
 fs/tracefs/inode.c                                               |  102 -
 fs/tracefs/internal.h                                            |   44 
 fs/zonefs/file.c                                                 |   42 
 fs/zonefs/super.c                                                |   66 
 include/linux/backing-dev-defs.h                                 |    7 
 include/linux/compiler-gcc.h                                     |   20 
 include/linux/compiler_types.h                                   |   11 
 include/linux/gpio/driver.h                                      |   12 
 include/linux/iio/adc/ad_sigma_delta.h                           |    4 
 include/linux/iio/common/st_sensors.h                            |    4 
 include/linux/iio/imu/adis.h                                     |    3 
 include/linux/lsm_hook_defs.h                                    |    4 
 include/linux/mman.h                                             |    1 
 include/linux/netfilter/ipset/ip_set.h                           |    4 
 include/linux/ptrace.h                                           |    4 
 include/linux/serial_core.h                                      |   32 
 include/net/tls.h                                                |    5 
 include/sound/tas2781.h                                          |    1 
 init/Kconfig                                                     |    9 
 io_uring/net.c                                                   |    5 
 kernel/sched/membarrier.c                                        |    6 
 kernel/sys.c                                                     |   50 
 kernel/trace/ftrace.c                                            |   10 
 kernel/trace/ring_buffer.c                                       |    2 
 kernel/trace/trace.c                                             |   78 
 kernel/trace/trace_btf.c                                         |    4 
 kernel/trace/trace_events_synth.c                                |    3 
 kernel/trace/trace_events_trigger.c                              |    6 
 kernel/trace/trace_osnoise.c                                     |    6 
 kernel/trace/trace_probe.c                                       |   32 
 kernel/trace/trace_probe.h                                       |    3 
 kernel/workqueue.c                                               |    8 
 lib/kobject.c                                                    |   24 
 mm/backing-dev.c                                                 |    2 
 mm/damon/sysfs-schemes.c                                         |    2 
 mm/huge_memory.c                                                 |   14 
 mm/memory-failure.c                                              |    2 
 mm/memory.c                                                      |    4 
 mm/mmap.c                                                        |    6 
 mm/page-writeback.c                                              |    4 
 mm/userfaultfd.c                                                 |   15 
 net/can/j1939/j1939-priv.h                                       |    3 
 net/can/j1939/main.c                                             |    2 
 net/can/j1939/socket.c                                           |   46 
 net/handshake/handshake-test.c                                   |    5 
 net/hsr/hsr_device.c                                             |    4 
 net/mac80211/tx.c                                                |    5 
 net/mptcp/pm_userspace.c                                         |   13 
 net/mptcp/protocol.c                                             |   25 
 net/mptcp/protocol.h                                             |    7 
 net/mptcp/subflow.c                                              |    4 
 net/netfilter/ipset/ip_set_bitmap_gen.h                          |   14 
 net/netfilter/ipset/ip_set_core.c                                |   39 
 net/netfilter/ipset/ip_set_hash_gen.h                            |   19 
 net/netfilter/ipset/ip_set_list_set.c                            |   13 
 net/netfilter/nft_set_pipapo_avx2.c                              |    2 
 net/nfc/nci/core.c                                               |    4 
 net/openvswitch/flow_netlink.c                                   |   49 
 net/tls/tls_sw.c                                                 |  135 -
 net/wireless/core.c                                              |    3 
 samples/bpf/asm_goto_workaround.h                                |    8 
 scripts/link-vmlinux.sh                                          |    9 
 scripts/mksysmap                                                 |   13 
 scripts/mod/modpost.c                                            |    3 
 scripts/mod/sumversion.c                                         |    7 
 security/security.c                                              |   45 
 sound/pci/hda/Kconfig                                            |    4 
 sound/pci/hda/patch_conexant.c                                   |   18 
 sound/pci/hda/patch_cs8409.c                                     |    1 
 sound/pci/hda/patch_realtek.c                                    |   20 
 sound/pci/hda/tas2781_hda_i2c.c                                  |    2 
 sound/soc/amd/yc/acp6x-mach.c                                    |   14 
 sound/soc/codecs/rt5645.c                                        |    1 
 sound/soc/codecs/tas2781-comlib.c                                |    3 
 sound/soc/codecs/tas2781-i2c.c                                   |    2 
 sound/soc/codecs/wcd938x.c                                       |    2 
 sound/soc/intel/avs/core.c                                       |    3 
 sound/soc/intel/avs/topology.c                                   |    2 
 sound/soc/sof/ipc3-topology.c                                    |   55 
 sound/soc/sof/ipc3.c                                             |    2 
 tools/arch/x86/include/asm/rmwcc.h                               |    2 
 tools/include/linux/compiler_types.h                             |    4 
 tools/testing/selftests/dt/test_unprobed_devices.sh              |   13 
 tools/testing/selftests/landlock/common.h                        |   48 
 tools/testing/selftests/landlock/fs_test.c                       |   11 
 tools/testing/selftests/landlock/net_test.c                      |   13 
 tools/testing/selftests/mm/charge_reserved_hugetlb.sh            |    2 
 tools/testing/selftests/mm/ksm_tests.c                           |    2 
 tools/testing/selftests/mm/map_hugetlb.c                         |    7 
 tools/testing/selftests/mm/va_high_addr_switch.sh                |    6 
 tools/testing/selftests/mm/write_hugetlb_memory.sh               |    2 
 tools/testing/selftests/net/forwarding/bridge_locked_port.sh     |    4 
 tools/testing/selftests/net/forwarding/bridge_mdb.sh             |   14 
 tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh      |    8 
 tools/testing/selftests/net/mptcp/config                         |    3 
 tools/testing/selftests/net/mptcp/mptcp_join.sh                  |   10 
 tools/testing/selftests/net/mptcp/mptcp_lib.sh                   |   11 
 tools/testing/selftests/net/mptcp/settings                       |    2 
 tools/testing/selftests/net/mptcp/userspace_pm.sh                |   31 
 tools/testing/selftests/net/test_bridge_backup_port.sh           |  394 ++--
 tools/tracing/rtla/Makefile                                      |    7 
 tools/tracing/rtla/src/osnoise_hist.c                            |    9 
 tools/tracing/rtla/src/osnoise_top.c                             |    6 
 tools/tracing/rtla/src/timerlat_hist.c                           |    9 
 tools/tracing/rtla/src/timerlat_top.c                            |    6 
 tools/tracing/rtla/src/utils.c                                   |   14 
 tools/tracing/rtla/src/utils.h                                   |    2 
 tools/verification/rv/Makefile                                   |    7 
 tools/verification/rv/src/in_kernel.c                            |    2 
 350 files changed, 3331 insertions(+), 2533 deletions(-)

Aaron Conole (1):
net: openvswitch: limit the number of recursions from action sets

Aleksander Mazur (1):
x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6

Alex Williamson (1):
PCI: Fix active state requirement in PME polling

Alexander Stein (1):
mmc: slot-gpio: Allow non-sleeping GPIO ro

Alexandra Winter (1):
s390/qeth: Fix potential loss of L3-IP@ in case of network issues

Alexey Khoroshilov (1):

      ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()

Amadeusz Sławiński (1):
ASoC: Intel: avs: Fix dynamic port assignment when TDM is set

Andrei Vagin (1):
x86/fpu: Stop relying on userspace for info to fault in xsave buffer

Andrew Lunn (1):
net: dsa: mv88e6xxx: Fix failed probe due to unsupported C45 reads

Andy Chi (1):
ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power

Arnd Bergmann (3):
nouveau/svm: fix kvcalloc() argument order
i2c: pasemi: split driver into two separate modules
kallsyms: ignore ARMv4 thunks along with others

Arunpravin Paneer Selvam (1):
drm/buddy: Fix alloc_range() error handling code

Audra Mitchell (1):
selftests/mm: Update va_high_addr_switch.sh to check CPU for la57 flag

Baokun Li (2):
ext4: fix double-free of blocks due to wrong extents moved_len
ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()

Benjamin Tissoires (2):
HID: bpf: remove double fdget()
HID: bpf: actually free hdev memory after attaching a HID-BPF program

Bibo Mao (1):
irqchip/loongson-eiointc: Use correct struct type in eiointc_domain_alloc()

Boris Burkov (2):
btrfs: forbid creating subvol qgroups
btrfs: forbid deleting live subvol qgroup

Borislav Petkov (AMD) (1):
x86/barrier: Do not serialize MSR accesses on AMD

Breno Leitao (1):
net: sysfs: Fix /sys/class/net/<iface> path for statistics

Carlos Llamas (1):
binder: signal epoll threads of self-work

Carlos Song (1):
spi: imx: fix the burst length at DMA mode and CPU mode

Cezary Rojewski (1):
ASoC: Intel: avs: Fix pci_probe() error path

Christian A. Ehrhardt (3):
of: unittest: Fix compile in the non-dynamic case
usb: ucsi: Add missing ppm_lock
usb: ucsi_acpi: Fix command completion handling

Christian Borntraeger (1):
KVM: s390: vsie: fix race during shadow creation

Christian Brauner (1):
fs: relax mount_setattr() permission checks

Chuck Lever (1):
net/handshake: Fix handshake_req_destroy_test1

Cosmin Tanislav (2):
iio: adc: ad4130: zero-initialize clock init data
iio: adc: ad4130: only set GPIO_CTRL if pin is unused

Curtis Malainey (1):
ASoC: SOF: IPC3: fix message bounds on ipc ops

Damien Le Moal (2):
zonefs: Improve error handling
block: fix partial zone append completion handling in req_bio_endio()

Dan Carpenter (4):
wifi: iwlwifi: Fix some error codes
wifi: iwlwifi: uninitialized variable in iwl_acpi_get_ppag_table()
cifs: fix underflow in parse_server_interfaces()
PCI: dwc: Fix a 64bit bug in dw_pcie_ep_raise_msix_irq()

Daniel Basilio (1):
nfp: use correct macro for LengthSelect in BAR config

Daniel Bristot de Oliveira (7):
tracing/timerlat: Move hrtimer_init to timerlat_fd open() tools/rv: Fix curr_reactor uninitialized variable tools/rv: Fix Makefile compiler options for clang tools/rtla: Remove unused sched_getattr() function tools/rtla: Fix clang warning about mount_point var size tools/rtla: Fix uninitialized bucket/data->bucket_size warning tools/rtla: Fix Makefile compiler options for clang

Daniel de Villiers (1):
nfp: flower: prevent re-adding mac index for bonded port

Dave Airlie (2):
nouveau: offload fence uevents work to workqueue nouveau/gsp: use correct size for registry rpc.

David Engraf (1):
powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E

David McFarland (1):
drm/amd: Don't init MEC2 firmware when it fails to load

David Schiller (1):
staging: iio: ad5933: fix type mismatch regression

David Senoner (1):
ALSA: hda/realtek: Fix the external mic not being recognised for Acer Swift 1 SF114-32

David Sterba (1):
btrfs: send: return EOPNOTSUPP on unknown flags

Dinghao Liu (1):
iio: core: fix memleak in iio_device_register_sysfs

Doug Berger (1):
irqchip/irq-brcmstb-l2: Add write memory barrier before exit

Easwar Hariharan (1):
arm64: Subscribe Microsoft Azure Cobalt 100 to ARM Neoverse N2 errata

Edson Juliano Drosdeck (1):
ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL

Ekansh Gupta (1):
misc: fastrpc: Mark all sessions as invalid in cb_remove

Emmanuel Grumbach (1):
wifi: iwlwifi: mvm: fix a crash when we run out of stations

Eniac Zhang (1):
ALSA: hda/realtek: fix mute/micmute LED For HP mt645

Erick Archer (1):
eventfs: Use kcalloc() instead of kzalloc()

Esben Haabendal (1):
net: stmmac: do not clear TBS enable bit on link up/down

Eugen Hristev (1):
pmdomain: mediatek: fix race conditions with genpd

Fangzhi Zuo (2):
drm/amd/display: Fix dcn35 8k30 Underflow/Corruption Issue drm/amd/display: Fix MST Null Ptr for RV

Fedor Pchelkin (2):
nfc: nci: free rx_data_reassembly skb on NCI device cleanup
ksmbd: free aux buffer if ksmbd_iov_pin_rsp_read fails

Filipe Manana (6):
btrfs: add and use helper to check if block group is used
btrfs: do not delete unused block group if it may be used soon
btrfs: add new unused block groups to the list of unused block groups
btrfs: don't refill whole delayed refs block reserve when starting transaction
btrfs: don't reserve space for checksums when writing to nocow files
btrfs: reject encoded write if inode has nodatasum flag set

Fred Ai (1):
mmc: sdhci-pci-o2micro: Fix a warm reboot issue that disk can't be detected by BIOS

Friedrich Vock (1):
drm/amdgpu: Reset IH OVERFLOW_CLEAR bit

Gaurav Batra (1):
powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add

Geert Uytterhoeven (1):
pmdomain: renesas: r8a77980-sysc: CR7 must be always on

Geliang Tang (2):
selftests: mptcp: add mptcp_lib_kill_wait
mptcp: check addrs list in userspace_pm_get_local_id

Gergo Koteles (1):
ASoC: tas2781: add module parameter to tascodec_init()

Greg Kroah-Hartman (2):
Revert "kobject: Remove redundant checks for whether ktype is NULL" Linux 6.7.6

Guenter Roeck (1):
MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler

Gui-Dong Han (1):
serial: core: Fix atomicity violation in uart_tiocmget

Hangbin Liu (1):
selftests/net: convert test_bridge_backup_port.sh to run it in unique namespace

Helge Deller (3):
parisc: Prevent hung tasks when printing inventory on serial console
parisc: Fix random data corruption from exception handler
parisc: BTLB: Fix crash when setting up BTLB at CPU bringup

Herbert Xu (1):
crypto: algif_hash - Remove bogus SGL free on zero-length error path

Hojin Nam (1):
perf: CXL: fix mismatched cpmu event opcode

Horatiu Vultur (1):
lan966x: Fix crash when adding interface under a lag

Hu Yadi (2):
selftests/landlock: Fix net_test build with old libc selftests/landlock: Fix fs_test build with old libc

Huacai Chen (1):
LoongArch: Fix earlycon parameter if KASAN enabled

Hugo Villeneuve (4):

      serial: max310x: set default value when reading clock ready bit
      serial: max310x: improve crystal stable clock detection
      serial: max310x: fail probe if clock crystal is unstable
      serial: max310x: prevent infinite while() loop in port startup

Hui Zhou (2):
nfp: flower: add hardware offload check for post ct entry
nfp: flower: fix hardware offload for the transfer layer port

Ido Schimmel (5):
selftests: net: Fix bridge backup port test flakiness
selftests: forwarding: Fix layer 2 miss test flakiness
selftests: forwarding: Fix bridge MDB test flakiness
selftests: forwarding: Suppress grep warnings
selftests: forwarding: Fix bridge locked port test flakiness

Ivan Vecera (2):
i40e: Do not allow untrusted VF to remove administratively set MAC
i40e: Fix waiting for queues of all VSIs to be disabled

Jakub Kicinski (5):
net: tls: factor out tls_*crypt_async_wait()
tls: fix race between async notify and socket close
tls: fix race between tx work scheduling and socket close
net: tls: handle backlogging of crypto requests
net: tls: fix returned read length with async decrypt

James Hershaw (1):
nfp: enable NETDEV_XDP_ACT_REDIRECT feature flag

Jan Beulich (1):
xen-netback: properly sync TX responses

Jan Kara (1):
blk-wbt: Fix detection of dirty-throttled tasks

Jan Kiszka (1):
riscv/efistub: Ensure GP-relative addressing is not used

Jason Gerecke (1):
HID: wacom: Do not register input devices until after hid_hw_start

Jean Delvare (1):
i2c: i801: Fix block process call transactions

Jens Axboe (1):
io_uring/net: fix multishot accept overflow handling

Jiangfeng Xiao (1):
powerpc/kasan: Fix addr error caused by page alignment

Jiaxun Yang (2):
ptrace: Introduce exception_ip arch hook mm/memory: Use exception ip to search exception tables

Jiri Pirko (2):
dpll: fix possible deadlock during netlink dump operation net/mlx5: DPLL, Fix possible use after free after delayed work timer triggers

Jiri Slaby (SUSE) (2):
serial: core: introduce uart_port_tx_flags()
serial: mxs-auart: fix tx

Johan Hovold (1):
HID: i2c-hid-of: fix NULL-deref on failed power up

Johannes Berg (3):
wifi: iwlwifi: fix double-free bug
wifi: cfg80211: fix wiphy delayed work queueing
wifi: mac80211: reload info pointer in ieee80211_tx_dequeue()

John Kacur (1):
tools/rtla: Exit with EXIT_SUCCESS when help is invoked

Josef Bacik (1):
btrfs: don't drop extent_map for free space inode on write error

José Relvas (1):
ALSA: hda/realtek: Apply headset jack quirk for non-bass alc287 thinkpads

Jozsef Kadlecsik (2):
netfilter: ipset: fix performance regression in swap operation
netfilter: ipset: Missing gc cancellations fixed

Junxiao Bi (1):
md: bypass block throttle for superblock update

Kailang Yang (1):
ALSA: hda/realtek - Add speaker pin verbtable for Dell dual speaker platform

Keqi Wang (1):
connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared"

Kim Phillips (1):
crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked

Konrad Dybcio (3):
interconnect: qcom: sc8180x: Mark CO0 BCM keepalive
interconnect: qcom: sm8550: Enable sync_state
pmdomain: core: Move the unused cleanup to a _sync initcall

Krzysztof Kozlowski (3):
ASoC: codecs: wcd938x: handle deferred probe
gpiolib: add gpio_device_get_base() stub for !GPIOLIB
gpiolib: add gpiod_to_gpio_device() stub for !GPIOLIB

Lee Duncan (1):

      scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"

Lijo Lazar (1):
drm/amdgpu: Avoid fetching VRAM vendor info

Linus Torvalds (9):
work around gcc bugs with 'asm goto' with outputs update workarounds for gcc "asm goto" issue
eventfs: Initialize the tracefs inode properly
tracefs: Avoid using the ei->dentry pointer unnecessarily
tracefs: dentry lookup crapectomy
eventfs: Remove unused d_parent pointer field
eventfs: Clean up dentry ops and add revalidate function
eventfs: Get rid of dentry pointers without refcounts sched/membarrier: reduce the ability to hammer on sys_membarrier

Lokesh Gidra (1):
userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb

Luka Guzenko (1):

      ALSA: hda/realtek: Enable Mute LED on HP Laptop 14-fq0xxx

Lukas Bulwahn (1):
ALSA: hda/cs35l56: select intended config FW_CS_DSP

Magnus Karlsson (1):
bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY

Manasi Navare (1):
drm/i915/dsc: Fix the macro that calculates DSCC_/DSCA_ PPS reg address

Marc Zyngier (3):
irqchip/gic-v3-its: Handle non-coherent GICv4 redistributors irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update

Mario Limonciello (3):
Revert "drm/amd: flush any delayed gfxoff on suspend entry"
iio: accel: bma400: Fix a compilation problem
ASoC: amd: yc: Add DMI quirk for Lenovo Ideapad Pro 5 16ARP8

Mark Brown (2):
arm64/signal: Don't assume that TIF_SVE means we saved SVE state
usb: typec: tpcm: Fix issues with power being removed during reset

Masami Hiramatsu (Google) (5):
tracing/trigger: Fix to return error if failed to alloc snapshot tracing/probes: Fix to show a parse error for bad type for $comm tracing/probes: Fix to set arg size and fmt after setting type from BTF tracing/probes: Fix to search structure fields correctly
ftrace: Fix DIRECT_CALLS to use SAVE_REGS by default

Matthias Schiffer (1):
powerpc/6xx: set High BAT Enable flag on G2_LE cores

Matthieu Baerts (NGI0) (5):
selftests: mptcp: add missing kconfig for NF Filter
selftests: mptcp: add missing kconfig for NF Filter in v6
selftests: mptcp: add missing kconfig for NF Mangle
selftests: mptcp: increase timeout to 30 min
selftests: mptcp: allow changing subtests prefix

Maxime Jayat (1):
can: netlink: Fix TDCO calculation using the old data bittiming

Maximilian Heyne (1):
xen/events: close evtchn after mapping cleanup

Michael Ellerman (2):
powerpc/kasan: Limit KASAN thread size increase to 32KB Revert "powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add"

Michael Kelley (1):
scsi: storvsc: Fix ring buffer size calculation

Mickaël Salaün (1):
selftests/landlock: Fix capability for net_test

Mikulas Patocka (2):
dm-crypt, dm-verity: disable tasklets
dm: limit the number of targets and parameter size area

Mingwei Zhang (1):

      KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl

Miri Korenblit (1):
wifi: iwlwifi: clear link_id in time_event

Mohammad Rahimi (1):
thunderbolt: Fix setting the CNS bit in ROUTER_CS_5

Muhammad Usama Anjum (1):
selftests/mm: switch to bash from sh

Nathan Chancellor (4):
kbuild: Fix changing ELF file type for output of gen_btf for big endian
um: Fix adding '-no-pie' for clang
modpost: Add '.ltext' and '.ltext.*' to TEXT_SECTIONS drm/amd/display: Increase frame-larger-than for all display_mode_vba files

Naveen N Rao (1):

      powerpc/64: Set task pt_regs->link to the LR value on scv entry

NeilBrown (1):
nfsd: don't take fi_lock in nfsd_break_deleg_cb()

Nico Pache (1):
selftests: mm: fix map_hugetlb failure on 64K page size systems

Nikita Zhandarovich (1):
net: hsr: remove WARN_ONCE() in send_hsr_supervision_frame()

Nuno Sa (4):
iio: commom: st_sensors: ensure proper DMA alignment
iio: adc: ad_sigma_delta: ensure proper DMA alignment
iio: imu: adis: ensure proper DMA alignment
of: property: fix typo in io-channels

Nícolas F. R. A. Prado (1):
kselftest: dt: Stop relying on dirname to improve performance

Oleg Nesterov (4):
getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()
getrusage: use sig->stats_lock rather than lock_task_sighand()
fs/proc: do_task_stat: move thread_group_cputime_adjusted() outside of lock_task_sighand() fs/proc: do_task_stat: use sig->stats_lock to gather the threads/children stats

Oleksij Rempel (1):

      can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)

Oliver Neukum (1):
USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT

Ondrej Mosnacek (2):
lsm: fix default return value of the socket_getpeersec_*() hooks
lsm: fix the logic in security_inode_getsecctx()

Oscar Salvador (1):
fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super

Paolo Abeni (4):
mptcp: fix data re-injection from stale subflow
mptcp: drop the push_pending field
mptcp: fix rcv space initialization
mptcp: really cope with fastopen race

Parav Pandit (1):
devlink: Fix command annotation documentation

Paulo Alcantara (1):
smb: client: set correct id, uid and cruid for multiuser automounts

Petr Pavlu (1):
tracing: Fix HAVE_DYNAMIC_FTRACE_WITH_REGS ifdef

Petr Tesarik (1):
net: stmmac: protect updates of 64-bit statistics counters

Philip Yang (1):
drm/prime: Support page array >= 4GB

Prakash Sangappa (1):
mm: hugetlb pages should not be reserved by shmat() if SHM_NORESERVE

Prasad Pandit (1):
KVM: x86: make KVM_REQ_NMI request iff NMI pending for vcpu

Qu Wenruo (1):
btrfs: do not ASSERT() if the newly created subvolume already got read

Radek Krejci (1):
modpost: trim leading spaces when processing source files list

Randy Dunlap (1):
iio: imu: bno055: serdev requires REGMAP

Ranjani Sridharan (1):
ASoC: SOF: ipc3-topology: Fix pipeline tear down logic

Rishabh Dave (1):
ceph: prevent use-after-free in encode_cap_msg()

Rob Clark (3):
drm/msm/gem: Fix double resv lock aquire Revert "drm/msm/gpu: Push gpu lock down past runpm" drm/msm: Wire up tlb ops

Roman Li (1):
drm/amd/display: Fix array-index-out-of-bounds in dcn35_clkmgr

Ryan Roberts (2):
mm: thp_get_unmapped_area must honour topdown preference selftests/mm: ksm_tests should only MADV_HUGEPAGE valid memory

Ryusuke Konishi (3):
nilfs2: fix data corruption in dsync block recovery for small block sizes
nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
nilfs2: fix potential bug in end_buffer_async_write

Sabrina Dubroca (1):
net: tls: fix use-after-free with partial reads and async decrypt

Sam Protsenko (1):
iio: pressure: bmp280: Add missing bmp085 to SPI id table

Samuel Holland (1):
scs: add CONFIG_MMU dependency for vfree_atomic()

Saravana Kannan (5):
driver core: Fix device_link_flag_is_sync_state_only()
of: property: Improve finding the consumer of a remote-endpoint property
of: property: Improve finding the supplier of a remote-endpoint property driver core: fw_devlink: Improve detection of overlapping cycles
of: property: Add in-ports/out-ports support to of_graph_get_port_parent()

Sean Anderson (1):
usb: ulpi: Fix debugfs directory leak

Sean Young (1):
media: rc: bpf attach/detach requires write permission

Sebastian Ene (1):
KVM: arm64: Fix circular locking dependency

Sebastian Ott (1):
drm/virtio: Set segment size for virtio_gpu device

SeongJae Park (1):
mm/damon/sysfs-schemes: fix wrong DAMOS tried regions update timeout setup

Shivaprasad G Bhat (1):
powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach

Shradha Gupta (1):
hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed

Shrikanth Hegde (1):
powerpc/pseries: fix accuracy of stolen time

Shuming Fan (1):
ALSA: hda/realtek: add IDs for Dell dual spk platform

Sidhartha Kumar (1):
fs/hugetlbfs/inode.c: mm/memory-failure.c: fix hugetlbfs hwpoison handling

Sinthu Raja (2):
net: ethernet: ti: cpsw: enable mac_managed_pm to fix mdio
net: ethernet: ti: cpsw_new: enable mac_managed_pm to fix mdio

Souradeep Chakrabarti (1):
hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove

Srinivas Pandruvada (1):
iio: hid-sensor-als: Return 0 for HID_USAGE_SENSOR_TIME_TIMESTAMP

Steve French (1):
smb: Fix regression in writes when non-standard maximum write size negotiated

Steve Wahl (1):
x86/mm/ident_map: Use gbpages only where full GB page should be mapped.

Steven Rostedt (Google) (16):
tracing: Fix wasted memory in saved_cmdlines logic
eventfs: Remove "lookup" parameter from create_dir/file_dentry()
eventfs: Stop using dcache_readdir() for getdents()
eventfs: Have eventfs_iterate() stop immediately if ei->is_freed is set
eventfs: Do ctx->pos update for all iterations in eventfs_iterate()
eventfs: Read ei->entries before ei->children in eventfs_iterate()
eventfs: Shortcut eventfs_iterate() by skipping entries already read
eventfs: Have the inodes all for files and directories all be the same
eventfs: Do not create dentries nor inodes in iterate_shared
eventfs: Save directory inodes in the eventfs_inode structure
tracefs: Zero out the tracefs_inode when allocating it
eventfs: Warn if an eventfs_inode is freed without is_freed being set
eventfs: Restructure eventfs_inode structure to be more condensed
eventfs: Remove fsnotify*() functions from lookup()
eventfs: Keep all directory links at 1
tracing: Inform kmemleak of saved_cmdlines allocation

Takashi Sakamoto (1):
firewire: core: correct documentation of fw_csr_string() kernel API

Tatsunosuke Tobita (1):
HID: wacom: generic: Avoid reporting a serial of '0' to userspace

Techno Mooney (1):
ASoC: amd: yc: Add DMI quirk for MSI Bravo 15 C7VF

Tejun Heo (1):
Revert "workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()"

Thong (1):
drm/amdgpu/soc21: update VCN 4 max HEVC encoding resolution

Thorsten Blum (1):
tracing/synthetic: Fix trace_string() return value

Timur Tabi (1):
drm/nouveau: fix several DMA buffer leaks

Tom Chung (1):
drm/amd/display: Preserve original aspect ratio in create stream

Tomi Valkeinen (1):
media: Revert "media: rkisp1: Drop IRQF_SHARED"

Udipto Goswami (1):
usb: core: Prevent null pointer dereference in update_port_device_state

Uttkarsh Aggarwal (1):
usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend

Uwe Kleine-König (1):
spi: ppc4xx: Drop write-only variable

Vaishnav Achath (1):
spi: omap2-mcspi: Revert FIFO support without DMA

Vegard Nossum (1):
docs: kernel_feat.py: fix build error for missing files

Viken Dadhaniya (1):
i2c: qcom-geni: Correct I2C TRE sequence

Ville Syrjälä (1):
drm/i915/dp: Limit SST link rate to <=8.1Gbps

Vincent Donnefort (1):
ring-buffer: Clean ring_buffer_poll_wait() error return

Vitaly Rodionov (1):
ALSA: hda/cs8409: Suppress vmaster control for Dolphin models

Wenjing Liu (1):
drm/amd/display: fix incorrect mpc_combine array size

Xu Yang (1):
usb: chipidea: core: handle power lost in workqueue

Yang Shi (2):
mm: huge_memory: don't force huge page alignment on 32 bit
mm: mmap: map MAP_STACK to VM_NOHUGEPAGE

Zach O'Keefe (1):
mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again

Zhikai Zhai (1):
drm/amd/display: Add align done check

Zhipeng Lu (1):
media: ir_toy: fix a memleak in irtoy_tx

Ziqi Zhao (1):
can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock

bo liu (1):
ALSA: hda/conexant: Add quirk for SWS JS201D

limingming3 (1):
tools/rtla: Replace setting prio with nice for SCHED_OTHER

yuan linyu (1):
usb: f_mass_storage: forbid async queue when shutdown happen

zhili.liu (1):
iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC

author maintainer
#1 lore raw
Documentation/ABI/testing/sysfs-class-net-statistics +24 -24
index 55db27815361..53e508c6936a 100644
@@ -1,4 +1,4 @@
-What:		/sys/class/<iface>/statistics/collisions
+What:		/sys/class/net/<iface>/statistics/collisions
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -6,7 +6,7 @@ Description:
 		Indicates the number of collisions seen by this network device.
 		This value might not be relevant with all MAC layers.
 
-What:		/sys/class/<iface>/statistics/multicast
+What:		/sys/class/net/<iface>/statistics/multicast
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -14,7 +14,7 @@ Description:
 		Indicates the number of multicast packets received by this
 		network device.
 
-What:		/sys/class/<iface>/statistics/rx_bytes
+What:		/sys/class/net/<iface>/statistics/rx_bytes
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -23,7 +23,7 @@ Description:
 		See the network driver for the exact meaning of when this
 		value is incremented.
 
-What:		/sys/class/<iface>/statistics/rx_compressed
+What:		/sys/class/net/<iface>/statistics/rx_compressed
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -32,7 +32,7 @@ Description:
 		network device. This value might only be relevant for interfaces
 		that support packet compression (e.g: PPP).
 
-What:		/sys/class/<iface>/statistics/rx_crc_errors
+What:		/sys/class/net/<iface>/statistics/rx_crc_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -41,7 +41,7 @@ Description:
 		by this network device. Note that the specific meaning might
 		depend on the MAC layer used by the interface.
 
-What:		/sys/class/<iface>/statistics/rx_dropped
+What:		/sys/class/net/<iface>/statistics/rx_dropped
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -51,7 +51,7 @@ Description:
 		packet processing. See the network driver for the exact
 		meaning of this value.
 
-What:		/sys/class/<iface>/statistics/rx_errors
+What:		/sys/class/net/<iface>/statistics/rx_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -59,7 +59,7 @@ Description:
 		Indicates the number of receive errors on this network device.
 		See the network driver for the exact meaning of this value.
 
-What:		/sys/class/<iface>/statistics/rx_fifo_errors
+What:		/sys/class/net/<iface>/statistics/rx_fifo_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -68,7 +68,7 @@ Description:
 		network device. See the network driver for the exact
 		meaning of this value.
 
-What:		/sys/class/<iface>/statistics/rx_frame_errors
+What:		/sys/class/net/<iface>/statistics/rx_frame_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -78,7 +78,7 @@ Description:
 		on the MAC layer protocol used. See the network driver for
 		the exact meaning of this value.
 
-What:		/sys/class/<iface>/statistics/rx_length_errors
+What:		/sys/class/net/<iface>/statistics/rx_length_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -87,7 +87,7 @@ Description:
 		error, oversized or undersized. See the network driver for the
 		exact meaning of this value.
 
-What:		/sys/class/<iface>/statistics/rx_missed_errors
+What:		/sys/class/net/<iface>/statistics/rx_missed_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -96,7 +96,7 @@ Description:
 		due to lack of capacity in the receive side. See the network
 		driver for the exact meaning of this value.
 
-What:		/sys/class/<iface>/statistics/rx_nohandler
+What:		/sys/class/net/<iface>/statistics/rx_nohandler
 Date:		February 2016
 KernelVersion:	4.6
 Contact:	[email protected]
@@ -104,7 +104,7 @@ Description:
 		Indicates the number of received packets that were dropped on
 		an inactive device by the network core.
 
-What:		/sys/class/<iface>/statistics/rx_over_errors
+What:		/sys/class/net/<iface>/statistics/rx_over_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -114,7 +114,7 @@ Description:
 		(e.g: larger than MTU). See the network driver for the exact
 		meaning of this value.
 
-What:		/sys/class/<iface>/statistics/rx_packets
+What:		/sys/class/net/<iface>/statistics/rx_packets
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -122,7 +122,7 @@ Description:
 		Indicates the total number of good packets received by this
 		network device.
 
-What:		/sys/class/<iface>/statistics/tx_aborted_errors
+What:		/sys/class/net/<iface>/statistics/tx_aborted_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -132,7 +132,7 @@ Description:
 		a medium collision). See the network driver for the exact
 		meaning of this value.
 
-What:		/sys/class/<iface>/statistics/tx_bytes
+What:		/sys/class/net/<iface>/statistics/tx_bytes
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -143,7 +143,7 @@ Description:
 		transmitted packets or all packets that have been queued for
 		transmission.
 
-What:		/sys/class/<iface>/statistics/tx_carrier_errors
+What:		/sys/class/net/<iface>/statistics/tx_carrier_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -152,7 +152,7 @@ Description:
 		because of carrier errors (e.g: physical link down). See the
 		network driver for the exact meaning of this value.
 
-What:		/sys/class/<iface>/statistics/tx_compressed
+What:		/sys/class/net/<iface>/statistics/tx_compressed
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -161,7 +161,7 @@ Description:
 		this might only be relevant for devices that support
 		compression (e.g: PPP).
 
-What:		/sys/class/<iface>/statistics/tx_dropped
+What:		/sys/class/net/<iface>/statistics/tx_dropped
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -170,7 +170,7 @@ Description:
 		See the driver for the exact reasons as to why the packets were
 		dropped.
 
-What:		/sys/class/<iface>/statistics/tx_errors
+What:		/sys/class/net/<iface>/statistics/tx_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -179,7 +179,7 @@ Description:
 		a network device. See the driver for the exact reasons as to
 		why the packets were dropped.
 
-What:		/sys/class/<iface>/statistics/tx_fifo_errors
+What:		/sys/class/net/<iface>/statistics/tx_fifo_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -188,7 +188,7 @@ Description:
 		FIFO error. See the driver for the exact reasons as to why the
 		packets were dropped.
 
-What:		/sys/class/<iface>/statistics/tx_heartbeat_errors
+What:		/sys/class/net/<iface>/statistics/tx_heartbeat_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -197,7 +197,7 @@ Description:
 		reported as heartbeat errors. See the driver for the exact
 		reasons as to why the packets were dropped.
 
-What:		/sys/class/<iface>/statistics/tx_packets
+What:		/sys/class/net/<iface>/statistics/tx_packets
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
@@ -206,7 +206,7 @@ Description:
 		device. See the driver for whether this reports the number of all
 		attempted or successful transmissions.
 
-What:		/sys/class/<iface>/statistics/tx_window_errors
+What:		/sys/class/net/<iface>/statistics/tx_window_errors
 Date:		April 2005
 KernelVersion:	2.6.12
 Contact:	[email protected]
Documentation/arch/arm64/silicon-errata.rst +7 -0
index 7acd64c61f50..29fd5213eeb2 100644
@@ -235,3 +235,10 @@ stable kernels.
 +----------------+-----------------+-----------------+-----------------------------+
 | ASR            | ASR8601         | #8601001        | N/A                         |
 +----------------+-----------------+-----------------+-----------------------------+
++----------------+-----------------+-----------------+-----------------------------+
+| Microsoft      | Azure Cobalt 100| #2139208        | ARM64_ERRATUM_2139208       |
++----------------+-----------------+-----------------+-----------------------------+
+| Microsoft      | Azure Cobalt 100| #2067961        | ARM64_ERRATUM_2067961       |
++----------------+-----------------+-----------------+-----------------------------+
+| Microsoft      | Azure Cobalt 100| #2253138        | ARM64_ERRATUM_2253138       |
++----------------+-----------------+-----------------+-----------------------------+
Documentation/netlink/specs/dpll.yaml +0 -4
index cf8abe1c0550..2b4c4bcd8361 100644
@@ -374,8 +374,6 @@ operations:
             - type
 
       dump:
-        pre: dpll-lock-dumpit
-        post: dpll-unlock-dumpit
         reply: *dev-attrs
 
     -
@@ -462,8 +460,6 @@ operations:
             - phase-adjust
 
       dump:
-        pre: dpll-lock-dumpit
-        post: dpll-unlock-dumpit
         request:
           attributes:
             - id
Documentation/networking/devlink/devlink-port.rst +1 -1
index e33ad2401ad7..562f46b41274 100644
@@ -126,7 +126,7 @@ Users may also set the RoCE capability of the function using
 `devlink port function set roce` command.
 
 Users may also set the function as migratable using
-'devlink port function set migratable' command.
+`devlink port function set migratable` command.
 
 Users may also set the IPsec crypto capability of the function using
 `devlink port function set ipsec_crypto` command.
Documentation/sphinx/kernel_feat.py +1 -1
index b9df61eb4501..03ace5f01b5c 100644
@@ -109,7 +109,7 @@ class KernelFeat(Directive):
             else:
                 out_lines += line + "\n"
 
-        nodeList = self.nestedParse(out_lines, fname)
+        nodeList = self.nestedParse(out_lines, self.arguments[0])
         return nodeList
 
     def nestedParse(self, lines, fname):
Makefile +1 -1
index 0f5bb9ddc98f..d07a8e0179ac 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 7
-SUBLEVEL = 5
+SUBLEVEL = 6
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/Kconfig +1 -0
index f4b210ab0612..a27129d48667 100644
@@ -681,6 +681,7 @@ config SHADOW_CALL_STACK
 	bool "Shadow Call Stack"
 	depends on ARCH_SUPPORTS_SHADOW_CALL_STACK
 	depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
+	depends on MMU
 	help
 	  This option enables the compiler's Shadow Call Stack, which
 	  uses a shadow stack to protect function return addresses from
arch/arc/include/asm/jump_label.h +2 -2
index 9d9618079739..a339223d9e05 100644
@@ -31,7 +31,7 @@
 static __always_inline bool arch_static_branch(struct static_key *key,
 					       bool branch)
 {
-	asm_volatile_goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)"	\n"
+	asm goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)"		\n"
 		 "1:							\n"
 		 "nop							\n"
 		 ".pushsection __jump_table, \"aw\"			\n"
@@ -47,7 +47,7 @@ static __always_inline bool arch_static_branch(struct static_key *key,
 static __always_inline bool arch_static_branch_jump(struct static_key *key,
 						    bool branch)
 {
-	asm_volatile_goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)"	\n"
+	asm goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)"		\n"
 		 "1:							\n"
 		 "b %l[l_yes]						\n"
 		 ".pushsection __jump_table, \"aw\"			\n"
arch/arm/include/asm/jump_label.h +2 -2
index e12d7d096fc0..e4eb54f6cd9f 100644
@@ -11,7 +11,7 @@
 
 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 WASM(nop) "\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
 		 ".word 1b, %l[l_yes], %c0\n\t"
@@ -25,7 +25,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran
 
 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 WASM(b) " %l[l_yes]\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
 		 ".word 1b, %l[l_yes], %c0\n\t"
arch/arm64/include/asm/alternative-macros.h +2 -2
index 210bb43cff2c..d328f549b1a6 100644
@@ -229,7 +229,7 @@ alternative_has_cap_likely(const unsigned long cpucap)
 	if (!cpucap_is_possible(cpucap))
 		return false;
 
-	asm_volatile_goto(
+	asm goto(
 	ALTERNATIVE_CB("b	%l[l_no]", %[cpucap], alt_cb_patch_nops)
 	:
 	: [cpucap] "i" (cpucap)
@@ -247,7 +247,7 @@ alternative_has_cap_unlikely(const unsigned long cpucap)
 	if (!cpucap_is_possible(cpucap))
 		return false;
 
-	asm_volatile_goto(
+	asm goto(
 	ALTERNATIVE("nop", "b	%l[l_yes]", %[cpucap])
 	:
 	: [cpucap] "i" (cpucap)
arch/arm64/include/asm/cputype.h +4 -0
index 7c7493cb571f..52f076afeb96 100644
@@ -61,6 +61,7 @@
 #define ARM_CPU_IMP_HISI		0x48
 #define ARM_CPU_IMP_APPLE		0x61
 #define ARM_CPU_IMP_AMPERE		0xC0
+#define ARM_CPU_IMP_MICROSOFT		0x6D
 
 #define ARM_CPU_PART_AEM_V8		0xD0F
 #define ARM_CPU_PART_FOUNDATION		0xD00
@@ -135,6 +136,8 @@
 
 #define AMPERE_CPU_PART_AMPERE1		0xAC3
 
+#define MICROSOFT_CPU_PART_AZURE_COBALT_100	0xD49 /* Based on r0p0 of ARM Neoverse N2 */
+
 #define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53)
 #define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57)
 #define MIDR_CORTEX_A72 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A72)
@@ -193,6 +196,7 @@
 #define MIDR_APPLE_M2_BLIZZARD_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_BLIZZARD_MAX)
 #define MIDR_APPLE_M2_AVALANCHE_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_AVALANCHE_MAX)
 #define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1)
+#define MIDR_MICROSOFT_AZURE_COBALT_100 MIDR_CPU_MODEL(ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_AZURE_COBALT_100)
 
 /* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */
 #define MIDR_FUJITSU_ERRATUM_010001		MIDR_FUJITSU_A64FX
arch/arm64/include/asm/jump_label.h +2 -2
index 48ddc0f45d22..6aafbb789991 100644
@@ -18,7 +18,7 @@
 static __always_inline bool arch_static_branch(struct static_key * const key,
 					       const bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"1:	nop					\n\t"
 		 "	.pushsection	__jump_table, \"aw\"	\n\t"
 		 "	.align		3			\n\t"
@@ -35,7 +35,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key,
 static __always_inline bool arch_static_branch_jump(struct static_key * const key,
 						    const bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"1:	b		%l[l_yes]		\n\t"
 		 "	.pushsection	__jump_table, \"aw\"	\n\t"
 		 "	.align		3			\n\t"
arch/arm64/kernel/cpu_errata.c +3 -0
index 967c7c7a4e7d..76b8dd37092a 100644
@@ -374,6 +374,7 @@ static const struct midr_range erratum_1463225[] = {
 static const struct midr_range trbe_overwrite_fill_mode_cpus[] = {
 #ifdef CONFIG_ARM64_ERRATUM_2139208
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
+	MIDR_ALL_VERSIONS(MIDR_MICROSOFT_AZURE_COBALT_100),
 #endif
 #ifdef CONFIG_ARM64_ERRATUM_2119858
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
@@ -387,6 +388,7 @@ static const struct midr_range trbe_overwrite_fill_mode_cpus[] = {
 static const struct midr_range tsb_flush_fail_cpus[] = {
 #ifdef CONFIG_ARM64_ERRATUM_2067961
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
+	MIDR_ALL_VERSIONS(MIDR_MICROSOFT_AZURE_COBALT_100),
 #endif
 #ifdef CONFIG_ARM64_ERRATUM_2054223
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
@@ -399,6 +401,7 @@ static const struct midr_range tsb_flush_fail_cpus[] = {
 static struct midr_range trbe_write_out_of_range_cpus[] = {
 #ifdef CONFIG_ARM64_ERRATUM_2253138
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
+	MIDR_ALL_VERSIONS(MIDR_MICROSOFT_AZURE_COBALT_100),
 #endif
 #ifdef CONFIG_ARM64_ERRATUM_2224489
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
arch/arm64/kernel/fpsimd.c +1 -1
index 7363f2eb98e8..f7d8f5d81cfe 100644
@@ -1628,7 +1628,7 @@ void fpsimd_preserve_current_state(void)
 void fpsimd_signal_preserve_current_state(void)
 {
 	fpsimd_preserve_current_state();
-	if (test_thread_flag(TIF_SVE))
+	if (current->thread.fp_type == FP_STATE_SVE)
 		sve_to_fpsimd(current);
 }
 
arch/arm64/kernel/signal.c +2 -2
index 0e8beb3349ea..425b1bc17a3f 100644
@@ -242,7 +242,7 @@ static int preserve_sve_context(struct sve_context __user *ctx)
 		vl = task_get_sme_vl(current);
 		vq = sve_vq_from_vl(vl);
 		flags |= SVE_SIG_FLAG_SM;
-	} else if (test_thread_flag(TIF_SVE)) {
+	} else if (current->thread.fp_type == FP_STATE_SVE) {
 		vq = sve_vq_from_vl(vl);
 	}
 
@@ -878,7 +878,7 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user,
 	if (system_supports_sve() || system_supports_sme()) {
 		unsigned int vq = 0;
 
-		if (add_all || test_thread_flag(TIF_SVE) ||
+		if (add_all || current->thread.fp_type == FP_STATE_SVE ||
 		    thread_sm_enabled(&current->thread)) {
 			int vl = max(sve_max_vl(), sme_max_vl());
 
arch/arm64/kvm/pkvm.c +17 -10
index 8350fb8fee0b..b7be96a53597 100644
@@ -101,6 +101,17 @@ void __init kvm_hyp_reserve(void)
 		 hyp_mem_base);
 }
 
+static void __pkvm_destroy_hyp_vm(struct kvm *host_kvm)
+{
+	if (host_kvm->arch.pkvm.handle) {
+		WARN_ON(kvm_call_hyp_nvhe(__pkvm_teardown_vm,
+					  host_kvm->arch.pkvm.handle));
+	}
+
+	host_kvm->arch.pkvm.handle = 0;
+	free_hyp_memcache(&host_kvm->arch.pkvm.teardown_mc);
+}
+
 /*
  * Allocates and donates memory for hypervisor VM structs at EL2.
  *
@@ -181,7 +192,7 @@ static int __pkvm_create_hyp_vm(struct kvm *host_kvm)
 	return 0;
 
 destroy_vm:
-	pkvm_destroy_hyp_vm(host_kvm);
+	__pkvm_destroy_hyp_vm(host_kvm);
 	return ret;
 free_vm:
 	free_pages_exact(hyp_vm, hyp_vm_sz);
@@ -194,23 +205,19 @@ int pkvm_create_hyp_vm(struct kvm *host_kvm)
 {
 	int ret = 0;
 
-	mutex_lock(&host_kvm->lock);
+	mutex_lock(&host_kvm->arch.config_lock);
 	if (!host_kvm->arch.pkvm.handle)
 		ret = __pkvm_create_hyp_vm(host_kvm);
-	mutex_unlock(&host_kvm->lock);
+	mutex_unlock(&host_kvm->arch.config_lock);
 
 	return ret;
 }
 
 void pkvm_destroy_hyp_vm(struct kvm *host_kvm)
 {
-	if (host_kvm->arch.pkvm.handle) {
-		WARN_ON(kvm_call_hyp_nvhe(__pkvm_teardown_vm,
-					  host_kvm->arch.pkvm.handle));
-	}
-
-	host_kvm->arch.pkvm.handle = 0;
-	free_hyp_memcache(&host_kvm->arch.pkvm.teardown_mc);
+	mutex_lock(&host_kvm->arch.config_lock);
+	__pkvm_destroy_hyp_vm(host_kvm);
+	mutex_unlock(&host_kvm->arch.config_lock);
 }
 
 int pkvm_init_host_vm(struct kvm *host_kvm)
arch/csky/include/asm/jump_label.h +2 -2
index 98a3f4b168bd..ef2e37a10a0f 100644
@@ -12,7 +12,7 @@
 static __always_inline bool arch_static_branch(struct static_key *key,
 					       bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"1:	nop32					\n"
 		"	.pushsection	__jump_table, \"aw\"	\n"
 		"	.align		2			\n"
@@ -29,7 +29,7 @@ static __always_inline bool arch_static_branch(struct static_key *key,
 static __always_inline bool arch_static_branch_jump(struct static_key *key,
 						    bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"1:	bsr32		%l[label]		\n"
 		"	.pushsection	__jump_table, \"aw\"	\n"
 		"	.align		2			\n"
arch/loongarch/include/asm/jump_label.h +2 -2
index 3cea299a5ef5..29acfe3de3fa 100644
@@ -22,7 +22,7 @@
 
 static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"1:	nop			\n\t"
 		JUMP_TABLE_ENTRY
 		:  :  "i"(&((char *)key)[branch]) :  : l_yes);
@@ -35,7 +35,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key, co
 
 static __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"1:	b	%l[l_yes]	\n\t"
 		JUMP_TABLE_ENTRY
 		:  :  "i"(&((char *)key)[branch]) :  : l_yes);
arch/loongarch/mm/kasan_init.c +3 -0
index cc3e81fe0186..c608adc99845 100644
@@ -44,6 +44,9 @@ void *kasan_mem_to_shadow(const void *addr)
 		unsigned long xrange = (maddr >> XRANGE_SHIFT) & 0xffff;
 		unsigned long offset = 0;
 
+		if (maddr >= FIXADDR_START)
+			return (void *)(kasan_early_shadow_page);
+
 		maddr &= XRANGE_SHADOW_MASK;
 		switch (xrange) {
 		case XKPRANGE_CC_SEG:
arch/mips/include/asm/checksum.h +2 -1
index 4044eaf989ac..0921ddda11a4 100644
@@ -241,7 +241,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
 	"	.set	pop"
 	: "=&r" (sum), "=&r" (tmp)
 	: "r" (saddr), "r" (daddr),
-	  "0" (htonl(len)), "r" (htonl(proto)), "r" (sum));
+	  "0" (htonl(len)), "r" (htonl(proto)), "r" (sum)
+	: "memory");
 
 	return csum_fold(sum);
 }
arch/mips/include/asm/jump_label.h +2 -2
index c5c6864e64bc..405c85173f2c 100644
@@ -36,7 +36,7 @@
 
 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\t" B_INSN " 2f\n\t"
+	asm goto("1:\t" B_INSN " 2f\n\t"
 		"2:\t.insn\n\t"
 		".pushsection __jump_table,  \"aw\"\n\t"
 		WORD_INSN " 1b, %l[l_yes], %0\n\t"
@@ -50,7 +50,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran
 
 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\t" J_INSN " %l[l_yes]\n\t"
+	asm goto("1:\t" J_INSN " %l[l_yes]\n\t"
 		".pushsection __jump_table,  \"aw\"\n\t"
 		WORD_INSN " 1b, %l[l_yes], %0\n\t"
 		".popsection\n\t"
arch/mips/include/asm/ptrace.h +2 -0
index daf3cf244ea9..701a233583c2 100644
@@ -154,6 +154,8 @@ static inline long regs_return_value(struct pt_regs *regs)
 }
 
 #define instruction_pointer(regs) ((regs)->cp0_epc)
+extern unsigned long exception_ip(struct pt_regs *regs);
+#define exception_ip(regs) exception_ip(regs)
 #define profile_pc(regs) instruction_pointer(regs)
 
 extern asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall);
arch/mips/kernel/ptrace.c +7 -0
index d9df543f7e2c..59288c13b581 100644
@@ -31,6 +31,7 @@
 #include <linux/seccomp.h>
 #include <linux/ftrace.h>
 
+#include <asm/branch.h>
 #include <asm/byteorder.h>
 #include <asm/cpu.h>
 #include <asm/cpu-info.h>
@@ -48,6 +49,12 @@
 #define CREATE_TRACE_POINTS
 #include <trace/events/syscalls.h>
 
+unsigned long exception_ip(struct pt_regs *regs)
+{
+	return exception_epc(regs);
+}
+EXPORT_SYMBOL(exception_ip);
+
 /*
  * Called by kernel/ptrace.c when detaching..
  *
arch/parisc/Kconfig +0 -1
index d14ccc948a29..5c845e8d59d9 100644
@@ -25,7 +25,6 @@ config PARISC
 	select RTC_DRV_GENERIC
 	select INIT_ALL_POSSIBLE
 	select BUG
-	select BUILDTIME_TABLE_SORT
 	select HAVE_KERNEL_UNCOMPRESSED
 	select HAVE_PCI
 	select HAVE_PERF_EVENTS
arch/parisc/include/asm/assembly.h +1 -0
index 74d17d7e759d..5937d5edaba1 100644
@@ -576,6 +576,7 @@
 	.section __ex_table,"aw"			!	\
 	.align 4					!	\
 	.word (fault_addr - .), (except_addr - .)	!	\
+	or %r0,%r0,%r0					!	\
 	.previous
 
 
arch/parisc/include/asm/extable.h new file +64 -0

64 lines not on this page · raw message

arch/parisc/include/asm/jump_label.h +2 -2
index 94428798b6aa..317ebc5edc9f 100644
@@ -12,7 +12,7 @@
 
 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 "nop\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
 		 ".align %1\n\t"
@@ -29,7 +29,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran
 
 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 "b,n %l[l_yes]\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
 		 ".align %1\n\t"
arch/parisc/include/asm/special_insns.h +4 -2
index c822bd0c0e3c..51f40eaf7780 100644
@@ -8,7 +8,8 @@
 		"copy %%r0,%0\n"			\
 		"8:\tlpa %%r0(%1),%0\n"			\
 		"9:\n"					\
-		ASM_EXCEPTIONTABLE_ENTRY(8b, 9b)	\
+		ASM_EXCEPTIONTABLE_ENTRY(8b, 9b,	\
+				"or %%r0,%%r0,%%r0")	\
 		: "=&r" (pa)				\
 		: "r" (va)				\
 		: "memory"				\
@@ -22,7 +23,8 @@
 		"copy %%r0,%0\n"			\
 		"8:\tlpa %%r0(%%sr3,%1),%0\n"		\
 		"9:\n"					\
-		ASM_EXCEPTIONTABLE_ENTRY(8b, 9b)	\
+		ASM_EXCEPTIONTABLE_ENTRY(8b, 9b,	\
+				"or %%r0,%%r0,%%r0")	\
 		: "=&r" (pa)				\
 		: "r" (va)				\
 		: "memory"				\
arch/parisc/include/asm/uaccess.h +7 -41

94 lines not on this page · raw message

arch/parisc/kernel/cache.c +3 -3
index 268d90a9325b..393822f16727 100644
@@ -58,7 +58,7 @@ int pa_serialize_tlb_flushes __ro_after_init;
 
 struct pdc_cache_info cache_info __ro_after_init;
 #ifndef CONFIG_PA20
-struct pdc_btlb_info btlb_info __ro_after_init;
+struct pdc_btlb_info btlb_info;
 #endif
 
 DEFINE_STATIC_KEY_TRUE(parisc_has_cache);
@@ -850,7 +850,7 @@ SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes,
 #endif
 			"   fic,m	%3(%4,%0)\n"
 			"2: sync\n"
-			ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 2b)
+			ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 2b, "%1")
 			: "+r" (start), "+r" (error)
 			: "r" (end), "r" (dcache_stride), "i" (SR_USER));
 	}
@@ -865,7 +865,7 @@ SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes,
 #endif
 			"   fdc,m	%3(%4,%0)\n"
 			"2: sync\n"
-			ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 2b)
+			ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 2b, "%1")
 			: "+r" (start), "+r" (error)
 			: "r" (end), "r" (icache_stride), "i" (SR_USER));
 	}
arch/parisc/kernel/drivers.c +3 -0
index 25f9b9e9d6df..404ea37705ce 100644
@@ -1004,6 +1004,9 @@ static __init int qemu_print_iodc_data(struct device *lin_dev, void *data)
 
 	pr_info("\n");
 
+	/* Prevent hung task messages when printing on serial console */
+	cond_resched();
+
 	pr_info("#define HPA_%08lx_DESCRIPTION \"%s\"\n",
 		hpa, parisc_hardware_description(&dev->id));
 
arch/parisc/kernel/unaligned.c +22 -22

92 lines not on this page · raw message

arch/parisc/mm/fault.c +8 -3
index 2fe5b44986e0..c39de84e98b0 100644
@@ -150,11 +150,16 @@ int fixup_exception(struct pt_regs *regs)
 		 * Fix up get_user() and put_user().
 		 * ASM_EXCEPTIONTABLE_ENTRY_EFAULT() sets the least-significant
 		 * bit in the relative address of the fixup routine to indicate
-		 * that gr[ASM_EXCEPTIONTABLE_REG] should be loaded with
-		 * -EFAULT to report a userspace access error.
+		 * that the register encoded in the "or %r0,%r0,register"
+		 * opcode should be loaded with -EFAULT to report a userspace
+		 * access error.
 		 */
 		if (fix->fixup & 1) {
-			regs->gr[ASM_EXCEPTIONTABLE_REG] = -EFAULT;
+			int fault_error_reg = fix->err_opcode & 0x1f;
+			if (!WARN_ON(!fault_error_reg))
+				regs->gr[fault_error_reg] = -EFAULT;
+			pr_debug("Unalignment fixup of register %d at %pS\n",
+				fault_error_reg, (void*)regs->iaoq[0]);
 
 			/* zero target register for get_user() */
 			if (parisc_acctyp(0, regs->iir) == VM_READ) {
arch/powerpc/include/asm/jump_label.h +2 -2
index 93ce3ec25387..2f2a86ed2280 100644
@@ -17,7 +17,7 @@
 
 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 "nop # arch_static_branch\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
 		 ".long 1b - ., %l[l_yes] - .\n\t"
@@ -32,7 +32,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran
 
 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 "b %l[l_yes] # arch_static_branch_jump\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
 		 ".long 1b - ., %l[l_yes] - .\n\t"
arch/powerpc/include/asm/reg.h +2 -0
index 4ae4ab9090a2..ade5f094dbd2 100644
@@ -617,6 +617,8 @@
 #endif
 #define SPRN_HID2	0x3F8		/* Hardware Implementation Register 2 */
 #define SPRN_HID2_GEKKO	0x398		/* Gekko HID2 Register */
+#define SPRN_HID2_G2_LE	0x3F3		/* G2_LE HID2 Register */
+#define  HID2_G2_LE_HBE	(1<<18)		/* High BAT Enable (G2_LE) */
 #define SPRN_IABR	0x3F2	/* Instruction Address Breakpoint Register */
 #define SPRN_IABR2	0x3FA		/* 83xx */
 #define SPRN_IBCR	0x135		/* 83xx Insn Breakpoint Control Reg */
arch/powerpc/include/asm/thread_info.h +1 -1
index bf5dde1a4114..15c5691dd218 100644
@@ -14,7 +14,7 @@
 
 #ifdef __KERNEL__
 
-#ifdef CONFIG_KASAN
+#if defined(CONFIG_KASAN) && CONFIG_THREAD_SHIFT < 15
 #define MIN_THREAD_SHIFT	(CONFIG_THREAD_SHIFT + 1)
 #else
 #define MIN_THREAD_SHIFT	CONFIG_THREAD_SHIFT
arch/powerpc/include/asm/uaccess.h +6 -6
index f1f9890f50d3..de10437fd206 100644
@@ -74,7 +74,7 @@ __pu_failed:							\
 /* -mprefixed can generate offsets beyond range, fall back hack */
 #ifdef CONFIG_PPC_KERNEL_PREFIXED
 #define __put_user_asm_goto(x, addr, label, op)			\
-	asm_volatile_goto(					\
+	asm goto(					\
 		"1:	" op " %0,0(%1)	# put_user\n"		\
 		EX_TABLE(1b, %l2)				\
 		:						\
@@ -83,7 +83,7 @@ __pu_failed:							\
 		: label)
 #else
 #define __put_user_asm_goto(x, addr, label, op)			\
-	asm_volatile_goto(					\
+	asm goto(					\
 		"1:	" op "%U1%X1 %0,%1	# put_user\n"	\
 		EX_TABLE(1b, %l2)				\
 		:						\
@@ -97,7 +97,7 @@ __pu_failed:							\
 	__put_user_asm_goto(x, ptr, label, "std")
 #else /* __powerpc64__ */
 #define __put_user_asm2_goto(x, addr, label)			\
-	asm_volatile_goto(					\
+	asm goto(					\
 		"1:	stw%X1 %0, %1\n"			\
 		"2:	stw%X1 %L0, %L1\n"			\
 		EX_TABLE(1b, %l2)				\
@@ -146,7 +146,7 @@ do {								\
 /* -mprefixed can generate offsets beyond range, fall back hack */
 #ifdef CONFIG_PPC_KERNEL_PREFIXED
 #define __get_user_asm_goto(x, addr, label, op)			\
-	asm_volatile_goto(					\
+	asm_goto_output(					\
 		"1:	"op" %0,0(%1)	# get_user\n"		\
 		EX_TABLE(1b, %l2)				\
 		: "=r" (x)					\
@@ -155,7 +155,7 @@ do {								\
 		: label)
 #else
 #define __get_user_asm_goto(x, addr, label, op)			\
-	asm_volatile_goto(					\
+	asm_goto_output(					\
 		"1:	"op"%U1%X1 %0, %1	# get_user\n"	\
 		EX_TABLE(1b, %l2)				\
 		: "=r" (x)					\
@@ -169,7 +169,7 @@ do {								\
 	__get_user_asm_goto(x, addr, label, "ld")
 #else /* __powerpc64__ */
 #define __get_user_asm2_goto(x, addr, label)			\
-	asm_volatile_goto(					\
+	asm_goto_output(					\
 		"1:	lwz%X1 %0, %1\n"			\
 		"2:	lwz%X1 %L0, %L1\n"			\
 		EX_TABLE(1b, %l2)				\
arch/powerpc/kernel/cpu_setup_6xx.S +19 -1
index f29ce3dd6140..bfd3f442e5eb 100644
@@ -26,6 +26,15 @@ BEGIN_FTR_SECTION
 	bl	__init_fpu_registers
 END_FTR_SECTION_IFCLR(CPU_FTR_FPU_UNAVAILABLE)
 	bl	setup_common_caches
+
+	/*
+	 * This assumes that all cores using __setup_cpu_603 with
+	 * MMU_FTR_USE_HIGH_BATS are G2_LE compatible
+	 */
+BEGIN_MMU_FTR_SECTION
+	bl      setup_g2_le_hid2
+END_MMU_FTR_SECTION_IFSET(MMU_FTR_USE_HIGH_BATS)
+
 	mtlr	r5
 	blr
 _GLOBAL(__setup_cpu_604)
@@ -115,6 +124,16 @@ SYM_FUNC_START_LOCAL(setup_604_hid0)
 	blr
 SYM_FUNC_END(setup_604_hid0)
 
+/* Enable high BATs for G2_LE and derivatives like e300cX */
+SYM_FUNC_START_LOCAL(setup_g2_le_hid2)
+	mfspr	r11,SPRN_HID2_G2_LE
+	oris	r11,r11,HID2_G2_LE_HBE@h
+	mtspr	SPRN_HID2_G2_LE,r11
+	sync
+	isync
+	blr
+SYM_FUNC_END(setup_g2_le_hid2)
+
 /* 7400 <= rev 2.7 and 7410 rev = 1.0 suffer from some
  * erratas we work around here.
  * Moto MPC710CE.pdf describes them, those are errata
@@ -495,4 +514,3 @@ _GLOBAL(__restore_cpu_setup)
 	mtcr	r7
 	blr
 _ASM_NOKPROBE_SYMBOL(__restore_cpu_setup)
-
arch/powerpc/kernel/cpu_specs_e500mc.h +2 -1
index ceb06b109f83..2ae8e9a7b461 100644
@@ -8,7 +8,8 @@
 
 #ifdef CONFIG_PPC64
 #define COMMON_USER_BOOKE	(PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
-				 PPC_FEATURE_HAS_FPU | PPC_FEATURE_64)
+				 PPC_FEATURE_HAS_FPU | PPC_FEATURE_64 | \
+				 PPC_FEATURE_BOOKE)
 #else
 #define COMMON_USER_BOOKE	(PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
 				 PPC_FEATURE_BOOKE)
arch/powerpc/kernel/interrupt_64.S +2 -2
index bd863702d812..1ad059a9e2fe 100644
@@ -52,7 +52,8 @@ _ASM_NOKPROBE_SYMBOL(system_call_vectored_\name)
 	mr	r10,r1
 	ld	r1,PACAKSAVE(r13)
 	std	r10,0(r1)
-	std	r11,_NIP(r1)
+	std	r11,_LINK(r1)
+	std	r11,_NIP(r1)	/* Saved LR is also the next instruction */
 	std	r12,_MSR(r1)
 	std	r0,GPR0(r1)
 	std	r10,GPR1(r1)
@@ -70,7 +71,6 @@ _ASM_NOKPROBE_SYMBOL(system_call_vectored_\name)
 	std	r9,GPR13(r1)
 	SAVE_NVGPRS(r1)
 	std	r11,_XER(r1)
-	std	r11,_LINK(r1)
 	std	r11,_CTR(r1)
 
 	li	r11,\trapnr
arch/powerpc/kernel/iommu.c +3 -1
index ebe259bdd462..df17b33b89d1 100644
@@ -1290,8 +1290,10 @@ spapr_tce_platform_iommu_attach_dev(struct iommu_domain *platform_domain,
 	int ret = -EINVAL;
 
 	/* At first attach the ownership is already set */
-	if (!domain)
+	if (!domain) {
+		iommu_group_put(grp);
 		return 0;
+	}
 
 	if (!grp)
 		return -ENODEV;
arch/powerpc/kernel/irq_64.c +1 -1
index 938e66829eae..d5c48d1b0a31 100644
@@ -230,7 +230,7 @@ notrace __no_kcsan void arch_local_irq_restore(unsigned long mask)
 	 * This allows interrupts to be unmasked without hard disabling, and
 	 * also without new hard interrupts coming in ahead of pending ones.
 	 */
-	asm_volatile_goto(
+	asm goto(
 "1:					\n"
 "		lbz	9,%0(13)	\n"
 "		cmpwi	9,0		\n"
arch/powerpc/mm/kasan/init_32.c +1 -0
index a70828a6d935..aa9aa11927b2 100644
@@ -64,6 +64,7 @@ int __init __weak kasan_init_region(void *start, size_t size)
 	if (ret)
 		return ret;
 
+	k_start = k_start & PAGE_MASK;
 	block = memblock_alloc(k_end - k_start, PAGE_SIZE);
 	if (!block)
 		return -ENOMEM;
arch/powerpc/platforms/pseries/lpar.c +6 -2
index 4561667832ed..4e9916bb03d7 100644
@@ -662,8 +662,12 @@ u64 pseries_paravirt_steal_clock(int cpu)
 {
 	struct lppaca *lppaca = &lppaca_of(cpu);
 
-	return be64_to_cpu(READ_ONCE(lppaca->enqueue_dispatch_tb)) +
-		be64_to_cpu(READ_ONCE(lppaca->ready_enqueue_tb));
+	/*
+	 * VPA steal time counters are reported at TB frequency. Hence do a
+	 * conversion to ns before returning
+	 */
+	return tb_to_ns(be64_to_cpu(READ_ONCE(lppaca->enqueue_dispatch_tb)) +
+			be64_to_cpu(READ_ONCE(lppaca->ready_enqueue_tb)));
 }
 #endif
 
arch/riscv/include/asm/bitops.h +4 -4
index 224b4dc02b50..ce47613e3865 100644
@@ -39,7 +39,7 @@ static __always_inline unsigned long variable__ffs(unsigned long word)
 {
 	int num;
 
-	asm_volatile_goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
+	asm goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
 				      RISCV_ISA_EXT_ZBB, 1)
 			  : : : : legacy);
 
@@ -95,7 +95,7 @@ static __always_inline unsigned long variable__fls(unsigned long word)
 {
 	int num;
 
-	asm_volatile_goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
+	asm goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
 				      RISCV_ISA_EXT_ZBB, 1)
 			  : : : : legacy);
 
@@ -154,7 +154,7 @@ static __always_inline int variable_ffs(int x)
 	if (!x)
 		return 0;
 
-	asm_volatile_goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
+	asm goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
 				      RISCV_ISA_EXT_ZBB, 1)
 			  : : : : legacy);
 
@@ -209,7 +209,7 @@ static __always_inline int variable_fls(unsigned int x)
 	if (!x)
 		return 0;
 
-	asm_volatile_goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
+	asm goto(ALTERNATIVE("j %l[legacy]", "nop", 0,
 				      RISCV_ISA_EXT_ZBB, 1)
 			  : : : : legacy);
 
arch/riscv/include/asm/cpufeature.h +2 -2
index a418c3112cd6..aa6548b46a8a 100644
@@ -78,7 +78,7 @@ riscv_has_extension_likely(const unsigned long ext)
 			   "ext must be < RISCV_ISA_EXT_MAX");
 
 	if (IS_ENABLED(CONFIG_RISCV_ALTERNATIVE)) {
-		asm_volatile_goto(
+		asm goto(
 		ALTERNATIVE("j	%l[l_no]", "nop", 0, %[ext], 1)
 		:
 		: [ext] "i" (ext)
@@ -101,7 +101,7 @@ riscv_has_extension_unlikely(const unsigned long ext)
 			   "ext must be < RISCV_ISA_EXT_MAX");
 
 	if (IS_ENABLED(CONFIG_RISCV_ALTERNATIVE)) {
-		asm_volatile_goto(
+		asm goto(
 		ALTERNATIVE("nop", "j	%l[l_yes]", 0, %[ext], 1)
 		:
 		: [ext] "i" (ext)
arch/riscv/include/asm/jump_label.h +2 -2
index 14a5ea8d8ef0..4a35d787c019 100644
@@ -17,7 +17,7 @@
 static __always_inline bool arch_static_branch(struct static_key * const key,
 					       const bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"	.align		2			\n\t"
 		"	.option push				\n\t"
 		"	.option norelax				\n\t"
@@ -39,7 +39,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key,
 static __always_inline bool arch_static_branch_jump(struct static_key * const key,
 						    const bool branch)
 {
-	asm_volatile_goto(
+	asm goto(
 		"	.align		2			\n\t"
 		"	.option push				\n\t"
 		"	.option norelax				\n\t"
arch/s390/include/asm/jump_label.h +2 -2
index 895f774bbcc5..bf78cf381dfc 100644
@@ -25,7 +25,7 @@
  */
 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("0:	brcl 0,%l[label]\n"
+	asm goto("0:	brcl 0,%l[label]\n"
 			  ".pushsection __jump_table,\"aw\"\n"
 			  ".balign	8\n"
 			  ".long	0b-.,%l[label]-.\n"
@@ -39,7 +39,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran
 
 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("0:	brcl 15,%l[label]\n"
+	asm goto("0:	brcl 15,%l[label]\n"
 			  ".pushsection __jump_table,\"aw\"\n"
 			  ".balign	8\n"
 			  ".long	0b-.,%l[label]-.\n"
arch/s390/kvm/vsie.c +0 -1
index 8207a892bbe2..db9a180de65f 100644
@@ -1220,7 +1220,6 @@ static int acquire_gmap_shadow(struct kvm_vcpu *vcpu,
 	gmap = gmap_shadow(vcpu->arch.gmap, asce, edat);
 	if (IS_ERR(gmap))
 		return PTR_ERR(gmap);
-	gmap->private = vcpu->kvm;
 	vcpu->kvm->stat.gmap_shadow_create++;
 	WRITE_ONCE(vsie_page->gmap, gmap);
 	return 0;
arch/s390/mm/gmap.c +1 -0
index 6f96b5a71c63..8da39deb56ca 100644
@@ -1691,6 +1691,7 @@ struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce,
 		return ERR_PTR(-ENOMEM);
 	new->mm = parent->mm;
 	new->parent = gmap_get(parent);
+	new->private = parent->private;
 	new->orig_asce = asce;
 	new->edat_level = edat_level;
 	new->initialized = false;
arch/sparc/include/asm/jump_label.h +2 -2
index 94eb529dcb77..2718cbea826a 100644
@@ -10,7 +10,7 @@
 
 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 "nop\n\t"
 		 "nop\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
@@ -26,7 +26,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran
 
 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 		 "b %l[l_yes]\n\t"
 		 "nop\n\t"
 		 ".pushsection __jump_table,  \"aw\"\n\t"
arch/um/Makefile +3 -1
index 82f05f250634..34957dcb88b9 100644
@@ -115,7 +115,9 @@ archprepare:
 	$(Q)$(MAKE) $(build)=$(HOST_DIR)/um include/generated/user_constants.h
 
 LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
-LINK-$(CONFIG_LD_SCRIPT_DYN) += $(call cc-option, -no-pie)
+ifdef CONFIG_LD_SCRIPT_DYN
+LINK-$(call gcc-min-version, 60100)$(CONFIG_CC_IS_CLANG) += -no-pie
+endif
 LINK-$(CONFIG_LD_SCRIPT_DYN_RPATH) += -Wl,-rpath,/lib
 
 CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \
arch/um/include/asm/cpufeature.h +1 -1
index 4b6d1b526bc1..66fe06db872f 100644
@@ -75,7 +75,7 @@ extern void setup_clear_cpu_cap(unsigned int bit);
  */
 static __always_inline bool _static_cpu_has(u16 bit)
 {
-	asm_volatile_goto("1: jmp 6f\n"
+	asm goto("1: jmp 6f\n"
 		 "2:\n"
 		 ".skip -(((5f-4f) - (2b-1b)) > 0) * "
 			 "((5f-4f) - (2b-1b)),0x90\n"
arch/x86/Kconfig.cpu +1 -1
index 00468adf180f..87396575cfa7 100644
@@ -375,7 +375,7 @@ config X86_CMOV
 config X86_MINIMUM_CPU_FAMILY
 	int
 	default "64" if X86_64
-	default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCRUSOE || MCORE2 || MK7 || MK8)
+	default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCORE2 || MK7 || MK8)
 	default "5" if X86_32 && X86_CMPXCHG64
 	default "4"
 
arch/x86/include/asm/barrier.h +0 -18
index 35389b2af88e..0216f63a366b 100644
@@ -81,22 +81,4 @@ do {									\
 
 #include <asm-generic/barrier.h>
 
-/*
- * Make previous memory operations globally visible before
- * a WRMSR.
- *
- * MFENCE makes writes visible, but only affects load/store
- * instructions.  WRMSR is unfortunately not a load/store
- * instruction and is unaffected by MFENCE.  The LFENCE ensures
- * that the WRMSR is not reordered.
- *
- * Most WRMSRs are full serializing instructions themselves and
- * do not require this barrier.  This is only required for the
- * IA32_TSC_DEADLINE and X2APIC MSRs.
- */
-static inline void weak_wrmsr_fence(void)
-{
-	asm volatile("mfence; lfence" : : : "memory");
-}
-
 #endif /* _ASM_X86_BARRIER_H */
arch/x86/include/asm/cpufeature.h +1 -1
index a26bebbdff87..a1273698fc43 100644
@@ -168,7 +168,7 @@ extern void clear_cpu_cap(struct cpuinfo_x86 *c, unsigned int bit);
  */
 static __always_inline bool _static_cpu_has(u16 bit)
 {
-	asm_volatile_goto(
+	asm goto(
 		ALTERNATIVE_TERNARY("jmp 6f", %P[feature], "", "jmp %l[t_no]")
 		".pushsection .altinstr_aux,\"ax\"\n"
 		"6:\n"
arch/x86/include/asm/cpufeatures.h +1 -1
index 4af140cf5719..3e973ff20e23 100644
@@ -308,10 +308,10 @@
 #define X86_FEATURE_SMBA		(11*32+21) /* "" Slow Memory Bandwidth Allocation */
 #define X86_FEATURE_BMEC		(11*32+22) /* "" Bandwidth Monitoring Event Configuration */
 #define X86_FEATURE_USER_SHSTK		(11*32+23) /* Shadow stack support for user mode applications */
-
 #define X86_FEATURE_SRSO		(11*32+24) /* "" AMD BTB untrain RETs */
 #define X86_FEATURE_SRSO_ALIAS		(11*32+25) /* "" AMD BTB untrain RETs through aliasing */
 #define X86_FEATURE_IBPB_ON_VMEXIT	(11*32+26) /* "" Issue an IBPB only on VMEXIT */
+#define X86_FEATURE_APIC_MSRS_FENCE	(11*32+27) /* "" IA32_TSC_DEADLINE and X2APIC MSRs need fencing */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */
 #define X86_FEATURE_AVX_VNNI		(12*32+ 4) /* AVX VNNI instructions */
arch/x86/include/asm/jump_label.h +3 -3
index 071572e23d3a..cbbef32517f0 100644
@@ -24,7 +24,7 @@
 
 static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
 {
-	asm_volatile_goto("1:"
+	asm goto("1:"
 		"jmp %l[l_yes] # objtool NOPs this \n\t"
 		JUMP_TABLE_ENTRY
 		: :  "i" (key), "i" (2 | branch) : : l_yes);
@@ -38,7 +38,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran
 
 static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch)
 {
-	asm_volatile_goto("1:"
+	asm goto("1:"
 		".byte " __stringify(BYTES_NOP5) "\n\t"
 		JUMP_TABLE_ENTRY
 		: :  "i" (key), "i" (branch) : : l_yes);
@@ -52,7 +52,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key, co
 
 static __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch)
 {
-	asm_volatile_goto("1:"
+	asm goto("1:"
 		"jmp %l[l_yes]\n\t"
 		JUMP_TABLE_ENTRY
 		: :  "i" (key), "i" (branch) : : l_yes);
arch/x86/include/asm/processor.h +18 -0
index ae81a7191c1c..26620d7642a9 100644
@@ -749,4 +749,22 @@ enum mds_mitigations {
 
 extern bool gds_ucode_mitigated(void);
 
+/*
+ * Make previous memory operations globally visible before
+ * a WRMSR.
+ *
+ * MFENCE makes writes visible, but only affects load/store
+ * instructions.  WRMSR is unfortunately not a load/store
+ * instruction and is unaffected by MFENCE.  The LFENCE ensures
+ * that the WRMSR is not reordered.
+ *
+ * Most WRMSRs are full serializing instructions themselves and
+ * do not require this barrier.  This is only required for the
+ * IA32_TSC_DEADLINE and X2APIC MSRs.
+ */
+static inline void weak_wrmsr_fence(void)
+{
+	alternative("mfence; lfence", "", ALT_NOT(X86_FEATURE_APIC_MSRS_FENCE));
+}
+
 #endif /* _ASM_X86_PROCESSOR_H */
arch/x86/include/asm/rmwcc.h +1 -1
index 4b081e0d3306..363266cbcada 100644
@@ -13,7 +13,7 @@
 #define __GEN_RMWcc(fullop, _var, cc, clobbers, ...)			\
 ({									\
 	bool c = false;							\
-	asm_volatile_goto (fullop "; j" #cc " %l[cc_label]"		\
+	asm goto (fullop "; j" #cc " %l[cc_label]"		\
 			: : [var] "m" (_var), ## __VA_ARGS__		\
 			: clobbers : cc_label);				\
 	if (0) {							\
arch/x86/include/asm/special_insns.h +1 -1
index d6cd9344f6c7..48f8dd47cf68 100644
@@ -205,7 +205,7 @@ static inline void clwb(volatile void *__p)
 #ifdef CONFIG_X86_USER_SHADOW_STACK
 static inline int write_user_shstk_64(u64 __user *addr, u64 val)
 {
-	asm_volatile_goto("1: wrussq %[val], (%[addr])\n"
+	asm goto("1: wrussq %[val], (%[addr])\n"
 			  _ASM_EXTABLE(1b, %l[fail])
 			  :: [addr] "r" (addr), [val] "r" (val)
 			  :: fail);
arch/x86/include/asm/uaccess.h +5 -5
index 5c367c1290c3..237dc8cdd12b 100644
@@ -133,7 +133,7 @@ extern int __get_user_bad(void);
 
 #ifdef CONFIG_X86_32
 #define __put_user_goto_u64(x, addr, label)			\
-	asm_volatile_goto("\n"					\
+	asm goto("\n"					\
 		     "1:	movl %%eax,0(%1)\n"		\
 		     "2:	movl %%edx,4(%1)\n"		\
 		     _ASM_EXTABLE_UA(1b, %l2)			\
@@ -295,7 +295,7 @@ do {									\
 } while (0)
 
 #define __get_user_asm(x, addr, itype, ltype, label)			\
-	asm_volatile_goto("\n"						\
+	asm_goto_output("\n"						\
 		     "1:	mov"itype" %[umem],%[output]\n"		\
 		     _ASM_EXTABLE_UA(1b, %l2)				\
 		     : [output] ltype(x)				\
@@ -375,7 +375,7 @@ do {									\
 	__typeof__(_ptr) _old = (__typeof__(_ptr))(_pold);		\
 	__typeof__(*(_ptr)) __old = *_old;				\
 	__typeof__(*(_ptr)) __new = (_new);				\
-	asm_volatile_goto("\n"						\
+	asm_goto_output("\n"						\
 		     "1: " LOCK_PREFIX "cmpxchg"itype" %[new], %[ptr]\n"\
 		     _ASM_EXTABLE_UA(1b, %l[label])			\
 		     : CC_OUT(z) (success),				\
@@ -394,7 +394,7 @@ do {									\
 	__typeof__(_ptr) _old = (__typeof__(_ptr))(_pold);		\
 	__typeof__(*(_ptr)) __old = *_old;				\
 	__typeof__(*(_ptr)) __new = (_new);				\
-	asm_volatile_goto("\n"						\
+	asm_goto_output("\n"						\
 		     "1: " LOCK_PREFIX "cmpxchg8b %[ptr]\n"		\
 		     _ASM_EXTABLE_UA(1b, %l[label])			\
 		     : CC_OUT(z) (success),				\
@@ -477,7 +477,7 @@ struct __large_struct { unsigned long buf[100]; };
  * aliasing issues.
  */
 #define __put_user_goto(x, addr, itype, ltype, label)			\
-	asm_volatile_goto("\n"						\
+	asm goto("\n"							\
 		"1:	mov"itype" %0,%1\n"				\
 		_ASM_EXTABLE_UA(1b, %l2)				\
 		: : ltype(x), "m" (__m(addr))				\
arch/x86/kernel/cpu/amd.c +3 -0
index f322ebd053a9..2055fb308f5b 100644
@@ -1162,6 +1162,9 @@ static void init_amd(struct cpuinfo_x86 *c)
 	if (!cpu_has(c, X86_FEATURE_HYPERVISOR) &&
 	     cpu_has_amd_erratum(c, amd_erratum_1485))
 		msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT);
+
+	/* AMD CPUs don't need fencing after x2APIC/TSC_DEADLINE MSR writes. */
+	clear_cpu_cap(c, X86_FEATURE_APIC_MSRS_FENCE);
 }
 
 #ifdef CONFIG_X86_32
arch/x86/kernel/cpu/common.c +7 -0
index b14fc8c1c953..98f7ea6b931c 100644
@@ -1856,6 +1856,13 @@ static void identify_cpu(struct cpuinfo_x86 *c)
 	c->topo.apicid = apic->phys_pkg_id(c->topo.initial_apicid, 0);
 #endif
 
+
+	/*
+	 * Set default APIC and TSC_DEADLINE MSR fencing flag. AMD and
+	 * Hygon will clear it in ->c_init() below.
+	 */
+	set_cpu_cap(c, X86_FEATURE_APIC_MSRS_FENCE);
+
 	/*
 	 * Vendor-specific initialization.  In this section we
 	 * canonicalize the feature flags, meaning if there are
arch/x86/kernel/cpu/hygon.c +3 -0
index 6f247d66758d..f0cd95502faa 100644
@@ -354,6 +354,9 @@ static void init_hygon(struct cpuinfo_x86 *c)
 		set_cpu_bug(c, X86_BUG_SYSRET_SS_ATTRS);
 
 	check_null_seg_clears_base(c);
+
+	/* Hygon CPUs don't need fencing after x2APIC/TSC_DEADLINE MSR writes. */
+	clear_cpu_cap(c, X86_FEATURE_APIC_MSRS_FENCE);
 }
 
 static void cpu_detect_tlb_hygon(struct cpuinfo_x86 *c)
arch/x86/kernel/fpu/signal.c +5 -8
index 558076dbde5b..247f2225aa9f 100644
@@ -274,12 +274,13 @@ static int __restore_fpregs_from_user(void __user *buf, u64 ufeatures,
  * Attempt to restore the FPU registers directly from user memory.
  * Pagefaults are handled and any errors returned are fatal.
  */
-static bool restore_fpregs_from_user(void __user *buf, u64 xrestore,
-				     bool fx_only, unsigned int size)
+static bool restore_fpregs_from_user(void __user *buf, u64 xrestore, bool fx_only)
 {
 	struct fpu *fpu = &current->thread.fpu;
 	int ret;
 
+	/* Restore enabled features only. */
+	xrestore &= fpu->fpstate->user_xfeatures;
 retry:
 	fpregs_lock();
 	/* Ensure that XFD is up to date */
@@ -309,7 +310,7 @@ static bool restore_fpregs_from_user(void __user *buf, u64 xrestore,
 		if (ret != X86_TRAP_PF)
 			return false;
 
-		if (!fault_in_readable(buf, size))
+		if (!fault_in_readable(buf, fpu->fpstate->user_size))
 			goto retry;
 		return false;
 	}
@@ -339,7 +340,6 @@ static bool __fpu_restore_sig(void __user *buf, void __user *buf_fx,
 	struct user_i387_ia32_struct env;
 	bool success, fx_only = false;
 	union fpregs_state *fpregs;
-	unsigned int state_size;
 	u64 user_xfeatures = 0;
 
 	if (use_xsave()) {
@@ -349,17 +349,14 @@ static bool __fpu_restore_sig(void __user *buf, void __user *buf_fx,
 			return false;
 
 		fx_only = !fx_sw_user.magic1;
-		state_size = fx_sw_user.xstate_size;
 		user_xfeatures = fx_sw_user.xfeatures;
 	} else {
 		user_xfeatures = XFEATURE_MASK_FPSSE;
-		state_size = fpu->fpstate->user_size;
 	}
 
 	if (likely(!ia32_fxstate)) {
 		/* Restore the FPU registers directly from user memory. */
-		return restore_fpregs_from_user(buf_fx, user_xfeatures, fx_only,
-						state_size);
+		return restore_fpregs_from_user(buf_fx, user_xfeatures, fx_only);
 	}
 
 	/*
arch/x86/kvm/svm/svm_ops.h +3 -3
index 36c8af87a707..4e725854c63a 100644
@@ -8,7 +8,7 @@
 
 #define svm_asm(insn, clobber...)				\
 do {								\
-	asm_volatile_goto("1: " __stringify(insn) "\n\t"	\
+	asm goto("1: " __stringify(insn) "\n\t"	\
 			  _ASM_EXTABLE(1b, %l[fault])		\
 			  ::: clobber : fault);			\
 	return;							\
@@ -18,7 +18,7 @@ fault:								\
 
 #define svm_asm1(insn, op1, clobber...)				\
 do {								\
-	asm_volatile_goto("1: "  __stringify(insn) " %0\n\t"	\
+	asm goto("1: "  __stringify(insn) " %0\n\t"	\
 			  _ASM_EXTABLE(1b, %l[fault])		\
 			  :: op1 : clobber : fault);		\
 	return;							\
@@ -28,7 +28,7 @@ fault:								\
 
 #define svm_asm2(insn, op1, op2, clobber...)				\
 do {									\
-	asm_volatile_goto("1: "  __stringify(insn) " %1, %0\n\t"	\
+	asm goto("1: "  __stringify(insn) " %1, %0\n\t"	\
 			  _ASM_EXTABLE(1b, %l[fault])			\
 			  :: op1, op2 : clobber : fault);		\
 	return;								\
arch/x86/kvm/vmx/pmu_intel.c +1 -1
index 90c1f7f07e53..1549461fa42b 100644
@@ -71,7 +71,7 @@ static int fixed_pmc_events[] = {
 static void reprogram_fixed_counters(struct kvm_pmu *pmu, u64 data)
 {
 	struct kvm_pmc *pmc;
-	u8 old_fixed_ctr_ctrl = pmu->fixed_ctr_ctrl;
+	u64 old_fixed_ctr_ctrl = pmu->fixed_ctr_ctrl;
 	int i;
 
 	pmu->fixed_ctr_ctrl = data;
arch/x86/kvm/vmx/vmx.c +2 -2
index be20a60047b1..94082169bbbc 100644
@@ -745,7 +745,7 @@ static int vmx_set_guest_uret_msr(struct vcpu_vmx *vmx,
  */
 static int kvm_cpu_vmxoff(void)
 {
-	asm_volatile_goto("1: vmxoff\n\t"
+	asm goto("1: vmxoff\n\t"
 			  _ASM_EXTABLE(1b, %l[fault])
 			  ::: "cc", "memory" : fault);
 
@@ -2789,7 +2789,7 @@ static int kvm_cpu_vmxon(u64 vmxon_pointer)
 
 	cr4_set_bits(X86_CR4_VMXE);
 
-	asm_volatile_goto("1: vmxon %[vmxon_pointer]\n\t"
+	asm goto("1: vmxon %[vmxon_pointer]\n\t"
 			  _ASM_EXTABLE(1b, %l[fault])
 			  : : [vmxon_pointer] "m"(vmxon_pointer)
 			  : : fault);
arch/x86/kvm/vmx/vmx_ops.h +3 -3
index 33af7b4c6eb4..6a0c6e81f7f3 100644
@@ -94,7 +94,7 @@ static __always_inline unsigned long __vmcs_readl(unsigned long field)
 
 #ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT
 
-	asm_volatile_goto("1: vmread %[field], %[output]\n\t"
+	asm_goto_output("1: vmread %[field], %[output]\n\t"
 			  "jna %l[do_fail]\n\t"
 
 			  _ASM_EXTABLE(1b, %l[do_exception])
@@ -188,7 +188,7 @@ static __always_inline unsigned long vmcs_readl(unsigned long field)
 
 #define vmx_asm1(insn, op1, error_args...)				\
 do {									\
-	asm_volatile_goto("1: " __stringify(insn) " %0\n\t"		\
+	asm goto("1: " __stringify(insn) " %0\n\t"			\
 			  ".byte 0x2e\n\t" /* branch not taken hint */	\
 			  "jna %l[error]\n\t"				\
 			  _ASM_EXTABLE(1b, %l[fault])			\
@@ -205,7 +205,7 @@ fault:									\
 
 #define vmx_asm2(insn, op1, op2, error_args...)				\
 do {									\
-	asm_volatile_goto("1: "  __stringify(insn) " %1, %0\n\t"	\
+	asm goto("1: "  __stringify(insn) " %1, %0\n\t"			\
 			  ".byte 0x2e\n\t" /* branch not taken hint */	\
 			  "jna %l[error]\n\t"				\
 			  _ASM_EXTABLE(1b, %l[fault])			\
arch/x86/kvm/x86.c +2 -1
index 1a3aaa7dafae..468870450b8b 100644
@@ -5405,7 +5405,8 @@ static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu,
 	if (events->flags & KVM_VCPUEVENT_VALID_NMI_PENDING) {
 		vcpu->arch.nmi_pending = 0;
 		atomic_set(&vcpu->arch.nmi_queued, events->nmi.pending);
-		kvm_make_request(KVM_REQ_NMI, vcpu);
+		if (events->nmi.pending)
+			kvm_make_request(KVM_REQ_NMI, vcpu);
 	}
 	static_call(kvm_x86_set_nmi_mask)(vcpu, events->nmi.masked);
 
arch/x86/mm/ident_map.c +18 -5
index 968d7005f4a7..f50cc210a981 100644
@@ -26,18 +26,31 @@ static int ident_pud_init(struct x86_mapping_info *info, pud_t *pud_page,
 	for (; addr < end; addr = next) {
 		pud_t *pud = pud_page + pud_index(addr);
 		pmd_t *pmd;
+		bool use_gbpage;
 
 		next = (addr & PUD_MASK) + PUD_SIZE;
 		if (next > end)
 			next = end;
 
-		if (info->direct_gbpages) {
-			pud_t pudval;
+		/* if this is already a gbpage, this portion is already mapped */
+		if (pud_large(*pud))
+			continue;
+
+		/* Is using a gbpage allowed? */
+		use_gbpage = info->direct_gbpages;
 
-			if (pud_present(*pud))
-				continue;
+		/* Don't use gbpage if it maps more than the requested region. */
+		/* at the begining: */
+		use_gbpage &= ((addr & ~PUD_MASK) == 0);
+		/* ... or at the end: */
+		use_gbpage &= ((next & ~PUD_MASK) == 0);
+
+		/* Never overwrite existing mappings */
+		use_gbpage &= !pud_present(*pud);
+
+		if (use_gbpage) {
+			pud_t pudval;
 
-			addr &= PUD_MASK;
 			pudval = __pud((addr - info->offset) | info->page_flag);
 			set_pud(pud, pudval);
 			continue;
arch/xtensa/include/asm/jump_label.h +2 -2
index c812bf85021c..46c8596259d2 100644
@@ -13,7 +13,7 @@
 static __always_inline bool arch_static_branch(struct static_key *key,
 					       bool branch)
 {
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 			  "_nop\n\t"
 			  ".pushsection __jump_table,  \"aw\"\n\t"
 			  ".word 1b, %l[l_yes], %c0\n\t"
@@ -38,7 +38,7 @@ static __always_inline bool arch_static_branch_jump(struct static_key *key,
 	 * make it reachable and wrap both into a no-transform block
 	 * to avoid any assembler interference with this.
 	 */
-	asm_volatile_goto("1:\n\t"
+	asm goto("1:\n\t"
 			  ".begin no-transform\n\t"
 			  "_j %l[l_yes]\n\t"
 			  "2:\n\t"
block/blk-mq.c +7 -2
index a71974a5e57c..a02d3d922c58 100644
@@ -772,11 +772,16 @@ static void req_bio_endio(struct request *rq, struct bio *bio,
 		/*
 		 * Partial zone append completions cannot be supported as the
 		 * BIO fragments may end up not being written sequentially.
+		 * For such case, force the completed nbytes to be equal to
+		 * the BIO size so that bio_advance() sets the BIO remaining
+		 * size to 0 and we end up calling bio_endio() before returning.
 		 */
-		if (bio->bi_iter.bi_size != nbytes)
+		if (bio->bi_iter.bi_size != nbytes) {
 			bio->bi_status = BLK_STS_IOERR;
-		else
+			nbytes = bio->bi_iter.bi_size;
+		} else {
 			bio->bi_iter.bi_sector = rq->__sector;
+		}
 	}
 
 	bio_advance(bio, nbytes);
block/blk-wbt.c +2 -2
index 0bb613139bec..f8fda9cf583e 100644
@@ -165,9 +165,9 @@ static void wb_timestamp(struct rq_wb *rwb, unsigned long *var)
  */
 static bool wb_recent_wait(struct rq_wb *rwb)
 {
-	struct bdi_writeback *wb = &rwb->rqos.disk->bdi->wb;
+	struct backing_dev_info *bdi = rwb->rqos.disk->bdi;
 
-	return time_before(jiffies, wb->dirty_sleep + HZ);
+	return time_before(jiffies, bdi->last_bdp_sleep + HZ);
 }
 
 static inline struct rq_wait *get_rq_wait(struct rq_wb *rwb,
crypto/algif_hash.c +3 -2
index 82c44d4899b9..e24c829d7a01 100644
@@ -91,13 +91,13 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg,
 		if (!(msg->msg_flags & MSG_MORE)) {
 			err = hash_alloc_result(sk, ctx);
 			if (err)
-				goto unlock_free;
+				goto unlock_free_result;
 			ahash_request_set_crypt(&ctx->req, NULL,
 						ctx->result, 0);
 			err = crypto_wait_req(crypto_ahash_final(&ctx->req),
 					      &ctx->wait);
 			if (err)
-				goto unlock_free;
+				goto unlock_free_result;
 		}
 		goto done_more;
 	}
@@ -170,6 +170,7 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg,
 
 unlock_free:
 	af_alg_free_sg(&ctx->sgl);
+unlock_free_result:
 	hash_free_result(sk, ctx);
 	ctx->more = false;
 	goto unlock;
drivers/android/binder.c +10 -0
index 71a40a4c546f..8460458ebe3d 100644
@@ -478,6 +478,16 @@ binder_enqueue_thread_work_ilocked(struct binder_thread *thread,
 {
 	WARN_ON(!list_empty(&thread->waiting_thread_node));
 	binder_enqueue_work_ilocked(work, &thread->todo);
+
+	/* (e)poll-based threads require an explicit wakeup signal when
+	 * queuing their own work; they rely on these events to consume
+	 * messages without I/O block. Without it, threads risk waiting
+	 * indefinitely without handling the work.
+	 */
+	if (thread->looper & BINDER_LOOPER_STATE_POLL &&
+	    thread->pid == current->pid && !thread->process_todo)
+		wake_up_interruptible_sync(&thread->wait);
+
 	thread->process_todo = true;
 }
 
drivers/base/core.c +11 -4
index 67ba592afc77..f9fb69249110 100644
@@ -284,10 +284,12 @@ static bool device_is_ancestor(struct device *dev, struct device *target)
 	return false;
 }
 
+#define DL_MARKER_FLAGS		(DL_FLAG_INFERRED | \
+				 DL_FLAG_CYCLE | \
+				 DL_FLAG_MANAGED)
 static inline bool device_link_flag_is_sync_state_only(u32 flags)
 {
-	return (flags & ~(DL_FLAG_INFERRED | DL_FLAG_CYCLE)) ==
-		(DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED);
+	return (flags & ~DL_MARKER_FLAGS) == DL_FLAG_SYNC_STATE_ONLY;
 }
 
 /**
@@ -2058,9 +2060,14 @@ static int fw_devlink_create_devlink(struct device *con,
 
 	/*
 	 * SYNC_STATE_ONLY device links don't block probing and supports cycles.
-	 * So cycle detection isn't necessary and shouldn't be done.
+	 * So, one might expect that cycle detection isn't necessary for them.
+	 * However, if the device link was marked as SYNC_STATE_ONLY because
+	 * it's part of a cycle, then we still need to do cycle detection. This
+	 * is because the consumer and supplier might be part of multiple cycles
+	 * and we need to detect all those cycles.
 	 */
-	if (!(flags & DL_FLAG_SYNC_STATE_ONLY)) {
+	if (!device_link_flag_is_sync_state_only(flags) ||
+	    flags & DL_FLAG_CYCLE) {
 		device_links_write_lock();
 		if (__fw_devlink_relax_cycles(con, sup_handle)) {
 			__fwnode_link_cycle(link);
drivers/base/power/domain.c +1 -1
index da1777e39eaa..011948f02b36 100644
@@ -1111,7 +1111,7 @@ static int __init genpd_power_off_unused(void)
 
 	return 0;
 }
-late_initcall(genpd_power_off_unused);
+late_initcall_sync(genpd_power_off_unused);
 
 #ifdef CONFIG_PM_SLEEP
 
drivers/connector/cn_proc.c +2 -3
index 3d5e6d705fc6..44b19e696176 100644
@@ -108,9 +108,8 @@ static inline void send_msg(struct cn_msg *msg)
 		filter_data[1] = 0;
 	}
 
-	if (cn_netlink_send_mult(msg, msg->len, 0, CN_IDX_PROC, GFP_NOWAIT,
-			     cn_filter, (void *)filter_data) == -ESRCH)
-		atomic_set(&proc_event_num_listeners, 0);
+	cn_netlink_send_mult(msg, msg->len, 0, CN_IDX_PROC, GFP_NOWAIT,
+			     cn_filter, (void *)filter_data);
 
 	local_unlock(&local_event.lock);
 }
drivers/crypto/ccp/sev-dev.c +8 -2
index fcaccd0b5a65..53b217a62104 100644
@@ -534,10 +534,16 @@ EXPORT_SYMBOL_GPL(sev_platform_init);
 
 static int __sev_platform_shutdown_locked(int *error)
 {
-	struct sev_device *sev = psp_master->sev_data;
+	struct psp_device *psp = psp_master;
+	struct sev_device *sev;
 	int ret;
 
-	if (!sev || sev->state == SEV_STATE_UNINIT)
+	if (!psp || !psp->sev_data)
+		return 0;
+
+	sev = psp->sev_data;
+
+	if (sev->state == SEV_STATE_UNINIT)
 		return 0;
 
 	ret = __sev_do_cmd_locked(SEV_CMD_SHUTDOWN, NULL, error);
drivers/dpll/dpll_netlink.c +6 -14
index 7cc99d627942..c8c2e836193a 100644
@@ -1171,6 +1171,7 @@ int dpll_nl_pin_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb)
 	unsigned long i;
 	int ret = 0;
 
+	mutex_lock(&dpll_lock);
 	xa_for_each_marked_start(&dpll_pin_xa, i, pin, DPLL_REGISTERED,
 				 ctx->idx) {
 		if (!dpll_pin_available(pin))
@@ -1190,6 +1191,8 @@ int dpll_nl_pin_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb)
 		}
 		genlmsg_end(skb, hdr);
 	}
+	mutex_unlock(&dpll_lock);
+
 	if (ret == -EMSGSIZE) {
 		ctx->idx = i;
 		return skb->len;
@@ -1345,6 +1348,7 @@ int dpll_nl_device_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb)
 	unsigned long i;
 	int ret = 0;
 
+	mutex_lock(&dpll_lock);
 	xa_for_each_marked_start(&dpll_device_xa, i, dpll, DPLL_REGISTERED,
 				 ctx->idx) {
 		hdr = genlmsg_put(skb, NETLINK_CB(cb->skb).portid,
@@ -1361,6 +1365,8 @@ int dpll_nl_device_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb)
 		}
 		genlmsg_end(skb, hdr);
 	}
+	mutex_unlock(&dpll_lock);
+
 	if (ret == -EMSGSIZE) {
 		ctx->idx = i;
 		return skb->len;
@@ -1411,20 +1417,6 @@ dpll_unlock_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
 	mutex_unlock(&dpll_lock);
 }
 
-int dpll_lock_dumpit(struct netlink_callback *cb)
-{
-	mutex_lock(&dpll_lock);
-
-	return 0;
-}
-
-int dpll_unlock_dumpit(struct netlink_callback *cb)
-{
-	mutex_unlock(&dpll_lock);
-
-	return 0;
-}
-
 int dpll_pin_pre_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
 		      struct genl_info *info)
 {
drivers/dpll/dpll_nl.c +0 -4
index eaee5be7aa64..1e95f5397cfc 100644
@@ -95,9 +95,7 @@ static const struct genl_split_ops dpll_nl_ops[] = {
 	},
 	{
 		.cmd	= DPLL_CMD_DEVICE_GET,
-		.start	= dpll_lock_dumpit,
 		.dumpit	= dpll_nl_device_get_dumpit,
-		.done	= dpll_unlock_dumpit,
 		.flags	= GENL_ADMIN_PERM | GENL_CMD_CAP_DUMP,
 	},
 	{
@@ -129,9 +127,7 @@ static const struct genl_split_ops dpll_nl_ops[] = {
 	},
 	{
 		.cmd		= DPLL_CMD_PIN_GET,
-		.start		= dpll_lock_dumpit,
 		.dumpit		= dpll_nl_pin_get_dumpit,
-		.done		= dpll_unlock_dumpit,
 		.policy		= dpll_pin_get_dump_nl_policy,
 		.maxattr	= DPLL_A_PIN_ID,
 		.flags		= GENL_ADMIN_PERM | GENL_CMD_CAP_DUMP,
drivers/dpll/dpll_nl.h +0 -2
index 92d4c9c4f788..f491262bee4f 100644
@@ -30,8 +30,6 @@ dpll_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
 void
 dpll_pin_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
 		   struct genl_info *info);
-int dpll_lock_dumpit(struct netlink_callback *cb);
-int dpll_unlock_dumpit(struct netlink_callback *cb);
 
 int dpll_nl_device_id_get_doit(struct sk_buff *skb, struct genl_info *info);
 int dpll_nl_device_get_doit(struct sk_buff *skb, struct genl_info *info);
drivers/firewire/core-device.c +3 -4
index 2828e9573e90..da8a4c8f2876 100644
@@ -100,10 +100,9 @@ static int textual_leaf_to_string(const u32 *block, char *buf, size_t size)
  * @buf:	where to put the string
  * @size:	size of @buf, in bytes
  *
- * The string is taken from a minimal ASCII text descriptor leaf after
- * the immediate entry with @key.  The string is zero-terminated.
- * An overlong string is silently truncated such that it and the
- * zero byte fit into @size.
+ * The string is taken from a minimal ASCII text descriptor leaf just after the entry with the
+ * @key. The string is zero-terminated. An overlong string is silently truncated such that it
+ * and the zero byte fit into @size.
  *
  * Returns strlen(buf) or a negative error code.
  */
drivers/firmware/efi/libstub/Makefile +1 -1
index 06964a3c130f..d561d7de46a9 100644
@@ -28,7 +28,7 @@ cflags-$(CONFIG_ARM)		+= -DEFI_HAVE_STRLEN -DEFI_HAVE_STRNLEN \
 				   -DEFI_HAVE_MEMCHR -DEFI_HAVE_STRRCHR \
 				   -DEFI_HAVE_STRCMP -fno-builtin -fpic \
 				   $(call cc-option,-mno-single-pic-base)
-cflags-$(CONFIG_RISCV)		+= -fpic -DNO_ALTERNATIVE
+cflags-$(CONFIG_RISCV)		+= -fpic -DNO_ALTERNATIVE -mno-relax
 cflags-$(CONFIG_LOONGARCH)	+= -fpie
 
 cflags-$(CONFIG_EFI_PARAMS_FROM_FDT)	+= -I$(srctree)/scripts/dtc/libfdt
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +0 -1
index 5fe1df95dc38..19bc8d47317b 100644
@@ -4496,7 +4496,6 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
 		drm_fb_helper_set_suspend_unlocked(adev_to_drm(adev)->fb_helper, true);
 
 	cancel_delayed_work_sync(&adev->delayed_init_work);
-	flush_delayed_work(&adev->gfx.gfx_off_delay_work);
 
 	amdgpu_ras_suspend(adev);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +8 -1
index b9674c57c436..6ddc8e3360e2 100644
@@ -723,8 +723,15 @@ void amdgpu_gfx_off_ctrl(struct amdgpu_device *adev, bool enable)
 
 		if (adev->gfx.gfx_off_req_count == 0 &&
 		    !adev->gfx.gfx_off_state) {
-			schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
+			/* If going to s2idle, no need to wait */
+			if (adev->in_s0ix) {
+				if (!amdgpu_dpm_set_powergating_by_smu(adev,
+						AMD_IP_BLOCK_TYPE_GFX, true))
+					adev->gfx.gfx_off_state = true;
+			} else {
+				schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
 					      delay);
+			}
 		}
 	} else {
 		if (adev->gfx.gfx_off_req_count == 0) {
drivers/gpu/drm/amd/amdgpu/cik_ih.c +6 -0
index 6f7c031dd197..f24e34dc33d1 100644
@@ -204,6 +204,12 @@ static u32 cik_ih_get_wptr(struct amdgpu_device *adev,
 		tmp = RREG32(mmIH_RB_CNTL);
 		tmp |= IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK;
 		WREG32(mmIH_RB_CNTL, tmp);
+
+		/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+		 * can be detected.
+		 */
+		tmp &= ~IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK;
+		WREG32(mmIH_RB_CNTL, tmp);
 	}
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/amdgpu/cz_ih.c +5 -0
index b8c47e0cf37a..c19681492efa 100644
@@ -216,6 +216,11 @@ static u32 cz_ih_get_wptr(struct amdgpu_device *adev,
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32(mmIH_RB_CNTL, tmp);
 
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32(mmIH_RB_CNTL, tmp);
 
 out:
 	return (wptr & ih->ptr_mask);
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +0 -2
index ecb622b7f970..dcdecb18b230 100644
@@ -4027,8 +4027,6 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device *adev)
 		err = 0;
 		adev->gfx.mec2_fw = NULL;
 	}
-	amdgpu_gfx_cp_init_microcode(adev, AMDGPU_UCODE_ID_CP_MEC2);
-	amdgpu_gfx_cp_init_microcode(adev, AMDGPU_UCODE_ID_CP_MEC2_JT);
 
 	gfx_v10_0_check_fw_write_wait(adev);
 out:
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +0 -8
index ad91329f227d..ced2e1bdccb7 100644
@@ -1947,14 +1947,6 @@ static int gmc_v9_0_init_mem_ranges(struct amdgpu_device *adev)
 
 static void gmc_v9_4_3_init_vram_info(struct amdgpu_device *adev)
 {
-	static const u32 regBIF_BIOS_SCRATCH_4 = 0x50;
-	u32 vram_info;
-
-	/* Only for dGPU, vendor informaton is reliable */
-	if (!amdgpu_sriov_vf(adev) && !(adev->flags & AMD_IS_APU)) {
-		vram_info = RREG32(regBIF_BIOS_SCRATCH_4);
-		adev->gmc.vram_vendor = vram_info & 0xF;
-	}
 	adev->gmc.vram_type = AMDGPU_VRAM_TYPE_HBM;
 	adev->gmc.vram_width = 128 * 64;
 }
drivers/gpu/drm/amd/amdgpu/iceland_ih.c +5 -0
index aecad530b10a..2c02ae69883d 100644
@@ -215,6 +215,11 @@ static u32 iceland_ih_get_wptr(struct amdgpu_device *adev,
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32(mmIH_RB_CNTL, tmp);
 
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32(mmIH_RB_CNTL, tmp);
 
 out:
 	return (wptr & ih->ptr_mask);
drivers/gpu/drm/amd/amdgpu/ih_v6_0.c +6 -0
index d9ed7332d805..ad4ad39f128f 100644
@@ -418,6 +418,12 @@ static u32 ih_v6_0_get_wptr(struct amdgpu_device *adev,
 	tmp = RREG32_NO_KIQ(ih_regs->ih_rb_cntl);
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
+
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
 out:
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/amdgpu/ih_v6_1.c +7 -0
index 8fb05eae340a..b8da0fc29378 100644
@@ -418,6 +418,13 @@ static u32 ih_v6_1_get_wptr(struct amdgpu_device *adev,
 	tmp = RREG32_NO_KIQ(ih_regs->ih_rb_cntl);
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
+
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
+
 out:
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/amdgpu/navi10_ih.c +6 -0
index e64b33115848..de93614726c9 100644
@@ -442,6 +442,12 @@ static u32 navi10_ih_get_wptr(struct amdgpu_device *adev,
 	tmp = RREG32_NO_KIQ(ih_regs->ih_rb_cntl);
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
+
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
 out:
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/amdgpu/si_ih.c +6 -0
index 9a24f17a5750..cada9f300a7f 100644
@@ -119,6 +119,12 @@ static u32 si_ih_get_wptr(struct amdgpu_device *adev,
 		tmp = RREG32(IH_RB_CNTL);
 		tmp |= IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK;
 		WREG32(IH_RB_CNTL, tmp);
+
+		/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+		 * can be detected.
+		 */
+		tmp &= ~IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK;
+		WREG32(IH_RB_CNTL, tmp);
 	}
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/amdgpu/soc21.c +2 -2
index 48c6efcdeac9..4d7188912edf 100644
@@ -50,13 +50,13 @@ static const struct amd_ip_funcs soc21_common_ip_funcs;
 /* SOC21 */
 static const struct amdgpu_video_codec_info vcn_4_0_0_video_codecs_encode_array_vcn0[] = {
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 2304, 0)},
-	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 2304, 0)},
+	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 0)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1, 8192, 4352, 0)},
 };
 
 static const struct amdgpu_video_codec_info vcn_4_0_0_video_codecs_encode_array_vcn1[] = {
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 2304, 0)},
-	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 2304, 0)},
+	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 0)},
 };
 
 static const struct amdgpu_video_codecs vcn_4_0_0_video_codecs_encode_vcn0 = {
drivers/gpu/drm/amd/amdgpu/tonga_ih.c +6 -0
index 917707bba7f3..450b6e831509 100644
@@ -219,6 +219,12 @@ static u32 tonga_ih_get_wptr(struct amdgpu_device *adev,
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32(mmIH_RB_CNTL, tmp);
 
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32(mmIH_RB_CNTL, tmp);
+
 out:
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/amdgpu/vega10_ih.c +6 -0
index d364c6dd152c..bf68e18e3824 100644
@@ -373,6 +373,12 @@ static u32 vega10_ih_get_wptr(struct amdgpu_device *adev,
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
 
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
+
 out:
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/amdgpu/vega20_ih.c +6 -0
index ddfc6941f9d5..db66e6cccaf2 100644
@@ -421,6 +421,12 @@ static u32 vega20_ih_get_wptr(struct amdgpu_device *adev,
 	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1);
 	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
 
+	/* Unset the CLEAR_OVERFLOW bit immediately so new overflows
+	 * can be detected.
+	 */
+	tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 0);
+	WREG32_NO_KIQ(ih_regs->ih_rb_cntl, tmp);
+
 out:
 	return (wptr & ih->ptr_mask);
 }
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +9 -5
index affc628004ff..d3d1ccf66ece 100644
@@ -6110,7 +6110,9 @@ create_stream_for_sink(struct drm_connector *connector,
 		if (recalculate_timing) {
 			freesync_mode = get_highest_refresh_rate_mode(aconnector, false);
 			drm_mode_copy(&saved_mode, &mode);
+			saved_mode.picture_aspect_ratio = mode.picture_aspect_ratio;
 			drm_mode_copy(&mode, freesync_mode);
+			mode.picture_aspect_ratio = saved_mode.picture_aspect_ratio;
 		} else {
 			decide_crtc_timing_for_drm_display_mode(
 					&mode, preferred_mode, scale);
@@ -10440,11 +10442,13 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
 			goto fail;
 		}
 
-		ret = compute_mst_dsc_configs_for_state(state, dm_state->context, vars);
-		if (ret) {
-			DRM_DEBUG_DRIVER("compute_mst_dsc_configs_for_state() failed\n");
-			ret = -EINVAL;
-			goto fail;
+		if (dc_resource_is_dsc_encoding_supported(dc)) {
+			ret = compute_mst_dsc_configs_for_state(state, dm_state->context, vars);
+			if (ret) {
+				DRM_DEBUG_DRIVER("compute_mst_dsc_configs_for_state() failed\n");
+				ret = -EINVAL;
+				goto fail;
+			}
 		}
 
 		ret = dm_update_mst_vcpi_slots_for_dsc(state, dm_state->context, vars);
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c +11 -4
index 4ef90a3add1c..54df6cac19c8 100644
@@ -654,10 +654,13 @@ static void dcn35_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *clk
 	struct clk_limit_table_entry def_max = bw_params->clk_table.entries[bw_params->clk_table.num_entries - 1];
 	uint32_t max_fclk = 0, min_pstate = 0, max_dispclk = 0, max_dppclk = 0;
 	uint32_t max_pstate = 0, max_dram_speed_mts = 0, min_dram_speed_mts = 0;
+	uint32_t num_memps, num_fclk, num_dcfclk;
 	int i;
 
 	/* Determine min/max p-state values. */
-	for (i = 0; i < clock_table->NumMemPstatesEnabled; i++) {
+	num_memps = (clock_table->NumMemPstatesEnabled > NUM_MEM_PSTATE_LEVELS) ? NUM_MEM_PSTATE_LEVELS :
+		clock_table->NumMemPstatesEnabled;
+	for (i = 0; i < num_memps; i++) {
 		uint32_t dram_speed_mts = calc_dram_speed_mts(&clock_table->MemPstateTable[i]);
 
 		if (is_valid_clock_value(dram_speed_mts) && dram_speed_mts > max_dram_speed_mts) {
@@ -669,7 +672,7 @@ static void dcn35_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *clk
 	min_dram_speed_mts = max_dram_speed_mts;
 	min_pstate = max_pstate;
 
-	for (i = 0; i < clock_table->NumMemPstatesEnabled; i++) {
+	for (i = 0; i < num_memps; i++) {
 		uint32_t dram_speed_mts = calc_dram_speed_mts(&clock_table->MemPstateTable[i]);
 
 		if (is_valid_clock_value(dram_speed_mts) && dram_speed_mts < min_dram_speed_mts) {
@@ -698,9 +701,13 @@ static void dcn35_clk_mgr_helper_populate_bw_params(struct clk_mgr_internal *clk
 	/* Base the clock table on dcfclk, need at least one entry regardless of pmfw table */
 	ASSERT(clock_table->NumDcfClkLevelsEnabled > 0);
 
-	max_fclk = find_max_clk_value(clock_table->FclkClocks_Freq, clock_table->NumFclkLevelsEnabled);
+	num_fclk = (clock_table->NumFclkLevelsEnabled > NUM_FCLK_DPM_LEVELS) ? NUM_FCLK_DPM_LEVELS :
+		clock_table->NumFclkLevelsEnabled;
+	max_fclk = find_max_clk_value(clock_table->FclkClocks_Freq, num_fclk);
 
-	for (i = 0; i < clock_table->NumDcfClkLevelsEnabled; i++) {
+	num_dcfclk = (clock_table->NumFclkLevelsEnabled > NUM_DCFCLK_DPM_LEVELS) ? NUM_DCFCLK_DPM_LEVELS :
+		clock_table->NumDcfClkLevelsEnabled;
+	for (i = 0; i < num_dcfclk; i++) {
 		int j;
 
 		/* First search defaults for the clocks we don't read using closest lower or equal default dcfclk */
drivers/gpu/drm/amd/display/dc/dml/Makefile +3 -3
index 6042a5a6a44f..59ade76ffb18 100644
@@ -72,11 +72,11 @@ CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_ccflags)
 CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_vba.o := $(dml_ccflags)
 CFLAGS_$(AMDDALPATH)/dc/dml/dcn10/dcn10_fpu.o := $(dml_ccflags)
 CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/dcn20_fpu.o := $(dml_ccflags)
-CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags)
+CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags) $(frame_warn_flag)
 CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20.o := $(dml_ccflags)
-CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags)
+CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags) $(frame_warn_flag)
 CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20v2.o := $(dml_ccflags)
-CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags)
+CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags) $(frame_warn_flag)
 CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_rq_dlg_calc_21.o := $(dml_ccflags)
 CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_mode_vba_30.o := $(dml_ccflags) $(frame_warn_flag)
 CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_rq_dlg_calc_30.o := $(dml_ccflags)
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c +1 -1
index 92e2ddc9ab7e..fe2b67d745f0 100644
@@ -1089,7 +1089,7 @@ struct pipe_slice_table {
 		struct pipe_ctx *pri_pipe;
 		struct dc_plane_state *plane;
 		int slice_count;
-	} mpc_combines[MAX_SURFACES];
+	} mpc_combines[MAX_PLANES];
 	int mpc_combine_count;
 };
 
drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c +11 -18
index bcc03b184e5e..2c379be19aa8 100644
@@ -791,35 +791,28 @@ static void populate_dml_surface_cfg_from_plane_state(enum dml_project_id dml2_p
 	}
 }
 
-/*TODO no support for mpc combine, need rework - should calculate scaling params based on plane+stream*/
-static struct scaler_data get_scaler_data_for_plane(const struct dc_plane_state *in, const struct dc_state *context)
+static struct scaler_data get_scaler_data_for_plane(const struct dc_plane_state *in, struct dc_state *context)
 {
 	int i;
-	struct scaler_data data = { 0 };
+	struct pipe_ctx *temp_pipe = &context->res_ctx.temp_pipe;
+
+	memset(temp_pipe, 0, sizeof(struct pipe_ctx));
 
 	for (i = 0; i < MAX_PIPES; i++)	{
 		const struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
 
 		if (pipe->plane_state == in && !pipe->prev_odm_pipe) {
-			const struct pipe_ctx *next_pipe = pipe->next_odm_pipe;
-
-			data = context->res_ctx.pipe_ctx[i].plane_res.scl_data;
-			while (next_pipe) {
-				data.h_active += next_pipe->plane_res.scl_data.h_active;
-				data.recout.width += next_pipe->plane_res.scl_data.recout.width;
-				if (in->rotation == ROTATION_ANGLE_0 || in->rotation == ROTATION_ANGLE_180) {
-					data.viewport.width += next_pipe->plane_res.scl_data.viewport.width;
-				} else {
-					data.viewport.height += next_pipe->plane_res.scl_data.viewport.height;
-				}
-				next_pipe = next_pipe->next_odm_pipe;
-			}
+			temp_pipe->stream = pipe->stream;
+			temp_pipe->plane_state = pipe->plane_state;
+			temp_pipe->plane_res.scl_data.taps = pipe->plane_res.scl_data.taps;
+
+			resource_build_scaling_params(temp_pipe);
 			break;
 		}
 	}
 
 	ASSERT(i < MAX_PIPES);
-	return data;
+	return temp_pipe->plane_res.scl_data;
 }
 
 static void populate_dummy_dml_plane_cfg(struct dml_plane_cfg_st *out, unsigned int location, const struct dc_stream_state *in)
@@ -864,7 +857,7 @@ static void populate_dummy_dml_plane_cfg(struct dml_plane_cfg_st *out, unsigned
 	out->ScalerEnabled[location] = false;
 }
 
-static void populate_dml_plane_cfg_from_plane_state(struct dml_plane_cfg_st *out, unsigned int location, const struct dc_plane_state *in, const struct dc_state *context)
+static void populate_dml_plane_cfg_from_plane_state(struct dml_plane_cfg_st *out, unsigned int location, const struct dc_plane_state *in, struct dc_state *context)
 {
 	const struct scaler_data scaler_data = get_scaler_data_for_plane(in, context);
 
drivers/gpu/drm/amd/display/dc/inc/core_types.h +2 -0
index 10397d4dfb07..bc9cda3294a1 100644
@@ -462,6 +462,8 @@ struct resource_context {
 	unsigned int hpo_dp_link_enc_to_link_idx[MAX_HPO_DP2_LINK_ENCODERS];
 	int hpo_dp_link_enc_ref_cnts[MAX_HPO_DP2_LINK_ENCODERS];
 	bool is_mpc_3dlut_acquired[MAX_PIPES];
+	/* solely used for build scalar data in dml2 */
+	struct pipe_ctx temp_pipe;
 };
 
 struct dce_bw_output {
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c +4 -1
index 5a0b04518956..16a62e018712 100644
@@ -517,6 +517,7 @@ enum link_training_result dp_check_link_loss_status(
 {
 	enum link_training_result status = LINK_TRAINING_SUCCESS;
 	union lane_status lane_status;
+	union lane_align_status_updated dpcd_lane_status_updated;
 	uint8_t dpcd_buf[6] = {0};
 	uint32_t lane;
 
@@ -532,10 +533,12 @@ enum link_training_result dp_check_link_loss_status(
 		 * check lanes status
 		 */
 		lane_status.raw = dp_get_nibble_at_index(&dpcd_buf[2], lane);
+		dpcd_lane_status_updated.raw = dpcd_buf[4];
 
 		if (!lane_status.bits.CHANNEL_EQ_DONE_0 ||
 			!lane_status.bits.CR_DONE_0 ||
-			!lane_status.bits.SYMBOL_LOCKED_0) {
+			!lane_status.bits.SYMBOL_LOCKED_0 ||
+			!dp_is_interlane_aligned(dpcd_lane_status_updated)) {
 			/* if one of the channel equalization, clock
 			 * recovery or symbol lock is dropped
 			 * consider it as (link has been
drivers/gpu/drm/drm_buddy.c +6 -0
index f57e6d74fb0e..c1a99bf4dffd 100644
@@ -539,6 +539,12 @@ static int __alloc_range(struct drm_buddy *mm,
 	} while (1);
 
 	list_splice_tail(&allocated, blocks);
+
+	if (total_allocated < size) {
+		err = -ENOSPC;
+		goto err_free;
+	}
+
 	return 0;
 
 err_undo:
drivers/gpu/drm/drm_prime.c +1 -1
index 834a5e28abbe..7352bde299d5 100644
@@ -820,7 +820,7 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
 	if (max_segment == 0)
 		max_segment = UINT_MAX;
 	err = sg_alloc_table_from_pages_segment(sg, pages, nr_pages, 0,
-						nr_pages << PAGE_SHIFT,
+						(unsigned long)nr_pages << PAGE_SHIFT,
 						max_segment, GFP_KERNEL);
 	if (err) {
 		kfree(sg);
drivers/gpu/drm/i915/display/intel_dp.c +3 -0
index 1710ef24c511..ef09356bcb44 100644
@@ -2275,6 +2275,9 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp,
 	limits->min_rate = intel_dp_common_rate(intel_dp, 0);
 	limits->max_rate = intel_dp_max_link_rate(intel_dp);
 
+	/* FIXME 128b/132b SST support missing */
+	limits->max_rate = min(limits->max_rate, 810000);
+
 	limits->min_lane_count = 1;
 	limits->max_lane_count = intel_dp_max_lane_count(intel_dp);
 
drivers/gpu/drm/i915/display/intel_vdsc_regs.h +2 -2
index 64f440fdc22b..8b21dc8e26d5 100644
@@ -51,8 +51,8 @@
 #define DSCC_PICTURE_PARAMETER_SET_0		_MMIO(0x6BA00)
 #define _DSCA_PPS_0				0x6B200
 #define _DSCC_PPS_0				0x6BA00
-#define DSCA_PPS(pps)				_MMIO(_DSCA_PPS_0 + (pps) * 4)
-#define DSCC_PPS(pps)				_MMIO(_DSCC_PPS_0 + (pps) * 4)
+#define DSCA_PPS(pps)				_MMIO(_DSCA_PPS_0 + ((pps) < 12 ? (pps) : (pps) + 12) * 4)
+#define DSCC_PPS(pps)				_MMIO(_DSCC_PPS_0 + ((pps) < 12 ? (pps) : (pps) + 12) * 4)
 #define _ICL_DSC0_PICTURE_PARAMETER_SET_0_PB	0x78270
 #define _ICL_DSC1_PICTURE_PARAMETER_SET_0_PB	0x78370
 #define _ICL_DSC0_PICTURE_PARAMETER_SET_0_PC	0x78470
drivers/gpu/drm/msm/msm_gem_prime.c +2 -2
index 5f68e31a3e4e..0915f3b68752 100644
@@ -26,7 +26,7 @@ int msm_gem_prime_vmap(struct drm_gem_object *obj, struct iosys_map *map)
 {
 	void *vaddr;
 
-	vaddr = msm_gem_get_vaddr(obj);
+	vaddr = msm_gem_get_vaddr_locked(obj);
 	if (IS_ERR(vaddr))
 		return PTR_ERR(vaddr);
 	iosys_map_set_vaddr(map, vaddr);
@@ -36,7 +36,7 @@ int msm_gem_prime_vmap(struct drm_gem_object *obj, struct iosys_map *map)
 
 void msm_gem_prime_vunmap(struct drm_gem_object *obj, struct iosys_map *map)
 {
-	msm_gem_put_vaddr(obj);
+	msm_gem_put_vaddr_locked(obj);
 }
 
 struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
drivers/gpu/drm/msm/msm_gpu.c +5 -6
index 7f64c6667300..5c10b559a595 100644
@@ -749,12 +749,14 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
 	struct msm_ringbuffer *ring = submit->ring;
 	unsigned long flags;
 
-	pm_runtime_get_sync(&gpu->pdev->dev);
+	WARN_ON(!mutex_is_locked(&gpu->lock));
 
-	mutex_lock(&gpu->lock);
+	pm_runtime_get_sync(&gpu->pdev->dev);
 
 	msm_gpu_hw_init(gpu);
 
+	submit->seqno = submit->hw_fence->seqno;
+
 	update_sw_cntrs(gpu);
 
 	/*
@@ -779,11 +781,8 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
 	gpu->funcs->submit(gpu, submit);
 	gpu->cur_ctx_seqno = submit->queue->ctx->seqno;
 
-	hangcheck_timer_reset(gpu);
-
-	mutex_unlock(&gpu->lock);
-
 	pm_runtime_put(&gpu->pdev->dev);
+	hangcheck_timer_reset(gpu);
 }
 
 /*
drivers/gpu/drm/msm/msm_iommu.c +29 -3
index 5cc8d358cc97..d5512037c38b 100644
@@ -21,6 +21,8 @@ struct msm_iommu_pagetable {
 	struct msm_mmu base;
 	struct msm_mmu *parent;
 	struct io_pgtable_ops *pgtbl_ops;
+	const struct iommu_flush_ops *tlb;
+	struct device *iommu_dev;
 	unsigned long pgsize_bitmap;	/* Bitmap of page sizes in use */
 	phys_addr_t ttbr;
 	u32 asid;
@@ -201,11 +203,33 @@ static const struct msm_mmu_funcs pagetable_funcs = {
 
 static void msm_iommu_tlb_flush_all(void *cookie)
 {
+	struct msm_iommu_pagetable *pagetable = cookie;
+	struct adreno_smmu_priv *adreno_smmu;
+
+	if (!pm_runtime_get_if_in_use(pagetable->iommu_dev))
+		return;
+
+	adreno_smmu = dev_get_drvdata(pagetable->parent->dev);
+
+	pagetable->tlb->tlb_flush_all((void *)adreno_smmu->cookie);
+
+	pm_runtime_put_autosuspend(pagetable->iommu_dev);
 }
 
 static void msm_iommu_tlb_flush_walk(unsigned long iova, size_t size,
 		size_t granule, void *cookie)
 {
+	struct msm_iommu_pagetable *pagetable = cookie;
+	struct adreno_smmu_priv *adreno_smmu;
+
+	if (!pm_runtime_get_if_in_use(pagetable->iommu_dev))
+		return;
+
+	adreno_smmu = dev_get_drvdata(pagetable->parent->dev);
+
+	pagetable->tlb->tlb_flush_walk(iova, size, granule, (void *)adreno_smmu->cookie);
+
+	pm_runtime_put_autosuspend(pagetable->iommu_dev);
 }
 
 static void msm_iommu_tlb_add_page(struct iommu_iotlb_gather *gather,
@@ -213,7 +237,7 @@ static void msm_iommu_tlb_add_page(struct iommu_iotlb_gather *gather,
 {
 }
 
-static const struct iommu_flush_ops null_tlb_ops = {
+static const struct iommu_flush_ops tlb_ops = {
 	.tlb_flush_all = msm_iommu_tlb_flush_all,
 	.tlb_flush_walk = msm_iommu_tlb_flush_walk,
 	.tlb_add_page = msm_iommu_tlb_add_page,
@@ -254,10 +278,10 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent)
 
 	/* The incoming cfg will have the TTBR1 quirk enabled */
 	ttbr0_cfg.quirks &= ~IO_PGTABLE_QUIRK_ARM_TTBR1;
-	ttbr0_cfg.tlb = &null_tlb_ops;
+	ttbr0_cfg.tlb = &tlb_ops;
 
 	pagetable->pgtbl_ops = alloc_io_pgtable_ops(ARM_64_LPAE_S1,
-		&ttbr0_cfg, iommu->domain);
+		&ttbr0_cfg, pagetable);
 
 	if (!pagetable->pgtbl_ops) {
 		kfree(pagetable);
@@ -279,6 +303,8 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent)
 
 	/* Needed later for TLB flush */
 	pagetable->parent = parent;
+	pagetable->tlb = ttbr1_cfg->tlb;
+	pagetable->iommu_dev = ttbr1_cfg->iommu_dev;
 	pagetable->pgsize_bitmap = ttbr0_cfg.pgsize_bitmap;
 	pagetable->ttbr = ttbr0_cfg.arm_lpae_s1_cfg.ttbr;
 
drivers/gpu/drm/msm/msm_ringbuffer.c +5 -2
index 95257ab0185d..a7e152f659a2 100644
@@ -21,8 +21,6 @@ static struct dma_fence *msm_job_run(struct drm_sched_job *job)
 
 	msm_fence_init(submit->hw_fence, fctx);
 
-	submit->seqno = submit->hw_fence->seqno;
-
 	mutex_lock(&priv->lru.lock);
 
 	for (i = 0; i < submit->nr_bos; i++) {
@@ -34,8 +32,13 @@ static struct dma_fence *msm_job_run(struct drm_sched_job *job)
 
 	mutex_unlock(&priv->lru.lock);
 
+	/* TODO move submit path over to using a per-ring lock.. */
+	mutex_lock(&gpu->lock);
+
 	msm_gpu_submit(gpu, submit);
 
+	mutex_unlock(&gpu->lock);
+
 	return dma_fence_get(submit->hw_fence);
 }
 
drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h +1 -1
index d1437c08645f..6f5d376d8fcc 100644
@@ -9,7 +9,7 @@
 #define GSP_PAGE_SIZE  BIT(GSP_PAGE_SHIFT)
 
 struct nvkm_gsp_mem {
-	u32 size;
+	size_t size;
 	void *data;
 	dma_addr_t addr;
 };
drivers/gpu/drm/nouveau/nouveau_fence.c +18 -6
index ca762ea55413..93f08f9479d8 100644
@@ -103,6 +103,7 @@ nouveau_fence_context_kill(struct nouveau_fence_chan *fctx, int error)
 void
 nouveau_fence_context_del(struct nouveau_fence_chan *fctx)
 {
+	cancel_work_sync(&fctx->uevent_work);
 	nouveau_fence_context_kill(fctx, 0);
 	nvif_event_dtor(&fctx->event);
 	fctx->dead = 1;
@@ -145,12 +146,13 @@ nouveau_fence_update(struct nouveau_channel *chan, struct nouveau_fence_chan *fc
 	return drop;
 }
 
-static int
-nouveau_fence_wait_uevent_handler(struct nvif_event *event, void *repv, u32 repc)
+static void
+nouveau_fence_uevent_work(struct work_struct *work)
 {
-	struct nouveau_fence_chan *fctx = container_of(event, typeof(*fctx), event);
+	struct nouveau_fence_chan *fctx = container_of(work, struct nouveau_fence_chan,
+						       uevent_work);
 	unsigned long flags;
-	int ret = NVIF_EVENT_KEEP;
+	int drop = 0;
 
 	spin_lock_irqsave(&fctx->lock, flags);
 	if (!list_empty(&fctx->pending)) {
@@ -160,11 +162,20 @@ nouveau_fence_wait_uevent_handler(struct nvif_event *event, void *repv, u32 repc
 		fence = list_entry(fctx->pending.next, typeof(*fence), head);
 		chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock));
 		if (nouveau_fence_update(chan, fctx))
-			ret = NVIF_EVENT_DROP;
+			drop = 1;
 	}
+	if (drop)
+		nvif_event_block(&fctx->event);
+
 	spin_unlock_irqrestore(&fctx->lock, flags);
+}
 
-	return ret;
+static int
+nouveau_fence_wait_uevent_handler(struct nvif_event *event, void *repv, u32 repc)
+{
+	struct nouveau_fence_chan *fctx = container_of(event, typeof(*fctx), event);
+	schedule_work(&fctx->uevent_work);
+	return NVIF_EVENT_KEEP;
 }
 
 void
@@ -178,6 +189,7 @@ nouveau_fence_context_new(struct nouveau_channel *chan, struct nouveau_fence_cha
 	} args;
 	int ret;
 
+	INIT_WORK(&fctx->uevent_work, nouveau_fence_uevent_work);
 	INIT_LIST_HEAD(&fctx->flip);
 	INIT_LIST_HEAD(&fctx->pending);
 	spin_lock_init(&fctx->lock);
drivers/gpu/drm/nouveau/nouveau_fence.h +1 -0
index 64d33ae7f356..8bc065acfe35 100644
@@ -44,6 +44,7 @@ struct nouveau_fence_chan {
 	u32 context;
 	char name[32];
 
+	struct work_struct uevent_work;
 	struct nvif_event event;
 	int notify_ref, dead, killed;
 };
drivers/gpu/drm/nouveau/nouveau_svm.c +1 -1
index cc03e0c22ff3..5e4565c5011a 100644
@@ -1011,7 +1011,7 @@ nouveau_svm_fault_buffer_ctor(struct nouveau_svm *svm, s32 oclass, int id)
 	if (ret)
 		return ret;
 
-	buffer->fault = kvcalloc(sizeof(*buffer->fault), buffer->entries, GFP_KERNEL);
+	buffer->fault = kvcalloc(buffer->entries, sizeof(*buffer->fault), GFP_KERNEL);
 	if (!buffer->fault)
 		return -ENOMEM;
 
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c +39 -22

97 lines not on this page · raw message

drivers/gpu/drm/virtio/virtgpu_drv.c +1 -0
index f8e9abe647b9..9539aa28937f 100644
@@ -94,6 +94,7 @@ static int virtio_gpu_probe(struct virtio_device *vdev)
 			goto err_free;
 	}
 
+	dma_set_max_seg_size(dev->dev, dma_max_mapping_size(dev->dev) ?: UINT_MAX);
 	ret = virtio_gpu_init(vdev, dev);
 	if (ret)
 		goto err_free;
drivers/hid/bpf/hid_bpf_dispatch.c +61 -22

128 lines not on this page · raw message

drivers/hid/bpf/hid_bpf_dispatch.h +2 -2
index 63dfc8605cd2..fbe0639d09f2 100644
@@ -12,9 +12,9 @@ struct hid_bpf_ctx_kern {
 
 int hid_bpf_preload_skel(void);
 void hid_bpf_free_links_and_skel(void);
-int hid_bpf_get_prog_attach_type(int prog_fd);
+int hid_bpf_get_prog_attach_type(struct bpf_prog *prog);
 int __hid_bpf_attach_prog(struct hid_device *hdev, enum hid_bpf_prog_type prog_type, int prog_fd,
-			  __u32 flags);
+			  struct bpf_prog *prog, __u32 flags);
 void __hid_bpf_destroy_device(struct hid_device *hdev);
 int hid_bpf_prog_run(struct hid_device *hdev, enum hid_bpf_prog_type type,
 		     struct hid_bpf_ctx_kern *ctx_kern);
drivers/hid/bpf/hid_bpf_jmp_table.c +20 -20
index eca34b7372f9..aa8e1c79cdf5 100644
@@ -196,6 +196,7 @@ static void __hid_bpf_do_release_prog(int map_fd, unsigned int idx)
 static void hid_bpf_release_progs(struct work_struct *work)
 {
 	int i, j, n, map_fd = -1;
+	bool hdev_destroyed;
 
 	if (!jmp_table.map)
 		return;
@@ -220,6 +221,12 @@ static void hid_bpf_release_progs(struct work_struct *work)
 		if (entry->hdev) {
 			hdev = entry->hdev;
 			type = entry->type;
+			/*
+			 * hdev is still valid, even if we are called after hid_destroy_device():
+			 * when hid_bpf_attach() gets called, it takes a ref on the dev through
+			 * bus_find_device()
+			 */
+			hdev_destroyed = hdev->bpf.destroyed;
 
 			hid_bpf_populate_hdev(hdev, type);
 
@@ -232,12 +239,19 @@ static void hid_bpf_release_progs(struct work_struct *work)
 				if (test_bit(next->idx, jmp_table.enabled))
 					continue;
 
-				if (next->hdev == hdev && next->type == type)
+				if (next->hdev == hdev && next->type == type) {
+					/*
+					 * clear the hdev reference and decrement the device ref
+					 * that was taken during bus_find_device() while calling
+					 * hid_bpf_attach()
+					 */
 					next->hdev = NULL;
+					put_device(&hdev->dev);
+				}
 			}
 
-			/* if type was rdesc fixup, reconnect device */
-			if (type == HID_BPF_PROG_TYPE_RDESC_FIXUP)
+			/* if type was rdesc fixup and the device is not gone, reconnect device */
+			if (type == HID_BPF_PROG_TYPE_RDESC_FIXUP && !hdev_destroyed)
 				hid_bpf_reconnect(hdev);
 		}
 	}
@@ -333,15 +347,10 @@ static int hid_bpf_insert_prog(int prog_fd, struct bpf_prog *prog)
 	return err;
 }
 
-int hid_bpf_get_prog_attach_type(int prog_fd)
+int hid_bpf_get_prog_attach_type(struct bpf_prog *prog)
 {
-	struct bpf_prog *prog = NULL;
-	int i;
 	int prog_type = HID_BPF_PROG_TYPE_UNDEF;
-
-	prog = bpf_prog_get(prog_fd);
-	if (IS_ERR(prog))
-		return PTR_ERR(prog);
+	int i;
 
 	for (i = 0; i < HID_BPF_PROG_TYPE_MAX; i++) {
 		if (hid_bpf_btf_ids[i] == prog->aux->attach_btf_id) {
@@ -350,8 +359,6 @@ int hid_bpf_get_prog_attach_type(int prog_fd)
 		}
 	}
 
-	bpf_prog_put(prog);
-
 	return prog_type;
 }
 
@@ -388,19 +395,13 @@ static const struct bpf_link_ops hid_bpf_link_lops = {
 /* called from syscall */
 noinline int
 __hid_bpf_attach_prog(struct hid_device *hdev, enum hid_bpf_prog_type prog_type,
-		      int prog_fd, __u32 flags)
+		      int prog_fd, struct bpf_prog *prog, __u32 flags)
 {
 	struct bpf_link_primer link_primer;
 	struct hid_bpf_link *link;
-	struct bpf_prog *prog = NULL;
 	struct hid_bpf_prog_entry *prog_entry;
 	int cnt, err = -EINVAL, prog_table_idx = -1;
 
-	/* take a ref on the prog itself */
-	prog = bpf_prog_get(prog_fd);
-	if (IS_ERR(prog))
-		return PTR_ERR(prog);
-
 	mutex_lock(&hid_bpf_attach_lock);
 
 	link = kzalloc(sizeof(*link), GFP_USER);
@@ -467,7 +468,6 @@ __hid_bpf_attach_prog(struct hid_device *hdev, enum hid_bpf_prog_type prog_type,
  err_unlock:
 	mutex_unlock(&hid_bpf_attach_lock);
 
-	bpf_prog_put(prog);
 	kfree(link);
 
 	return err;
drivers/hid/i2c-hid/i2c-hid-of.c +1 -0
index c4e1fa0273c8..8be4d576da77 100644
@@ -87,6 +87,7 @@ static int i2c_hid_of_probe(struct i2c_client *client)
 	if (!ihid_of)
 		return -ENOMEM;
 
+	ihid_of->client = client;
 	ihid_of->ops.power_up = i2c_hid_of_power_up;
 	ihid_of->ops.power_down = i2c_hid_of_power_down;
 
drivers/hid/wacom_sys.c +43 -20

99 lines not on this page · raw message

drivers/hid/wacom_wac.c +8 -1
index 8289ce763704..002cbaa16bd1 100644
@@ -2574,7 +2574,14 @@ static void wacom_wac_pen_report(struct hid_device *hdev,
 				wacom_wac->hid_data.tipswitch);
 		input_report_key(input, wacom_wac->tool[0], sense);
 		if (wacom_wac->serial[0]) {
-			input_event(input, EV_MSC, MSC_SERIAL, wacom_wac->serial[0]);
+			/*
+			 * xf86-input-wacom does not accept a serial number
+			 * of '0'. Report the low 32 bits if possible, but
+			 * if they are zero, report the upper ones instead.
+			 */
+			__u32 serial_lo = wacom_wac->serial[0] & 0xFFFFFFFFu;
+			__u32 serial_hi = wacom_wac->serial[0] >> 32;
+			input_event(input, EV_MSC, MSC_SERIAL, (int)(serial_lo ? serial_lo : serial_hi));
 			input_report_abs(input, ABS_MISC, sense ? id : 0);
 		}
 
drivers/i2c/busses/Makefile +2 -4
index 3757b9391e60..aa0ee8ecd6f2 100644
@@ -90,10 +90,8 @@ obj-$(CONFIG_I2C_NPCM)		+= i2c-npcm7xx.o
 obj-$(CONFIG_I2C_OCORES)	+= i2c-ocores.o
 obj-$(CONFIG_I2C_OMAP)		+= i2c-omap.o
 obj-$(CONFIG_I2C_OWL)		+= i2c-owl.o
-i2c-pasemi-objs := i2c-pasemi-core.o i2c-pasemi-pci.o
-obj-$(CONFIG_I2C_PASEMI)	+= i2c-pasemi.o
-i2c-apple-objs := i2c-pasemi-core.o i2c-pasemi-platform.o
-obj-$(CONFIG_I2C_APPLE)	+= i2c-apple.o
+obj-$(CONFIG_I2C_PASEMI)	+= i2c-pasemi-core.o i2c-pasemi-pci.o
+obj-$(CONFIG_I2C_APPLE)		+= i2c-pasemi-core.o i2c-pasemi-platform.o
 obj-$(CONFIG_I2C_PCA_PLATFORM)	+= i2c-pca-platform.o
 obj-$(CONFIG_I2C_PNX)		+= i2c-pnx.o
 obj-$(CONFIG_I2C_PXA)		+= i2c-pxa.o
drivers/i2c/busses/i2c-i801.c +2 -2
index 070999139c6d..6a5a93cf4ecc 100644
@@ -498,11 +498,10 @@ static int i801_block_transaction_by_block(struct i801_priv *priv,
 	/* Set block buffer mode */
 	outb_p(inb_p(SMBAUXCTL(priv)) | SMBAUXCTL_E32B, SMBAUXCTL(priv));
 
-	inb_p(SMBHSTCNT(priv)); /* reset the data buffer index */
-
 	if (read_write == I2C_SMBUS_WRITE) {
 		len = data->block[0];
 		outb_p(len, SMBHSTDAT0(priv));
+		inb_p(SMBHSTCNT(priv));	/* reset the data buffer index */
 		for (i = 0; i < len; i++)
 			outb_p(data->block[i+1], SMBBLKDAT(priv));
 	}
@@ -520,6 +519,7 @@ static int i801_block_transaction_by_block(struct i801_priv *priv,
 		}
 
 		data->block[0] = len;
+		inb_p(SMBHSTCNT(priv));	/* reset the data buffer index */
 		for (i = 0; i < len; i++)
 			data->block[i + 1] = inb_p(SMBBLKDAT(priv));
 	}
drivers/i2c/busses/i2c-pasemi-core.c +6 -0
index 7d54a9f34c74..bd8becbdeeb2 100644
@@ -369,6 +369,7 @@ int pasemi_i2c_common_probe(struct pasemi_smbus *smbus)
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(pasemi_i2c_common_probe);
 
 irqreturn_t pasemi_irq_handler(int irq, void *dev_id)
 {
@@ -378,3 +379,8 @@ irqreturn_t pasemi_irq_handler(int irq, void *dev_id)
 	complete(&smbus->irq_completion);
 	return IRQ_HANDLED;
 }
+EXPORT_SYMBOL_GPL(pasemi_irq_handler);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Olof Johansson <[email protected]>");
+MODULE_DESCRIPTION("PA Semi PWRficient SMBus driver");
drivers/i2c/busses/i2c-qcom-geni.c +7 -7
index 0d2e7171e3a6..da94df466e83 100644
@@ -613,20 +613,20 @@ static int geni_i2c_gpi_xfer(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[], i
 
 		peripheral.addr = msgs[i].addr;
 
+		ret =  geni_i2c_gpi(gi2c, &msgs[i], &config,
+				    &tx_addr, &tx_buf, I2C_WRITE, gi2c->tx_c);
+		if (ret)
+			goto err;
+
 		if (msgs[i].flags & I2C_M_RD) {
 			ret =  geni_i2c_gpi(gi2c, &msgs[i], &config,
 					    &rx_addr, &rx_buf, I2C_READ, gi2c->rx_c);
 			if (ret)
 				goto err;
-		}
-
-		ret =  geni_i2c_gpi(gi2c, &msgs[i], &config,
-				    &tx_addr, &tx_buf, I2C_WRITE, gi2c->tx_c);
-		if (ret)
-			goto err;
 
-		if (msgs[i].flags & I2C_M_RD)
 			dma_async_issue_pending(gi2c->rx_c);
+		}
+
 		dma_async_issue_pending(gi2c->tx_c);
 
 		timeout = wait_for_completion_timeout(&gi2c->done, XFER_TIMEOUT);
drivers/iio/accel/Kconfig +2 -0
index f113dae59048..d2221fe9ad66 100644
@@ -219,10 +219,12 @@ config BMA400
 
 config BMA400_I2C
 	tristate
+	select REGMAP_I2C
 	depends on BMA400
 
 config BMA400_SPI
 	tristate
+	select REGMAP_SPI
 	depends on BMA400
 
 config BMC150_ACCEL
drivers/iio/adc/ad4130.c +8 -4
index feb86fe6c422..62490424b6ae 100644
@@ -1821,7 +1821,7 @@ static int ad4130_setup_int_clk(struct ad4130_state *st)
 {
 	struct device *dev = &st->spi->dev;
 	struct device_node *of_node = dev_of_node(dev);
-	struct clk_init_data init;
+	struct clk_init_data init = {};
 	const char *clk_name;
 	int ret;
 
@@ -1891,10 +1891,14 @@ static int ad4130_setup(struct iio_dev *indio_dev)
 		return ret;
 
 	/*
-	 * Configure all GPIOs for output. If configured, the interrupt function
-	 * of P2 takes priority over the GPIO out function.
+	 * Configure unused GPIOs for output. If configured, the interrupt
+	 * function of P2 takes priority over the GPIO out function.
 	 */
-	val =  AD4130_IO_CONTROL_GPIO_CTRL_MASK;
+	val = 0;
+	for (i = 0; i < AD4130_MAX_GPIOS; i++)
+		if (st->pins_fn[i + AD4130_AIN2_P1] == AD4130_PIN_FN_NONE)
+			val |= FIELD_PREP(AD4130_IO_CONTROL_GPIO_CTRL_MASK, BIT(i));
+
 	val |= FIELD_PREP(AD4130_IO_CONTROL_INT_PIN_SEL_MASK, st->int_pin_sel);
 
 	ret = regmap_write(st->regmap, AD4130_IO_CONTROL_REG, val);
drivers/iio/imu/bno055/Kconfig +1 -0
index 83e53acfbe88..c7f5866a177d 100644
@@ -8,6 +8,7 @@ config BOSCH_BNO055
 config BOSCH_BNO055_SERIAL
 	tristate "Bosch BNO055 attached via UART"
 	depends on SERIAL_DEV_BUS
+	select REGMAP
 	select BOSCH_BNO055
 	help
 	  Enable this to support Bosch BNO055 IMUs attached via UART.
drivers/iio/industrialio-core.c +4 -1
index c77745b594bd..e6d3d07a4c83 100644
@@ -1581,10 +1581,13 @@ static int iio_device_register_sysfs(struct iio_dev *indio_dev)
 	ret = iio_device_register_sysfs_group(indio_dev,
 					      &iio_dev_opaque->chan_attr_group);
 	if (ret)
-		goto error_clear_attrs;
+		goto error_free_chan_attrs;
 
 	return 0;
 
+error_free_chan_attrs:
+	kfree(iio_dev_opaque->chan_attr_group.attrs);
+	iio_dev_opaque->chan_attr_group.attrs = NULL;
 error_clear_attrs:
 	iio_free_chan_devattr_list(&iio_dev_opaque->channel_attr_list);
 
drivers/iio/light/hid-sensor-als.c +1 -0
index 5cd27f04b45e..b6c4bef2a7bb 100644
@@ -226,6 +226,7 @@ static int als_capture_sample(struct hid_sensor_hub_device *hsdev,
 	case HID_USAGE_SENSOR_TIME_TIMESTAMP:
 		als_state->timestamp = hid_sensor_convert_timestamp(&als_state->common_attributes,
 								    *(s64 *)raw_data);
+		ret = 0;
 		break;
 	default:
 		break;
drivers/iio/magnetometer/rm3100-core.c +8 -2
index 69938204456f..42b70cd42b39 100644
@@ -530,6 +530,7 @@ int rm3100_common_probe(struct device *dev, struct regmap *regmap, int irq)
 	struct rm3100_data *data;
 	unsigned int tmp;
 	int ret;
+	int samp_rate_index;
 
 	indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
 	if (!indio_dev)
@@ -586,9 +587,14 @@ int rm3100_common_probe(struct device *dev, struct regmap *regmap, int irq)
 	ret = regmap_read(regmap, RM3100_REG_TMRC, &tmp);
 	if (ret < 0)
 		return ret;
+
+	samp_rate_index = tmp - RM3100_TMRC_OFFSET;
+	if (samp_rate_index < 0 || samp_rate_index >=  RM3100_SAMP_NUM) {
+		dev_err(dev, "The value read from RM3100_REG_TMRC is invalid!\n");
+		return -EINVAL;
+	}
 	/* Initializing max wait time, which is double conversion time. */
-	data->conversion_time = rm3100_samp_rates[tmp - RM3100_TMRC_OFFSET][2]
-				* 2;
+	data->conversion_time = rm3100_samp_rates[samp_rate_index][2] * 2;
 
 	/* Cycle count values may not be what we want. */
 	if ((tmp - RM3100_TMRC_OFFSET) == 0)
drivers/iio/pressure/bmp280-spi.c +1 -0
index 1dff9bb7c4e9..967de99c1bb9 100644
@@ -91,6 +91,7 @@ static const struct of_device_id bmp280_of_spi_match[] = {
 MODULE_DEVICE_TABLE(of, bmp280_of_spi_match);
 
 static const struct spi_device_id bmp280_spi_id[] = {
+	{ "bmp085", (kernel_ulong_t)&bmp180_chip_info },
 	{ "bmp180", (kernel_ulong_t)&bmp180_chip_info },
 	{ "bmp181", (kernel_ulong_t)&bmp180_chip_info },
 	{ "bmp280", (kernel_ulong_t)&bmp280_chip_info },
drivers/interconnect/qcom/sc8180x.c +1 -0
index 20331e119beb..03d626776ba1 100644
@@ -1372,6 +1372,7 @@ static struct qcom_icc_bcm bcm_mm0 = {
 
 static struct qcom_icc_bcm bcm_co0 = {
 	.name = "CO0",
+	.keepalive = true,
 	.num_nodes = 1,
[… more lines in the raw message]

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

drivers/interconnect/qcom/sm8550.c +1 -0
index 629faa4c9aae..fc22cecf650f 100644

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

drivers/irqchip/irq-brcmstb-l2.c +4 -1
index 5559c943f03f..2b0b3175cea0 100644

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

drivers/irqchip/irq-gic-v3-its.c +40 -22

62 lines not on this page · raw message

drivers/irqchip/irq-loongson-eiointc.c +1 -1
index 1623cd779175..b3736bdd4b9f 100644

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

drivers/md/dm-core.h +2 -0
index 095b9b49aa82..e6757a30dcca 100644

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

drivers/md/dm-crypt.c +2 -36
index 2ae8560b6a14..08681f426520 100644

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

drivers/md/dm-ioctl.c +2 -1
index e65058e0ed06..3b1ad7127cb8 100644

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

drivers/md/dm-table.c +7 -2
index 198d38b53322..08c9c20f9c66 100644

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

drivers/md/dm-verity-target.c +2 -24
index 14e58ae70521..82662f5769c4 100644

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

drivers/md/dm-verity.h +0 -1
index f9d522c870e6..f3f607008419 100644

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

drivers/md/md.c +4 -3
index 21b04607d53a..d243c196c598 100644

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

drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c +1 -1
index f96f821a7b50..acc559652d6e 100644

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

drivers/media/rc/bpf-lirc.c +3 -3
index fe17c7f98e81..52d82cbe7685 100644

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

drivers/media/rc/ir_toy.c +2 -0
index 196806709259..69e630d85262 100644

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

drivers/media/rc/lirc_dev.c +4 -1
index a537734832c5..caad59f76793 100644

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

drivers/media/rc/rc-core-priv.h +1 -1
index ef1e95e1af7f..7df949fc65e2 100644

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

drivers/misc/fastrpc.c +1 -1
index 1c6c62a7f7f5..03319a1fa97f 100644

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

drivers/mmc/core/slot-gpio.c +5 -1
index 2a2d949a9344..39f45c2b6de8 100644

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

drivers/mmc/host/sdhci-pci-o2micro.c +30 -0
index 7bfee28116af..d4a02184784a 100644

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

drivers/net/bonding/bond_main.c +2 -3
index 8e6cc0e133b7..6cf7f364704e 100644

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

drivers/net/can/dev/netlink.c +1 -1
index 036d85ef07f5..dfdc039d92a6 100644

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

drivers/net/dsa/mv88e6xxx/chip.c +1 -1
index 07a22c74fe81..dd2cbffcfe29 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +1 -1
index 2bd7b29fb251..d9716bcec81b 100644

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

drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +33 -5
index 7db89b294510..3d8a23d3352e 100644

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

drivers/net/ethernet/mellanox/mlx5/core/dpll.c +1 -1
index 2cd81bb32c66..8ce5c8bcda1c 100644

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

drivers/net/ethernet/microchip/lan966x/lan966x_lag.c +7 -2
index 41fa2523d91d..5f2cd9a8cf8f 100644

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

drivers/net/ethernet/netronome/nfp/flower/conntrack.c +43 -3

46 lines not on this page · raw message

drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c +1 -1
index e522845c7c21..0d7d138d6e0d 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_common.c +1 -0
index de0a5d5ded30..f2085340a1cf 100644

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

drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c +4 -2
index 33b4c2856316..3f10c5365c80 100644

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

drivers/net/ethernet/stmicro/stmmac/common.h +40 -16

56 lines not on this page · raw message

drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +7 -8
index 137741b94122..b21d99faa2d0 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c +7 -8
index 9470d3fd2ded..0d185e54eb7e 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c +7 -8
index 7907d62d3437..85e18f9a22f9 100644

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

drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c +7 -8
index 3cde695fec91..dd2ab6185c40 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +87 -42

129 lines not on this page · raw message

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +69 -67

136 lines not on this page · raw message

drivers/net/ethernet/ti/cpsw.c +2 -0
index ca4d4548f85e..2ed165dcdbdc 100644

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

drivers/net/ethernet/ti/cpsw_new.c +3 -0
index 0e4f526b1753..9061dca97fcb 100644

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

drivers/net/hyperv/netvsc.c +4 -1
index 1dafa44155d0..a6fcbda64ecc 100644

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

drivers/net/hyperv/netvsc_drv.c +62 -20

82 lines not on this page · raw message

drivers/net/wireless/intel/iwlwifi/fw/acpi.c +9 -6
index b96f30d11644..dcc4810cb324 100644

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

drivers/net/wireless/intel/iwlwifi/iwl-drv.c +1 -0
index ffe2670720c9..abf8001bdac1 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +3 -0
index 586334eee056..350dc6b8a330 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +4 -0
index 886d00098528..af15d470c69b 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/time-event.c +2 -1
index 218fdf1ed530..2e653a417d62 100644

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

drivers/net/xen-netback/netback.c +40 -44

84 lines not on this page · raw message

drivers/of/property.c +25 -40

65 lines not on this page · raw message

drivers/of/unittest.c +9 -3
index cfd60e35a899..d7593bde2d02 100644

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

drivers/pci/controller/dwc/pcie-designware-ep.c +2 -1
index bc94d7f39535..c2630db74560 100644

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

drivers/pci/pci.c +22 -15
index b2000b14faa0..e62de9730422 100644

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

drivers/perf/cxl_pmu.c +1 -1
index 365d964b0f6a..bc0d414a6aff 100644

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

drivers/pmdomain/mediatek/mtk-pm-domains.c +7 -8
index e26dc17d07ad..e274e3315fe7 100644

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

drivers/pmdomain/renesas/r8a77980-sysc.c +2 -1
index 39ca84a67daa..621e411fc999 100644

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

drivers/s390/net/qeth_l3_main.c +6 -3
index b92a32b4b114..04c64ce0a1ca 100644

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

drivers/scsi/fcoe/fcoe_ctlr.c +8 -12
index 19eee108db02..5c8d1ba3f8f3 100644

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

drivers/scsi/storvsc_drv.c +7 -5
index a95936b18f69..7ceb982040a5 100644

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

drivers/spi/spi-imx.c +5 -4
index 272bc871a848..e2d3e3ec1378 100644

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

drivers/spi/spi-omap2-mcspi.c +8 -129

137 lines not on this page · raw message

drivers/spi/spi-ppc4xx.c +0 -5
index 03aab661be9d..e982d3189fdc 100644

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

drivers/staging/iio/impedance-analyzer/ad5933.c +1 -1
index e748a5d04e97..9149d41fe65b 100644

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

drivers/thunderbolt/tb_regs.h +1 -1
index 87e4795275fe..6f798f6a2b84 100644

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

drivers/thunderbolt/usb4.c +1 -1
index f8f0d24ff6e4..1515eff8cc3e 100644

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

drivers/tty/serial/max310x.c +43 -10

53 lines not on this page · raw message

drivers/tty/serial/mxs-auart.c +4 -1
index 8eeecf8ad359..380a8b0590e3 100644

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

drivers/tty/serial/serial_core.c +1 -1
index 93e4e1693601..39fa9ae5099b 100644

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

drivers/usb/chipidea/ci.h +2 -0
index d9bb3d3f026e..2a38e1eb6546 100644

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

drivers/usb/chipidea/core.c +24 -20

44 lines not on this page · raw message

drivers/usb/common/ulpi.c +1 -1
index 84d91b1c1eed..0886b19d2e1c 100644

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

drivers/usb/core/hub.c +32 -14

46 lines not on this page · raw message

drivers/usb/dwc3/gadget.c +2 -4
index 89de363ecf8b..4c8dd6724678 100644

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

drivers/usb/gadget/function/f_mass_storage.c +18 -2
index 722a3ab2b337..c265a1f62fc1 100644

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

drivers/usb/typec/tcpm/tcpm.c +2 -1
index a1487bc670f1..bfb6f9481e87 100644

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

drivers/usb/typec/ucsi/ucsi.c +2 -0
index 61b64558f96c..8f9dff993b3d 100644

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

drivers/usb/typec/ucsi/ucsi_acpi.c +13 -4
index 6bbf490ac401..fa222080887d 100644

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

drivers/xen/events/events_base.c +6 -2
index b8cfea7812d6..3b9f080109d7 100644

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

fs/btrfs/block-group.c +78 -2

80 lines not on this page · raw message

fs/btrfs/block-group.h +7 -0
index 2bdbcb834f95..089979981e4a 100644

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

fs/btrfs/delalloc-space.c +19 -10
index 2833e8ef4c09..acf9f4b6c044 100644

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

fs/btrfs/disk-io.c +11 -2
index 62cb97f7c94f..c03091793aaa 100644

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

fs/btrfs/inode.c +24 -2
index 97cd57e710cb..6c2e794efff0 100644

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

fs/btrfs/ioctl.c +5 -0
index 69e91341fd63..0bd43b863c43 100644

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

fs/btrfs/qgroup.c +14 -0
index e46774e8f49f..bbfa44b89bc4 100644

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

fs/btrfs/send.c +1 -1
index 4e36550618e5..77b182225809 100644

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

fs/btrfs/transaction.c +2 -36
index 5b3333ceef04..c52807d97efa 100644

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

fs/ceph/caps.c +2 -1
index 9c02f328c966..e8bf082105d8 100644

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

fs/ext4/mballoc.c +21 -18
index 3c5786841c6c..be63744c95d3 100644

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

fs/ext4/move_extent.c +2 -4
index 3aa57376d9c2..391efa6d4c56 100644

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

fs/hugetlbfs/inode.c +17 -4
index f757d4f7ad98..6f57fa75a664 100644

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

fs/namespace.c +8 -3
index 6c39ec020a5f..3ffae7465274 100644

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

fs/nfsd/nfs4state.c +5 -6
index 21180fa95380..57968484c3f8 100644

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

fs/nilfs2/file.c +7 -1
index 740ce26d1e76..0505feef79f4 100644

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

fs/nilfs2/recovery.c +4 -3
index 0955b657938f..a9b8d77c8c1d 100644

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

fs/nilfs2/segment.c +5 -3
index 55e31cc903d1..0f21dbcd0bfb 100644

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

fs/proc/array.c +37 -29

66 lines not on this page · raw message

fs/smb/client/connect.c +12 -2
index dc9b95ca71e6..ea1da3ce0d40 100644

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

fs/smb/client/fs_context.c +11 -0
index a3493da12ad1..75f2c8734ff5 100644

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

fs/smb/client/namespace.c +16 -0
index a6968573b775..4a517b280f2b 100644

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

fs/smb/client/smb2ops.c +1 -1
index beb81fa00cff..ba734395b036 100644

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

fs/smb/server/smb2pdu.c +6 -2
index ba7a72a6a4f4..0c97d3c86072 100644

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

fs/tracefs/event_inode.c +237 -571

808 lines not on this page · raw message

fs/tracefs/inode.c +22 -80

102 lines not on this page · raw message

fs/tracefs/internal.h +19 -25

44 lines not on this page · raw message

fs/zonefs/file.c +27 -15

42 lines not on this page · raw message

fs/zonefs/super.c +38 -28

66 lines not on this page · raw message

include/linux/backing-dev-defs.h +5 -2
index ae12696ec492..2ad261082bba 100644

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

include/linux/compiler-gcc.h +20 -0
index 2ceba3fe4ec1..687aaaff807e 100644

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

include/linux/compiler_types.h +9 -2
index 6f1ca49306d2..0caf354cb94b 100644

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

include/linux/gpio/driver.h +12 -0
index f2878b361463..725e7eca9977 100644

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

include/linux/iio/adc/ad_sigma_delta.h +3 -1
index 7852f6c9a714..719cf9cc6e1a 100644

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

include/linux/iio/common/st_sensors.h +2 -2
index 607c3a89a647..f9ae5cdd884f 100644

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

include/linux/iio/imu/adis.h +2 -1
index dc9ea299e088..8898966bc0f0 100644

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

include/linux/lsm_hook_defs.h +2 -2
index 472cb16458b0..ed3d517460f8 100644

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

include/linux/mman.h +1 -0
index 40d94411d492..dc7048824be8 100644

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

include/linux/netfilter/ipset/ip_set.h +4 -0
index e8c350a3ade1..e9f4f845d760 100644

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

include/linux/ptrace.h +4 -0
index eaaef3ffec22..90507d4afcd6 100644

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

include/linux/serial_core.h +27 -5
index 89f7b6c63598..f43aca7f3b01 100644

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

include/net/tls.h +0 -5
index 962f0c501111..340ad43971e4 100644

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

include/sound/tas2781.h +1 -0
index a6c808b22318..475294c853aa 100644

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

init/Kconfig +9 -0
index 9ffb103fc927..bfde8189c2be 100644

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

io_uring/net.c +3 -2
index 43bc9a5f96f9..161622029147 100644

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

kernel/sched/membarrier.c +6 -0
index 2ad881d07752..4e715b9b278e 100644

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

kernel/sys.c +32 -18

50 lines not on this page · raw message

kernel/trace/ftrace.c +10 -0
index b01ae7d36021..83ba342aef31 100644

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

kernel/trace/ring_buffer.c +1 -1
index 9286f88fcd32..6fa67c297e8f 100644

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

kernel/trace/trace.c +40 -38

78 lines not on this page · raw message

kernel/trace/trace_btf.c +2 -2
index ca224d53bfdc..5bbdbcbbde3c 100644

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

kernel/trace/trace_events_synth.c +2 -1
index e7af286af4f1..c82b401a294d 100644

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

kernel/trace/trace_events_trigger.c +4 -2
index 46439e3bcec4..b33c3861fbbb 100644

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

kernel/trace/trace_osnoise.c +3 -3
index bd0d01d00fb9..a8e28f9b9271 100644

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

kernel/trace/trace_probe.c +18 -14
index 4dc74d73fc1d..34289f9c6707 100644

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

kernel/trace/trace_probe.h +2 -1
index 850d9ecb6765..c1877d018269 100644

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

kernel/workqueue.c +2 -6
index 2989b57e154a..4f87b1851c74 100644

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

lib/kobject.c +14 -10
index 59dbcbdb1c91..72fa20f405f1 100644

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

mm/backing-dev.c +1 -1
index 1e3447bccdb1..e039d05304dd 100644

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

mm/damon/sysfs-schemes.c +1 -1
index fe0fe2562000..786b06239ccf 100644

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

mm/huge_memory.c +12 -2
index 86ee29b5c39c..3f50578eb933 100644

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

mm/memory-failure.c +1 -1
index 455093f73a70..17298a615a12 100644

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

mm/memory.c +2 -2
index 6e0712d06cd4..f941489d6041 100644

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

mm/mmap.c +4 -2
index aa82eec17489..b9a43872acad 100644

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

mm/page-writeback.c +2 -2
index 05e5c425b3ff..f735d28de38c 100644

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

mm/userfaultfd.c +13 -2
index 0b6ca553bebe..2213d887ec7d 100644

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

net/can/j1939/j1939-priv.h +2 -1
index 16af1a7f80f6..31a93cae5111 100644

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

net/can/j1939/main.c +1 -1
index ecff1c947d68..a6fb89fa6278 100644

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

net/can/j1939/socket.c +30 -16

46 lines not on this page · raw message

net/handshake/handshake-test.c +4 -1
index 16ed7bfd29e4..34fd1d9b2db8 100644

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

net/hsr/hsr_device.c +2 -2
index 306f942c3b28..dd4b5f0aa131 100644

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

net/mac80211/tx.c +3 -2
index a94feb6b579b..d7aa75b7fd91 100644

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

net/mptcp/pm_userspace.c +12 -1
index 5c01b9bc619a..80857ef3b90f 100644

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

net/mptcp/protocol.c +12 -13
index 5cd5c3f535a8..0b42ce7de45c 100644

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

net/mptcp/protocol.h +4 -3
index aa1a93fe40ff..27f3fedb9c36 100644

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

net/mptcp/subflow.c +2 -2
index 7785cda48e6b..5155ce5b7108 100644

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

net/netfilter/ipset/ip_set_bitmap_gen.h +11 -3
index 26ab0e9612d8..9523104a90da 100644

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

net/netfilter/ipset/ip_set_core.c +30 -9
index 4c133e06be1d..3184cc6be4c9 100644

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

net/netfilter/ipset/ip_set_hash_gen.h +14 -5
index 7c2399541771..20aad81fcad7 100644

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

net/netfilter/ipset/ip_set_list_set.c +10 -3
index e162636525cf..6c3f28bc59b3 100644

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

net/netfilter/nft_set_pipapo_avx2.c +1 -1
index 90e275bb3e5d..a3a8ddca9918 100644

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

net/nfc/nci/core.c +4 -0
index 6c9592d05120..12684d835cb5 100644

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

net/openvswitch/flow_netlink.c +33 -16

49 lines not on this page · raw message

net/tls/tls_sw.c +62 -73

135 lines not on this page · raw message

net/wireless/core.c +2 -1
index 409d74c57ca0..3fb1b637352a 100644

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

samples/bpf/asm_goto_workaround.h +4 -4
index 7048bb3594d6..634e81d83efd 100644

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

scripts/link-vmlinux.sh +7 -2
index a432b171be82..7862a8101747 100755

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

scripts/mksysmap +2 -11
index 9ba1c9da0a40..57ff5656d566 100755

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

scripts/mod/modpost.c +2 -1
index cb6406f485a9..f7c4d3fe4381 100644

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

scripts/mod/sumversion.c +6 -1
index 31066bfdba04..dc4878502276 100644

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

security/security.c +40 -5

45 lines not on this page · raw message

sound/pci/hda/Kconfig +2 -2
index 21a90b3c4cc7..8e0ff70fb610 100644

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

sound/pci/hda/patch_conexant.c +18 -0
index e8819e8a9876..e8209178d87b 100644

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

sound/pci/hda/patch_cs8409.c +1 -0
index 627899959ffe..e41316e2e983 100644

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

sound/pci/hda/patch_realtek.c +17 -3
index 084857723ce6..e3096572881d 100644

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

sound/pci/hda/tas2781_hda_i2c.c +1 -1
index dfe281b57aa6..9f98965742e8 100644

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

sound/soc/amd/yc/acp6x-mach.c +14 -0
index d83cb6e4c62a..80ad60d485ea 100644

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

sound/soc/codecs/rt5645.c +1 -0
index edcb85bd8ea7..ea08b7cfc31d 100644

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

sound/soc/codecs/tas2781-comlib.c +2 -1
index 00e35169ae49..add16302f711 100644

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

sound/soc/codecs/tas2781-i2c.c +1 -1
index 917b1c15f71d..2f7f8b18c36f 100644

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

sound/soc/codecs/wcd938x.c +1 -1
index 98055dd39b78..75834ed0365d 100644

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

sound/soc/intel/avs/core.c +3 -0
index 59c3793f65df..db78eb2f0108 100644

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

sound/soc/intel/avs/topology.c +1 -1
index c74e9d622e4c..41020409ffb6 100644

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

sound/soc/sof/ipc3-topology.c +41 -14

55 lines not on this page · raw message

sound/soc/sof/ipc3.c +1 -1
index fb40378ad084..c03dd513fbff 100644

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

tools/arch/x86/include/asm/rmwcc.h +1 -1
index 11ff975242ca..e2ff22b379a4 100644

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

tools/include/linux/compiler_types.h +2 -2
index 1bdd834bdd57..d09f9dc172a4 100644

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

tools/testing/selftests/dt/test_unprobed_devices.sh +7 -6
index b07af2a4c4de..7fae90293a9d 100755

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

tools/testing/selftests/landlock/common.h +40 -8

48 lines not on this page · raw message

tools/testing/selftests/landlock/fs_test.c +8 -3
index 18e1f86a6234..fde1a96ef9f4 100644

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

tools/testing/selftests/landlock/net_test.c +11 -2
index 929e21c4db05..4499b2736e1a 100644

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

tools/testing/selftests/mm/charge_reserved_hugetlb.sh +1 -1
index 0899019a7fcb..e14bdd4455f2 100755

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

tools/testing/selftests/mm/ksm_tests.c +1 -1
index 380b691d3eb9..b748c48908d9 100644

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

tools/testing/selftests/mm/map_hugetlb.c +7 -0
index 193281560b61..86e8f2048a40 100644

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

tools/testing/selftests/mm/va_high_addr_switch.sh +6 -0
index 45cae7cab27e..a0a75f302904 100755

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

tools/testing/selftests/mm/write_hugetlb_memory.sh +1 -1
index 70a02301f4c2..3d2d2eb9d6ff 100755

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

tools/testing/selftests/net/forwarding/bridge_locked_port.sh +2 -2
index 9af9f6964808..c62331b2e006 100755

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

tools/testing/selftests/net/forwarding/bridge_mdb.sh +9 -5
index e4e3e9405056..a3678dfe5848 100755

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

tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh +6 -2
index 20a7cb7222b8..c2420bb72c12 100755

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

tools/testing/selftests/net/mptcp/config +3 -0
index e317c2e44dae..4f80014cae49 100644

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

tools/testing/selftests/net/mptcp/mptcp_join.sh +2 -8
index 24a57b3ae215..ed665e0057d3 100755

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

tools/testing/selftests/net/mptcp/mptcp_lib.sh +10 -1
index 92a5befe8039..4cd4297ca86d 100644

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

tools/testing/selftests/net/mptcp/settings +1 -1
index 79b65bdf05db..abc5648b59ab 100644

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

tools/testing/selftests/net/mptcp/userspace_pm.sh +11 -20
index b25a3e33eb25..c44bf5c7c6e0 100755

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

tools/testing/selftests/net/test_bridge_backup_port.sh +205 -189

394 lines not on this page · raw message

tools/tracing/rtla/Makefile +6 -1
index 2456a399eb9a..afd18c678ff5 100644

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

tools/tracing/rtla/src/osnoise_hist.c +6 -3
index 8f81fa007364..01870d50942a 100644

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

tools/tracing/rtla/src/osnoise_top.c +5 -1
index f7c959be8677..457360db0767 100644

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

tools/tracing/rtla/src/timerlat_hist.c +6 -3
index 47d3d8b53cb2..dbf154082f95 100644

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

tools/tracing/rtla/src/timerlat_top.c +5 -1
index 1640f121baca..3e9af2c38688 100644

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

tools/tracing/rtla/src/utils.c +4 -10
index c769d7b3842c..9ac71a66840c 100644

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

tools/tracing/rtla/src/utils.h +2 -0
index 04ed1e650495..d44513e6c66a 100644

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

tools/verification/rv/Makefile +6 -1
index 3d0f3888a58c..485f8aeddbe0 100644

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

tools/verification/rv/src/in_kernel.c +1 -1
index ad28582bcf2b..f04479ecc96c 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.