]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
nouveau/vmm: fix another SPT/LPT race
authorDave Airlie <airlied@redhat.com>
Mon, 15 Jun 2026 04:47:37 +0000 (14:47 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 10 Jul 2026 04:19:23 +0000 (14:19 +1000)
commit6763a0aea6d658d69b9215ab9151d7bd4c1c314b
tree9435a47f28856113e7cba078fb91aec961db5785
parent695255c57ff18171190cd374cd5fb7c1539e9842
nouveau/vmm: fix another SPT/LPT race

We've had an unknown Turing issue for a while with page faults since
large pages and compression.

I've got a patch series that syncs all our L2 handling with ogkm and it
made this fault happen more.

After writing a bunch of debugging patches, I spotted an invalid LPT
entry where there should have been a valid one.

A 64K MAP succeeds on a range, but a subsequent SPT put drops SPT refs
across multiple ranges,

We shouldn't assume all ranges where SPTEs go away will have the same
sparse/invalid/valid state, just iterate over each instead and do the
right thing.

Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Fixes: d19512f5abb1 ("nouveau/vmm: start tracking if the LPT PTE is valid. (v6)")
Link: https://patch.msgid.link/20260615044737.3419585-1-airlied@gmail.com
[ Properly format commit message. - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
(cherry picked from commit d008141ed4ce924167a03d46fbce9ad1fe4efa29)
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c