Skip to contentSkip to conversation

Linux 6.12.103

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Aug 9 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.12.103 kernel.

All users of the 6.12 kernel series must upgrade.

The updated 6.12.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.12.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/dev-tools/kmemleak.rst                          |    1 
 Documentation/hwmon/ina2xx.rst                                |   67 
 Makefile                                                      |    2 
 arch/powerpc/boot/simpleboot.c                                |    2 
 arch/powerpc/boot/treeboot-akebono.c                          |    2 
 arch/powerpc/boot/treeboot-currituck.c                        |    2 
 arch/powerpc/platforms/ps3/mm.c                               |    1 
 arch/riscv/mm/init.c                                          |    4 
 arch/s390/kvm/pci.c                                           |   28 
 arch/s390/pci/pci_mmio.c                                      |    1 
 arch/um/drivers/chan_user.c                                   |    2 
 arch/um/drivers/ubd_kern.c                                    |    1 
 arch/um/drivers/vector_kern.c                                 |    3 
 arch/um/include/shared/os.h                                   |    2 
 arch/um/os-Linux/process.c                                    |    6 
 arch/um/os-Linux/sigio.c                                      |    1 
 arch/um/os-Linux/signal.c                                     |    3 
 arch/um/os-Linux/skas/process.c                               |    3 
 arch/x86/kvm/svm/avic.c                                       |    8 
 drivers/accel/qaic/qaic_control.c                             |    2 
 drivers/ata/ahci.h                                            |   17 
 drivers/ata/ahci_brcm.c                                       |    3 
 drivers/ata/ahci_ceva.c                                       |   24 
 drivers/ata/libahci.c                                         |    1 
 drivers/ata/libahci_platform.c                                |   38 
 drivers/ata/libata-eh.c                                       |    8 
 drivers/ata/libata-sata.c                                     |    2 
 drivers/ata/sata_mv.c                                         |    2 
 drivers/block/ublk_drv.c                                      |    9 
 drivers/bluetooth/btintel.c                                   |    3 
 drivers/bluetooth/btmtk.c                                     |   50 
 drivers/bluetooth/btusb.c                                     |   30 
 drivers/cpufreq/powernow-k8.c                                 |    1 
 drivers/dma/idxd/cdev.c                                       |    4 
 drivers/dma/sun6i-dma.c                                       |   11 
 drivers/gpio/gpio-pca953x.c                                   |   15 
 drivers/gpio/gpio-pch.c                                       |   28 
 drivers/gpio/gpio-sloppy-logic-analyzer.c                     |   10 
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c                    |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c                        |   12 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c                       |   71 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c                       |   15 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c                       |   11 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c                       |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c                   |   30 
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c                       |   11 
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h                       |   22 
 drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c                      |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c                    |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c                       |   40 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h                       |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c                       |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c                       |    5 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c                       |    8 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                        |    6 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h                        |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c                    |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c                     |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c                   |   12 
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c                         |    6 
 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c                         |    6 
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c                      |   10 
 drivers/gpu/drm/amd/amdkfd/kfd_events.c                       |   23 
 drivers/gpu/drm/amd/amdkfd/kfd_migrate.c                      |    3 
 drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c        |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_queue.c                        |    2 
 drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c         |   20 
 drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c       |   16 
 drivers/gpu/drm/armada/armada_fbdev.c                         |   12 
 drivers/gpu/drm/display/drm_dp_helper.c                       |   12 
 drivers/gpu/drm/drm_exec.c                                    |    6 
 drivers/gpu/drm/drm_fb_helper.c                               |   41 
 drivers/gpu/drm/drm_fbdev_dma.c                               |   12 
 drivers/gpu/drm/drm_fbdev_shmem.c                             |   12 
 drivers/gpu/drm/drm_fbdev_ttm.c                               |   12 
 drivers/gpu/drm/drm_gpuvm.c                                   |    3 
 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c                  |    2 
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c                     |    9 
 drivers/gpu/drm/gma500/fbdev.c                                |   13 
 drivers/gpu/drm/i915/display/intel_fbdev.c                    |    9 
 drivers/gpu/drm/i915/display/intel_hdcp.c                     |  699 +++++-----
 drivers/gpu/drm/i915/display/intel_hdcp_gsc.c                 |    9 
 drivers/gpu/drm/i915/display/intel_hdcp_gsc.h                 |    5 
 drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.h         |    3 
 drivers/gpu/drm/i915/display/intel_vrr.c                      |   10 
 drivers/gpu/drm/imagination/pvr_job.c                         |    2 
 drivers/gpu/drm/imagination/pvr_queue.c                       |    5 
 drivers/gpu/drm/imagination/pvr_queue.h                       |    2 
 drivers/gpu/drm/lima/lima_gem.c                               |    2 
 drivers/gpu/drm/lima/lima_sched.c                             |    6 
 drivers/gpu/drm/lima/lima_sched.h                             |    3 
 drivers/gpu/drm/mediatek/mtk_crtc.c                           |    6 
 drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c               |    7 
 drivers/gpu/drm/msm/msm_fbdev.c                               |    9 
 drivers/gpu/drm/msm/msm_gem_submit.c                          |    8 
 drivers/gpu/drm/nouveau/nouveau_sched.c                       |    3 
 drivers/gpu/drm/omapdrm/omap_fbdev.c                          |    9 
 drivers/gpu/drm/panfrost/panfrost_drv.c                       |    2 
 drivers/gpu/drm/panthor/panthor_drv.c                         |    3 
 drivers/gpu/drm/panthor/panthor_fw.c                          |   47 
 drivers/gpu/drm/panthor/panthor_mmu.c                         |    2 
 drivers/gpu/drm/panthor/panthor_sched.c                       |    5 
 drivers/gpu/drm/panthor/panthor_sched.h                       |    3 
 drivers/gpu/drm/radeon/radeon_fbdev.c                         |   13 
 drivers/gpu/drm/scheduler/sched_fence.c                       |    4 
 drivers/gpu/drm/scheduler/sched_main.c                        |    7 
 drivers/gpu/drm/tegra/fbdev.c                                 |   18 
 drivers/gpu/drm/v3d/v3d_submit.c                              |    2 
 drivers/gpu/drm/vc4/vc4_irq.c                                 |    2 
 drivers/gpu/drm/vc4/vc4_validate.c                            |   29 
 drivers/gpu/drm/vmwgfx/ttm_object.c                           |    7 
 drivers/gpu/drm/vmwgfx/vmwgfx_blit.c                          |   39 
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c                       |   20 
 drivers/gpu/drm/vmwgfx/vmwgfx_resource.c                      |    4 
 drivers/gpu/drm/vmwgfx/vmwgfx_shader.c                        |   13 
 drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c                          |   17 
 drivers/gpu/drm/xe/Makefile                                   |    1 
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c                      |    7 
 drivers/gpu/drm/xe/xe_bo.c                                    |   33 
 drivers/gpu/drm/xe/xe_bo.h                                    |   10 
 drivers/gpu/drm/xe/xe_bo_types.h                              |    2 
 drivers/gpu/drm/xe/xe_dma_buf.c                               |    6 
 drivers/gpu/drm/xe/xe_exec.c                                  |   22 
 drivers/gpu/drm/xe/xe_gt.c                                    |    4 
 drivers/gpu/drm/xe/xe_gt_debugfs.c                            |    4 
 drivers/gpu/drm/xe/xe_gt_printk.h                             |   31 
 drivers/gpu/drm/xe/xe_hw_engine.c                             |    3 
 drivers/gpu/drm/xe/xe_hw_engine_types.h                       |    8 
 drivers/gpu/drm/xe/xe_oa.c                                    |    7 
 drivers/gpu/drm/xe/xe_oa_types.h                              |    3 
 drivers/gpu/drm/xe/xe_pagefault.c                             |   65 
 drivers/gpu/drm/xe/xe_pagefault.h                             |   19 
 drivers/gpu/drm/xe/xe_pagefault_types.h                       |  136 +
 drivers/gpu/drm/xe/xe_pt.c                                    |    3 
 drivers/gpu/drm/xe/xe_reg_sr.c                                |   53 
 drivers/gpu/drm/xe/xe_reg_whitelist.c                         |  147 +-
 drivers/gpu/drm/xe/xe_reg_whitelist.h                         |    4 
 drivers/gpu/drm/xe/xe_sched_job.c                             |    3 
 drivers/gpu/drm/xe/xe_vm.c                                    |    3 
 drivers/hid/hid-logitech-dj.c                                 |   28 
 drivers/hv/vmbus_drv.c                                        |   13 
 drivers/hwmon/Kconfig                                         |    5 
 drivers/hwmon/adt7470.c                                       |  129 +
 drivers/hwmon/ina2xx.c                                        |  251 +++
 drivers/hwmon/lm90.c                                          |    4 
 drivers/hwmon/ltc4282.c                                       |    4 
 drivers/hwmon/nct6775-core.c                                  |   20 
 drivers/hwmon/npcm750-pwm-fan.c                               |   11 
 drivers/hwmon/nzxt-smart2.c                                   |    2 
 drivers/hwmon/pmbus/pmbus_core.c                              |    7 
 drivers/hwmon/sht3x.c                                         |    9 
 drivers/i2c/busses/i2c-amd-mp2-plat.c                         |    4 
 drivers/i2c/busses/i2c-bcm-iproc.c                            |   11 
 drivers/i2c/busses/i2c-imx.c                                  |    9 
 drivers/i2c/busses/i2c-jz4780.c                               |    5 
 drivers/iommu/iova.c                                          |    6 
 drivers/media/i2c/imx219.c                                    |   31 
 drivers/media/platform/chips-media/wave5/wave5-hw.c           |    3 
 drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c      |    5 
 drivers/media/platform/chips-media/wave5/wave5-vpuapi.h       |    1 
 drivers/net/can/c_can/c_can_main.c                            |    8 
 drivers/net/can/ctucanfd/ctucanfd_base.c                      |   14 
 drivers/net/can/ctucanfd/ctucanfd_pci.c                       |    3 
 drivers/net/can/dev/skb.c                                     |    2 
 drivers/net/can/softing/softing_fw.c                          |   46 
 drivers/net/can/usb/ems_usb.c                                 |   43 
 drivers/net/can/usb/etas_es58x/es58x_core.c                   |    1 
 drivers/net/can/usb/gs_usb.c                                  |    4 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c             |    1 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c              |   13 
 drivers/net/can/usb/peak_usb/pcan_usb_core.c                  |    1 
 drivers/net/can/usb/peak_usb/pcan_usb_fd.c                    |   40 
 drivers/net/can/usb/peak_usb/pcan_usb_pro.c                   |   20 
 drivers/net/dsa/mt7530-mdio.c                                 |   11 
 drivers/net/dsa/mt7530.c                                      |   58 
 drivers/net/ethernet/airoha/airoha_eth.c                      |    2 
 drivers/net/ethernet/intel/e1000/e1000_main.c                 |    2 
 drivers/net/ethernet/intel/ice/ice_ethtool.c                  |   10 
 drivers/net/ethernet/intel/ice/ice_main.c                     |   10 
 drivers/net/ethernet/intel/idpf/idpf_lib.c                    |    2 
 drivers/net/ethernet/intel/idpf/idpf_txrx.c                   |    5 
 drivers/net/ethernet/intel/idpf/idpf_txrx.h                   |    2 
 drivers/net/ethernet/intel/igbvf/netdev.c                     |    2 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c          |    2 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                   |   58 
 drivers/net/ethernet/mediatek/mtk_eth_soc.h                   |    7 
 drivers/net/ethernet/nvidia/forcedeth.c                       |    4 
 drivers/net/ethernet/qlogic/qede/qede_main.c                  |   44 
 drivers/net/ethernet/realtek/rtase/rtase_main.c               |    3 
 drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c               |   14 
 drivers/net/ethernet/wangxun/libwx/wx_lib.c                   |    2 
 drivers/net/netconsole.c                                      |    3 
 drivers/net/phy/phylink.c                                     |   29 
 drivers/net/veth.c                                            |    4 
 drivers/net/vxlan/vxlan_core.c                                |   15 
 drivers/net/wireless/ath/ath6kl/txrx.c                        |    2 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c     |   16 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h        |    6 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c       |    4 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c       |   46 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c       |    6 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c       |   14 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h       |    1 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c        |    3 
 drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h |    2 
 drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c          |    2 
 drivers/of/of_reserved_mem.c                                  |   87 +
 drivers/phy/xilinx/phy-zynqmp.c                               |  130 +
 drivers/pinctrl/Kconfig                                       |    2 
 drivers/pinctrl/devicetree.c                                  |    4 
 drivers/pinctrl/pinctrl-amd.c                                 |    3 
 drivers/pinctrl/qcom/pinctrl-msm.c                            |    8 
 drivers/pinctrl/qcom/pinctrl-sc8280xp.c                       |   21 
 drivers/power/supply/bq25890_charger.c                        |    2 
 drivers/power/supply/max17040_battery.c                       |    6 
 drivers/s390/block/dasd_eckd.c                                |   11 
 drivers/s390/block/dasd_ioctl.c                               |    2 
 drivers/s390/crypto/zcrypt_api.c                              |    2 
 drivers/s390/crypto/zcrypt_ccamisc.c                          |    6 
 drivers/s390/net/qeth_core_main.c                             |    3 
 drivers/s390/scsi/zfcp_aux.c                                  |    1 
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c                        |   10 
 drivers/scsi/libiscsi.c                                       |    2 
 drivers/scsi/libiscsi_tcp.c                                   |    8 
 drivers/scsi/libsas/sas_init.c                                |   37 
 drivers/scsi/scsi_debug.c                                     |    8 
 drivers/spi/spi-cadence.c                                     |  129 +
 drivers/spi/spi-qcom-qspi.c                                   |    3 
 drivers/target/target_core_iblock.c                           |    6 
 drivers/target/target_core_transport.c                        |   12 
 drivers/thunderbolt/xdomain.c                                 |   40 
 drivers/ufs/core/ufshcd.c                                     |    6 
 drivers/usb/gadget/function/f_tcm.c                           |  192 ++
 drivers/usb/gadget/function/tcm.h                             |   13 
 drivers/usb/typec/ucsi/ucsi.c                                 |   90 -
 drivers/usb/typec/ucsi/ucsi.h                                 |    1 
 fs/binfmt_misc.c                                              |    8 
 fs/btrfs/super.c                                              |    8 
 fs/btrfs/zoned.c                                              |    6 
 fs/erofs/Kconfig                                              |   14 
 fs/erofs/decompressor_lzma.c                                  |    3 
 fs/proc/task_mmu.c                                            |   33 
 fs/smb/client/cifssmb.c                                       |   12 
 fs/smb/server/vfs_cache.c                                     |    6 
 include/drm/drm_exec.h                                        |   20 
 include/drm/drm_fb_helper.h                                   |   12 
 include/drm/gpu_scheduler.h                                   |   12 
 include/linux/alloc_tag.h                                     |    3 
 include/linux/can/core.h                                      |    1 
 include/linux/can/skb.h                                       |    2 
 include/linux/dma/qcom_bam_dma.h                              |   21 
 include/linux/kmemleak.h                                      |    4 
 include/linux/libata.h                                        |    2 
 include/linux/mmc/sdio_ids.h                                  |    2 
 include/linux/netfilter/nf_conntrack_sip.h                    |    2 
 include/linux/slab.h                                          |    8 
 include/linux/thunderbolt.h                                   |    3 
 include/linux/trace_events.h                                  |    4 
 include/net/ip_vs.h                                           |   45 
 include/net/neighbour.h                                       |    8 
 include/net/netfilter/nf_conntrack_expect.h                   |    5 
 include/net/netfilter/nf_tables.h                             |    4 
 include/scsi/libsas.h                                         |    1 
 include/trace/events/rxrpc.h                                  |   14 
 include/uapi/linux/rkisp1-config.h                            |    6 
 kernel/audit.c                                                |   11 
 kernel/auditfilter.c                                          |    6 
 kernel/bpf/verifier.c                                         |    1 
 kernel/sched/cpufreq_schedutil.c                              |   11 
 kernel/sched/deadline.c                                       |    3 
 kernel/trace/trace.c                                          |   44 
 kernel/trace/trace.h                                          |    4 
 kernel/trace/trace_branch.c                                   |    4 
 kernel/trace/trace_events.c                                   |    6 
 kernel/trace/trace_events_filter.c                            |    3 
 kernel/trace/trace_functions_graph.c                          |    8 
 kernel/trace/trace_hwlat.c                                    |    4 
 kernel/trace/trace_mmiotrace.c                                |   33 
 kernel/trace/trace_osnoise.c                                  |   12 
 kernel/trace/trace_probe.c                                    |    6 
 kernel/trace/trace_sched_wakeup.c                             |    8 
 lib/alloc_tag.c                                               |    9 
 lib/assoc_array.c                                             |    3 
 lib/rhashtable.c                                              |    1 
 lib/test_fortify/Makefile                                     |    1 
 lib/win_minmax.c                                              |    1 
 mm/huge_memory.c                                              |   16 
 mm/hugetlb.c                                                  |   12 
 mm/kmemleak.c                                                 |   44 
 mm/memcontrol-v1.h                                            |    6 
 mm/migrate_device.c                                           |    5 
 mm/mm_init.c                                                  |   15 
 mm/page_reporting.c                                           |    6 
 mm/percpu-km.c                                                |    2 
 mm/slab.h                                                     |   28 
 mm/slab_common.c                                              |   13 
 mm/slub.c                                                     |   34 
 net/bluetooth/hci_conn.c                                      |   14 
 net/bluetooth/hci_sync.c                                      |  137 +
 net/bluetooth/hidp/core.c                                     |   30 
 net/bluetooth/iso.c                                           |  113 +
 net/bluetooth/l2cap_core.c                                    |    5 
 net/bluetooth/mgmt.c                                          |   84 -
 net/bridge/br_mrp.c                                           |    2 
 net/bridge/br_multicast.c                                     |    1 
 net/bridge/br_netfilter_hooks.c                               |    6 
 net/can/af_can.c                                              |   14 
 net/can/bcm.c                                                 |    2 
 net/can/isotp.c                                               |  333 +++-
 net/can/j1939/bus.c                                           |    2 
 net/can/j1939/j1939-priv.h                                    |    3 
 net/can/j1939/main.c                                          |    8 
 net/can/j1939/socket.c                                        |    1 
 net/can/j1939/transport.c                                     |    6 
 net/can/raw.c                                                 |    7 
 net/core/lwt_bpf.c                                            |    4 
 net/core/skbuff.c                                             |   18 
 net/ipv4/route.c                                              |    2 
 net/ipv4/udp_tunnel_nic.c                                     |   32 
 net/ipv6/fib6_rules.c                                         |    1 
 net/ipv6/ip6_output.c                                         |    2 
 net/ipv6/ndisc.c                                              |    2 
 net/mac80211/s1g.c                                            |    4 
 net/mpls/af_mpls.c                                            |    1 
 net/mptcp/pm.c                                                |    9 
 net/mptcp/pm_netlink.c                                        |   29 
 net/mptcp/pm_userspace.c                                      |   89 -
 net/mptcp/protocol.h                                          |    6 
 net/netfilter/ipset/ip_set_hash_gen.h                         |    2 
 net/netfilter/ipvs/ip_vs_app.c                                |    4 
 net/netfilter/ipvs/ip_vs_conn.c                               |    3 
 net/netfilter/ipvs/ip_vs_core.c                               |  180 +-
 net/netfilter/ipvs/ip_vs_proto_sctp.c                         |   19 
 net/netfilter/ipvs/ip_vs_proto_tcp.c                          |   48 
 net/netfilter/ipvs/ip_vs_proto_udp.c                          |   54 
 net/netfilter/ipvs/ip_vs_xmit.c                               |   42 
 net/netfilter/nf_conntrack_broadcast.c                        |    1 
 net/netfilter/nf_conntrack_core.c                             |    7 
 net/netfilter/nf_conntrack_expect.c                           |    1 
 net/netfilter/nf_conntrack_h323_main.c                        |   12 
 net/netfilter/nf_conntrack_helper.c                           |    5 
 net/netfilter/nf_conntrack_netlink.c                          |   18 
 net/netfilter/nf_conntrack_sip.c                              |    4 
 net/netfilter/nf_nat_sip.c                                    |    2 
 net/netfilter/nf_tables_api.c                                 |   34 
 net/netfilter/nft_payload.c                                   |   12 
 net/netfilter/xt_hashlimit.c                                  |   16 
 net/openvswitch/actions.c                                     |   12 
 net/openvswitch/meter.c                                       |   33 
 net/rds/ib.c                                                  |    4 
 net/rds/ib_cm.c                                               |    4 
 net/rds/tcp.c                                                 |   14 
 net/rxrpc/ar-internal.h                                       |   38 
 net/rxrpc/call_accept.c                                       |    1 
 net/rxrpc/call_event.c                                        |   19 
 net/rxrpc/call_object.c                                       |    2 
 net/rxrpc/input.c                                             |   12 
 net/rxrpc/output.c                                            |   14 
 net/rxrpc/peer_object.c                                       |   20 
 net/rxrpc/proc.c                                              |    6 
 net/rxrpc/rtt.c                                               |  103 -
 net/rxrpc/sendmsg.c                                           |    2 
 net/sctp/associola.c                                          |    3 
 net/sctp/sm_make_chunk.c                                      |   17 
 net/smc/smc_core.c                                            |    2 
 net/tipc/socket.c                                             |    2 
 security/keys/keyring.c                                       |   14 
 security/keys/trusted-keys/trusted_dcp.c                      |   15 
 sound/core/pcm_native.c                                       |    7 
 sound/core/seq/seq_timer.c                                    |    9 
 sound/core/timer.c                                            |    2 
 sound/core/ump.c                                              |    1 
 sound/pci/hda/patch_hdmi.c                                    |   48 
 sound/pci/lx6464es/lx6464es.c                                 |    5 
 sound/pci/lx6464es/lx_core.c                                  |    5 
 sound/soc/codecs/max98090.c                                   |    5 
 sound/soc/codecs/max98095.c                                   |    5 
 sound/soc/codecs/tas2562.c                                    |   30 
 sound/usb/6fire/chip.c                                        |    4 
 sound/usb/endpoint.c                                          |   14 
 sound/usb/midi.c                                              |    2 
 sound/usb/midi2.c                                             |    4 
 sound/usb/mixer_quirks.c                                      |    2 
 tools/testing/kunit/kunit_kernel.py                           |   39 
 tools/testing/kunit/kunit_tool_test.py                        |   42 
 tools/testing/selftests/clone3/clone3_set_tid.c               |    2 
 tools/testing/selftests/mm/mlock-random-test.c                |    2 
 387 files changed, 4747 insertions(+), 2364 deletions(-)

Aaron Ma (1):
ice: wait for reset completion in ice_resume()

Abdun Nihaal (3):
gpio: sloppy-logic-analyzer: Fix memory leak in gpio_la_poll_probe()
cpufreq: powernow-k8: Fix possible memory leak in powernowk8_cpu_init()
can: kvaser_usb: kvaser_usb_hydra_get_busparams(): fix memory leak in kvaser_usb_hydra_get_busparams()

Alexander Kaplan (1):
drm/dp: Read the PCON max FRL bandwidth only for HDMI DFPs

Andrei Kuchynski (2):
usb: typec: ucsi: Fix race condition and ordering in port unregistration
usb: typec: ucsi: Correct teardown ordering in ucsi_init() error path

Asad Kamal (1):
drm/amdgpu/gfx: fix cleaner shader IB buffer overflow

Ashutosh Dixit (10):
drm/xe/rtp: Refactor OAG MMIO trigger register whitelisting drm/xe/rtp: Add RING_FORCE_TO_NONPRIV_DENY to OA whitelists drm/xe/rtp: Maintain OA whitelists separately drm/xe/rtp: Keep track of non-OA nonpriv slots drm/xe/rtp: Generalize whitelist_apply_to_hwe drm/xe/rtp: Save OA nonpriv registers to register save/restore lists drm/xe/rtp: Toggle 'deny' bit to (de-)whitelist OA regs drm/xe/rtp: (De-)whitelist OA registers for all hwe's for a gt drm/xe/oa: (De-)whitelist OA registers on OA stream open/release drm/xe/rtp: Ensure locking/ref counting for OA whitelists

Asim Viladi Oglu Manizada (1):
sctp: prevent peer transport count overflow

Aswin Karuvally (1):
s390/qeth: Check CAP_NET_ADMIN for private ioctls

Avi Weiss (4):
can: ctucanfd: use self-test mode for PRESUME_ACK
can: ctucanfd: unmap BAR0 using base address
can: ctucanfd: handle bus error interrupts
can: ctucanfd: mark error-active controller status valid

Bart Van Assche (1):
drm/fb-helper: Fix a locking bug in an error path

Baul Lee (4):
ALSA: ump: fix double free of out_cvts on rawmidi error
ALSA: usb-audio: fix use-after-free in ump_to_endpoint()
ALSA: usb-audio: fix stack info leak in RME Digiface status
ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output()

Benjamin Berg (2):
um: Set parent death signal for winch thread/process
um: Set parent death signal for userspace process

Benjamin Block (1):
scsi: zfcp: Fix memory leak during adapter release by destroying gid_pn_req

Benjamin Boortz (2):
pinctrl: microchip-sgpio: add missing select REGMAP_MMIO
pinctrl: bm1880: add missing select GENERIC_PINCONF

Benjamin Tissoires (1):
HID: logitech-dj: fix wrong detection of bad DJ_SHORT output report

Breno Leitao (2):
mm: memcg: initialize *locked in memcg1_oom_prepare() stub mm/kmemleak: fix checksum computation for per-cpu objects

Candice Li (1):
drm/amdgpu: restore UMD profile pstate after runtime resume

Catalin Marinas (1):
kmemleak: iommu/iova: fix transient kmemleak false positive

Cen Zhang (1):
usb: gadget: f_tcm: synchronize delayed set_alt with teardown

Cen Zhang (Microsoft) (1):

      rhashtable: clear stale iter->p on table restart

Charles Vosburgh (1):
sctp: validate Adaptation Indication parameter length

Chengfeng Ye (1):
Bluetooth: hci_sync: Fix advertising data UAFs

Chenguang Zhao (4):
forcedeth: fix UAF of txrx_stats in nv_remove
net: ethernet: mtk_eth_soc: pass eth to mtk_handle_irq_rx in poll_controller
net: sxgbe: free TX rings on RX allocation failure
net: sxgbe: check descriptor ring allocation failures

Chris Gellermann (2):
selftests/mm: fix potential wild pointer access of getline due to missing init selftests/clone3: fix wild pointer access of getline due to missing init

Christian Brauner (2):
binfmt_misc: reject a flag character as the field delimiter
binfmt_misc: don't let an 'F' entry pin its own instance

Christian Marangi (1):
net: phylink: put link_gpio if phylink_create fails

Damien Le Moal (2):
ahci: Introduce ahci_ignore_port() helper
ata: libahci_platform: Do not set mask_port_map when not needed

Daniel Golle (2):
net: dsa: mt7530: check bus->read() errors in the MDIO regmap backend
net: dsa: mt7530: error out on failed reads in MT7531 PHY polling

Daniel Hodges (1):
wifi: ath6kl: fix use-after-free in aggr_reset_state()

David Corvaglia (1):
net: bridge: mrp: fix Option TLV length in MRP_Test frames

David Francis (1):
drm/amdkfd: Handle invalid event type in CRIU event restore

David Gow (1):
kunit: tool: Terminate kernel under test on SIGINT

David Howells (5):
rxrpc: Generate rtt_min
rxrpc: Adjust the rxrpc_rtt_rx tracepoint
rxrpc: Fix the calculation and use of RTO
rxrpc: Manage RTT per-call rather than per-peer
rxrpc: Fix irq-disabled in local_bh_enable()

David Lee (1):
netfilter: ipset: do not update comments from kernel-side hash adds

Dawei Feng (3):
smb: client: fix buffer leaks in SMB1 read and write
e1000: fix memory leak in e1000_probe()
ice: fix memory leak in ice_lbtest_prepare_rings()

Denis V. Lunev (1):
qede: sync udp_tunnel ports outside qede_lock in the recovery path

Eric Dumazet (6):
net: do not send ICMP/NDISC Redirects when peer allocation fails
net: udp_tunnel: fix memory leak in udp_tunnel_nic_unregister()
vxlan: re-fetch eth header after route_shortcircuit()
vxlan: unclone skb head before modifying eth header in route_shortcircuit()
vxlan: use neigh_ha_snapshot() in route_shortcircuit()
vxlan: use pskb_network_may_pull() in route_shortcircuit()

Fabrice Derepas (1):
KEYS: trusted: dcp: fix key_len validation and calc_blob_len() return type

Fan Wu (1):
wifi: brcmfmac: drain bus_reset work on device removal

Farhan Ali (3):
KVM: s390: pci: Reject adapter interrupt forwarding if already enabled
KVM: s390: pci: Fix NULL dereference on AIBV allocation failure
KVM: s390: pci: Validate AIBV and AISB before pinning guest pages

Frank Wunderlich (2):
net: ethernet: mtk_eth_soc: support named IRQs
net: ethernet: mtk_eth_soc: add consts for irq index

Gabriele Monaco (1):
sched/deadline: Use revised wakeup rule only for running dl_server

Gang Ba (1):
drm/amdkfd: Fix missing authorization check in KFD_IOC_DBG_TRAP_DISABLE

Geliang Tang (4):
mptcp: pm: avoid code duplication to lookup endp
mptcp: add mptcp_userspace_pm_lookup_addr helper
mptcp: pm: use addr entry for get_local_id
mptcp: pm: userspace: fix use-after-free in get_local_id

Gokul Sivakumar (1):
wifi: brcmfmac: fix 43752 SDIO FWVID incorrectly labelled as Cypress (CYW)

Greg Kroah-Hartman (3):
Bluetooth: btusb: Fix short read errors in btusb_qca_send_vendor_req()
Bluetooth: btmtk: Fix short read errors in btmtk_usb_uhw_reg_read() Linux 6.12.103

Gregory Price (1):
mm/vmstat: fold stranded per-cpu node stats when a node comes online

Guangshuo Li (2):
scsi: ufs: core: Cancel RTC work in active-active suspend
can: etas_es58x: es58x_read_bulk_callback(): fix RX buffer leak on URB resubmit failure

Guenter Roeck (10):
hwmon: (nct6775-core) Fix number of temperature registers for NCT6116
hwmon: (ina2xx) Add support for has_alerts configuration flag
hwmon: (ina2xx) Add support for INA260
hwmon: (ina2xx) Fix various overflow issues
hwmon: (ltc4282) Fix reading the minimum alarm voltage
hwmon: (sht3x) Fix unaligned accesses
hwmon: (lm90) Only report alarms if driver is ready
hwmon: (nzxt-smart2) DMA-align output buffer
hwmon: (nct6775-core) Prevent access to unsupported weight registers
hwmon: (pmbus) Fix return value from pmbus_update_byte_data()

H. Nikolaus Schaller (1):
i2c: jz4780: Cache host clock rate at probe to prevent CCF prepare_lock deadlock

Haidar Lee (2):
ASoC: tas2562: fix DVC coefficient write order
ASoC: tas2562: fix broken entries in the volume lookup table

Harald Freudenberger (1):
s390/zcrypt: Fix wrong domain value verification with EP11 CPRBs

Harkirat Gill (1):
drm/amdgpu: cap GTT size to physical RAM on APUs

Harry Yoo (Oracle) (2):
lib/alloc_tag: introduce mem_alloc_profiling_permanently_disabled() mm/slab: prevent unbounded recursion in free path with new kmalloc type

Holger Dengler (2):
s390/zcrypt: Validate length for CCA AES cipher key requests s390/zcrypt: Validate length for CCA ECC private key requests

Hongling Zeng (1):
dmaengine: sun6i-dma: Fix reclaim descriptors while terminating DMA

Hongyan Xu (1):
hwmon: (npcm750-pwm-fan): stop fan timer on device detach

HyeongJun An (3):
scsi: libiscsi: Fix stale-data leak into the SCSI sense buffer
scsi: libiscsi_tcp: Bound SCSI Response data segment to the connection buffer
HID: logitech-dj: Fix maxfield check in DJ short report validation

Ian Ray (2):
hwmon: (ina2xx) Make it easier to add more devices
hwmon: (ina2xx) Add support for INA234

Ibrahim Hashimov (1):
scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write

Ilia Gavrilov (1):
rds: Fix inet6_addr_lst NULL dereference when IPv6 is disabled

Ilya Maximets (3):
net: openvswitch: fix potential UAF on meter attach failure
net: openvswitch: fix skb leak on flow key update failure during recirculation
net: openvswitch: fix skb leak on flow key update failure during ct

Jackson Lee (1):
media: chips-media: wave5: Support CBP profile

Jai Luthra (1):
media: i2c: imx219: Rename VTS to FRM_LENGTH

Jakub Kicinski (1):
netconsole: avoid OOB reads, msg is not nul-terminated

James Gao (1):
can: peak_usb: add bounds check for USB channel index

Jan Höppner (1):
s390/dasd: Fix potential NULL pointer dereference

Jani Nikula (3):
drm/i915/vrr: require valid min/max vfreq for VRR drm/i915/hdcp: require monotonically increasing seq_num_v drm/i915/hdcp: check streams[] bounds before overflow

Jiale Yao (1):
Bluetooth: L2CAP: fix UAF in l2cap_le_connect_rsp

Jianing Li (1):
power: supply: max17040: handle missing status supplier

Jiawen Wu (1):
net: libwx: fix FDIR ATR queue mismatch for software VLAN packets

Jiri Slaby (SUSE) (1):
drm/amd/display: use proper context for logging

Johannes Thumshirn (1):
btrfs: zoned: fix deadlock between metadata writeback and transaction commit

Jonas Gorski (1):
i2c: iproc: reset bus after timeout if START_BUSY is stuck

Jonas Rebmann (1):
hwmon: (ina2xx) Shift INA234 shunt and current registers

Jose Maria Casanova Crespo (1):
drm/vc4: Supply the overflow slot size in BPOS, not the whole bin BO size

Joshua Hay (1):
idpf: adjust TxQ ring count minimum

Josua Mayer (1):
ata: libahci_platform: support non-consecutive port numbers

Julian Anastasov (3):
ipvs: fix the checksum validations
ipvs: fix places with wrong packet offsets
ipvs: do not mangle ICMP replies for non-first fragments

Jun Guo (2):
spi: spi-cadence: supports transmission with bits_per_word of 16 and 32
spi: spi-cadence: enable SPI_CONTROLLER_MUST_TX

Junjie Cao (1):
gpio: pch: use raw_spinlock_t for the register lock

Kai Vehmanen (1):
ALSA: hda: codecs: hdmi: disable keep-alive before audio format change

Karl Mehltretter (2):
riscv: mm: Fix out-of-bounds page-table walk during memory hot-remove
pinctrl: devicetree: don't free uninitialized dev_name on error path

Kefeng Wang (1):
mm: migrate_device: fix pte_pfn/pte_dirty called on non-present PTE

Kiryl Shutsemau (Meta) (4):
fs/proc/task_mmu: fix PAGEMAP_SCAN written state for PMD holes mm/hugetlb: fix swap entry corruption when clearing uffd-wp at fork() fs/proc/task_mmu: fix PAGEMAP_SCAN written state for unpopulated ptes mm/huge_memory: unlock i_mmap_rwsem before releasing after-split folios

Konrad Dybcio (1):

      pinctrl: qcom: sc8280xp: Add missing wakeup entries for GPIO143/151

Lee Jones (2):
HID: logitech-dj: Standardise hid_report_enum variable nomenclature
HID: logitech-dj: Prevent REPORT_ID_DJ_SHORT related user initiated OOB write

Leon Romanovsky (1):
scsi: target: Clear cmd_cnt when initial counter enrollment fails

LiangCheng Wang (1):
wifi: brcmfmac: set F2 blocksize to 256 for BCM43752

Liem (2):
i2c: imx: Fix slave registration race and error handling
i2c: imx: Cancel hrtimer before clearing slave pointer

Link Lin (1):
mm/page_reporting: use system_freezable_wq to fix UAF during suspend

Lorenzo Bianconi (1):
netfilter: br_netfilter: Reallocate headroom if necessary in neigh_hh_bridge()

Lucas De Marchi (1):
drm/xe: Apply whitelist to engine save-restore

Lucas Martins Alves (1):
can: c_can: c_can_chip_config(): keep controller in init mode until bittiming is configured

Luiz Angelo Daros de Luca (8):
hwmon: (adt7470) Fix fans stuck in manual mode on I2C errors
hwmon: (adt7470) Fix cache updated before hardware write on I2C error
hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread
hwmon: (adt7470) Fix temperature alarm logic in hwmon_temp_read()
hwmon: (adt7470) Fix swapped PWM3 and PWM4 auto mode masks
hwmon: (adt7470) Use cached PWM frequency value
hwmon: (adt7470) Fix divide-by-zero TOCTOU crash in fan speed read
hwmon: (adt7470) Fix PWM auto temp state array and bounds check

Luxiao Xu (1):
audit: fix potential use-after-free in audit_del_rule()

Maoyi Xie (1):
can: peak_usb: peak_usb_start(): fix double free of transfer buffer on URB submit error

Marc Kleine-Budde (1):
can: gs_usb: gs_usb_receive_bulk_callback(): resubmit URB on skb allocation failure

Mario Limonciello (1):
pinctrl-amd: Don't clear S4 wake bits at probe

Masami Hiramatsu (Google) (4):
tracing/mmiotrace: Reset dropped_count in mmio_reset_data() tracing/mmiotrace: Add NULL check for mmio_trace_array in logging functions
tracing: Check return value of __register_event() in trace_module_add_events() tracing/filters: Fix false positive match in regex_match_full()

Matt Fleming (1):
veth: convert frag_list skbs before running XDP

Matt Vollrath (2):
ata: libata-eh: Increase STANDBY IMMEDIATE timeout
igbvf: Fix leak in TX DMA error cleanup

Matthew Brost (2):
drm/xe: Wait on external BO kernel fences in exec IOCTL drm/xe: Stub out new pagefault layer

Maíra Canal (1):
drm/vc4: Zero the tile state data array before each BIN job

Md Sadre Alam (1):
dmaengine: qcom: bam_dma: Fix command element mask field for BAM v1.6.0+

Michael Bommarito (6):
thunderbolt: Prevent XDomain delayed work use-after-free on disconnect
keys: fix out-of-bounds read in keyring_get_key_chunk()
keys: make keyring key-chunk byte order agree with keyring_diff_objects()
assoc_array: trim the final shortcut word using the current chunk end
erofs: cap LZMA stream pool size
um: vector: fix use-after-free in vector_mmsg_rx()

Michal Wajdeczko (1):
drm/xe: Introduce xe_gt_dbg_printer()

Mike Looijmans (1):
phy-zynqmp: Postpone getting clock rate until actually needed

Ming Lei (1):
ublk: reset kernel-owned dev_info fields in ublk_ctrl_add_dev()

Minhong He (1):
can: isotp: check register_netdevice_notifier() error in module init

Muhammad Bilal (1):
accel/qaic: use sizeof(*trans_hdr) for transaction length check

Myeonghun Pak (2):
i2c: amd-mp2: Unregister callback on adapter add failure drm/mediatek: ovl_adaptor: balance component registrations

Namjae Jeon (2):
ksmbd: return success for deferred final close
ksmbd: fix use-after-free in __close_file_table_ids()

Nathan Chancellor (1):
fortify: Disable -Wstringop-overread in tests

Nava kishore Manne (3):
phy: zynqmp: fix L0_TM_DISABLE_SCRAMBLE_ENCODER mask
phy: zynqmp: use read-modify-write for SERDES scrambler bypass
phy: zynqmp: keep SERDES scrambler and 8b/10b enabled for USB

Niklas Cassel (2):
ata: libata-sata: fix ata_scsi_lpm_supported() iteration
ata: ahci: Make ahci_ignore_port() handle empty mask_port_map

Niklas Schnelle (1):
s390/pci: Fix s390_pci_mmio_write syscall error return without MIO

Niklas Söderlund (1):
media: uapi: rkisp: Correct name version enum

Nitin Gote (1):
drm/xe: Hold a dma-buf reference for imported BOs

Norbert Szetei (3):
ALSA: pcm: wake linked drain waiters on unlink
ALSA: seq: Fix division by zero in initialize_timer()
ALSA: timer: Clear SNDRV_TIMER_IFLG_DEAD once the close completes

Oleksij Rempel (1):
can: j1939: transport: j1939_session_fresh_new(): initialize receive buffer

Oliver Hartkopp (2):
can: use skb hash instead of private variable in headroom
can: isotp: fix timer drain order, wakeup handling and tx_gen ordering

Oreoluwa Babatunde (1):
of: reserved_mem: Add code to dynamically allocate reserved_mem array

Osama Abdelkader (2):
drm/panthor: reject firmware sections with oversized data drm/panthor: validate firmware interface structure sizes

Pablo Neira Ayuso (3):
netfilter: nf_conntrack_expect: restore helper propagation via expectation
netfilter: nf_tables: make nft_object rhltable per table
netfilter: xt_hashlimit: validate hashtable supports XT_HASHLIMIT_RATE_MATCH

Pauli Virtanen (9):
Bluetooth: ISO: clear iso_data always when detaching conn from hcon
Bluetooth: ISO: fix timeout vs sync_timeout typo in check_bcast_qos
Bluetooth: ISO: validate sockaddr_iso first in iso_sock_rebind_bis()
Bluetooth: ISO: fix leaking sk after socket release
Bluetooth: ISO: avoid deadlocks in iso_sock_timeout
Bluetooth: hci_sync: make hci_cmd_sync_run_once return -EEXIST if exists
Bluetooth: hci_conn: hold conn reference in abort_conn_sync()
Bluetooth: hci_sync: fix hci_conn_del() use in hci_le_create_conn_sync
Bluetooth: ISO: fix CONNECTED -> CLOSED transition on shutdown/release

Pengpeng Hou (5):
can: ems_usb: validate CPC message lengths
can: kvaser_usb_leaf: kvaser_usb_leaf_wait_cmd(): validate received command extents
can: softing: fw_parse(): validate firmware record spans
can: peak_usb: validate uCAN receive record lengths
can: ctucanfd: add missing MODULE_DEVICE_TABLE()

Pierre-Eric Pelloux-Prayer (2):
drm/sched: Store the drm client_id in drm_sched_fence drm/amdgpu: give each kernel job a unique id

Qu Wenruo (1):
btrfs: fix leaking BTRFS_FS_STATE_REMOUNTING flag

Radhey Shyam Pandey (3):
ata: ahci_ceva: fix error paths in ceva_ahci_platform_enable_resources()
phy: zynqmp: fix clock error handling in xpsgtr_phy_init()
phy: zynqmp: fix runtime PM leak on probe allocation failure

Raushan Patel (1):
tracing/probes: Reject $arg0 in meta argument expansion

Ray Wu (1):
drm/amd/display: Increase HDMI AV mute wait from 2 to 3 frames

Rosen Penev (1):
ata: sata_mv: accept 1 or 2 resources in platform probe

Ruoyu Wang (1):
drm/mediatek: Check CRTC state before freeing

Sakari Ailus (1):
media: imx219: Fix maximum frame length in lines

Sang-Heon Jeon (1):
of: reserved_mem: prevent OOB when too many dynamic regions are defined

Sangho Lee (2):
Bluetooth: HIDP: reject frames without a transaction header
Bluetooth: HIDP: validate numbered report payloads

Sean Christopherson (1):
KVM: SVM: Update x2APIC MSR intercepts if AVIC is inhibited while L2 is active

Sebastian Andrzej Siewior (1):
Drivers: hv: vmbus: Replace lockdep_hardirq_threaded() with lockdep annotation

Sergey Senozhatsky (1):
usb: typec: ucsi: split connector lock classes

Shuvam Pandey (1):
kunit: tool: skip stty when stdin is not a tty

Sneh Mankad (1):
pinctrl: qcom: Unconditionally mark gpio as wakeup enable

Sonali Pradhan (2):
ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set
ALSA: usb-audio: Clamp frame size in implicit-feedback mode

Srikanth Boyapally (1):
spi: spi-cadence: Move TX FIFO full busy-wait into FIFO

Stefan Haberland (1):
s390/dasd: Fix undersized format-check buffer

Steven Rostedt (1):
tracing/mmiotrace: Remove reference to unused per CPU data pointer

Suman Ghosh (1):
octeontx2-pf: Set correct sequence for carrier off and tx queue stop

Suraj Kandpal (2):
drm/i915/hdcp: Move to using intel_display in intel_hdcp drm/i915/hdcp: Skip inactive MST connectors when building stream list

Takashi Iwai (1):
ALSA: 6fire: Fix UAF at error handling during probe

TanZheng (1):
scsi: target: iblock: Fix wrong PR ops NULL check for PREEMPT/RELEASE

Tetsuo Handa (1):
can: j1939: use netdevice_tracker for j1939_{priv,session,ecu} tracking

Thomas Hellström (2):
drm/exec: Remove the index parameter from drm_exec_for_each_locked_obj[_reverse] drm/xe: Rename ___xe_bo_create_locked()

Thomas Zimmermann (3):
drm/fb-helper: Allocate and release fb_info in single place drm/tegra: fbdev: Remove offset into framebuffer memory drm/tegra: fbdev: Do not assign to struct drm_fb_helper.info

Thorsten Blum (4):
powerpc/boot: Fix simpleboot CPU node lookup check powerpc/boot: Fix treeboot-currituck CPU node lookup check powerpc/boot: Fix treeboot-akebono CPU node lookup check powerpc/ps3: Fix map failure path in dma_ioc0_map_pages()

Timur Kristóf (1):
drm/amdgpu: Respect placement requirements in amdgpu_gtt_mgr functions

Tiwei Bie (5):
um: Add os_set_pdeathsig helper function
um: Use os_set_pdeathsig helper in winch thread/process
um: Set parent-death signal for ubd io thread/process
um: Set parent-death signal for write_sigio thread/process
um: Preserve errno within signal handler

Tristan Madani (1):
bpf: Reset register bounds before narrowing retval range in check_mem_access()

Tvrtko Ursulin (1):
drm/amdgpu: Fix context pstate override handling

Uday Khare (2):
ASoC: max98095: fix missing IS_ERR() before PTR_ERR() on mclk lookup
ASoC: max98090: fix missing IS_ERR() before PTR_ERR() on mclk lookup

Vijaya Krishna Nivarthi (1):
spi: qcom-qspi: Correct max DMA length to avoid 64K boundary failure

Ville Syrjälä (1):
drm/i915/vrr: Check HAS_VRR() first in intel_vrr_is_capable()

Vincent Jardin (1):
hwmon: (pmbus/core) notify on the hwmon device, not the i2c client

Vladimir Marioukhine (1):
drm/amdkfd: fix QID bit leak in pqm_create_queue()

Wandun Chen (1):
of: reserved_mem: avoid post-init UAF when alloc_reserved_mem_array() fails

Wayen.Yan (1):
net: airoha: Fix register index for Tx-fwd counter configuration

Wenliang Yan (1):

      hwmon: (ina226) Add support for SY24655

William Palacek (2):
drm/amdkfd: fix uint32_t overflow in EOP ring buffer size alignment drm/amdkfd: hold event_mutex while checkpointing CRIU events

Xiang Mei (2):
netfilter: nf_conntrack_sip: widen NAT rewrite delta to s32 in sip_help_tcp()
rds: tcp: hold the RCU lock across ipv6_chk_addr() in rds_tcp_laddr_check()

Xiang Mei (Microsoft) (1):
netfilter: nft_payload: fix mask build for partial field offload

Xiangfeng Cai (1):
mm/hugetlb: fix list corruption in allocate_file_region_entries()

Xingui Yang (1):
scsi: libsas: Fix HA resume deadlock and hisi_sas disk-wake race

Xu Rao (2):
ALSA: lx6464es: fix period byte count for 16-bit streams
power: supply: bq25890: fix the -10 C NTC lookup entry

Xuanqiang Luo (2):
bpf: lwt: Fix dst reference leak on reroute failure net/smc: fix socket use-after-free during link group termination

Yehyeong Lee (1):
net: mpls: initialize rtm_tos in mpls_getroute()

Yuho Choi (2):
dmaengine: idxd: fix fdev setup failure cleanup in idxd_cdev_open()
idpf: Fix mailbox IRQ name leak on request failure

Yun Lu (1):
rtase: fix double free of multi-frag skb on DMA map failure

Yuxiang Yang (1):
sctp: reject stale cookies with mismatched verification tags

Zack Rusin (8):
drm/vmwgfx: fix guest_memory_dirty bitfield clobbered as size drm/vmwgfx: reject DX_BIND_QUERY without a DX context drm/vmwgfx: drop dma_buf reference on foreign-fd prime import drm/vmwgfx: validate DRAW_PRIMITIVES header size before division drm/vmwgfx: bound DMA command body size against suffix pointer drm/vmwgfx: avoid destroy_workqueue(NULL) on vkms init failure drm/vmwgfx: use check_add_overflow for shader size+offset bound drm/vmwgfx: validate external BO copy bounds for both stride paths

Zhan Xusheng (1):
audit: fix potential integer overflow in audit_log_n_string()

Zhao Li (2):
wifi: mac80211: validate individual TWT params before driver setup
wifi: mwifiex: use the subframe length when parsing A-MSDU TDLS frames

Zheng Yejian (1):
tracing: Remove TRACE_EVENT_FL_FILTERED logic

Zhiling Zou (3):
ipvs: do not propagate one-packet flag to synced conns
net: bridge: stop fast-leave after deleting a port group
net: ipv6: clear suppressed fib6 rule result

Zhongqiu Han (1):
cpufreq: schedutil: Publish util hooks only after all sg_cpu are initialized

Zi Yan (1):
mm/percpu-km: fix bitmap overflow and accounting in pcpu_create_chunk()

Zihan Xi (3):
Bluetooth: mgmt: fix pending command UAF in EIR updates
Bluetooth: mgmt: fix UAF in pair command cancellation
tipc: avoid use-after-free in poll trace queue dumps

Zijun Hu (1):
Bluetooth: btintel: Validate length before parsing diagnostics TLV

Zongyao Bai (1):
drm/xe/pt: Reset current_op in xe_pt_update_ops_init()

bui duc phuc (1):
gpio: pca953x: fix cache_only and IRQ state on restore_context() failure

author maintainer
#1 lore raw
Documentation/dev-tools/kmemleak.rst +1 -0
index 2cb00b53339f..7d784e03f3f9 100644
@@ -161,6 +161,7 @@ See the include/linux/kmemleak.h header for the functions prototype.
 - ``kmemleak_free_percpu``	 - notify of a percpu memory block freeing
 - ``kmemleak_update_trace``	 - update object allocation stack trace
 - ``kmemleak_not_leak``	 - mark an object as not a leak
+- ``kmemleak_transient_leak``	 - mark an object as a transient leak
 - ``kmemleak_ignore``		 - do not scan or report an object as leak
 - ``kmemleak_scan_area``	 - add scan areas inside a memory block
 - ``kmemleak_no_scan``	 - do not scan a memory block
Documentation/hwmon/ina2xx.rst +61 -6

99 lines not on this page · raw message

Makefile +1 -1
index 115a476fefe8..f3bacdc021a4 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 12
-SUBLEVEL = 102
+SUBLEVEL = 103
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
arch/powerpc/boot/simpleboot.c +1 -1
index c80691d83880..27591df41e9e 100644
@@ -68,7 +68,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
 	/* finally, setup the timebase */
 	node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
 					     "cpu", sizeof("cpu"));
-	if (!node)
+	if (node < 0)
 		fatal("Cannot find cpu node\n");
 	timebase = fdt_getprop(_dtb_start, node, "timebase-frequency", &size);
 	if (timebase && (size == 4))
arch/powerpc/boot/treeboot-akebono.c +1 -1
index e3cc2599869c..1b529037480f 100644
@@ -146,7 +146,7 @@ void platform_init(char *userdata)
 
 	node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
 					     "cpu", sizeof("cpu"));
-	if (!node)
+	if (node < 0)
 		fatal("Cannot find cpu node\n");
 	timebase = fdt_getprop(_dtb_start, node, "timebase-frequency", &size);
 	if (timebase && (size == 4))
arch/powerpc/boot/treeboot-currituck.c +1 -1
index d53e8a592f81..5b5363b74f9f 100644
@@ -102,7 +102,7 @@ void platform_init(void)
 
 	node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
 	                                     "cpu", sizeof("cpu"));
-	if (!node)
+	if (node < 0)
 		fatal("Cannot find cpu node\n");
 	timebase = fdt_getprop(_dtb_start, node, "timebase-frequency", &size);
 	if (timebase && (size == 4))
arch/powerpc/platforms/ps3/mm.c +1 -0
index 1326de55fda6..e04952bb4360 100644
@@ -615,6 +615,7 @@ static int dma_ioc0_map_pages(struct ps3_dma_region *r, unsigned long phys_addr,
 
 fail_map:
 	for (iopage--; 0 <= iopage; iopage--) {
+		offset = (1 << r->page_size) * iopage;
 		lv1_put_iopte(0,
 			      c->bus_addr + offset,
 			      c->lpar_addr + offset,
arch/riscv/mm/init.c +2 -2
index 4594f77a06ee..e52f7dabb370 100644
@@ -1726,7 +1726,7 @@ static void __meminit remove_pud_mapping(pud_t *pud_base, unsigned long addr, un
 
 	for (; addr < end; addr = next) {
 		next = pud_addr_end(addr, end);
-		pudp = pud_base + pud_index(addr);
+		pudp = pgtable_l4_enabled ? pud_base + pud_index(addr) : pud_base;
 		pud = pudp_get(pudp);
 		if (!pud_present(pud))
 			continue;
@@ -1757,7 +1757,7 @@ static void __meminit remove_p4d_mapping(p4d_t *p4d_base, unsigned long addr, un
 
 	for (; addr < end; addr = next) {
 		next = p4d_addr_end(addr, end);
-		p4dp = p4d_base + p4d_index(addr);
+		p4dp = pgtable_l5_enabled ? p4d_base + p4d_index(addr) : p4d_base;
 		p4d = p4dp_get(p4dp);
 		if (!p4d_present(p4d))
 			continue;
arch/s390/kvm/pci.c +27 -1
index 6e6726b2a441..17fedfc7bb99 100644
@@ -225,7 +225,7 @@ static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib,
 				   bool assist)
 {
 	struct page *pages[1], *aibv_page, *aisb_page = NULL;
-	unsigned int msi_vecs, idx;
+	unsigned int msi_vecs, idx, size;
 	struct zpci_gaite *gaite;
 	unsigned long hva, bit;
 	struct kvm *kvm;
@@ -239,6 +239,10 @@ static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib,
 	if (zdev->gisa == 0)
 		return -EINVAL;
 
+	/* AIF already enabled for the device */
+	if (zdev->kzdev->fib.fmt0.aibv != 0)
+		return -EINVAL;
+
 	kvm = zdev->kzdev->kvm;
 	msi_vecs = min_t(unsigned int, fib->fmt0.noi, zdev->max_msi);
 
@@ -248,6 +252,14 @@ static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib,
 		return gisc;
 
 	/* Replace AIBV address */
+	size = BITS_TO_LONGS(msi_vecs + fib->fmt0.aibvo) * sizeof(unsigned long);
+	npages = DIV_ROUND_UP((fib->fmt0.aibv & ~PAGE_MASK) + size, PAGE_SIZE);
+	/* AIBV cannot span more than 1 page */
+	if (npages > 1) {
+		rc = -EINVAL;
+		goto out;
+	}
+
 	idx = srcu_read_lock(&kvm->srcu);
 	hva = gfn_to_hva(kvm, gpa_to_gfn((gpa_t)fib->fmt0.aibv));
 	npages = pin_user_pages_fast(hva, 1, FOLL_WRITE | FOLL_LONGTERM, pages);
@@ -263,6 +275,12 @@ static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib,
 
 	/* Pin the guest AISB if one was specified */
 	if (fib->fmt0.sum == 1) {
+		/* AISB must be dword aligned */
+		if (fib->fmt0.aisb & 0x7) {
+			rc = -EINVAL;
+			goto unpin1;
+		}
+
 		idx = srcu_read_lock(&kvm->srcu);
 		hva = gfn_to_hva(kvm, gpa_to_gfn((gpa_t)fib->fmt0.aisb));
 		npages = pin_user_pages_fast(hva, 1, FOLL_WRITE | FOLL_LONGTERM,
@@ -291,6 +309,11 @@ static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib,
 				    AIRQ_IV_GUESTVEC,
 				    phys_to_virt(fib->fmt0.aibv));
 
+	if (!zdev->aibv) {
+		rc = -ENOMEM;
+		goto free_aisb;
+	}
+
 	spin_lock_irq(&aift->gait_lock);
 	gaite = aift->gait + zdev->aisb;
 
@@ -327,6 +350,9 @@ static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib,
 	rc = kvm_zpci_set_airq(zdev);
 	return rc;
 
+free_aisb:
+	airq_iv_free_bit(aift->sbv, zdev->aisb);
+	zdev->aisb = 0;
 unlock:
 	mutex_unlock(&aift->aift_lock);
 unpin2:
arch/s390/pci/pci_mmio.c +1 -0
index 0fa34c501296..969e2a23eb21 100644
@@ -178,6 +178,7 @@ SYSCALL_DEFINE3(s390_pci_mmio_write, unsigned long, mmio_addr,
 			goto out_unlock_mmap;
 	}
 
+	ret = -EFAULT;
 	io_addr = (void __iomem *)((args.pfn << PAGE_SHIFT) |
 			(mmio_addr & ~PAGE_MASK));
 
arch/um/drivers/chan_user.c +2 -0
index a66e556012c4..35f9beeb19b3 100644
@@ -161,6 +161,8 @@ static __noreturn int winch_thread(void *arg)
 	int count;
 	char c = 1;
 
+	os_set_pdeathsig();
+
 	pty_fd = data->pty_fd;
 	pipe_fd = data->pipe_fd;
 	count = write(pipe_fd, &c, sizeof(c));
arch/um/drivers/ubd_kern.c +1 -0
index 2bfb17373244..66c1a8835e36 100644
@@ -1501,6 +1501,7 @@ int io_thread(void *arg)
 {
 	int n, count, written, res;
 
+	os_set_pdeathsig();
 	os_fix_helper_signals();
 
 	while(1){
arch/um/drivers/vector_kern.c +3 -0
index 7a88b13d289f..3f11f665ff2c 100644
@@ -999,6 +999,9 @@ static int vector_mmsg_rx(struct vector_private *vp, int budget)
 				 */
 					dev_kfree_skb_irq(skb);
 					vp->estats.rx_encaps_errors++;
+					(*skbuff_vector) = NULL;
+					mmsg_vector++;
+					skbuff_vector++;
 					continue;
 				}
 				if (header_check > 0) {
arch/um/include/shared/os.h +2 -0
index 77a8593f219a..2a0843cc2208 100644
@@ -219,6 +219,8 @@ extern int os_unmap_memory(void *addr, int len);
 extern int os_drop_memory(void *addr, int length);
 extern int can_drop_memory(void);
 
+void os_set_pdeathsig(void);
+
 /* execvp.c */
 extern int execvp_noalloc(char *buf, const char *file, char *const argv[]);
 /* helper.c */
arch/um/os-Linux/process.c +6 -0
index 2686120ab232..4015d3dc3958 100644
@@ -12,6 +12,7 @@
 #include <fcntl.h>
 #include <sys/mman.h>
 #include <sys/ptrace.h>
+#include <sys/prctl.h>
 #include <sys/wait.h>
 #include <asm/unistd.h>
 #include <init.h>
@@ -234,3 +235,8 @@ void init_new_thread_signals(void)
 	set_handler(SIGIO);
 	signal(SIGWINCH, SIG_IGN);
 }
+
+void os_set_pdeathsig(void)
+{
+	prctl(PR_SET_PDEATHSIG, SIGKILL);
+}
arch/um/os-Linux/sigio.c +1 -0
index 9e71794839e8..9aac8def4d63 100644
@@ -55,6 +55,7 @@ static int write_sigio_thread(void *unused)
 	int i, n, respond_fd;
 	char c;
 
+	os_set_pdeathsig();
 	os_fix_helper_signals();
 	fds = &current_poll;
 	while (1) {
arch/um/os-Linux/signal.c +3 -0
index b11ed66c8bb0..94abc9e3ec7e 100644
@@ -190,6 +190,7 @@ static void hard_handler(int sig, siginfo_t *si, void *p)
 {
 	ucontext_t *uc = p;
 	mcontext_t *mc = &uc->uc_mcontext;
+	int save_errno = errno;
 	unsigned long pending = 1UL << sig;
 
 	do {
@@ -227,6 +228,8 @@ static void hard_handler(int sig, siginfo_t *si, void *p)
 		if (!nested)
 			pending = from_irq_stack(nested);
 	} while (pending);
+
+	errno = save_errno;
 }
 
 void set_handler(int sig)
arch/um/os-Linux/skas/process.c +3 -0
index b6f656bcffb1..cca016b0b29b 100644
@@ -214,6 +214,9 @@ static int userspace_tramp(void *stack)
 				     (unsigned long) stub_segv_handler -
 				     (unsigned long) __syscall_stub_start;
 
+	/* Make sure this process dies if the kernel dies */
+	os_set_pdeathsig();
+
 	ptrace(PTRACE_TRACEME, 0, 0, 0);
 
 	signal(SIGTERM, SIG_DFL);
arch/x86/kvm/svm/avic.c +0 -8
index 9e1fccb39eab..744a72d11ed9 100644
@@ -167,14 +167,6 @@ static void avic_deactivate_vmcb(struct vcpu_svm *svm)
 	if (!sev_es_guest(svm->vcpu.kvm))
 		svm_set_intercept(svm, INTERCEPT_CR8_WRITE);
 
-	/*
-	 * If running nested and the guest uses its own MSR bitmap, there
-	 * is no need to update L0's msr bitmap
-	 */
-	if (is_guest_mode(&svm->vcpu) &&
-	    vmcb12_is_intercept(&svm->nested.ctl, INTERCEPT_MSR_PROT))
-		return;
-
 	/* Enabling MSR intercept for x2APIC registers */
 	svm_set_x2apic_msr_interception(svm, true);
 }
drivers/accel/qaic/qaic_control.c +1 -1
index 8eae30fe14f9..8759b53ba38e 100644
@@ -782,7 +782,7 @@ static int encode_message(struct qaic_device *qdev, struct manage_msg *user_msg,
 			break;
 		}
 		trans_hdr = (struct qaic_manage_trans_hdr *)(user_msg->data + user_len);
-		if (trans_hdr->len < sizeof(trans_hdr) ||
+		if (trans_hdr->len < sizeof(*trans_hdr) ||
 		    size_add(user_len, trans_hdr->len) > user_msg->len) {
 			ret = -EINVAL;
 			break;
drivers/ata/ahci.h +16 -1
index 10a5fe02f0a4..61158eb1f840 100644
@@ -329,7 +329,7 @@ struct ahci_port_priv {
 struct ahci_host_priv {
 	/* Input fields */
 	unsigned int		flags;		/* AHCI_HFLAG_* */
-	u32			mask_port_map;	/* mask out particular bits */
+	u32			mask_port_map;	/* Mask of valid ports */
 
 	void __iomem *		mmio;		/* bus-independent mem map */
 	u32			cap;		/* cap to use */
@@ -380,6 +380,21 @@ struct ahci_host_priv {
 						  int port);
 };
 
+/*
+ * Return true if a port should be ignored because it is excluded from
+ * the host port map.
+ */
+static inline bool ahci_ignore_port(struct ahci_host_priv *hpriv,
+				    unsigned int portid)
+{
+	if (portid >= hpriv->nports)
+		return true;
+	/* mask_port_map not set means that all ports are available */
+	if (!hpriv->mask_port_map)
+		return false;
+	return !(hpriv->mask_port_map & (1 << portid));
+}
+
 extern int ahci_ignore_sss;
 
 extern const struct attribute_group *ahci_shost_groups[];
drivers/ata/ahci_brcm.c +3 -0
index 2f16524c2526..12bb0c2f914e 100644
@@ -288,6 +288,9 @@ static unsigned int brcm_ahci_read_id(struct ata_device *dev,
 
 	/* Re-initialize and calibrate the PHY */
 	for (i = 0; i < hpriv->nports; i++) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
 		rc = phy_init(hpriv->phys[i]);
 		if (rc)
 			goto disable_phys;
drivers/ata/ahci_ceva.c +20 -4
index 11a2c199a7c2..b2918ad8e7e0 100644
@@ -206,15 +206,21 @@ static int ceva_ahci_platform_enable_resources(struct ahci_host_priv *hpriv)
 		goto disable_clks;
 
 	for (i = 0; i < hpriv->nports; i++) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
 		rc = phy_init(hpriv->phys[i]);
 		if (rc)
-			goto disable_rsts;
+			goto exit_phys;
 	}
 
 	/* De-assert the controller reset */
 	ahci_platform_deassert_rsts(hpriv);
 
 	for (i = 0; i < hpriv->nports; i++) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
 		rc = phy_power_on(hpriv->phys[i]);
 		if (rc) {
 			phy_exit(hpriv->phys[i]);
@@ -224,14 +230,24 @@ static int ceva_ahci_platform_enable_resources(struct ahci_host_priv *hpriv)
 
 	return 0;
 
-disable_rsts:
-	ahci_platform_deassert_rsts(hpriv);
-
 disable_phys:
 	while (--i >= 0) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
 		phy_power_off(hpriv->phys[i]);
 		phy_exit(hpriv->phys[i]);
 	}
+	ahci_platform_assert_rsts(hpriv);
+	goto disable_clks;
+
+exit_phys:
+	while (--i >= 0) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
+		phy_exit(hpriv->phys[i]);
+	}
 
 disable_clks:
 	ahci_platform_disable_clks(hpriv);
drivers/ata/libahci.c +1 -0
index 7824e8836a54..9b5b1e4c7148 100644
@@ -542,6 +542,7 @@ void ahci_save_initial_config(struct device *dev, struct ahci_host_priv *hpriv)
 		hpriv->saved_port_map = port_map;
 	}
 
+	/* mask_port_map not set means that all ports are available */
 	if (hpriv->mask_port_map) {
 		dev_warn(dev, "masking port_map 0x%lx -> 0x%lx\n",
 			port_map,
drivers/ata/libahci_platform.c +32 -6
index 7a8064520a35..91d44302eac9 100644
@@ -49,6 +49,9 @@ int ahci_platform_enable_phys(struct ahci_host_priv *hpriv)
 	int rc, i;
 
 	for (i = 0; i < hpriv->nports; i++) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
 		rc = phy_init(hpriv->phys[i]);
 		if (rc)
 			goto disable_phys;
@@ -70,6 +73,9 @@ int ahci_platform_enable_phys(struct ahci_host_priv *hpriv)
 
 disable_phys:
 	while (--i >= 0) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
 		phy_power_off(hpriv->phys[i]);
 		phy_exit(hpriv->phys[i]);
 	}
@@ -88,6 +94,9 @@ void ahci_platform_disable_phys(struct ahci_host_priv *hpriv)
 	int i;
 
 	for (i = 0; i < hpriv->nports; i++) {
+		if (ahci_ignore_port(hpriv, i))
+			continue;
+
 		phy_power_off(hpriv->phys[i]);
 		phy_exit(hpriv->phys[i]);
 	}
@@ -432,6 +441,20 @@ static int ahci_platform_get_firmware(struct ahci_host_priv *hpriv,
 	return 0;
 }
 
+static u32 ahci_platform_find_max_port_id(struct device *dev)
+{
+	u32 max_port = 0;
+
+	for_each_child_of_node_scoped(dev->of_node, child) {
+		u32 port;
+
+		if (!of_property_read_u32(child, "reg", &port))
+			max_port = max(max_port, port);
+	}
+
+	return max_port;
+}
+
 /**
  * ahci_platform_get_resources - Get platform resources
  * @pdev: platform device to get resources for
@@ -458,6 +481,7 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev,
 	struct device *dev = &pdev->dev;
 	struct ahci_host_priv *hpriv;
 	u32 mask_port_map = 0;
+	u32 max_port;
 
 	if (!devres_open_group(dev, NULL, GFP_KERNEL))
 		return ERR_PTR(-ENOMEM);
@@ -549,15 +573,17 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev,
 		goto err_out;
 	}
 
+	/* find maximum port id for allocating structures */
+	max_port = ahci_platform_find_max_port_id(dev);
 	/*
-	 * If no sub-node was found, we still need to set nports to
-	 * one in order to be able to use the
+	 * Set nports according to maximum port id. Clamp at
+	 * AHCI_MAX_PORTS, warning message for invalid port id
+	 * is generated later.
+	 * When DT has no sub-nodes max_port is 0, nports is 1,
+	 * in order to be able to use the
 	 * ahci_platform_[en|dis]able_[phys|regulators] functions.
 	 */
-	if (child_nodes)
-		hpriv->nports = child_nodes;
-	else
-		hpriv->nports = 1;
+	hpriv->nports = min(AHCI_MAX_PORTS, max_port + 1);
 
 	hpriv->phys = devm_kcalloc(dev, hpriv->nports, sizeof(*hpriv->phys), GFP_KERNEL);
 	if (!hpriv->phys) {
drivers/ata/libata-eh.c +8 -0
index e9d2d84034fd..a1331274ffcb 100644
@@ -106,6 +106,12 @@ static const unsigned int ata_eh_flush_timeouts[] = {
 	UINT_MAX,
 };
 
+static const unsigned int ata_eh_standby_timeouts[] = {
+	15000,	/* Some drives may be slow to standby */
+	/* but don't hold up a suspend too long waiting for them */
+	UINT_MAX,
+};
+
 static const unsigned int ata_eh_other_timeouts[] = {
 	 5000,	/* same rationale as identify timeout */
 	10000,	/* ditto */
@@ -147,6 +153,8 @@ ata_eh_cmd_timeout_table[ATA_EH_CMD_TIMEOUT_TABLE_SIZE] = {
 	  .timeouts = ata_eh_other_timeouts, },
 	{ .commands = CMDS(ATA_CMD_FLUSH, ATA_CMD_FLUSH_EXT),
 	  .timeouts = ata_eh_flush_timeouts },
+	{ .commands = CMDS(ATA_CMD_STANDBYNOW1),
+	  .timeouts = ata_eh_standby_timeouts },
 	{ .commands = CMDS(ATA_CMD_VERIFY),
 	  .timeouts = ata_eh_reset_timeouts },
 };
drivers/ata/libata-sata.c +1 -1
index 5fbbdf6f87e3..fc64fae9e23f 100644
@@ -913,7 +913,7 @@ static bool ata_scsi_lpm_supported(struct ata_port *ap)
 		return false;
 
 	ata_for_each_link(link, ap, EDGE) {
-		ata_for_each_dev(dev, &ap->link, ENABLED) {
+		ata_for_each_dev(dev, link, ENABLED) {
 			if (dev->quirks & ATA_QUIRK_NOLPM)
 				return false;
 		}
drivers/ata/sata_mv.c +1 -1
index 05c905827dc5..40fdc422940d 100644
@@ -4026,7 +4026,7 @@ static int mv_platform_probe(struct platform_device *pdev)
 	/*
 	 * Simple resource validation ..
 	 */
-	if (unlikely(pdev->num_resources != 1)) {
+	if (unlikely(pdev->num_resources != 1 && pdev->num_resources != 2)) {
 		dev_err(&pdev->dev, "invalid number of resources\n");
 		return -EINVAL;
 	}
drivers/block/ublk_drv.c +9 -0
index 6854b847bcce..404cb44dd708 100644
@@ -2558,6 +2558,15 @@ static int ublk_ctrl_add_dev(struct io_uring_cmd *cmd)
 	/* update device id */
 	ub->dev_info.dev_id = ub->ub_number;
 
+	/*
+	 * ->state and ->ublksrv_pid are owned by the driver and only read back
+	 * by userspace, but they come from the copied-in dev_info, so reset
+	 * them. Otherwise a device added with ->state != DEAD looks live while
+	 * ->ub_disk is still NULL.
+	 */
+	ub->dev_info.state = UBLK_S_DEV_DEAD;
+	ub->dev_info.ublksrv_pid = -1;
+
 	/*
 	 * 64bit flags will be copied back to userspace as feature
 	 * negotiation result, so have to clear flags which driver
drivers/bluetooth/btintel.c +3 -0
index 6e3e4a817e72..cb948423a9bd 100644
@@ -3335,6 +3335,9 @@ int btintel_diagnostics(struct hci_dev *hdev, struct sk_buff *skb)
 {
 	struct intel_tlv *tlv = (void *)&skb->data[5];
 
+	if (skb->len < 5 + sizeof(*tlv) + sizeof(tlv->val[0]))
+		goto recv_frame;
+
 	/* The first event is always an event type TLV */
 	if (tlv->type != INTEL_TLV_TYPE_ID)
 		goto recv_frame;
drivers/bluetooth/btmtk.c +22 -28

127 lines not on this page · raw message

drivers/bluetooth/btusb.c +9 -21
index aadbda2fd5a2..17680e172921 100644
@@ -3304,28 +3304,16 @@ static u16 qca_extract_board_id(const struct qca_version *ver)
 static int btusb_qca_send_vendor_req(struct usb_device *udev, u8 request,
 				     void *data, u16 size)
 {
-	int pipe, err;
-	u8 *buf;
-
-	buf = kmalloc(size, GFP_KERNEL);
-	if (!buf)
-		return -ENOMEM;
+	int err;
 
 	/* Found some of USB hosts have IOT issues with ours so that we should
 	 * not wait until HCI layer is ready.
 	 */
-	pipe = usb_rcvctrlpipe(udev, 0);
-	err = usb_control_msg(udev, pipe, request, USB_TYPE_VENDOR | USB_DIR_IN,
-			      0, 0, buf, size, USB_CTRL_GET_TIMEOUT);
-	if (err < 0) {
+	err = usb_control_msg_recv(udev, 0, request, USB_TYPE_VENDOR | USB_DIR_IN,
+				   0, 0, data, size, USB_CTRL_GET_TIMEOUT,
+				   GFP_KERNEL);
+	if (err)
 		dev_err(&udev->dev, "Failed to access otp area (%d)", err);
-		goto done;
-	}
-
-	memcpy(data, buf, size);
-
-done:
-	kfree(buf);
 
 	return err;
 }
@@ -3519,7 +3507,7 @@ static bool btusb_qca_need_patch(struct usb_device *udev)
 	struct qca_version ver;
 
 	if (btusb_qca_send_vendor_req(udev, QCA_GET_TARGET_VERSION, &ver,
-				      sizeof(ver)) < 0)
+				      sizeof(ver)))
 		return false;
 	/* only low ROM versions need patches */
 	return !(le32_to_cpu(ver.rom_version) & ~0xffffU);
@@ -3537,7 +3525,7 @@ static int btusb_setup_qca(struct hci_dev *hdev)
 
 	err = btusb_qca_send_vendor_req(udev, QCA_GET_TARGET_VERSION, &ver,
 					sizeof(ver));
-	if (err < 0)
+	if (err)
 		return err;
 
 	ver_rom = le32_to_cpu(ver.rom_version);
@@ -3560,7 +3548,7 @@ static int btusb_setup_qca(struct hci_dev *hdev)
 
 	err = btusb_qca_send_vendor_req(udev, QCA_CHECK_STATUS, &status,
 					sizeof(status));
-	if (err < 0)
+	if (err)
 		return err;
 
 	if (!(status & QCA_PATCH_UPDATED)) {
@@ -3571,7 +3559,7 @@ static int btusb_setup_qca(struct hci_dev *hdev)
 
 	err = btusb_qca_send_vendor_req(udev, QCA_GET_TARGET_VERSION, &ver,
 					sizeof(ver));
-	if (err < 0)
+	if (err)
 		return err;
 
 	btdata->qca_dump.fw_version = le32_to_cpu(ver.patch_version);
drivers/cpufreq/powernow-k8.c +1 -0
index a01170f7d01c..1260d4023a59 100644
@@ -1083,6 +1083,7 @@ static int powernowk8_cpu_init(struct cpufreq_policy *pol)
 
 err_out_exit_acpi:
 	powernow_k8_cpu_exit_acpi(data);
+	kfree(data->powernow_table);
 
 err_out:
 	kfree(data);
drivers/dma/idxd/cdev.c +3 -1
index 8dcd2331bb1a..14b322ac6e6c 100644
@@ -293,6 +293,7 @@ static int idxd_cdev_open(struct inode *inode, struct file *filp)
 	fdev->parent = cdev_dev(idxd_cdev);
 	fdev->bus = &dsa_bus_type;
 	fdev->type = &idxd_cdev_file_type;
+	idxd_wq_get(wq);
 
 	rc = dev_set_name(fdev, "file%d", ctx->id);
 	if (rc < 0) {
@@ -306,13 +307,14 @@ static int idxd_cdev_open(struct inode *inode, struct file *filp)
 		goto failed_dev_add;
 	}
 
-	idxd_wq_get(wq);
 	mutex_unlock(&wq->wq_lock);
 	return 0;
 
 failed_dev_add:
 failed_dev_name:
+	mutex_unlock(&wq->wq_lock);
 	put_device(fdev);
+	return rc;
 failed_ida:
 failed_set_pasid:
 	if (device_user_pasid_enabled(idxd))
drivers/dma/sun6i-dma.c +4 -7
index c97027379263..1f1e21d48ad7 100644
@@ -934,16 +934,13 @@ static int sun6i_dma_terminate_all(struct dma_chan *chan)
 
 	spin_lock_irqsave(&vchan->vc.lock, flags);
 
-	if (vchan->cyclic) {
-		vchan->cyclic = false;
-		if (pchan && pchan->desc) {
-			struct virt_dma_desc *vd = &pchan->desc->vd;
-			struct virt_dma_chan *vc = &vchan->vc;
+	if (pchan && pchan->desc && pchan->desc != pchan->done) {
+		struct virt_dma_desc *vd = &pchan->desc->vd;
 
-			list_add_tail(&vd->node, &vc->desc_completed);
-		}
+		vchan_terminate_vdesc(vd);
 	}
 
+	vchan->cyclic = false;
 	vchan_get_all_descriptors(&vchan->vc, &head);
 
 	if (pchan) {
drivers/gpio/gpio-pca953x.c +13 -2
index 489c7ebe87c8..ad9280472bdd 100644
@@ -1256,9 +1256,20 @@ static int pca953x_restore_context(struct pca953x_chip *chip)
 	regcache_mark_dirty(chip->regmap);
 	ret = pca953x_regcache_sync(chip);
 	if (ret)
-		return ret;
+		goto err;
+
+	ret = regcache_sync(chip->regmap);
+	if (ret)
+		goto err;
+
+	return 0;
 
-	return regcache_sync(chip->regmap);
+err:
+	if (chip->client->irq > 0)
+		disable_irq(chip->client->irq);
+	regcache_cache_only(chip->regmap, true);
+
+	return ret;
 }
 
 static void pca953x_save_context(struct pca953x_chip *chip)
drivers/gpio/gpio-pch.c +14 -14
index 63f25c72eac2..75dd65957e4a 100644
@@ -96,7 +96,7 @@ struct pch_gpio {
 	struct pch_gpio_reg_data pch_gpio_reg;
 	int irq_base;
 	enum pch_type_t ioh;
-	spinlock_t spinlock;
+	raw_spinlock_t spinlock;
 };
 
 static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
@@ -105,7 +105,7 @@ static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
 	struct pch_gpio *chip =	gpiochip_get_data(gpio);
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	reg_val = ioread32(&chip->reg->po);
 	if (val)
 		reg_val |= BIT(nr);
@@ -113,7 +113,7 @@ static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
 		reg_val &= ~BIT(nr);
 
 	iowrite32(reg_val, &chip->reg->po);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 }
 
 static int pch_gpio_get(struct gpio_chip *gpio, unsigned int nr)
@@ -131,7 +131,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned int nr,
 	u32 reg_val;
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 
 	reg_val = ioread32(&chip->reg->po);
 	if (val)
@@ -145,7 +145,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned int nr,
 	pm |= BIT(nr);
 	iowrite32(pm, &chip->reg->pm);
 
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
@@ -156,12 +156,12 @@ static int pch_gpio_direction_input(struct gpio_chip *gpio, unsigned int nr)
 	u32 pm;
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	pm = ioread32(&chip->reg->pm);
 	pm &= BIT(gpio_pins[chip->ioh]) - 1;
 	pm &= ~BIT(nr);
 	iowrite32(pm, &chip->reg->pm);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
@@ -263,7 +263,7 @@ static int pch_irq_type(struct irq_data *d, unsigned int type)
 		return 0;
 	}
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 
 	/* Set interrupt mode */
 	im = ioread32(im_reg) & ~(PCH_IM_MASK << (im_pos * 4));
@@ -275,7 +275,7 @@ static int pch_irq_type(struct irq_data *d, unsigned int type)
 	else if (type & IRQ_TYPE_EDGE_BOTH)
 		irq_set_handler_locked(d, handle_edge_irq);
 
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 	return 0;
 }
 
@@ -372,7 +372,7 @@ static int pch_gpio_probe(struct pci_dev *pdev,
 	chip->ioh = id->driver_data;
 	chip->reg = chip->base;
 	pci_set_drvdata(pdev, chip);
-	spin_lock_init(&chip->spinlock);
+	raw_spin_lock_init(&chip->spinlock);
 	pch_gpio_setup(chip);
 
 	ret = devm_gpiochip_add_data(dev, &chip->gpio, chip);
@@ -405,9 +405,9 @@ static int __maybe_unused pch_gpio_suspend(struct device *dev)
 	struct pch_gpio *chip = dev_get_drvdata(dev);
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	pch_gpio_save_reg_conf(chip);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
@@ -417,11 +417,11 @@ static int __maybe_unused pch_gpio_resume(struct device *dev)
 	struct pch_gpio *chip = dev_get_drvdata(dev);
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	iowrite32(0x01, &chip->reg->reset);
 	iowrite32(0x00, &chip->reg->reset);
 	pch_gpio_restore_reg_conf(chip);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
drivers/gpio/gpio-sloppy-logic-analyzer.c +10 -0
index 59a8f3a5c4e4..9c526aeadeba 100644
@@ -161,6 +161,13 @@ static int fops_buf_size_get(void *data, u64 *val)
 	return 0;
 }
 
+static void fops_buf_release(void *data)
+{
+	struct gpio_la_poll_priv *priv = data;
+
+	vfree(priv->blob.data);
+}
+
 static int fops_buf_size_set(void *data, u64 val)
 {
 	struct gpio_la_poll_priv *priv = data;
@@ -239,6 +246,9 @@ static int gpio_la_poll_probe(struct platform_device *pdev)
 		return ret;
 
 	fops_buf_size_set(priv, GPIO_LA_DEFAULT_BUF_SIZE);
+	ret = devm_add_action_or_reset(dev, fops_buf_release, priv);
+	if (ret)
+		return ret;
 
 	priv->descs = devm_gpiod_get_array(dev, "probe", GPIOD_IN);
 	if (IS_ERR(priv->descs))
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +1 -1
index a872da632486..0863550cd82e 100644
@@ -681,7 +681,7 @@ int amdgpu_amdkfd_submit_ib(struct amdgpu_device *adev,
 		goto err;
 	}
 
-	ret = amdgpu_job_alloc(adev, NULL, NULL, NULL, 1, &job);
+	ret = amdgpu_job_alloc(adev, NULL, NULL, NULL, 1, &job, 0);
 	if (ret)
 		goto err;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +5 -7
index 028af05dec6c..43308c631037 100644
@@ -297,7 +297,8 @@ static int amdgpu_cs_pass1(struct amdgpu_cs_parser *p,
 
 	for (i = 0; i < p->gang_size; ++i) {
 		ret = amdgpu_job_alloc(p->adev, vm, p->entities[i], vm,
-				       num_ibs[i], &p->jobs[i]);
+				       num_ibs[i], &p->jobs[i],
+				       p->filp->client_id);
 		if (ret)
 			goto free_all_kdata;
 		p->jobs[i]->enforce_isolation = p->adev->enforce_isolation[fpriv->xcp_id];
@@ -847,7 +848,6 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p,
 	struct amdgpu_vm *vm = &fpriv->vm;
 	struct amdgpu_bo_list_entry *e;
 	struct drm_gem_object *obj;
-	unsigned long index;
 	unsigned int i;
 	int r;
 
@@ -968,7 +968,7 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p,
 		goto out_free_user_pages;
 	}
 
-	drm_exec_for_each_locked_object(&p->exec, index, obj) {
+	drm_exec_for_each_locked_object(&p->exec, obj) {
 		r = amdgpu_cs_bo_validate(p, gem_to_amdgpu_bo(obj));
 		if (unlikely(r))
 			goto out_free_user_pages;
@@ -1206,7 +1206,6 @@ static int amdgpu_cs_sync_rings(struct amdgpu_cs_parser *p)
 	struct drm_gpu_scheduler *sched;
 	struct drm_gem_object *obj;
 	struct dma_fence *fence;
-	unsigned long index;
 	unsigned int i;
 	int r;
 
@@ -1217,7 +1216,7 @@ static int amdgpu_cs_sync_rings(struct amdgpu_cs_parser *p)
 		return r;
 	}
 
-	drm_exec_for_each_locked_object(&p->exec, index, obj) {
+	drm_exec_for_each_locked_object(&p->exec, obj) {
 		struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj);
 
 		struct dma_resv *resv = bo->tbo.base.resv;
@@ -1285,7 +1284,6 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
 	struct amdgpu_vm *vm = &fpriv->vm;
 	struct amdgpu_bo_list_entry *e;
 	struct drm_gem_object *gobj;
-	unsigned long index;
 	unsigned int i;
 	uint64_t seq;
 	int r;
@@ -1336,7 +1334,7 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
 	}
 
 	p->fence = dma_fence_get(&leader->base.s_fence->finished);
-	drm_exec_for_each_locked_object(&p->exec, index, gobj) {
+	drm_exec_for_each_locked_object(&p->exec, gobj) {
 
 		ttm_bo_move_to_lru_tail_unlocked(&gem_to_amdgpu_bo(gobj)->tbo);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c +42 -29

110 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +15 -0
index bf706ee2e0ed..fb26a4c1089c 100644
@@ -2824,6 +2824,19 @@ static int amdgpu_pmops_runtime_suspend(struct device *dev)
 	return 0;
 }
 
+static void amdgpu_restore_umd_profile_pstate_after_runpm(struct amdgpu_device *adev)
+{
+	enum amd_dpm_forced_level level;
+	uint32_t profile_mode_mask = AMD_DPM_FORCED_LEVEL_PROFILE_STANDARD |
+		AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK |
+		AMD_DPM_FORCED_LEVEL_PROFILE_MIN_MCLK |
+		AMD_DPM_FORCED_LEVEL_PROFILE_PEAK;
+
+	level = amdgpu_dpm_get_performance_level(adev);
+	if (level & profile_mode_mask)
+		amdgpu_asic_update_umd_stable_pstate(adev, true);
+}
+
 static int amdgpu_pmops_runtime_resume(struct device *dev)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
@@ -2868,6 +2881,8 @@ static int amdgpu_pmops_runtime_resume(struct device *dev)
 
 	if (adev->pm.rpm_mode == AMDGPU_RUNPM_PX)
 		drm_dev->switch_power_state = DRM_SWITCH_POWER_ON;
+
+	amdgpu_restore_umd_profile_pstate_after_runpm(adev);
 	adev->in_runpm = false;
 	return 0;
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +6 -5
index 3c2ac5f4e814..171603c4ee6c 100644
@@ -1426,12 +1426,13 @@ static int amdgpu_gfx_run_cleaner_shader_job(struct amdgpu_ring *ring)
 	struct amdgpu_device *adev = ring->adev;
 	struct drm_gpu_scheduler *sched = &ring->sched;
 	struct drm_sched_entity entity;
+	unsigned int ib_size_dw = 16;
 	static atomic_t counter;
 	struct dma_fence *f;
 	struct amdgpu_job *job;
 	struct amdgpu_ib *ib;
 	void *owner;
-	int i, r;
+	int r;
 
 	/* Initialize the scheduler entity */
 	r = drm_sched_entity_init(&entity, DRM_SCHED_PRIORITY_NORMAL,
@@ -1449,16 +1450,16 @@ static int amdgpu_gfx_run_cleaner_shader_job(struct amdgpu_ring *ring)
 	owner = (void *)(unsigned long)atomic_inc_return(&counter);
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, &entity, owner,
-				     64, 0, &job);
+				     ib_size_dw * sizeof(uint32_t), 0, &job,
+				     AMDGPU_KERNEL_JOB_ID_CLEANER_SHADER);
 	if (r)
 		goto err;
 
 	job->enforce_isolation = true;
 
 	ib = &job->ibs[0];
-	for (i = 0; i <= ring->funcs->align_mask; ++i)
-		ib->ptr[i] = ring->funcs->nop;
-	ib->length_dw = ring->funcs->align_mask + 1;
+	memset32(ib->ptr, ring->funcs->nop, ib_size_dw);
+	ib->length_dw = ib_size_dw;
 
 	f = amdgpu_job_submit(job);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c +1 -1
index f63b5a429b10..9a0239da80e8 100644
@@ -664,7 +664,7 @@ void amdgpu_gmc_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid,
 	r = amdgpu_job_alloc_with_ib(ring->adev, &adev->mman.high_pr,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
 				     16 * 4, AMDGPU_IB_POOL_IMMEDIATE,
-				     &job);
+				     &job, AMDGPU_KERNEL_JOB_ID_FLUSH_GPU_TLB);
 	if (r)
 		goto error_alloc;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c +28 -2
index 0760e70402ec..52ed0fa000d7 100644
@@ -217,7 +217,20 @@ static bool amdgpu_gtt_mgr_intersects(struct ttm_resource_manager *man,
 				      const struct ttm_place *place,
 				      size_t size)
 {
-	return !place->lpfn || amdgpu_gtt_mgr_has_gart_addr(res);
+	const struct drm_mm_node *const node = &to_ttm_range_mgr_node(res)->mm_nodes[0];
+	const u32 num_pages = PFN_UP(size);
+
+	if (!place->lpfn)
+		return true;
+
+	if (!amdgpu_gtt_mgr_has_gart_addr(res))
+		return false;
+
+	if (place->fpfn >= (node->start + num_pages) ||
+	    (place->lpfn && place->lpfn <= node->start))
+		return false;
+
+	return true;
 }
 
 /**
@@ -235,7 +248,20 @@ static bool amdgpu_gtt_mgr_compatible(struct ttm_resource_manager *man,
 				      const struct ttm_place *place,
 				      size_t size)
 {
-	return !place->lpfn || amdgpu_gtt_mgr_has_gart_addr(res);
+	const struct drm_mm_node *const node = &to_ttm_range_mgr_node(res)->mm_nodes[0];
+	const u32 num_pages = PFN_UP(size);
+
+	if (!place->lpfn)
+		return true;
+
+	if (!amdgpu_gtt_mgr_has_gart_addr(res))
+		return false;
+
+	if (node->start < place->fpfn ||
+	    (place->lpfn && (node->start + num_pages) > place->lpfn))
+		return false;
+
+	return true;
 }
 
 /**
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +7 -4
index 70762c7fcfe4..99e9e96f5b7f 100644
@@ -187,7 +187,8 @@ static enum drm_gpu_sched_stat amdgpu_job_timedout(struct drm_sched_job *s_job)
 
 int amdgpu_job_alloc(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 		     struct drm_sched_entity *entity, void *owner,
-		     unsigned int num_ibs, struct amdgpu_job **job)
+		     unsigned int num_ibs, struct amdgpu_job **job,
+		     u64 drm_client_id)
 {
 	if (num_ibs == 0)
 		return -EINVAL;
@@ -210,17 +211,19 @@ int amdgpu_job_alloc(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 	if (!entity)
 		return 0;
 
-	return drm_sched_job_init(&(*job)->base, entity, 1, owner);
+	return drm_sched_job_init(&(*job)->base, entity, 1, owner,
+				  drm_client_id);
 }
 
 int amdgpu_job_alloc_with_ib(struct amdgpu_device *adev,
 			     struct drm_sched_entity *entity, void *owner,
 			     size_t size, enum amdgpu_ib_pool_type pool_type,
-			     struct amdgpu_job **job)
+			     struct amdgpu_job **job, u64 k_job_id)
 {
 	int r;
 
-	r = amdgpu_job_alloc(adev, NULL, entity, owner, 1, job);
+	r = amdgpu_job_alloc(adev, NULL, entity, owner, 1, job,
+			     k_job_id);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_job.h +20 -2
index 4fe033d8f356..4fb05c737840 100644
@@ -44,6 +44,22 @@
 struct amdgpu_fence;
 enum amdgpu_ib_pool_type;
 
+/* Internal kernel job ids. (decreasing values, starting from U64_MAX). */
+#define AMDGPU_KERNEL_JOB_ID_VM_UPDATE              (18446744073709551615ULL)
+#define AMDGPU_KERNEL_JOB_ID_VM_UPDATE_PDES         (18446744073709551614ULL)
+#define AMDGPU_KERNEL_JOB_ID_VM_UPDATE_RANGE        (18446744073709551613ULL)
+#define AMDGPU_KERNEL_JOB_ID_VM_PT_CLEAR            (18446744073709551612ULL)
+#define AMDGPU_KERNEL_JOB_ID_TTM_MAP_BUFFER         (18446744073709551611ULL)
+#define AMDGPU_KERNEL_JOB_ID_TTM_ACCESS_MEMORY_SDMA (18446744073709551610ULL)
+#define AMDGPU_KERNEL_JOB_ID_TTM_COPY_BUFFER        (18446744073709551609ULL)
+#define AMDGPU_KERNEL_JOB_ID_CLEAR_ON_RELEASE       (18446744073709551608ULL)
+#define AMDGPU_KERNEL_JOB_ID_MOVE_BLIT              (18446744073709551607ULL)
+#define AMDGPU_KERNEL_JOB_ID_TTM_CLEAR_BUFFER       (18446744073709551606ULL)
+#define AMDGPU_KERNEL_JOB_ID_CLEANER_SHADER         (18446744073709551605ULL)
+#define AMDGPU_KERNEL_JOB_ID_FLUSH_GPU_TLB          (18446744073709551604ULL)
+#define AMDGPU_KERNEL_JOB_ID_KFD_GART_MAP           (18446744073709551603ULL)
+#define AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST          (18446744073709551602ULL)
+
 struct amdgpu_job {
 	struct drm_sched_job    base;
 	struct amdgpu_vm	*vm;
@@ -90,11 +106,13 @@ static inline struct amdgpu_ring *amdgpu_job_ring(struct amdgpu_job *job)
 
 int amdgpu_job_alloc(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 		     struct drm_sched_entity *entity, void *owner,
-		     unsigned int num_ibs, struct amdgpu_job **job);
+		     unsigned int num_ibs, struct amdgpu_job **job,
+		     u64 drm_client_id);
 int amdgpu_job_alloc_with_ib(struct amdgpu_device *adev,
 			     struct drm_sched_entity *entity, void *owner,
 			     size_t size, enum amdgpu_ib_pool_type pool_type,
-			     struct amdgpu_job **job);
+			     struct amdgpu_job **job,
+			     u64 k_job_id);
 void amdgpu_job_set_resources(struct amdgpu_job *job, struct amdgpu_bo *gds,
 			      struct amdgpu_bo *gws, struct amdgpu_bo *oa);
 void amdgpu_job_free_resources(struct amdgpu_job *job);
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c +2 -1
index f96a79a4d539..4b0e34f9249a 100644
@@ -192,7 +192,8 @@ static int amdgpu_jpeg_dec_set_reg(struct amdgpu_ring *ring, uint32_t handle,
 	int i, r;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL, ib_size_dw * 4,
-				     AMDGPU_IB_POOL_DIRECT, &job);
+				     AMDGPU_IB_POOL_DIRECT, &job,
+				     AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +2 -1
index 3d7c6d0dd394..1db8ca26f1e1 100644
@@ -1269,7 +1269,8 @@ void amdgpu_bo_release_notify(struct ttm_buffer_object *bo)
 	if (r)
 		goto out;
 
-	r = amdgpu_fill_buffer(abo, 0, &bo->base._resv, &fence, true);
+	r = amdgpu_fill_buffer(abo, 0, &bo->base._resv, &fence, true,
+			       AMDGPU_KERNEL_JOB_ID_CLEAR_ON_RELEASE);
 	if (WARN_ON(r))
 		goto out;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +29 -11
index 13d97d5a094b..31f9fb3cfeaa 100644
@@ -229,7 +229,8 @@ static int amdgpu_ttm_map_buffer(struct ttm_buffer_object *bo,
 	r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
 				     num_dw * 4 + num_bytes,
-				     AMDGPU_IB_POOL_DELAYED, &job);
+				     AMDGPU_IB_POOL_DELAYED, &job,
+				     AMDGPU_KERNEL_JOB_ID_TTM_MAP_BUFFER);
 	if (r)
 		return r;
 
@@ -408,7 +409,7 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo,
 		struct dma_fence *wipe_fence = NULL;
 
 		r = amdgpu_fill_buffer(abo, 0, NULL, &wipe_fence,
-				       false);
+				       false, AMDGPU_KERNEL_JOB_ID_MOVE_BLIT);
 		if (r) {
 			goto error;
 		} else if (wipe_fence) {
@@ -1530,7 +1531,8 @@ static int amdgpu_ttm_access_memory_sdma(struct ttm_buffer_object *bo,
 	r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
 				     num_dw * 4, AMDGPU_IB_POOL_DELAYED,
-				     &job);
+				     &job,
+				     AMDGPU_KERNEL_JOB_ID_TTM_ACCESS_MEMORY_SDMA);
 	if (r)
 		goto out;
 
@@ -1996,6 +1998,18 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
 	else
 		gtt_size = (uint64_t)amdgpu_gtt_size << 20;
 
+	/* Cap GTT so that it does not exceed total physical RAM. */
+	if (adev->flags & AMD_IS_APU) {
+		u64 phys_ram = (u64)totalram_pages() << PAGE_SHIFT;
+
+		if (gtt_size > phys_ram) {
+			gtt_size = phys_ram;
+			dev_info(adev->dev,
+				 "Capping GTT to %uM to not exceed available system memory\n",
+				 (unsigned int)(gtt_size / (1024 * 1024)));
+		}
+	}
+
 	/* Initialize GTT memory pool */
 	r = amdgpu_gtt_mgr_init(adev, gtt_size);
 	if (r) {
@@ -2163,7 +2177,7 @@ static int amdgpu_ttm_prepare_job(struct amdgpu_device *adev,
 				  struct dma_resv *resv,
 				  bool vm_needs_flush,
 				  struct amdgpu_job **job,
-				  bool delayed)
+				  bool delayed, u64 k_job_id)
 {
 	enum amdgpu_ib_pool_type pool = direct_submit ?
 		AMDGPU_IB_POOL_DIRECT :
@@ -2173,7 +2187,7 @@ static int amdgpu_ttm_prepare_job(struct amdgpu_device *adev,
 						    &adev->mman.high_pr;
 	r = amdgpu_job_alloc_with_ib(adev, entity,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
-				     num_dw * 4, pool, job);
+				     num_dw * 4, pool, job, k_job_id);
 	if (r)
 		return r;
 
@@ -2212,7 +2226,8 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset,
 	num_loops = DIV_ROUND_UP(byte_count, max_bytes);
 	num_dw = ALIGN(num_loops * adev->mman.buffer_funcs->copy_num_dw, 8);
 	r = amdgpu_ttm_prepare_job(adev, direct_submit, num_dw,
-				   resv, vm_needs_flush, &job, false);
+				   resv, vm_needs_flush, &job, false,
+				   AMDGPU_KERNEL_JOB_ID_TTM_COPY_BUFFER);
 	if (r)
 		return r;
 
@@ -2247,7 +2262,8 @@ static int amdgpu_ttm_fill_mem(struct amdgpu_ring *ring, uint32_t src_data,
 			       uint64_t dst_addr, uint32_t byte_count,
 			       struct dma_resv *resv,
 			       struct dma_fence **fence,
-			       bool vm_needs_flush, bool delayed)
+			       bool vm_needs_flush, bool delayed,
+			       u64 k_job_id)
 {
 	struct amdgpu_device *adev = ring->adev;
 	unsigned int num_loops, num_dw;
@@ -2260,7 +2276,7 @@ static int amdgpu_ttm_fill_mem(struct amdgpu_ring *ring, uint32_t src_data,
 	num_loops = DIV_ROUND_UP_ULL(byte_count, max_bytes);
 	num_dw = ALIGN(num_loops * adev->mman.buffer_funcs->fill_num_dw, 8);
 	r = amdgpu_ttm_prepare_job(adev, false, num_dw, resv, vm_needs_flush,
-				   &job, delayed);
+				   &job, delayed, k_job_id);
 	if (r)
 		return r;
 
@@ -2330,7 +2346,8 @@ int amdgpu_ttm_clear_buffer(struct amdgpu_bo *bo,
 			goto err;
 
 		r = amdgpu_ttm_fill_mem(ring, 0, addr, size, resv,
-					&next, true, true);
+					&next, true, true,
+					AMDGPU_KERNEL_JOB_ID_TTM_CLEAR_BUFFER);
 		if (r)
 			goto err;
 
@@ -2349,7 +2366,8 @@ int amdgpu_fill_buffer(struct amdgpu_bo *bo,
 			uint32_t src_data,
 			struct dma_resv *resv,
 			struct dma_fence **f,
-			bool delayed)
+			bool delayed,
+			u64 k_job_id)
 {
 	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
 	struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring;
@@ -2378,7 +2396,7 @@ int amdgpu_fill_buffer(struct amdgpu_bo *bo,
 			goto error;
 
 		r = amdgpu_ttm_fill_mem(ring, src_data, to, cur_size, resv,
-					&next, true, delayed);
+					&next, true, delayed, k_job_id);
 		if (r)
 			goto error;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h +2 -1
index 3c883f1cf068..7c020e3fbfb4 100644
@@ -180,7 +180,8 @@ int amdgpu_fill_buffer(struct amdgpu_bo *bo,
 			uint32_t src_data,
 			struct dma_resv *resv,
 			struct dma_fence **fence,
-			bool delayed);
+			bool delayed,
+			u64 k_job_id);
 
 int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo);
 void amdgpu_ttm_recover_gart(struct ttm_buffer_object *tbo);
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +2 -1
index 779dcd820d4a..549a56b7a876 100644
@@ -1164,7 +1164,8 @@ static int amdgpu_uvd_send_msg(struct amdgpu_ring *ring, struct amdgpu_bo *bo,
 	r = amdgpu_job_alloc_with_ib(ring->adev, &adev->uvd.entity,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
 				     64, direct ? AMDGPU_IB_POOL_DIRECT :
-				     AMDGPU_IB_POOL_DELAYED, &job);
+				     AMDGPU_IB_POOL_DELAYED, &job,
+				     AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +3 -2
index 33b4305bd305..0f2d75749ae0 100644
@@ -449,7 +449,7 @@ static int amdgpu_vce_get_create_msg(struct amdgpu_ring *ring, uint32_t handle,
 	r = amdgpu_job_alloc_with_ib(ring->adev, &ring->adev->vce.entity,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
 				     ib_size_dw * 4, AMDGPU_IB_POOL_DIRECT,
-				     &job);
+				     &job, AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
@@ -540,7 +540,8 @@ static int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
 				     ib_size_dw * 4,
 				     direct ? AMDGPU_IB_POOL_DIRECT :
-				     AMDGPU_IB_POOL_DELAYED, &job);
+				     AMDGPU_IB_POOL_DELAYED, &job,
+				     AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +4 -4
index 43f44cc201cb..0e2fef666dd5 100644
@@ -553,7 +553,7 @@ static int amdgpu_vcn_dec_send_msg(struct amdgpu_ring *ring,
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
 				     64, AMDGPU_IB_POOL_DIRECT,
-				     &job);
+				     &job, AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		goto err;
 
@@ -733,7 +733,7 @@ static int amdgpu_vcn_dec_sw_send_msg(struct amdgpu_ring *ring,
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
 				     ib_size_dw * 4, AMDGPU_IB_POOL_DIRECT,
-				     &job);
+				     &job, AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		goto err;
 
@@ -863,7 +863,7 @@ static int amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
 				     ib_size_dw * 4, AMDGPU_IB_POOL_DIRECT,
-				     &job);
+				     &job, AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
@@ -930,7 +930,7 @@ static int amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
 				     ib_size_dw * 4, AMDGPU_IB_POOL_DIRECT,
-				     &job);
+				     &job, AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +4 -2
index a6b34e5ba96c..8864e43a165e 100644
@@ -838,7 +838,8 @@ int amdgpu_vm_update_pdes(struct amdgpu_device *adev,
 	params.vm = vm;
 	params.immediate = immediate;
 
-	r = vm->update_funcs->prepare(&params, NULL);
+	r = vm->update_funcs->prepare(&params, NULL,
+				      AMDGPU_KERNEL_JOB_ID_VM_UPDATE_PDES);
 	if (r)
 		goto error;
 
@@ -1007,7 +1008,8 @@ int amdgpu_vm_update_range(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 		dma_fence_put(tmp);
 	}
 
-	r = vm->update_funcs->prepare(&params, sync);
+	r = vm->update_funcs->prepare(&params, sync,
+				      AMDGPU_KERNEL_JOB_ID_VM_UPDATE_RANGE);
 	if (r)
 		goto error_free;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +1 -1
index a451f405afe3..095209a2cb33 100644
@@ -305,7 +305,7 @@ struct amdgpu_vm_update_params {
 struct amdgpu_vm_update_funcs {
 	int (*map_table)(struct amdgpu_bo_vm *bo);
 	int (*prepare)(struct amdgpu_vm_update_params *p,
-		       struct amdgpu_sync *sync);
+		       struct amdgpu_sync *sync, u64 k_job_id);
 	int (*update)(struct amdgpu_vm_update_params *p,
 		      struct amdgpu_bo_vm *bo, uint64_t pe, uint64_t addr,
 		      unsigned count, uint32_t incr, uint64_t flags);
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c +3 -1
index f80b611ce190..f078db3fef79 100644
@@ -42,12 +42,14 @@ static int amdgpu_vm_cpu_map_table(struct amdgpu_bo_vm *table)
  *
  * @p: see amdgpu_vm_update_params definition
  * @sync: sync obj with fences to wait on
+ * @k_job_id: the id for tracing/debug purposes
  *
  * Returns:
  * Negativ errno, 0 for success.
  */
 static int amdgpu_vm_cpu_prepare(struct amdgpu_vm_update_params *p,
-				 struct amdgpu_sync *sync)
+				 struct amdgpu_sync *sync,
+				 u64 k_job_id)
 {
 	if (!sync)
 		return 0;
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c +3 -1
index 54ae0e9bc6d7..ba7bd65f5b7d 100644
@@ -26,6 +26,7 @@
 #include "amdgpu.h"
 #include "amdgpu_trace.h"
 #include "amdgpu_vm.h"
+#include "amdgpu_job.h"
 
 /*
  * amdgpu_vm_pt_cursor - state for for_each_amdgpu_vm_pt
@@ -395,7 +396,8 @@ int amdgpu_vm_pt_clear(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 	params.vm = vm;
 	params.immediate = immediate;
 
-	r = vm->update_funcs->prepare(&params, NULL);
+	r = vm->update_funcs->prepare(&params, NULL,
+				      AMDGPU_KERNEL_JOB_ID_VM_PT_CLEAR);
 	if (r)
 		goto exit;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c +7 -5
index 46d9fb433ab2..36805dcfa159 100644
@@ -40,7 +40,7 @@ static int amdgpu_vm_sdma_map_table(struct amdgpu_bo_vm *table)
 
 /* Allocate a new job for @count PTE updates */
 static int amdgpu_vm_sdma_alloc_job(struct amdgpu_vm_update_params *p,
-				    unsigned int count)
+				    unsigned int count, u64 k_job_id)
 {
 	enum amdgpu_ib_pool_type pool = p->immediate ? AMDGPU_IB_POOL_IMMEDIATE
 		: AMDGPU_IB_POOL_DELAYED;
@@ -56,7 +56,7 @@ static int amdgpu_vm_sdma_alloc_job(struct amdgpu_vm_update_params *p,
 	ndw = min(ndw, AMDGPU_VM_SDMA_MAX_NUM_DW);
 
 	r = amdgpu_job_alloc_with_ib(p->adev, entity, AMDGPU_FENCE_OWNER_VM,
-				     ndw * 4, pool, &p->job);
+				     ndw * 4, pool, &p->job, k_job_id);
 	if (r)
 		return r;
 
@@ -69,16 +69,17 @@ static int amdgpu_vm_sdma_alloc_job(struct amdgpu_vm_update_params *p,
  *
  * @p: see amdgpu_vm_update_params definition
  * @sync: amdgpu_sync object with fences to wait for
+ * @k_job_id: identifier of the job, for tracing purpose
  *
  * Returns:
  * Negativ errno, 0 for success.
  */
 static int amdgpu_vm_sdma_prepare(struct amdgpu_vm_update_params *p,
-				  struct amdgpu_sync *sync)
+				  struct amdgpu_sync *sync, u64 k_job_id)
 {
 	int r;
 
-	r = amdgpu_vm_sdma_alloc_job(p, 0);
+	r = amdgpu_vm_sdma_alloc_job(p, 0, k_job_id);
 	if (r)
 		return r;
 
@@ -249,7 +250,8 @@ static int amdgpu_vm_sdma_update(struct amdgpu_vm_update_params *p,
 			if (r)
 				return r;
 
-			r = amdgpu_vm_sdma_alloc_job(p, count);
+			r = amdgpu_vm_sdma_alloc_job(p, count,
+						     AMDGPU_KERNEL_JOB_ID_VM_UPDATE);
 			if (r)
 				return r;
 		}
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c +4 -2
index e05e81d6fbd4..71a16073c43b 100644
@@ -217,7 +217,8 @@ static int uvd_v6_0_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t handle
 	int i, r;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL, ib_size_dw * 4,
-				     AMDGPU_IB_POOL_DIRECT, &job);
+				     AMDGPU_IB_POOL_DIRECT, &job,
+				     AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
@@ -281,7 +282,8 @@ static int uvd_v6_0_enc_get_destroy_msg(struct amdgpu_ring *ring,
 	int i, r;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL, ib_size_dw * 4,
-				     AMDGPU_IB_POOL_DIRECT, &job);
+				     AMDGPU_IB_POOL_DIRECT, &job,
+				     AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c +4 -2
index e3c20cbc7a00..bc0fca75417c 100644
@@ -225,7 +225,8 @@ static int uvd_v7_0_enc_get_create_msg(struct amdgpu_ring *ring, u32 handle,
 	int i, r;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL, ib_size_dw * 4,
-				     AMDGPU_IB_POOL_DIRECT, &job);
+				     AMDGPU_IB_POOL_DIRECT, &job,
+				     AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
@@ -288,7 +289,8 @@ static int uvd_v7_0_enc_get_destroy_msg(struct amdgpu_ring *ring, u32 handle,
 	int i, r;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL, ib_size_dw * 4,
-				     AMDGPU_IB_POOL_DIRECT, &job);
+				     AMDGPU_IB_POOL_DIRECT, &job,
+				     AMDGPU_KERNEL_JOB_ID_VCN_RING_TEST);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +7 -3
index 8366709a7211..697325a8f1c6 100644
@@ -2978,10 +2978,14 @@ static int kfd_ioctl_set_debug_trap(struct file *filep, struct kfd_process *p, v
 		goto out;
 	}
 
-	/* Check if target is still PTRACED. */
+	/*
+	 * Verify debugger has permission to debug target process.
+	 * For cross-process debugging, require active ptrace relationship.
+	 * This applies to ALL operations to prevent unauthorized interference.
+	 */
 	rcu_read_lock();
-	if (target != p && args->op != KFD_IOC_DBG_TRAP_DISABLE
-				&& ptrace_parent(target->lead_thread) != current) {
+	if (target != p && ptrace_parent(target->lead_thread) != current
+			&& target->debugger_process != p) {
 		pr_err("PID %i is not PTRACED and cannot be debugged\n", args->pid);
 		r = -EPERM;
 	}
drivers/gpu/drm/amd/amdkfd/kfd_events.c +20 -3
index 05c049c6d3b5..a8c91c0e2f8e 100644
@@ -521,6 +521,9 @@ int kfd_criu_restore_event(struct file *devkfd,
 
 		ret = create_other_event(p, ev, &ev_priv->event_id);
 		break;
+	default:
+		ret = -EINVAL;
+		break;
 	}
 	mutex_unlock(&p->event_mutex);
 
@@ -542,15 +545,27 @@ int kfd_criu_checkpoint_events(struct kfd_process *p,
 	int ret =  0;
 	struct kfd_event *ev;
 	uint32_t ev_id;
+	uint32_t num_events;
 
-	uint32_t num_events = kfd_get_num_events(p);
+	/* Serialize the count and the walk below against concurrent event
+	 * create/destroy. Those paths take only p->event_mutex, not the
+	 * p->mutex held by the CRIU checkpoint caller, so without this the
+	 * event_idr can grow between kfd_get_num_events() and the loop and the
+	 * walk writes past the ev_privs allocation.
+	 */
+	mutex_lock(&p->event_mutex);
 
-	if (!num_events)
+	num_events = kfd_get_num_events(p);
+	if (!num_events) {
+		mutex_unlock(&p->event_mutex);
 		return 0;
+	}
 
 	ev_privs = kvzalloc(num_events * sizeof(*ev_privs), GFP_KERNEL);
-	if (!ev_privs)
+	if (!ev_privs) {
+		mutex_unlock(&p->event_mutex);
 		return -ENOMEM;
+	}
 
 
 	idr_for_each_entry(&p->event_idr, ev, ev_id) {
@@ -591,6 +606,8 @@ int kfd_criu_checkpoint_events(struct kfd_process *p,
 		i++;
 	}
 
+	mutex_unlock(&p->event_mutex);
+
 	ret = copy_to_user(user_priv_data + *priv_data_offset,
 			   ev_privs, num_events * sizeof(*ev_privs));
 	if (ret) {
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c +2 -1
index 52246f16cc24..ca6c48e3703c 100644
@@ -68,7 +68,8 @@ svm_migrate_gart_map(struct amdgpu_ring *ring, uint64_t npages,
 				     AMDGPU_FENCE_OWNER_UNDEFINED,
 				     num_dw * 4 + num_bytes,
 				     AMDGPU_IB_POOL_DELAYED,
-				     &job);
+				     &job,
+				     AMDGPU_KERNEL_JOB_ID_KFD_GART_MAP);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c +1 -1
index e3749dae5e59..4ba100236abb 100644
@@ -376,7 +376,7 @@ int pqm_create_queue(struct process_queue_manager *pqm,
 						     false);
 		if (retval) {
 			dev_err(dev->adev->dev, "failed to allocate process context bo\n");
-			return retval;
+			goto err_allocate_pqn;
 		}
 		memset(pdd->proc_ctx_cpu_ptr, 0, AMDGPU_MES_PROC_CTX_SIZE);
 	}
drivers/gpu/drm/amd/amdkfd/kfd_queue.c +1 -1
index de2af34865fb..3efbe6773487 100644
@@ -285,7 +285,7 @@ int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_prope
 		}
 		err = kfd_queue_buffer_get(vm, (void *)properties->eop_ring_buffer_address,
 					   &properties->eop_buf_bo,
-					   ALIGN(properties->eop_ring_buffer_size, PAGE_SIZE));
+					   ALIGN((u64)properties->eop_ring_buffer_size, PAGE_SIZE));
 		if (err)
 			goto out_err_unreserve;
 	}
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +9 -11
index b700608e4240..cf09c1d3d1b2 100644
@@ -45,9 +45,7 @@
 	clk_src->base.ctx
 
 #define DC_LOGGER \
-	calc_pll_cs->ctx->logger
-#define DC_LOGGER_INIT() \
-	struct calc_pll_clock_source *calc_pll_cs = &clk_src->calc_pll
+	CTX->logger
 
 #undef FN
 #define FN(reg_name, field_name) \
@@ -291,6 +289,7 @@ static bool calc_pll_dividers_in_range(
 }
 
 static uint32_t calculate_pixel_clock_pll_dividers(
+		struct dce110_clk_src *clk_src,
 		struct calc_pll_clock_source *calc_pll_cs,
 		struct pll_settings *pll_settings)
 {
@@ -479,7 +478,7 @@ static uint32_t dce110_get_pix_clk_dividers_helper (
 {
 	uint32_t field = 0;
 	uint32_t pll_calc_error = MAX_PLL_CALC_ERROR;
-	DC_LOGGER_INIT();
+
 	/* Check if reference clock is external (not pcie/xtalin)
 	* HW Dce80 spec:
 	* 00 - PCIE_REFCLK, 01 - XTALIN,    02 - GENERICA,    03 - GENERICB
@@ -522,12 +521,14 @@ static uint32_t dce110_get_pix_clk_dividers_helper (
 		/*Calculate Dividers by HDMI object, no SS case or SS case */
 		pll_calc_error =
 			calculate_pixel_clock_pll_dividers(
+				        clk_src,
 					&clk_src->calc_pll_hdmi,
 					pll_settings);
 	else
 		/*Calculate Dividers by default object, no SS case or SS case */
 		pll_calc_error =
 			calculate_pixel_clock_pll_dividers(
+					clk_src,
 					&clk_src->calc_pll,
 					pll_settings);
 
@@ -572,7 +573,6 @@ static uint32_t dce110_get_pix_clk_dividers(
 {
 	struct dce110_clk_src *clk_src = TO_DCE110_CLK_SRC(cs);
 	uint32_t pll_calc_error = MAX_PLL_CALC_ERROR;
-	DC_LOGGER_INIT();
 
 	if (pix_clk_params == NULL || pll_settings == NULL
 			|| pix_clk_params->requested_pix_clk_100hz == 0) {
@@ -604,7 +604,6 @@ static uint32_t dce112_get_pix_clk_dividers(
 		struct pll_settings *pll_settings)
 {
 	struct dce110_clk_src *clk_src = TO_DCE110_CLK_SRC(cs);
-	DC_LOGGER_INIT();
 
 	if (pix_clk_params == NULL || pll_settings == NULL
 			|| pix_clk_params->requested_pix_clk_100hz == 0) {
@@ -1366,8 +1365,6 @@ static uint32_t dcn3_get_pix_clk_dividers(
 	unsigned long long actual_pix_clk_100Hz = pix_clk_params ? pix_clk_params->requested_pix_clk_100hz : 0;
 	struct dce110_clk_src *clk_src = TO_DCE110_CLK_SRC(cs);
 
-	DC_LOGGER_INIT();
-
 	if (pix_clk_params == NULL || pll_settings == NULL
 			|| pix_clk_params->requested_pix_clk_100hz == 0) {
 		DC_LOG_ERROR(
@@ -1437,7 +1434,6 @@ static const struct clock_source_funcs dce110_clk_src_funcs = {
 	.get_pixel_clk_frequency_100hz = get_pixel_clk_frequency_100hz
 };
 
-
 static void get_ss_info_from_atombios(
 		struct dce110_clk_src *clk_src,
 		enum as_signal_type as_signal,
@@ -1450,7 +1446,7 @@ static void get_ss_info_from_atombios(
 	struct spread_spectrum_info *ss_info_cur;
 	struct spread_spectrum_data *ss_data_cur;
 	uint32_t i;
-	DC_LOGGER_INIT();
+
 	if (ss_entries_num == NULL) {
 		DC_LOG_SYNC(
 			"Invalid entry !!!\n");
@@ -1585,6 +1581,7 @@ static void ss_info_from_atombios_create(
 }
 
 static bool calc_pll_max_vco_construct(
+			struct dce110_clk_src *clk_src,
 			struct calc_pll_clock_source *calc_pll_cs,
 			struct calc_pll_clock_source_init_data *init_data)
 {
@@ -1736,6 +1733,7 @@ bool dce110_clk_src_construct(
 	ss_info_from_atombios_create(clk_src);
 
 	if (!calc_pll_max_vco_construct(
+			clk_src,
 			&clk_src->calc_pll,
 			&calc_pll_cs_init_data)) {
 		ASSERT_CRITICAL(false);
@@ -1750,7 +1748,7 @@ bool dce110_clk_src_construct(
 
 
 	if (!calc_pll_max_vco_construct(
-			&clk_src->calc_pll_hdmi, &calc_pll_cs_init_data_hdmi)) {
+			clk_src, &clk_src->calc_pll_hdmi, &calc_pll_cs_init_data_hdmi)) {
 		ASSERT_CRITICAL(false);
 		goto unexpected_failure;
 	}
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c +11 -5
index de4282a98626..e77fd63dfc0f 100644
@@ -821,13 +821,19 @@ void dcn30_set_avmute(struct pipe_ctx *pipe_ctx, bool enable)
 				pipe_ctx->stream_res.stream_enc,
 				enable);
 
-		/* Wait for two frame to make sure AV mute is sent out */
+		/* Wait for three frames to make sure AV mute is sent out.
+		 * Some HDMI sinks need additional GCP packets to properly
+		 * process the mute state, especially after link re-establishment
+		 * with HDMI 2.0 scrambling enabled.
+		 */
 		if (enable && pipe_ctx->stream_res.tg->funcs->is_tg_enabled(pipe_ctx->stream_res.tg)) {
+			int i;
+
 			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VACTIVE);
-			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VBLANK);
-			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VACTIVE);
-			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VBLANK);
-			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VACTIVE);
+			for (i = 0; i < 3; i++) {
+				pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VBLANK);
+				pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VACTIVE);
+			}
 		}
 	}
 }
drivers/gpu/drm/armada/armada_fbdev.c +1 -11
index d223176912b6..e409029638b0 100644
@@ -43,10 +43,10 @@ static int armada_fbdev_create(struct drm_fb_helper *fbh,
 	struct drm_fb_helper_surface_size *sizes)
 {
 	struct drm_device *dev = fbh->dev;
+	struct fb_info *info = fbh->info;
 	struct drm_mode_fb_cmd2 mode;
 	struct armada_framebuffer *dfb;
 	struct armada_gem_object *obj;
-	struct fb_info *info;
 	int size, ret;
 	void *ptr;
 
@@ -87,12 +87,6 @@ static int armada_fbdev_create(struct drm_fb_helper *fbh,
 	if (IS_ERR(dfb))
 		return PTR_ERR(dfb);
 
-	info = drm_fb_helper_alloc_info(fbh);
-	if (IS_ERR(info)) {
-		ret = PTR_ERR(info);
-		goto err_fballoc;
-	}
-
 	info->fbops = &armada_fb_ops;
 	info->fix.smem_start = obj->phys_addr;
 	info->fix.smem_len = obj->obj.size;
@@ -107,10 +101,6 @@ static int armada_fbdev_create(struct drm_fb_helper *fbh,
 		(unsigned long long)obj->phys_addr);
 
 	return 0;
-
- err_fballoc:
-	dfb->fb.funcs->destroy(&dfb->fb);
-	return ret;
 }
 
 static int armada_fb_probe(struct drm_fb_helper *fbh,
drivers/gpu/drm/display/drm_dp_helper.c +12 -0
index 9fa13da513d2..abcc2538b9be 100644
@@ -3145,6 +3145,18 @@ int drm_dp_get_pcon_max_frl_bw(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
 	int bw;
 	u8 buf;
 
+	if (!drm_dp_is_branch(dpcd))
+		return 0;
+
+	if (dpcd[DP_DPCD_REV] < 0x11)
+		return 0;
+
+	if ((dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DETAILED_CAP_INFO_AVAILABLE) == 0)
+		return 0;
+
+	if ((port_cap[0] & DP_DS_PORT_TYPE_MASK) != DP_DS_PORT_TYPE_HDMI)
+		return 0;
+
 	buf = port_cap[2];
 	bw = buf & DP_PCON_MAX_FRL_BW;
 
drivers/gpu/drm/drm_exec.c +2 -4
index 18e366cc4993..6c1351cd7f15 100644
@@ -22,7 +22,6 @@
  *
  *	struct drm_gem_object *obj;
  *	struct drm_exec exec;
- *	unsigned long index;
  *	int ret;
  *
  *	drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT);
@@ -38,7 +37,7 @@
  *			goto error;
  *	}
  *
- *	drm_exec_for_each_locked_object(&exec, index, obj) {
+ *	drm_exec_for_each_locked_object(&exec, obj) {
  *		dma_resv_add_fence(obj->resv, fence, DMA_RESV_USAGE_READ);
  *		...
  *	}
@@ -54,9 +53,8 @@
 static void drm_exec_unlock_all(struct drm_exec *exec)
 {
 	struct drm_gem_object *obj;
-	unsigned long index;
 
-	drm_exec_for_each_locked_object_reverse(exec, index, obj) {
+	drm_exec_for_each_locked_object_reverse(exec, obj) {
 		dma_resv_unlock(obj->resv);
 		drm_gem_object_put(obj);
 	}
drivers/gpu/drm/drm_fb_helper.c +14 -27

83 lines not on this page · raw message

drivers/gpu/drm/drm_fbdev_dma.c +2 -10
index 6fcf2a8bf676..b7ec75770f08 100644
@@ -280,9 +280,9 @@ int drm_fbdev_dma_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 {
 	struct drm_client_dev *client = &fb_helper->client;
 	struct drm_device *dev = fb_helper->dev;
+	struct fb_info *info = fb_helper->info;
 	struct drm_client_buffer *buffer;
 	struct drm_framebuffer *fb;
-	struct fb_info *info;
 	u32 format;
 	struct iosys_map map;
 	int ret;
@@ -312,12 +312,6 @@ int drm_fbdev_dma_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 	fb_helper->buffer = buffer;
 	fb_helper->fb = fb;
 
-	info = drm_fb_helper_alloc_info(fb_helper);
-	if (IS_ERR(info)) {
-		ret = PTR_ERR(info);
-		goto err_drm_client_buffer_vunmap;
-	}
-
 	drm_fb_helper_fill_info(info, fb_helper, sizes);
 
 	if (fb->funcs->dirty)
@@ -325,12 +319,10 @@ int drm_fbdev_dma_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 	else
 		ret = drm_fbdev_dma_driver_fbdev_probe_tail(fb_helper, sizes);
 	if (ret)
-		goto err_drm_fb_helper_release_info;
+		goto err_drm_client_buffer_vunmap;
 
 	return 0;
 
-err_drm_fb_helper_release_info:
-	drm_fb_helper_release_info(fb_helper);
 err_drm_client_buffer_vunmap:
 	fb_helper->fb = NULL;
 	fb_helper->buffer = NULL;
drivers/gpu/drm/drm_fbdev_shmem.c +2 -10
index 0c785007f11b..e038377449d4 100644
@@ -110,10 +110,10 @@ static int drm_fbdev_shmem_helper_fb_probe(struct drm_fb_helper *fb_helper,
 {
 	struct drm_client_dev *client = &fb_helper->client;
 	struct drm_device *dev = fb_helper->dev;
+	struct fb_info *info = fb_helper->info;
 	struct drm_client_buffer *buffer;
 	struct drm_gem_shmem_object *shmem;
 	struct drm_framebuffer *fb;
-	struct fb_info *info;
 	u32 format;
 	struct iosys_map map;
 	int ret;
@@ -142,12 +142,6 @@ static int drm_fbdev_shmem_helper_fb_probe(struct drm_fb_helper *fb_helper,
 	fb_helper->buffer = buffer;
 	fb_helper->fb = fb;
 
-	info = drm_fb_helper_alloc_info(fb_helper);
-	if (IS_ERR(info)) {
-		ret = PTR_ERR(info);
-		goto err_drm_client_buffer_vunmap;
-	}
-
 	drm_fb_helper_fill_info(info, fb_helper, sizes);
 
 	info->fbops = &drm_fbdev_shmem_fb_ops;
@@ -168,12 +162,10 @@ static int drm_fbdev_shmem_helper_fb_probe(struct drm_fb_helper *fb_helper,
 	info->fbdefio = &fb_helper->fbdefio;
 	ret = fb_deferred_io_init(info);
 	if (ret)
-		goto err_drm_fb_helper_release_info;
+		goto err_drm_client_buffer_vunmap;
 
 	return 0;
 
-err_drm_fb_helper_release_info:
-	drm_fb_helper_release_info(fb_helper);
 err_drm_client_buffer_vunmap:
 	fb_helper->fb = NULL;
 	fb_helper->buffer = NULL;
drivers/gpu/drm/drm_fbdev_ttm.c +2 -10
index d799cbe944cd..e3f6ae3d7bad 100644
@@ -185,8 +185,8 @@ int drm_fbdev_ttm_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 {
 	struct drm_client_dev *client = &fb_helper->client;
 	struct drm_device *dev = fb_helper->dev;
+	struct fb_info *info = fb_helper->info;
 	struct drm_client_buffer *buffer;
-	struct fb_info *info;
 	size_t screen_size;
 	void *screen_buffer;
 	u32 format;
@@ -214,12 +214,6 @@ int drm_fbdev_ttm_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 		goto err_drm_client_framebuffer_delete;
 	}
 
-	info = drm_fb_helper_alloc_info(fb_helper);
-	if (IS_ERR(info)) {
-		ret = PTR_ERR(info);
-		goto err_vfree;
-	}
-
 	drm_fb_helper_fill_info(info, fb_helper, sizes);
 
 	info->fbops = &drm_fbdev_ttm_fb_ops;
@@ -236,12 +230,10 @@ int drm_fbdev_ttm_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 	info->fbdefio = &fb_helper->fbdefio;
 	ret = fb_deferred_io_init(info);
 	if (ret)
-		goto err_drm_fb_helper_release_info;
+		goto err_vfree;
 
 	return 0;
 
-err_drm_fb_helper_release_info:
-	drm_fb_helper_release_info(fb_helper);
 err_vfree:
 	vfree(screen_buffer);
 err_drm_client_framebuffer_delete:
drivers/gpu/drm/drm_gpuvm.c +1 -2
index 2515cff33485..338a21a58ec5 100644
@@ -1451,9 +1451,8 @@ drm_gpuvm_resv_add_fence(struct drm_gpuvm *gpuvm,
 			 enum dma_resv_usage extobj_usage)
 {
 	struct drm_gem_object *obj;
-	unsigned long index;
 
-	drm_exec_for_each_locked_object(exec, index, obj) {
+	drm_exec_for_each_locked_object(exec, obj) {
 		dma_resv_assert_held(obj->resv);
 		dma_resv_add_fence(obj->resv, fence,
 				   drm_gpuvm_is_extobj(gpuvm, obj) ?
drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c +1 -1
index 3d0f8d182506..70294ca6202f 100644
@@ -535,7 +535,7 @@ int etnaviv_ioctl_gem_submit(struct drm_device *dev, void *data,
 
 	ret = drm_sched_job_init(&submit->sched_job,
 				 &ctx->sched_entity[args->pipe],
-				 1, submit->ctx);
+				 1, submit->ctx, file->client_id);
 	if (ret)
 		goto err_submit_put;
 
drivers/gpu/drm/exynos/exynos_drm_fbdev.c +1 -8
index a379c8ca435a..b24516998755 100644
@@ -60,18 +60,11 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
 				   struct drm_fb_helper_surface_size *sizes,
 				   struct exynos_drm_gem *exynos_gem)
 {
-	struct fb_info *fbi;
+	struct fb_info *fbi = helper->info;
 	struct drm_framebuffer *fb = helper->fb;
 	unsigned int size = fb->width * fb->height * fb->format->cpp[0];
 	unsigned long offset;
 
-	fbi = drm_fb_helper_alloc_info(helper);
-	if (IS_ERR(fbi)) {
-		DRM_DEV_ERROR(to_dma_dev(helper->dev),
-			      "failed to allocate fb info.\n");
-		return PTR_ERR(fbi);
-	}
-
 	fbi->fbops = &exynos_drm_fb_ops;
 
 	drm_fb_helper_fill_info(fbi, helper, sizes);
drivers/gpu/drm/gma500/fbdev.c +1 -12
index 8e3128298728..d80a18fde1aa 100644
@@ -110,7 +110,7 @@ static int psb_fbdev_fb_probe(struct drm_fb_helper *fb_helper,
 	struct drm_device *dev = fb_helper->dev;
 	struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
 	struct pci_dev *pdev = to_pci_dev(dev->dev);
-	struct fb_info *info;
+	struct fb_info *info = fb_helper->info;
 	struct drm_framebuffer *fb;
 	struct drm_mode_fb_cmd2 mode_cmd = { };
 	int size;
@@ -165,12 +165,6 @@ static int psb_fbdev_fb_probe(struct drm_fb_helper *fb_helper,
 
 	fb_helper->fb = fb;
 
-	info = drm_fb_helper_alloc_info(fb_helper);
-	if (IS_ERR(info)) {
-		ret = PTR_ERR(info);
-		goto err_drm_framebuffer_unregister_private;
-	}
-
 	info->fbops = &psb_fbdev_fb_ops;
 
 	/* Accessed stolen memory directly */
@@ -194,11 +188,6 @@ static int psb_fbdev_fb_probe(struct drm_fb_helper *fb_helper,
 
 	return 0;
 
-err_drm_framebuffer_unregister_private:
-	drm_framebuffer_unregister_private(fb);
-	fb->obj[0] = NULL;
-	drm_framebuffer_cleanup(fb);
-	kfree(fb);
 err_drm_gem_object_put:
 	drm_gem_object_put(obj);
 	return ret;
drivers/gpu/drm/i915/display/intel_fbdev.c +1 -8
index 337cc9fc31b1..2420be4c3127 100644
@@ -183,7 +183,7 @@ static int intelfb_create(struct drm_fb_helper *helper,
 		.type = I915_GTT_VIEW_NORMAL,
 	};
 	intel_wakeref_t wakeref;
-	struct fb_info *info;
+	struct fb_info *info = helper->info;
 	struct i915_vma *vma;
 	unsigned long flags = 0;
 	bool prealloc = false;
@@ -236,13 +236,6 @@ static int intelfb_create(struct drm_fb_helper *helper,
 		goto out_unlock;
 	}
 
-	info = drm_fb_helper_alloc_info(helper);
-	if (IS_ERR(info)) {
-		drm_err(&dev_priv->drm, "Failed to allocate fb_info (%pe)\n", info);
-		ret = PTR_ERR(info);
-		goto out_unpin;
-	}
-
 	ifbdev->helper.fb = &fb->base;
 
 	info->fbops = &intelfb_ops;
drivers/gpu/drm/i915/display/intel_hdcp.c +359 -340

801 lines not on this page · raw message

drivers/gpu/drm/i915/display/intel_hdcp_gsc.c +5 -4
index 16afeb8a3a8d..dc5cc1d54c85 100644

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

drivers/gpu/drm/i915/display/intel_hdcp_gsc.h +3 -2
index 5f610df61cc9..b6aabd855478 100644

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

drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.h +2 -1
index ce199d6f6232..2d597f27e931 100644

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

drivers/gpu/drm/i915/display/intel_vrr.c +8 -2
index 9a51f5bac307..96de5e82af38 100644

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

drivers/gpu/drm/imagination/pvr_job.c +1 -1
index 6a15c1d2d871..ab2f43b99b4b 100644

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

drivers/gpu/drm/imagination/pvr_queue.c +3 -2
index 083cb6181985..367d5915130a 100644

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

drivers/gpu/drm/imagination/pvr_queue.h +1 -1
index 887f60b5daa6..a205e29437f4 100644

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

drivers/gpu/drm/lima/lima_gem.c +1 -1
index 9bb997dbb4b9..f46f961afc56 100644

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

drivers/gpu/drm/lima/lima_sched.c +4 -2
index 1a944edb6ddc..00f0b2907cb6 100644

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

drivers/gpu/drm/lima/lima_sched.h +2 -1
index 85b23ba901d5..1a08faf8a529 100644

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

drivers/gpu/drm/mediatek/mtk_crtc.c +3 -3
index c4c6d0249df5..aa8e6f6ddcd3 100644

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

drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c +6 -1
index bf2546c4681a..8f11d1f42c4c 100644

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

drivers/gpu/drm/msm/msm_fbdev.c +1 -8
index 030bedac632d..174a116fba2b 100644

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

drivers/gpu/drm/msm/msm_gem_submit.c +5 -3
index 3eee6517541e..c0b4a346eb1f 100644

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

drivers/gpu/drm/nouveau/nouveau_sched.c +2 -1
index 9e6244347ed7..390c2cc21c2f 100644

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

drivers/gpu/drm/omapdrm/omap_fbdev.c +1 -8
index 523be34682ca..483dc30d7840 100644

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

drivers/gpu/drm/panfrost/panfrost_drv.c +1 -1
index b6e5442f8728..c20a817dcd1f 100644

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

drivers/gpu/drm/panthor/panthor_drv.c +2 -1
index 9360d486e52e..9d4bf7406e24 100644

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

drivers/gpu/drm/panthor/panthor_fw.c +33 -14

47 lines not on this page · raw message

drivers/gpu/drm/panthor/panthor_mmu.c +1 -1
index e221708cf1aa..9b6afc9c1da1 100644

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

drivers/gpu/drm/panthor/panthor_sched.c +3 -2
index cedcde0f10bd..2f80c47e1f54 100644

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

drivers/gpu/drm/panthor/panthor_sched.h +2 -1
index 666d1655ee18..281b2f22a16d 100644

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

drivers/gpu/drm/radeon/radeon_fbdev.c +1 -12
index a197ba2f2717..0a05b373bd9e 100644

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

drivers/gpu/drm/scheduler/sched_fence.c +3 -1
index 0f35f009b9d3..41c3d596603c 100644

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

drivers/gpu/drm/scheduler/sched_main.c +5 -2
index 4f43c0fa4019..34ebc2fa3a5a 100644

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

drivers/gpu/drm/tegra/fbdev.c +3 -15
index db6eaac3d30e..08cd471e5aa2 100644

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

drivers/gpu/drm/v3d/v3d_submit.c +1 -1
index 5ffa4c0f9e8a..41615f41ac0d 100644

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

drivers/gpu/drm/vc4/vc4_irq.c +1 -1
index 968356d1b91d..c201a8aaccb4 100644

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

drivers/gpu/drm/vc4/vc4_validate.c +23 -6
index f3d7fdbe9083..8434037c509a 100644

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

drivers/gpu/drm/vmwgfx/ttm_object.c +5 -2
index 3353e97687d1..5a73f5719afd 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_blit.c +31 -8
index 64bd7d74854e..a1da91991093 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +18 -2
index 6b921db2dcd2..8c53d46cd38c 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +2 -2
index c4d5fe5f330f..6c6a7bd76fcf 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_shader.c +9 -4
index a8c8c9375d29..bc89a137ab6d 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c +9 -8
index 8651b788e98b..c8a614869756 100644

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

drivers/gpu/drm/xe/Makefile +1 -0
index edfd812e0f41..4464d56b4540 100644

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

drivers/gpu/drm/xe/display/xe_hdcp_gsc.c +4 -3
index 695d625c83ee..8dd2cfbf7e64 100644

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

drivers/gpu/drm/xe/xe_bo.c +23 -10
index d5b63d90947f..b5f5f85ac3c5 100644

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

drivers/gpu/drm/xe/xe_bo.h +5 -5
index 5e982be66c74..556ce5390009 100644

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

drivers/gpu/drm/xe/xe_bo_types.h +2 -0
index aa298d33c250..cecb893ba128 100644

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

drivers/gpu/drm/xe/xe_dma_buf.c +3 -3
index c422f7d60115..23ffd1d89565 100644

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

drivers/gpu/drm/xe/xe_exec.c +16 -6
index 886d03ccf744..04a88c16d835 100644

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

drivers/gpu/drm/xe/xe_gt.c +1 -3
index 292947e44a8a..e2ac1589dfbf 100644

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

drivers/gpu/drm/xe/xe_gt_debugfs.c +3 -1
index 8f95d3a5949b..15ff52dfe461 100644

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

drivers/gpu/drm/xe/xe_gt_printk.h +31 -0
index 5dc71394372d..11da0228cea7 100644

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

drivers/gpu/drm/xe/xe_hw_engine.c +2 -1
index 45d0ae074e65..9f560ac9e2b8 100644

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

drivers/gpu/drm/xe/xe_hw_engine_types.h +8 -0
index 8be6d420ece4..ac876a8c3eec 100644

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

drivers/gpu/drm/xe/xe_oa.c +7 -0
index 5e38afc46e20..476d887749a9 100644

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

drivers/gpu/drm/xe/xe_oa_types.h +3 -0
index fea9d981e414..0faec73954b7 100644

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

drivers/gpu/drm/xe/xe_pagefault.c new file +65 -0

65 lines not on this page · raw message

drivers/gpu/drm/xe/xe_pagefault.h new file +19 -0
new file mode 100644
index 000000000000..bd0cdf9ed37f

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

drivers/gpu/drm/xe/xe_pagefault_types.h new file +136 -0

136 lines not on this page · raw message

drivers/gpu/drm/xe/xe_pt.c +3 -0
index 0025871485cb..9e60b8cccd0f 100644

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

drivers/gpu/drm/xe/xe_reg_sr.c +0 -53

53 lines not on this page · raw message

drivers/gpu/drm/xe/xe_reg_whitelist.c +130 -17

147 lines not on this page · raw message

drivers/gpu/drm/xe/xe_reg_whitelist.h +4 -0
index 69b121d377da..f243b6ac60b7 100644

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

drivers/gpu/drm/xe/xe_sched_job.c +2 -1
index eeccc1c318ae..f586a815f1cf 100644

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

drivers/gpu/drm/xe/xe_vm.c +1 -2
index 7ce6a9d4e5c1..deb4d0314db3 100644

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

drivers/hid/hid-logitech-dj.c +22 -6
index 3b5412541c92..7895f27c9135 100644

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

drivers/hv/vmbus_drv.c +12 -1
index 83f3215bc5bd..db1c71832f2a 100644

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

drivers/hwmon/Kconfig +3 -2
index acd0f86cb9b3..848b9cfcb1d8 100644

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

drivers/hwmon/adt7470.c +92 -37

129 lines not on this page · raw message

drivers/hwmon/ina2xx.c +214 -37

251 lines not on this page · raw message

drivers/hwmon/lm90.c +2 -2
index 511d95a0efb3..45d5a2427dcb 100644

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

drivers/hwmon/ltc4282.c +2 -2
index d98c57918ce3..e1c0d02b564b 100644

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

drivers/hwmon/nct6775-core.c +9 -11
index 79bc67ffb998..ce2cf1f22900 100644

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

drivers/hwmon/npcm750-pwm-fan.c +11 -0
index db3b551828eb..84d67157c99a 100644

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

drivers/hwmon/nzxt-smart2.c +1 -1
index 6f8febda4277..66c5886f411a 100644

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

drivers/hwmon/pmbus/pmbus_core.c +4 -3
index a431cce33603..8804e1d61faa 100644

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

drivers/hwmon/sht3x.c +5 -4
index 94466e28dc56..1f63c07cfb08 100644

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

drivers/i2c/busses/i2c-amd-mp2-plat.c +3 -1
index 6f0ef587e76d..c5bddc722248 100644

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

drivers/i2c/busses/i2c-bcm-iproc.c +11 -0
index 133d02899c6b..907f66cbf232 100644

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

drivers/i2c/busses/i2c-imx.c +6 -3
index 45e71120fdc1..2f98ac4ad214 100644

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

drivers/i2c/busses/i2c-jz4780.c +4 -1
index 92cc5b091137..1bf25f575fbe 100644

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

drivers/iommu/iova.c +6 -0
index 16c6adff3eb7..5b5400efb657 100644

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

drivers/media/i2c/imx219.c +15 -16
index d057c74f7172..169040479c23 100644

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

drivers/media/platform/chips-media/wave5/wave5-hw.c +3 -0
index 710311d85113..1daac56dd1d4 100644

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

drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c +4 -1
index b7761d8a7d0a..0e92eca18236 100644

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

drivers/media/platform/chips-media/wave5/wave5-vpuapi.h +1 -0
index d2370511faf8..703b2413dafa 100644

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

drivers/net/can/c_can/c_can_main.c +4 -4
index cc371d0c9f3c..2ea5224ebfcb 100644

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

drivers/net/can/ctucanfd/ctucanfd_base.c +9 -5
index 0d40564febee..31fc0b8573bb 100644

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

drivers/net/can/ctucanfd/ctucanfd_pci.c +2 -1
index 9da09e7dd63a..8cc995649287 100644

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

drivers/net/can/dev/skb.c +0 -2
index 3ebd4f779b9b..0da615afa04d 100644

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

drivers/net/can/softing/softing_fw.c +32 -14

46 lines not on this page · raw message

drivers/net/can/usb/ems_usb.c +43 -0

43 lines not on this page · raw message

drivers/net/can/usb/etas_es58x/es58x_core.c +0 -1
index 154588cb7b32..1a17ce02d8b1 100644

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

drivers/net/can/usb/gs_usb.c +2 -2
index ee3d49a686de..6bc9ab2605c0 100644

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

drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +1 -0
index 3764b263add3..2792ff7dd06f 100644

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

drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c +11 -2
index b7f6935686c9..251d4cd963ae 100644

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

drivers/net/can/usb/peak_usb/pcan_usb_core.c +0 -1
index 69c44f675ff1..cbde414b023a 100644

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

drivers/net/can/usb/peak_usb/pcan_usb_fd.c +39 -1
index ebefc274b50a..6ebfbc0753d9 100644

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

drivers/net/can/usb/peak_usb/pcan_usb_pro.c +16 -4
index f736196383ac..39c86917cb5e 100644

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

drivers/net/dsa/mt7530-mdio.c +9 -2
index 51df42ccdbe6..e19b46449ffe 100644

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

drivers/net/dsa/mt7530.c +20 -38

58 lines not on this page · raw message

drivers/net/ethernet/airoha/airoha_eth.c +1 -1
index 58e5791e9cd4..9ebc9788ded7 100644

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

drivers/net/ethernet/intel/e1000/e1000_main.c +1 -1
index 8072aa8f05e3..f9be17e64d18 100644

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

drivers/net/ethernet/intel/ice/ice_ethtool.c +5 -5
index e6e635ad971f..51b35c15827d 100644

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

drivers/net/ethernet/intel/ice/ice_main.c +10 -0
index f1c50910b433..5d430ed6ae43 100644

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

drivers/net/ethernet/intel/idpf/idpf_lib.c +1 -1
index 4973135c346a..c2101f7f6e1b 100644

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

drivers/net/ethernet/intel/idpf/idpf_txrx.c +1 -4
index 82a927265b9c..afb922e8704d 100644

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

drivers/net/ethernet/intel/idpf/idpf_txrx.h +1 -1
index a34c791c4608..2d9960dd51ad 100644

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

drivers/net/ethernet/intel/igbvf/netdev.c +0 -2
index 925d7286a8ee..0bc78a2c78ef 100644

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

drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +1 -1
index c314139e0d78..d03399585d01 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.c +41 -17

58 lines not on this page · raw message

drivers/net/ethernet/mediatek/mtk_eth_soc.h +6 -1
index 0570623e569d..76d60b6a23b2 100644

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

drivers/net/ethernet/nvidia/forcedeth.c +2 -2
index 720f577929db..11eb3751ad27 100644

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

drivers/net/ethernet/qlogic/qede/qede_main.c +22 -22

44 lines not on this page · raw message

drivers/net/ethernet/realtek/rtase/rtase_main.c +3 -0
index a565d5fb6b85..afae19cc9931 100644

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

drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c +8 -6
index d2ba283f6123..4afa2b2c67b4 100644

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

drivers/net/ethernet/wangxun/libwx/wx_lib.c +2 -0
index 4c203f4afd68..3666302e3401 100644

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

drivers/net/netconsole.c +2 -1
index 60375bb814a1..3b76ec3cd49b 100644

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

drivers/net/phy/phylink.c +15 -14
index b78dfcbec936..e6f3963739ad 100644

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

drivers/net/veth.c +2 -2
index eb7ce1211784..918a7130011d 100644

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

drivers/net/vxlan/vxlan_core.c +11 -4
index c6d80973fd96..fdc46f52c7fc 100644

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

drivers/net/wireless/ath/ath6kl/txrx.c +1 -1
index a39c8150587e..24fbb4bb6875 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +15 -1
index cfdd92564060..45f1d2cae3ca 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h +6 -0
index fe31051a9e11..9371c1489948 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c +2 -2
index 4dbb1898f306..e3a01a28a182 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +42 -4

46 lines not on this page · raw message

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +6 -0
index c53099a3e250..48224588c8bd 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +10 -4
index a1b261446076..108e316ef90b 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h +1 -0
index 0d18ed15b403..927fb82dec9c 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +3 -0
index 0364b81f6e91..56fa7e28e20c 100644

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

drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h +1 -1
index 44684bf1b9ac..2f886af068c5 100644

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

drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c +1 -1
index 3f4c8c0743fe..43a35a25574b 100644

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

drivers/of/of_reserved_mem.c +80 -7

87 lines not on this page · raw message

drivers/phy/xilinx/phy-zynqmp.c +81 -49

130 lines not on this page · raw message

drivers/pinctrl/Kconfig +2 -0
index e05174e5efbc..7cb21d3ea02c 100644

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

drivers/pinctrl/devicetree.c +4 -0
index 0b7f74beb6a6..fdb5ff0e4b0b 100644

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

drivers/pinctrl/pinctrl-amd.c +1 -2
index debf36ce5785..65006eceaf39 100644

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

drivers/pinctrl/qcom/pinctrl-msm.c +4 -4
index 27eb585bf42d..994f46c4c3b6 100644

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

drivers/pinctrl/qcom/pinctrl-sc8280xp.c +11 -10
index 4b1c49697698..67945ce867fa 100644

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

drivers/power/supply/bq25890_charger.c +1 -1
index 2f5ceaf00b94..ea62220ee155 100644

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

drivers/power/supply/max17040_battery.c +5 -1
index 48453508688a..f4748adec092 100644

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

drivers/s390/block/dasd_eckd.c +7 -4
index 5ff386fabdc9..3ac88a22a9e5 100644

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

drivers/s390/block/dasd_ioctl.c +1 -1
index eb5dcbe37230..3cf2960ce47c 100644

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

drivers/s390/crypto/zcrypt_api.c +1 -1
index 5020696f1379..6bfebc3ef0a7 100644

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

drivers/s390/crypto/zcrypt_ccamisc.c +6 -0
index 9dd4d01e1203..6790afd517ec 100644

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

drivers/s390/net/qeth_core_main.c +3 -0
index a3adaec5504e..2861b6b38cb0 100644

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

drivers/s390/scsi/zfcp_aux.c +1 -0
index ab2f35bc294d..d3cc884ccd59 100644

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

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +1 -9
index e958b588d078..b7dd4efca0c7 100644

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

drivers/scsi/libiscsi.c +1 -1
index 29af3722ea22..0f169f243475 100644

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

drivers/scsi/libiscsi_tcp.c +1 -7
index c182aa83f2c9..4d2320512943 100644

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

drivers/scsi/libsas/sas_init.c +18 -19
index 8566bb1208a0..ac157ab6a301 100644

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

drivers/scsi/scsi_debug.c +6 -2
index dfe38d34d051..9a194cf64528 100644

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

drivers/spi/spi-cadence.c +108 -21

129 lines not on this page · raw message

drivers/spi/spi-qcom-qspi.c +2 -1
index 49b775134485..591fdd2ec7b8 100644

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

drivers/target/target_core_iblock.c +3 -3
index c8dc92a7d63e..0a232abee8f5 100644

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

drivers/target/target_core_transport.c +10 -2
index cf9834f958c9..3dc49f6c7832 100644

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

drivers/thunderbolt/xdomain.c +30 -10
index 06357073f4ab..ffe7ce073749 100644

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

drivers/ufs/core/ufshcd.c +4 -2
index 205427f6c465..98bf5bc6f383 100644

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

drivers/usb/gadget/function/f_tcm.c +164 -28

192 lines not on this page · raw message

drivers/usb/gadget/function/tcm.h +13 -0
index 3cd565794ad7..6c9bdbeed3c8 100644

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

drivers/usb/typec/ucsi/ucsi.c +47 -43

90 lines not on this page · raw message

drivers/usb/typec/ucsi/ucsi.h +1 -0
index 9d0a9359ccf3..120e5a570385 100644

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

fs/binfmt_misc.c +8 -0
index 503eefe3dd1f..f85ee577c34d 100644

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

fs/btrfs/super.c +5 -3
index 21419bc33863..c8ad43f94db0 100644

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

fs/btrfs/zoned.c +5 -1
index d9c26f4be663..c64840b15597 100644

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

fs/erofs/Kconfig +14 -0
index 6ea60661fa55..d7e004f8cfed 100644

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

fs/erofs/decompressor_lzma.c +2 -1
index 832cffb83a66..90bdc8638199 100644

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

fs/proc/task_mmu.c +31 -2
index bc127f1ad4bb..44dc442b4f0e 100644

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

fs/smb/client/cifssmb.c +9 -3
index 81a1c116e903..882d535d17a4 100644

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

fs/smb/server/vfs_cache.c +5 -1
index 5b6d8bb8edb2..51e37e89d1aa 100644

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

include/drm/drm_exec.h +12 -8
index aa786b828a0a..dee6ebdbe416 100644

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

include/drm/drm_fb_helper.h +0 -12
index 699f2790b9ac..eb825acedf74 100644

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

include/drm/gpu_scheduler.h +10 -2
index e78adc7a9195..4246ed5b9703 100644

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

include/linux/alloc_tag.h +3 -0
index 6073a8f13c41..70025f8e2499 100644

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

include/linux/can/core.h +1 -0
index 5fb8d0e3f9c1..3287232e3cad 100644

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

include/linux/can/skb.h +0 -2
index 1abc25a8d144..869ea574a40a 100644

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

include/linux/dma/qcom_bam_dma.h +16 -5
index 68fc0e643b1b..d9d07a9ab313 100644

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

include/linux/kmemleak.h +4 -0
index 6a3cd1bf4680..93a73c076d16 100644

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

include/linux/libata.h +1 -1
index a78227fb66a8..c41faa99feb3 100644

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

include/linux/mmc/sdio_ids.h +1 -1
index 7cddfdac2f57..8fb8e7e87f6e 100644

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

include/linux/netfilter/nf_conntrack_sip.h +1 -1
index dbc614dfe0d5..aafa0c04f917 100644

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

include/linux/slab.h +7 -1
index 773843a71960..28eba6cbb767 100644

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

include/linux/thunderbolt.h +3 -0
index 7d902d8c054b..4ef9c4302656 100644

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

include/linux/trace_events.h +0 -4
index 54ba231ded51..98ee10b417e6 100644

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

include/net/ip_vs.h +37 -8

45 lines not on this page · raw message

include/net/neighbour.h +6 -2
index cb5f835a5d61..0272d0f0e89d 100644

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

include/net/netfilter/nf_conntrack_expect.h +4 -1
index e9a8350e7ccf..80f50fd0f7ad 100644

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

include/net/netfilter/nf_tables.h +3 -1
index 032b649658be..f4b59915a49c 100644

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

include/scsi/libsas.h +0 -1
index 1324068dd950..2e3fcae62e27 100644

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

include/trace/events/rxrpc.h +10 -4
index fd913d7f79b8..8c4d791507f1 100644

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

include/uapi/linux/rkisp1-config.h +3 -3
index 2d995f3c1ca3..963c7a055015 100644

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

kernel/audit.c +9 -2
index a8a0beede152..df279dd2e450 100644

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

kernel/auditfilter.c +4 -2
index 88f8ab2b2ffc..de10aeda55a4 100644

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

kernel/bpf/verifier.c +1 -0
index 8c3c4ab989a0..77183b436da5 100644

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

kernel/sched/cpufreq_schedutil.c +11 -0
index e5ced97d9681..8c5abf67983d 100644

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

kernel/sched/deadline.c +2 -1
index cb8eff0ebd22..f5c64d1a019d 100644

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

kernel/trace/trace.c +9 -35

44 lines not on this page · raw message

kernel/trace/trace.h +0 -4
index ed4fcc438a0b..baa39009a25d 100644

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

kernel/trace/trace_branch.c +1 -3
index 30f72e0ecb5d..138f69521eb4 100644

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

kernel/trace/trace_events.c +2 -4
index d07b8062ded3..1630d2b7fbc4 100644

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

kernel/trace/trace_events_filter.c +3 -0
index 9a26ac07e324..b6fc33ddb228 100644

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

kernel/trace/trace_functions_graph.c +2 -6
index 47ea114ca9f4..04d403a38f04 100644

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

kernel/trace/trace_hwlat.c +1 -3
index bc437b6ce896..8703eb86a20c 100644

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

kernel/trace/trace_mmiotrace.c +15 -18
index 4d9e5c830dbe..32b7e1d972a4 100644

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

kernel/trace/trace_osnoise.c +3 -9
index 4daedf8debdc..549ac1916dc3 100644

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

kernel/trace/trace_probe.c +5 -1
index 683c30e93dd1..4d0b563fb3bd 100644

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

kernel/trace/trace_sched_wakeup.c +2 -6
index 039382576bc1..59e30d897a9d 100644

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

lib/alloc_tag.c +9 -0
index e76c40bf29d0..a0d11582029e 100644

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

lib/assoc_array.c +2 -1
index 388e656ac974..01619e88a52c 100644

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

lib/rhashtable.c +1 -0
index 0e9a1d4cf89b..16d2ce87c22e 100644

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

lib/test_fortify/Makefile +1 -0
index 1c3f82ad8bb2..afd0908b684e 100644

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

lib/win_minmax.c +1 -0
index ec10506834b6..1682e614309c 100644

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

mm/huge_memory.c +14 -2
index e60c21b92464..b2daa1767d90 100644

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

mm/hugetlb.c +8 -4
index 90faa4fd2ca2..e910ed0c43d0 100644

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

mm/kmemleak.c +42 -2

44 lines not on this page · raw message

mm/memcontrol-v1.h +5 -1
index 6fbc78e0e440..e4c666bff493 100644

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

mm/migrate_device.c +3 -2
index 5bd888223cc8..94e0b33bd99c 100644

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

mm/mm_init.c +11 -4
index b57385e76862..21e01537c9f5 100644

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

mm/page_reporting.c +4 -2
index e4c428e61d8c..68c791d243b1 100644

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

mm/percpu-km.c +1 -1
index fe31aa19db81..86d31190524d 100644

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

mm/slab.h +26 -2
index b65d2462b3fd..8e9fc3efc3fa 100644

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

mm/slab_common.c +13 -0
index 477fa471da18..4cc96c3ea18e 100644

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

mm/slub.c +23 -11
index cf678f461725..b61225c3503b 100644

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

net/bluetooth/hci_conn.c +13 -1
index ac98e3f2344e..c5b006d9d974 100644

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

net/bluetooth/hci_sync.c +101 -36

137 lines not on this page · raw message

net/bluetooth/hidp/core.c +18 -12
index c0c4df8cfbc9..84c930e3ac5e 100644

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

net/bluetooth/iso.c +71 -42

113 lines not on this page · raw message

net/bluetooth/l2cap_core.c +5 -0
index 56337f164d30..c876f986b27f 100644

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

net/bluetooth/mgmt.c +64 -20

84 lines not on this page · raw message

net/bridge/br_mrp.c +1 -1
index fd2de35ffb3c..5fd22bb4f5b6 100644

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

net/bridge/br_multicast.c +1 -0
index 3194344529a5..d43b39ed61c7 100644

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

net/bridge/br_netfilter_hooks.c +5 -1
index 5ad3f3ef4ca7..c550907b92dd 100644

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

net/can/af_can.c +11 -3
index c86cbb3ed9c5..c2c6372f56b7 100644

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

net/can/bcm.c +0 -2
index 0c7e6203eb44..d35a39d55edd 100644

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

net/can/isotp.c +239 -94

333 lines not on this page · raw message

net/can/j1939/bus.c +2 -0
index e0b966c2517c..aabe4fa91543 100644

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

net/can/j1939/j1939-priv.h +3 -0
index 31a93cae5111..1d3d5d0551e0 100644

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

net/can/j1939/main.c +4 -4
index 7e8a20f2fc42..b45f834ff2cf 100644

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

net/can/j1939/socket.c +0 -1
index 75c2b9b23390..e843891a9323 100644

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

net/can/j1939/transport.c +3 -3
index d8dada03b3cd..a262a58588c2 100644

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

net/can/raw.c +3 -4
index 3b274db1da61..d0b84bdd0cb5 100644

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

net/core/lwt_bpf.c +3 -1
index ab23323314b7..f1641ec8284b 100644

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

net/core/skbuff.c +12 -6
index fede3aa3ddbc..dcb5d025dc08 100644

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

net/ipv4/route.c +0 -2
index 4dce0de6ab89..2b8c29a29c4a 100644

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

net/ipv4/udp_tunnel_nic.c +17 -15
index b13e8f7092f4..4360d159ee8a 100644

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

net/ipv6/fib6_rules.c +1 -0
index 29185c9ebd02..a7e7ab998871 100644

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

net/ipv6/ip6_output.c +1 -1
index 50b41be5d38d..5d17982cb994 100644

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

net/ipv6/ndisc.c +2 -0
index 73e2e457e30b..1a759519a90f 100644

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

net/mac80211/s1g.c +4 -0
index d4ed0c0a335c..2a23e431cbb5 100644

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

net/mpls/af_mpls.c +1 -0
index 98816e51e01a..0379540d601a 100644

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

net/mptcp/pm.c +6 -3
index 3a27afcb4ec8..009020ee1e04 100644

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

net/mptcp/pm_netlink.c +9 -20
index 8159ffb8466b..550c4c1b963d 100644

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

net/mptcp/pm_userspace.c +44 -45

89 lines not on this page · raw message

net/mptcp/protocol.h +4 -2
index ad30b4b48143..04f33abd410d 100644

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

net/netfilter/ipset/ip_set_hash_gen.h +1 -1
index 0426d012185d..4c1082e38e3d 100644

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

net/netfilter/ipvs/ip_vs_app.c +2 -2
index f9132b359f0c..0c690a30a85d 100644

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

net/netfilter/ipvs/ip_vs_conn.c +3 -0
index 7ab2b482d4bf..5ed91a8a8fdf 100644

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

net/netfilter/ipvs/ip_vs_core.c +87 -93

180 lines not on this page · raw message

net/netfilter/ipvs/ip_vs_proto_sctp.c +11 -8
index c67317be17df..3dbd3096e163 100644

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

net/netfilter/ipvs/ip_vs_proto_tcp.c +10 -38

48 lines not on this page · raw message

net/netfilter/ipvs/ip_vs_proto_udp.c +13 -41

54 lines not on this page · raw message

net/netfilter/ipvs/ip_vs_xmit.c +30 -12

42 lines not on this page · raw message

net/netfilter/nf_conntrack_broadcast.c +1 -0
index f9528d4db0a8..93c501d9d399 100644

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

net/netfilter/nf_conntrack_core.c +5 -2
index 423080cf86a4..0c457e159727 100644

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

net/netfilter/nf_conntrack_expect.c +1 -0
index bb8b87f9ee50..a8929885485b 100644

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

net/netfilter/nf_conntrack_h323_main.c +6 -6
index 791aafe9f396..c42547284f35 100644

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

net/netfilter/nf_conntrack_helper.c +5 -0
index 9150bcfd7ca8..ea0cdb7ec915 100644

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

net/netfilter/nf_conntrack_netlink.c +16 -2
index eacbbc342c3f..80fdb875c977 100644

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

net/netfilter/nf_conntrack_sip.c +2 -2
index bd91b8b47f4b..4f975b83c84f 100644

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

net/netfilter/nf_nat_sip.c +1 -1
index f7be30c69b5c..a1c41defaf22 100644

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

net/netfilter/nf_tables_api.c +16 -18
index 4cf565686a51..03dd9d1db12f 100644

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

net/netfilter/nft_payload.c +1 -11
index 36c31ad2d64c..15feb49e0b66 100644

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

net/netfilter/xt_hashlimit.c +15 -1
index 0859b8f76764..61813010cd31 100644

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

net/openvswitch/actions.c +10 -2
index 3dcd42727f70..de126616d1cb 100644

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

net/openvswitch/meter.c +19 -14
index cc08e0403909..671984edfe1e 100644

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

net/rds/ib.c +4 -0
index ce5be43c5fba..1061bcf7d131 100644

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

net/rds/ib_cm.c +4 -0
index 5289afbb61aa..e50e01abb079 100644

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

net/rds/tcp.c +9 -5
index 06a2d8d48bba..1980a197034b 100644

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

net/rxrpc/ar-internal.h +22 -16
index 79a377f1b551..48202528a243 100644

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

net/rxrpc/call_accept.c +1 -0
index 15e63b1ae713..82766feb34e5 100644

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

net/rxrpc/call_event.c +10 -9
index 1181976972a3..3425e778d24f 100644

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

net/rxrpc/call_object.c +2 -0
index 6e011a1e8e71..485c481481fc 100644

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

net/rxrpc/input.c +6 -6
index c2a2fb7210c3..d312feb4aaf4 100644

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

net/rxrpc/output.c +7 -7
index ad7e61066d2b..20085175471f 100644

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

net/rxrpc/peer_object.c +9 -11
index a09b8aaf9bcd..3af39fc67d34 100644

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

net/rxrpc/proc.c +3 -3
index ca85ac764f82..2dd9567cb1cf 100644

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

net/rxrpc/rtt.c +58 -45

103 lines not on this page · raw message

net/rxrpc/sendmsg.c +1 -1
index dc43bf8cbac9..1d8065468e90 100644

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

net/sctp/associola.c +3 -0
index 0b0794f164cf..44f06c5f1f25 100644

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

net/sctp/sm_make_chunk.c +13 -4
index 187304b43e67..27a7739a7d42 100644

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

net/smc/smc_core.c +1 -1
index 68515a41d776..15d2c69f7ebc 100644

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

net/tipc/socket.c +1 -1
index c129f4f6c605..97ac69e77cee 100644

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

security/keys/keyring.c +8 -6
index e105349794f2..fd95a0eb7a46 100644

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

security/keys/trusted-keys/trusted_dcp.c +11 -4
index 7b6eb655df0c..c078adebe190 100644

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

sound/core/pcm_native.c +7 -0
index a57123b1d336..706fab8ee038 100644

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

sound/core/seq/seq_timer.c +4 -5
index c27bea6a3bd7..ef66e350e7b9 100644

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

sound/core/timer.c +2 -0
index 403bc62df8f6..a548885e8178 100644

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

sound/core/ump.c +1 -0
index abc537d54b73..f69b9e70de01 100644

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

sound/pci/hda/patch_hdmi.c +42 -6

48 lines not on this page · raw message

sound/pci/lx6464es/lx6464es.c +1 -4
index bd9b6148dd6f..45ef869ae9e5 100644

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

sound/pci/lx6464es/lx_core.c +1 -4
index a99acd1125e7..2680e18cfc2b 100644

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

sound/soc/codecs/max98090.c +3 -2
index 4023b88e7bc1..9253707bccde 100644

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

sound/soc/codecs/max98095.c +3 -2
index 7e525d49328d..3b37f4c4235e 100644

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

sound/soc/codecs/tas2562.c +19 -11
index 7daa9e9e0f60..6051027c8266 100644

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

sound/usb/6fire/chip.c +4 -0
index 835295e0807d..e5916c6b75ae 100644

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

sound/usb/endpoint.c +9 -5
index 7eb4c639761a..eeee2886dc21 100644

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

sound/usb/midi.c +2 -0
index 5917f4da9776..da6c55a5fe88 100644

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

sound/usb/midi2.c +3 -1
index 95c21c9bf906..19c979df36bb 100644

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

sound/usb/mixer_quirks.c +1 -1
index 487396db19ff..48f6b53fefd8 100644

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

tools/testing/kunit/kunit_kernel.py +28 -11
index 12b0f2ee5665..c09b66ba734b 100644

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

tools/testing/kunit/kunit_tool_test.py +42 -0

42 lines not on this page · raw message

tools/testing/selftests/clone3/clone3_set_tid.c +1 -1
index bfb0da2b4fdd..4debe0756b67 100644

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

tools/testing/selftests/mm/mlock-random-test.c +1 -1
index 1cd80b0f76c3..f551bc799399 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.