linux/drivers/gpu/drm/xe
Christoph Manszewski 111fb43a55
drm/xe: Fix vm_bind_ioctl double free bug
If the argument check during an array bind fails, the bind_ops are freed
twice as seen below. Fix this by setting bind_ops to NULL after freeing.

==================================================================
BUG: KASAN: double-free in xe_vm_bind_ioctl+0x1b2/0x21f0 [xe]
Free of addr ffff88813bb9b800 by task xe_vm/14198

CPU: 5 UID: 0 PID: 14198 Comm: xe_vm Not tainted 6.16.0-xe-eudebug-cmanszew+ #520 PREEMPT(full)
Hardware name: Intel Corporation Alder Lake Client Platform/AlderLake-P DDR5 RVP, BIOS ADLPFWI1.R00.2411.A02.2110081023 10/08/2021
Call Trace:
 <TASK>
 dump_stack_lvl+0x82/0xd0
 print_report+0xcb/0x610
 ? __virt_addr_valid+0x19a/0x300
 ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe]
 kasan_report_invalid_free+0xc8/0xf0
 ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe]
 ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe]
 check_slab_allocation+0x102/0x130
 kfree+0x10d/0x440
 ? should_fail_ex+0x57/0x2f0
 ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe]
 xe_vm_bind_ioctl+0x1b2/0x21f0 [xe]
 ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
 ? __lock_acquire+0xab9/0x27f0
 ? lock_acquire+0x165/0x300
 ? drm_dev_enter+0x53/0xe0 [drm]
 ? find_held_lock+0x2b/0x80
 ? drm_dev_exit+0x30/0x50 [drm]
 ? drm_ioctl_kernel+0x128/0x1c0 [drm]
 drm_ioctl_kernel+0x128/0x1c0 [drm]
 ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
 ? find_held_lock+0x2b/0x80
 ? __pfx_drm_ioctl_kernel+0x10/0x10 [drm]
 ? should_fail_ex+0x57/0x2f0
 ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
 drm_ioctl+0x352/0x620 [drm]
 ? __pfx_drm_ioctl+0x10/0x10 [drm]
 ? __pfx_rpm_resume+0x10/0x10
 ? do_raw_spin_lock+0x11a/0x1b0
 ? find_held_lock+0x2b/0x80
 ? __pm_runtime_resume+0x61/0xc0
 ? rcu_is_watching+0x20/0x50
 ? trace_irq_enable.constprop.0+0xac/0xe0
 xe_drm_ioctl+0x91/0xc0 [xe]
 __x64_sys_ioctl+0xb2/0x100
 ? rcu_is_watching+0x20/0x50
 do_syscall_64+0x68/0x2e0
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fa9acb24ded

Fixes: b43e864af0 ("drm/xe/uapi: Add DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR")
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Christoph Manszewski <christoph.manszewski@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250813101231.196632-2-christoph.manszewski@intel.com
(cherry picked from commit a01b704527c28a2fd43a17a85f8996b75ec8492a)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2025-08-21 15:06:58 -04:00
..
abi drm/xe/guc: Enable the Dynamic Inhibit Context Switch optimization 2025-06-27 11:08:50 -07:00
compat-i915-headers drm/xe/compat: remove old pcode compat interface 2025-06-23 21:45:17 +03:00
display drm-misc-next for 6.17: 2025-07-21 09:16:51 +10:00
instructions drm for 6.16-rc1 2025-05-28 09:46:39 -07:00
regs drm/xe/pf: Set VF LMEM BAR size 2025-08-14 10:30:53 -04:00
tests drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
.gitignore
.kunitconfig
Kconfig Mark xe driver as BROKEN if kernel page size is not 4kB 2025-08-04 11:59:11 -04:00
Kconfig.debug drm/xe/guc: Track FAST_REQ H2Gs to report where errors came from 2025-05-15 12:27:37 -07:00
Kconfig.profile drm/xe: Add missing SPDX license identifiers 2025-01-17 15:25:52 +01:00
Makefile Driver Changes: 2025-07-18 19:48:20 +10:00
xe_args.h
xe_assert.h drm/xe: Fix case for asserts in documentation 2024-11-05 05:59:01 -08:00
xe_bb_types.h
xe_bb.c drm/xe: Introduce xe_gt_is_main_type helper 2025-07-14 18:19:29 +02:00
xe_bb.h drm/xe: Count dwords before allocating 2025-07-14 13:20:02 -07:00
xe_bo_doc.h drm/xe: Fix all typos in xe 2025-01-09 17:58:09 +01:00
xe_bo_evict.c drm/xe: Use xe_ggtt_map_bo_unlocked for resume 2025-06-09 10:21:44 +02:00
xe_bo_evict.h drm/xe: handle pinned memory in PM notifier 2025-04-23 09:32:16 +01:00
xe_bo_types.h drm/xe: Drop bo->size 2025-06-27 14:52:31 -07:00
xe_bo.c drm/xe: Remove unused functions 2025-07-14 07:55:18 -07:00
xe_bo.h drm/xe: Remove unused functions 2025-07-14 07:55:18 -07:00
xe_configfs.c drm/xe/configfs: Fix pci_dev reference leak 2025-07-28 10:22:48 -04:00
xe_configfs.h drm/xe: Allow to disable engines 2025-06-02 11:00:46 -07:00
xe_debugfs.c drm/xe/pf: Expose basic info about VFs in debugfs 2025-07-14 18:19:29 +02:00
xe_debugfs.h
xe_devcoredump_types.h drm/xe: Add devcoredump chunking 2025-04-24 15:51:38 -07:00
xe_devcoredump.c drm/xe: Release runtime pm for error path of xe_devcoredump_read() 2025-07-10 20:59:38 -07:00
xe_devcoredump.h drm/xe: Fix and re-enable xe_print_blob_ascii85() 2025-02-03 12:56:52 -05:00
xe_device_sysfs.c drm/xe: Don't fail probe on unsupported mailbox command 2025-07-28 10:22:12 -04:00
xe_device_sysfs.h
xe_device_types.h drm/xe: Move PF and VF device types to separate headers 2025-07-14 18:18:49 +02:00
xe_device_wa_oob.rules drm/xe: extend Wa_15015404425 to apply to PTL 2025-07-10 15:36:31 -07:00
xe_device.c drm/xe/devcoredump: Defer devcoredump initialization during probe 2025-08-04 11:58:56 -04:00
xe_device.h drm/xe/pf: Invalidate LMTT during LMEM unprovisioning 2025-07-15 13:05:20 +02:00
xe_dma_buf.c Core Changes: 2025-04-26 08:06:14 +10:00
xe_dma_buf.h
xe_drm_client.c drm/xe: Drop bo->size 2025-06-27 14:52:31 -07:00
xe_drm_client.h
xe_drv.h drm/xe: Fix kconfig prompt 2025-07-01 13:58:50 -07:00
xe_eu_stall.c drm/xe: Don't compare GT ID to GT count when determining valid GTs 2025-07-02 16:08:54 -07:00
xe_eu_stall.h drm/xe/eustall: Do not support EU stall on SRIOV VF 2025-05-01 09:36:48 -07:00
xe_exec_queue_types.h drm/xe/uapi: Use hint for guc to set GT frequency 2025-03-05 09:54:24 +05:30
xe_exec_queue.c drm/xe: Don't compare GT ID to GT count when determining valid GTs 2025-07-02 16:08:54 -07:00
xe_exec_queue.h drm/xe/pxp/uapi: Add userspace and LRC support for PXP-using queues 2025-02-03 11:51:18 -08:00
xe_exec.c drm/xe: Use copy_from_user() instead of __copy_from_user() 2025-05-07 09:27:40 -07:00
xe_exec.h
xe_execlist_types.h
xe_execlist.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
xe_execlist.h
xe_force_wake_types.h drm/xe: Error handling in xe_force_wake_get() 2024-10-17 10:17:07 -04:00
xe_force_wake.c drm/xe: Introduce xe_gt_is_main_type helper 2025-07-14 18:19:29 +02:00
xe_force_wake.h drm/xe: Change return type to void for xe_force_wake_put 2024-10-17 10:17:10 -04:00
xe_gen_wa_oob.c drm/xe: prepare xe_gen_wa_oob to be multi-use 2025-07-10 15:36:30 -07:00
xe_ggtt_types.h drm/xe: Remove pte_encode_bo callback 2025-06-09 10:24:23 +02:00
xe_ggtt.c drm/xe: Drop bo->size 2025-06-27 14:52:31 -07:00
xe_ggtt.h drm/xe: Do not rely on GGTT internals in xe_guc_buf kunit tests 2025-06-09 10:24:23 +02:00
xe_gpu_scheduler_types.h
xe_gpu_scheduler.c drm/sched: Use struct for drm_sched_init() params 2025-02-12 11:59:52 +01:00
xe_gpu_scheduler.h drm/xe/sched: stop re-submitting signalled jobs 2025-06-05 18:07:15 +02:00
xe_gsc_debugfs.c
xe_gsc_debugfs.h
xe_gsc_proxy.c drm/xe: Introduce xe_tile_is_root helper 2025-07-14 18:19:28 +02:00
xe_gsc_proxy.h drm/xe/gsc: do not flush the GSC worker from the reset path 2025-05-08 12:44:41 -07:00
xe_gsc_submit.c
xe_gsc_submit.h
xe_gsc_types.h drm/xe: Cleanup unwind of gt initialization 2025-02-14 11:42:55 -08:00
xe_gsc.c drm/xe: Drop bo->size 2025-06-27 14:52:31 -07:00
xe_gsc.h drm/xe/gsc: do not flush the GSC worker from the reset path 2025-05-08 12:44:41 -07:00
xe_gt_ccs_mode.c drm/xe: make change ccs_mode a synchronous action 2025-01-15 11:32:50 +01:00
xe_gt_ccs_mode.h
xe_gt_clock.c drm/xe: Apply Wa_16023105232 2025-03-25 20:51:29 -07:00
xe_gt_clock.h
xe_gt_debugfs.c drm/xe: Allow to trigger GT resets using debugfs writes 2025-05-28 20:13:18 +02:00
xe_gt_debugfs.h
xe_gt_freq.c drm/xe: Add missing documentation of rpa_freq 2025-05-28 17:23:13 +02:00
xe_gt_freq.h
xe_gt_idle_types.h drm/xe: Add locks in gtidle code 2025-01-14 07:02:49 -08:00
xe_gt_idle.c drm/xe: Introduce xe_gt_is_main_type helper 2025-07-14 18:19:29 +02:00
xe_gt_idle.h drm/xe: Add locks in gtidle code 2025-01-14 07:02:49 -08:00
xe_gt_mcr.c drm/xe: Make it possible to read instance0 MCR registers after xe_gt_mcr_init_early 2025-06-26 22:11:28 +02:00
xe_gt_mcr.h drm/xe/guc: Adding steering info support for GuC register lists 2025-01-15 11:32:50 +01:00
xe_gt_pagefault.c drm/xe: Allocate PF queue size on pow2 boundary 2025-07-07 20:57:17 -07:00
xe_gt_pagefault.h
xe_gt_printk.h drm/xe: Introduce xe_gt_dbg_printer() 2024-12-11 07:28:08 -08:00
xe_gt_sriov_pf_config_types.h drm/xe/pf: Add functions to configure VF scheduling priority 2024-11-08 13:31:15 +01:00
xe_gt_sriov_pf_config.c drm/xe/pf: Resend PF provisioning after GT reset 2025-07-17 09:51:51 -03:00
xe_gt_sriov_pf_config.h drm/xe/pf: Release all VFs configs on device removal 2025-02-16 21:36:38 +01:00
xe_gt_sriov_pf_control_types.h
xe_gt_sriov_pf_control.c drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
xe_gt_sriov_pf_control.h
xe_gt_sriov_pf_debugfs.c drm/xe/pf: Make sure PF is ready to configure VFs 2025-08-04 11:59:06 -04:00
xe_gt_sriov_pf_debugfs.h
xe_gt_sriov_pf_helpers.h drm/xe: Fix case for asserts in documentation 2024-11-05 05:59:01 -08:00
xe_gt_sriov_pf_migration_types.h
xe_gt_sriov_pf_migration.c
xe_gt_sriov_pf_migration.h
xe_gt_sriov_pf_monitor_types.h
xe_gt_sriov_pf_monitor.c
xe_gt_sriov_pf_monitor.h
xe_gt_sriov_pf_policy_types.h
xe_gt_sriov_pf_policy.c drm/xe/pf: Use GuC Buffer Cache during policy provisioning 2025-01-27 19:53:59 +01:00
xe_gt_sriov_pf_policy.h
xe_gt_sriov_pf_service_types.h
xe_gt_sriov_pf_service.c drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
xe_gt_sriov_pf_service.h drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
xe_gt_sriov_pf_types.h drm/xe/pf: Move VFs reprovisioning to worker 2025-01-27 20:34:18 +01:00
xe_gt_sriov_pf.c drm/xe/pf: Make sure PF is ready to configure VFs 2025-08-04 11:59:06 -04:00
xe_gt_sriov_pf.h drm/xe/pf: Make sure PF is ready to configure VFs 2025-08-04 11:59:06 -04:00
xe_gt_sriov_printk.h
xe_gt_sriov_vf_debugfs.c
xe_gt_sriov_vf_debugfs.h
xe_gt_sriov_vf_types.h drm/xe/vf: Store negotiated VF/PF ABI version at device level 2025-07-14 18:19:39 +02:00
xe_gt_sriov_vf.c drm/xe/vf: Store negotiated VF/PF ABI version at device level 2025-07-14 18:19:39 +02:00
xe_gt_sriov_vf.h drm/xe/vf: Store the GuC FW info in guc->fw 2025-06-06 08:37:26 -07:00
xe_gt_stats_types.h drm/xe/svm: Add stats for SVM page faults 2025-03-13 10:05:45 +01:00
xe_gt_stats.c drm/xe/svm: Add stats for SVM page faults 2025-03-13 10:05:45 +01:00
xe_gt_stats.h drm/xe: Split xe_gt_stat.h 2024-11-15 15:59:51 -08:00
xe_gt_sysfs_types.h
xe_gt_sysfs.c drm/xe: use devm_add_action_or_reset() helper 2024-10-03 01:13:54 -05:00
xe_gt_sysfs.h
xe_gt_throttle.c drm/xe: Fix CFI violation when accessing sysfs files 2025-04-23 15:24:06 -04:00
xe_gt_throttle.h
xe_gt_tlb_invalidation_types.h
xe_gt_tlb_invalidation.c drm/xe/pf: Invalidate LMTT during LMEM unprovisioning 2025-07-15 13:05:20 +02:00
xe_gt_tlb_invalidation.h drm/xe/pf: Invalidate LMTT during LMEM unprovisioning 2025-07-15 13:05:20 +02:00
xe_gt_topology.c drm/xe: Remove unused functions 2025-07-14 07:55:18 -07:00
xe_gt_topology.h drm/xe: Remove unused functions 2025-07-14 07:55:18 -07:00
xe_gt_types.h drm/xe: Make it possible to read instance0 MCR registers after xe_gt_mcr_init_early 2025-06-26 22:11:28 +02:00
xe_gt.c drm/xe/pf: Prepare to stop SR-IOV support prior GT reset 2025-07-17 09:51:51 -03:00
xe_gt.h drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
xe_guc_ads_types.h drm/xe/guc: Prepare GuC register list and update ADS size for error capture 2024-10-08 09:34:04 -07:00
xe_guc_ads.c drm/xe/guc: Don't allocate temporary policies object 2025-07-10 16:00:13 +02:00
xe_guc_ads.h
xe_guc_buf_types.h drm/xe/guc: Introduce the GuC Buffer Cache 2025-01-19 00:12:03 +01:00
xe_guc_buf.c drm/xe/guc: Unblock GuC buffer cache for all modes 2025-05-15 12:29:54 +02:00
xe_guc_buf.h drm/xe/guc: Introduce the GuC Buffer Cache 2025-01-19 00:12:03 +01:00
xe_guc_capture_types.h drm/xe/guc: Cache DSS info when creating capture register list 2025-04-22 10:24:47 -07:00
xe_guc_capture.c drm/xe/devcoredump: Defer devcoredump initialization during probe 2025-08-04 11:58:56 -04:00
xe_guc_capture.h drm/xe: Change xe_engine_snapshot_capture_for_job to be for queue 2024-11-14 06:38:46 -08:00
xe_guc_ct_types.h drm/xe/guc: Track FAST_REQ H2Gs to report where errors came from 2025-05-15 12:27:37 -07:00
xe_guc_ct.c drm/xe/guc: Clear whole g2h_fence during initialization 2025-07-28 10:22:38 -04:00
xe_guc_ct.h drm/xe: Simplify GuC early initialization 2025-06-26 22:10:30 +02:00
xe_guc_db_mgr.c
xe_guc_db_mgr.h
xe_guc_debugfs.c drm/xe/guc: Make creation of SLPC debugfs files conditional 2025-05-23 09:40:55 +02:00
xe_guc_debugfs.h
xe_guc_engine_activity_types.h drm/xe: Add support for per-function engine activity 2025-03-25 07:14:32 -07:00
xe_guc_engine_activity.c drm/xe/uc: Prepare uc_fw_version for storing the VF ABI version 2025-06-06 08:33:16 -07:00
xe_guc_engine_activity.h drm/xe: Add support for per-function engine activity 2025-03-25 07:14:32 -07:00
xe_guc_exec_queue_types.h drm/xe: Make dma-fences compliant with the safe access rules 2025-06-13 08:28:22 +01:00
xe_guc_fwif.h drm/xe: Add engine activity support 2025-02-24 12:32:09 -08:00
xe_guc_hwconfig.c
xe_guc_hwconfig.h
xe_guc_hxg_helpers.h
xe_guc_id_mgr.c
xe_guc_id_mgr.h
xe_guc_klv_helpers.c drm/xe/guc: Add VF_CFG_SCHED_PRIORITY to KLV helper 2024-11-08 13:31:14 +01:00
xe_guc_klv_helpers.h
xe_guc_klv_thresholds_set_types.h
xe_guc_klv_thresholds_set.h drm/xe/guc: Add yet another helper macro for threshold 2024-10-07 12:58:38 +02:00
xe_guc_log_types.h drm/xe/guc: Capture all available bits of GuC timestamp 2024-10-29 13:11:33 -07:00
xe_guc_log.c drm/xe: Drop bo->size 2025-06-27 14:52:31 -07:00
xe_guc_log.h drm/xe/guc: Rename CONFIG_XE_LARGE_GUC_BUFFER 2025-05-15 12:27:36 -07:00
xe_guc_pc_types.h drm/xe/bmg: Update Wa_22019338487 2025-07-01 13:55:19 -07:00
xe_guc_pc.c drm/xe/bmg: Update Wa_22019338487 2025-07-01 13:55:19 -07:00
xe_guc_pc.h drm/xe/bmg: Update Wa_22019338487 2025-07-01 13:55:19 -07:00
xe_guc_relay_types.h
xe_guc_relay.c drm/xe/relay: Don't use GFP_KERNEL for new transactions 2025-02-04 15:05:49 +01:00
xe_guc_relay.h
xe_guc_submit_types.h
xe_guc_submit.c drm-misc-next for 6.17: 2025-07-21 09:16:51 +10:00
xe_guc_submit.h drm/xe/guc: Extract GuC error capture lists 2024-10-08 09:34:45 -07:00
xe_guc_types.h drm/xe: Fix taking invalid lock on wedge 2025-04-07 14:22:35 -07:00
xe_guc.c drm/xe/uc: Disable GuC communication on hardware initialization error 2025-07-08 14:56:49 -07:00
xe_guc.h drm/xe/guc: Enable extended CAT error reporting 2025-06-27 11:08:40 -07:00
xe_heci_gsc.c drm/xe/nvm: add support for access mode 2025-06-23 13:14:50 -04:00
xe_heci_gsc.h drm/xe: Stop ignoring errors from xe_heci_gsc_init() 2025-02-25 14:32:03 -08:00
xe_hmm.c drm/xe/userptr: fix notifier vs folio deadlock 2025-04-17 18:53:38 -07:00
xe_hmm.h drm/xe/userptr: Unmap userptrs in the mmu notifier 2025-03-05 14:25:27 -05:00
xe_huc_debugfs.c
xe_huc_debugfs.h
xe_huc_types.h
xe_huc.c drm/xe: Drop bo->size 2025-06-27 14:52:31 -07:00
xe_huc.h
xe_hw_engine_class_sysfs.c drm/xe/hw_engine: define sysfs_ops on all directories 2025-04-07 13:16:07 -07:00
xe_hw_engine_class_sysfs.h
xe_hw_engine_group_types.h
xe_hw_engine_group.c drm/xe/hw_engine_group: Avoid call kfree() for drmm_kzalloc() 2025-07-28 10:22:43 -04:00
xe_hw_engine_group.h
xe_hw_engine_types.h drm/xe: Remove "graphics tile" from kernel doc 2025-01-03 12:43:02 -08:00
xe_hw_engine.c drm/xe: Don't compare GT ID to GT count when determining valid GTs 2025-07-02 16:08:54 -07:00
xe_hw_engine.h drm/xe: Change xe_engine_snapshot_capture_for_job to be for queue 2024-11-14 06:38:46 -08:00
xe_hw_fence_types.h drm/xe: Remove "graphics tile" from kernel doc 2025-01-03 12:43:02 -08:00
xe_hw_fence.c drm/xe: Make dma-fences compliant with the safe access rules 2025-06-13 08:28:22 +01:00
xe_hw_fence.h
xe_hwmon.c drm/xe/hwmon: Add SW clamp for power limits writes 2025-08-12 12:52:26 -04:00
xe_hwmon.h drm/xe/hwmon: Stop ignoring errors on probe 2025-02-14 11:42:55 -08:00
xe_i2c.c drm/xe/vf: Don't register I2C devices if VF 2025-07-28 10:22:33 -04:00
xe_i2c.h drm/xe/pm: Wire up suspend/resume for I2C controller 2025-07-10 10:19:41 -04:00
xe_irq.c drm/xe: Introduce xe_gt_is_main_type helper 2025-07-14 18:19:29 +02:00
xe_irq.h drm/xe/irq: Manage MSI-X interrupts allocation 2024-12-13 13:38:13 -05:00
xe_lmtt_2l.c
xe_lmtt_ml.c
xe_lmtt_types.h
xe_lmtt.c drm/xe/pf: Invalidate LMTT during LMEM unprovisioning 2025-07-15 13:05:20 +02:00
xe_lmtt.h drm/xe/pf: Invalidate LMTT during LMEM unprovisioning 2025-07-15 13:05:20 +02:00
xe_lrc_types.h drm/xe: Add plumbing for indirect context workarounds 2025-07-14 08:22:10 -07:00
xe_lrc.c drm/xe/lrc: Add table with LRC layout 2025-07-14 13:40:17 -07:00
xe_lrc.h drm/xe: Waste fewer instructions in emit_wa_job() 2025-07-14 13:40:17 -07:00
xe_macros.h drm/xe: Fix build error for XE_IOCTL_DBG macro 2024-11-04 23:24:26 -08:00
xe_map.h drm/xe/vf: Fixup CTB send buffer messages after migration 2025-05-12 15:53:38 +02:00
xe_memirq_types.h
xe_memirq.c drm/xe: Remove GEN11 prefixes from documentation 2025-03-10 06:04:38 -07:00
xe_memirq.h
xe_migrate_doc.h
xe_migrate.c drm/xe: Assign ioctl xe file handler to vm in xe_vm_create 2025-08-19 10:15:08 -04:00
xe_migrate.h drm/xe: Update xe_ttm_access_memory to use GPU for non-visible access 2025-04-24 15:51:39 -07:00
xe_mmio.c drm/xe: Move Wa_15015404425 to use the new XE_DEVICE_WA macro 2025-07-10 15:36:31 -07:00
xe_mmio.h drm/xe: Add xe_mmio_init() initialization function 2025-02-18 08:27:11 -08:00
xe_mocs.c drm/xe/mocs: Check if all domains awake 2025-05-22 20:48:50 -07:00
xe_mocs.h
xe_module.c drm/xe/pf: Enable SR-IOV PF mode by default 2025-08-04 11:56:18 -04:00
xe_module.h drm/xe: Strict migration policy for atomic SVM faults 2025-05-14 09:03:29 -07:00
xe_nvm.c drm/xe/nvm: add support for non-posted erase 2025-06-23 13:14:50 -04:00
xe_nvm.h drm/xe/nvm: add on-die non-volatile memory device 2025-06-23 13:14:50 -04:00
xe_oa_types.h drm/xe/oa: Assign hwe for OAM_SAG 2025-06-17 11:31:57 -07:00
xe_oa.c drm/xe/oa: Fix static checker warning about null gt 2025-07-28 10:22:17 -04:00
xe_oa.h drm/xe/oa: Handle errors in xe_oa_register() 2025-02-14 11:42:55 -08:00
xe_observation.c Merge drm/drm-next into drm-xe-next 2025-02-28 06:54:14 -08:00
xe_observation.h
xe_pat.c drm/xe/pat: Consolidate PAT programming logic for pre-Xe2 and post-Xe2 2025-06-16 08:58:59 -07:00
xe_pat.h
xe_pci_sriov.c drm/xe/pf: Set VF LMEM BAR size 2025-08-14 10:30:53 -04:00
xe_pci_sriov.h
xe_pci_types.h drm/xe/tests/pci: Ensure all platforms have a valid GT/tile count 2025-07-02 16:08:54 -07:00
xe_pci.c drm/xe/sriov: Mark BMG as SR-IOV capable 2025-07-10 20:50:17 -07:00
xe_pci.h
xe_pcode_api.h drm/xe: Expose fan control and voltage regulator version 2025-07-09 18:25:22 -04:00
xe_pcode.c drm/xe: Fix conflicting intel_pcode_* symbols 2025-06-28 06:56:58 -07:00
xe_pcode.h drm/xe/pcode: add struct drm_device based interface 2025-06-23 21:45:16 +03:00
xe_platform_types.h drm/xe/ptl: Add PTL platform definition 2024-10-08 09:19:50 -07:00
xe_pm.c drm/xe/pm: Correct comment of xe_pm_set_vram_threshold() 2025-07-10 20:59:38 -07:00
xe_pm.h drm/xe: evict user memory in PM notifier 2025-04-23 09:32:16 +01:00
xe_pmu_types.h drm/xe/pmu: Add attribute skeleton 2025-01-27 08:55:04 -08:00
xe_pmu.c drm/xe/xe_pmu: Validate gt in event supported 2025-07-02 16:09:11 -07:00
xe_pmu.h drm/xe/pmu: Enable PMU interface 2025-01-27 08:54:06 -08:00
xe_preempt_fence_types.h
xe_preempt_fence.c
xe_preempt_fence.h
xe_pt_types.h drm/xe: Add (re)bind to SVM page fault handler 2025-03-06 11:35:43 -08:00
xe_pt_walk.c drm/xe: Add staging tree for VM binds 2025-03-05 14:25:11 -05:00
xe_pt_walk.h drm/xe: Add staging tree for VM binds 2025-03-05 14:25:11 -05:00
xe_pt.c drm/xe: Opportunistically skip TLB invalidaion on unbind 2025-06-17 15:38:14 -07:00
xe_pt.h drm/xe: Add SVM range invalidation and page fault 2025-03-06 11:35:40 -08:00
xe_pxp_debugfs.c drm/xe/pxp: do not queue unneeded terminations from debugfs 2025-04-17 18:53:38 -07:00
xe_pxp_debugfs.h drm/xe/pxp: Add PXP debugfs support 2025-02-03 11:51:28 -08:00
xe_pxp_submit.c drm/xe: Assign ioctl xe file handler to vm in xe_vm_create 2025-08-19 10:15:08 -04:00
xe_pxp_submit.h drm/xe/pxp: Add GSC session initialization support 2025-02-03 11:51:15 -08:00
xe_pxp_types.h drm/xe/pxp: add PXP PM support 2025-02-03 11:51:26 -08:00
xe_pxp.c drm/xe/pxp: Clarify PXP queue creation behavior if PXP is not ready 2025-06-05 18:07:33 +02:00
xe_pxp.h drm/i915/pxp & drm/xe/pxp: Figure out pxp instance from the gem object 2025-03-03 12:16:04 +02:00
xe_query.c drm/xe/xe_query: Use separate iterator while filling GT list 2025-07-02 16:08:54 -07:00
xe_query.h
xe_range_fence.c
xe_range_fence.h
xe_reg_sr_types.h drm/xe/reg_sr: Remove register pool 2024-12-12 16:57:28 +01:00
xe_reg_sr.c drm/xe/vf: Stop applying save-restore MMIOs if VF 2025-03-12 11:37:52 +01:00
xe_reg_sr.h
xe_reg_whitelist.c drm/xe/rtp: Drop sentinels from arg to xe_rtp_process_to_sr() 2025-03-12 20:54:17 -07:00
xe_reg_whitelist.h
xe_res_cursor.h drm/xe: Add dma_addr res cursor 2025-03-06 11:35:37 -08:00
xe_ring_ops_types.h drm/xe: Adjust ringbuf emission for maximum possible size 2025-04-15 07:20:41 -07:00
xe_ring_ops.c drm/xe: Dont skip TLB invalidations on VF 2025-07-17 09:45:19 -03:00
xe_ring_ops.h
xe_rtp_helpers.h
xe_rtp_types.h drm/xe: add new type to RTP context 2025-07-10 15:36:30 -07:00
xe_rtp.c drm/xe: Remove unused functions 2025-07-14 07:55:18 -07:00
xe_rtp.h drm/xe: Remove unused functions 2025-07-14 07:55:18 -07:00
xe_sa_types.h
xe_sa.c drm/xe: Add XE_BO_FLAG_PINNED_NORESTORE 2025-04-04 11:41:01 +01:00
xe_sa.h drm/xe/sa: Minor header cleanups 2025-01-19 00:12:02 +01:00
xe_sched_job_types.h drm/xe: Fix typo in xe_job_ptrs 2025-02-17 10:52:01 +05:30
xe_sched_job.c drm/xe: Fix NPD when saving default context 2025-05-28 17:44:28 -07:00
xe_sched_job.h
xe_shrinker.c drm/xe: Defer buffer object shrinker write-backs and GPU waits 2025-08-12 12:52:26 -04:00
xe_shrinker.h drm/xe: Make the gem shrinker drm managed 2025-05-12 10:01:31 +02:00
xe_sriov_pf_helpers.h drm/xe: Fix case for asserts in documentation 2024-11-05 05:59:01 -08:00
xe_sriov_pf_service_types.h drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
xe_sriov_pf_service.c drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
xe_sriov_pf_service.h drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
xe_sriov_pf_types.h drm/xe/pf: Stop requiring VF/PF version negotiation on every GT 2025-07-14 18:19:31 +02:00
xe_sriov_pf.c drm/xe/pf: Make sure PF is ready to configure VFs 2025-08-04 11:59:06 -04:00
xe_sriov_pf.h drm/xe/pf: Make sure PF is ready to configure VFs 2025-08-04 11:59:06 -04:00
xe_sriov_printk.h
xe_sriov_types.h drm/xe: Move PF and VF device types to separate headers 2025-07-14 18:18:49 +02:00
xe_sriov_vf_types.h drm/xe/vf: Store negotiated VF/PF ABI version at device level 2025-07-14 18:19:39 +02:00
xe_sriov_vf.c drm/xe/vf: Make multi-GT migration less error prone 2025-07-03 21:05:21 +02:00
xe_sriov_vf.h drm/xe/vf: React to MIGRATED interrupt 2024-11-06 14:53:35 +01:00
xe_sriov.c drm/xe: Suppress printing of mode when running in non-sriov mode 2025-01-19 00:39:45 +01:00
xe_sriov.h
xe_step_types.h
xe_step.c drm/xe: Export xe_step_name for kunit tests 2025-07-02 16:08:54 -07:00
xe_step.h
xe_survivability_mode_types.h drm/xe: Add functions and sysfs for boot survivability 2025-01-28 08:58:45 -05:00
xe_survivability_mode.c drm/xe/xe_i2c: Add support for i2c in survivability mode 2025-07-10 10:19:41 -04:00
xe_survivability_mode.h drm/xe: Enable configfs support for survivability mode 2025-04-08 22:24:00 -07:00
xe_svm.c drm/xe: Implement and use the drm_pagemap populate_mm op 2025-06-26 18:00:10 +02:00
xe_svm.h drm/xe: Implement and use the drm_pagemap populate_mm op 2025-06-26 18:00:10 +02:00
xe_sync_types.h
xe_sync.c drm/xe: Add fault injection for xe_sync_entry_parse 2025-02-21 13:02:54 +05:30
xe_sync.h
xe_tile_sriov_vf.c drm/xe/vf: Add sanity check for GGTT configuration 2025-06-03 12:36:00 +02:00
xe_tile_sriov_vf.h drm/xe/vf: Move tile-related VF functions to separate file 2025-06-03 12:35:57 +02:00
xe_tile_sysfs_types.h
xe_tile_sysfs.c
xe_tile_sysfs.h
xe_tile.c drm/xe: Defer memirq init until needed 2025-06-26 22:07:44 +02:00
xe_tile.h drm/xe: Introduce xe_tile_is_root helper 2025-07-14 18:19:28 +02:00
xe_trace_bo.c
xe_trace_bo.h drm/xe: Drop bo->size 2025-06-27 14:52:31 -07:00
xe_trace_guc.c
xe_trace_guc.h drm/xe/trace: Add trace for engine activity 2025-02-24 12:32:09 -08:00
xe_trace_lrc.c drm/xe: Add trace to lrc timestamp update 2024-11-05 13:38:46 -08:00
xe_trace_lrc.h drm/xe: Add WA BB to capture active context utilization 2025-05-14 09:03:29 -07:00
xe_trace.c
xe_trace.h drm/xe/eustall: Add support to read() and poll() EU stall data 2025-02-26 11:31:01 -08:00
xe_ttm_stolen_mgr.c drm/xe: Stop ignoring errors from xe_ttm_stolen_mgr_init() 2025-02-14 11:42:54 -08:00
xe_ttm_stolen_mgr.h drm/xe: Stop ignoring errors from xe_ttm_stolen_mgr_init() 2025-02-14 11:42:54 -08:00
xe_ttm_sys_mgr.c drm/xe: Increase the XE_PL_TT watermark 2025-03-05 17:08:59 +01:00
xe_ttm_sys_mgr.h
xe_ttm_vram_mgr_types.h drm/xe: Move VRAM manager to struct xe_vram_region 2025-02-10 13:08:59 +01:00
xe_ttm_vram_mgr.c drm/xe: Move VRAM manager to struct xe_vram_region 2025-02-10 13:08:59 +01:00
xe_ttm_vram_mgr.h
xe_tuning.c drm/xe/xe3: Disable null query for anyhit shader 2025-06-05 15:57:37 -07:00
xe_tuning.h drm/xe: Add performance tunings to debugfs 2025-02-28 21:47:33 -08:00
xe_uc_debugfs.c
xe_uc_debugfs.h
xe_uc_fw_abi.h
xe_uc_fw_types.h drm/xe/uc: Prepare uc_fw_version for storing the VF ABI version 2025-06-06 08:33:16 -07:00
xe_uc_fw.c drm/xe/guc: Recommend GuC v70.46.2 for BMG, LNL, DG2 2025-07-10 20:59:39 -07:00
xe_uc_fw.h
xe_uc_types.h
xe_uc.c drm/xe/uc: Fix missing unwind goto 2025-07-28 10:22:28 -04:00
xe_uc.h drm/xe: Rename xe_uc_init_hw to xe_uc_load_hw 2025-06-26 22:11:35 +02:00
xe_vm_doc.h drm/xe: Fix a typo in xe_vm_doc.h 2025-01-17 00:01:58 +05:30
xe_vm_types.h Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
xe_vm.c drm/xe: Fix vm_bind_ioctl double free bug 2025-08-21 15:06:58 -04:00
xe_vm.h drm/xe: Assign ioctl xe file handler to vm in xe_vm_create 2025-08-19 10:15:08 -04:00
xe_vram_freq.c
xe_vram_freq.h
xe_vram.c drm/xe: Allow to drop vram resizing 2025-04-10 15:50:01 -07:00
xe_vram.h
xe_vsec.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
xe_vsec.h drm/xe/hwmon: Read energy status from PMT 2025-05-30 11:30:01 -04:00
xe_wa_oob.rules drm/xe/bmg: Don't use WA 16023588340 and 22019338487 on VF 2025-07-10 20:59:39 -07:00
xe_wa.c drm/xe: Add infrastructure for Device OOB workarounds 2025-07-10 15:36:30 -07:00
xe_wa.h drm/xe: extend Wa_15015404425 to apply to PTL 2025-07-10 15:36:31 -07:00
xe_wait_user_fence.c drm/xe/ufence: Flush xe ordered_wq in case of ufence timeout 2024-11-04 08:12:30 -08:00
xe_wait_user_fence.h
xe_wopcm_types.h
xe_wopcm.c drm/xe: Use fault injection infrastructure to find issues at probe time 2024-10-03 08:58:26 -04:00
xe_wopcm.h