Linux kernel source tree
Go to file
Srinivasan Shanmugam efdc66fe12 drm/amdgpu: Refactor amdgpu_gem_va_ioctl for Handling Last Fence Update and Timeline Management v7
When GPU memory mappings are updated, the driver returns a fence so
userspace knows when the update is finished.

The previous refactor could pick the wrong fence or rely on checks that
are not safe for GPU mappings that stay valid even when memory is
missing. In some cases this could return an invalid fence or cause fence
reference counting problems.

Fix this by (v5,v6, per Christian):
- Starting from the VM’s existing last update fence, so a valid and
  meaningful fence is always returned even when no new work is required.
- Selecting the VM-level fence only for always-valid / PRT mappings using
  the required combined bo_va + bo guard.
- Using the per-BO page table update fence for normal MAP and REPLACE
  operations.
- For UNMAP and CLEAR, returning the fence provided by
  amdgpu_vm_clear_freed(), which may remain unchanged when nothing needs
  clearing.
- Keeping fence reference counting balanced.

v7: Drop the extra bo_va/bo NULL guard since
    amdgpu_vm_is_bo_always_valid() handles NULL BOs correctly (including
    PRT). (Christian)

This makes VM timeline fences correct and prevents crashes caused by
incorrect fence handling.

Fixes: bd8150a1b3 ("drm/amdgpu: Refactor amdgpu_gem_va_ioctl for Handling Last Fence Update and Timeline Management v4")
Suggested-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2026-01-10 14:21:52 -05:00
arch Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
block
certs
crypto
Documentation Documentation/amdgpu: Add UMA carveout details 2026-01-05 16:59:58 -05:00
drivers drm/amdgpu: Refactor amdgpu_gem_va_ioctl for Handling Last Fence Update and Timeline Management v7 2026-01-10 14:21:52 -05:00
fs More NFS Client Bugfixes for Linux 6.18-rc 2025-11-14 13:44:23 -08:00
include drm/amdgpu: Drop MMIO_REMAP domain bit and keep it Internal 2026-01-10 14:21:35 -05:00
init rust: enable slice_flatten feature and provide it through an extension trait 2025-11-14 20:25:57 +09:00
io_uring io_uring/rsrc: don't use blk_rq_nr_phys_segments() as number of bvecs 2025-11-12 08:25:33 -07:00
ipc
kernel Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
lib lib/test_kho: check if KHO is enabled 2025-11-15 10:52:01 -08:00
LICENSES
mm 7 hotfixes. 5 are cc:stable, 4 are against mm/. 2025-11-16 13:31:14 -08:00
net bpf-fixes 2025-11-14 15:39:39 -08:00
rust Core Changes: 2025-11-28 06:49:44 +10:00
samples
scripts Rust fixes for v6.18 (2nd) 2025-11-14 15:36:15 -08:00
security
sound ALSA: usb-audio: Add native DSD quirks for PureAudio DAC series 2025-11-14 14:19:47 +01:00
tools perf tools fixes for v6.18: 2nd batch 2025-11-16 13:45:03 -08:00
usr
virt
.clang-format
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
.pylintrc
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Cross-subsystem Changes: 2025-12-05 10:16:25 +10:00
Makefile Linux 6.18-rc6 2025-11-16 14:25:38 -08:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.