]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
accel/amdxdna: Preserve user address when PASID is disabled
authorLizhi Hou <lizhi.hou@amd.com>
Tue, 2 Jun 2026 04:06:24 +0000 (21:06 -0700)
committerLizhi Hou <lizhi.hou@amd.com>
Tue, 2 Jun 2026 15:36:30 +0000 (08:36 -0700)
When PASID is not used, the buffer user address is set to
AMDXDNA_INVALID_ADDR. As a result, heap buffer user address validation
fails even though the original userspace address is available.

Preserve the userspace address regardless of PASID usage so heap buffer
address validation works correctly.

Fixes: dbc8fd7a03cb ("accel/amdxdna: Add expandable device heap support")
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://patch.msgid.link/20260602040624.2206774-1-lizhi.hou@amd.com
drivers/accel/amdxdna/amdxdna_gem.c

index 00efa8abfeeacb0fa945139a19afa45f59ddb00f..63976c3bcbe0f5c7dd42f89d872e959906a9641a 100644 (file)
@@ -349,8 +349,11 @@ static int amdxdna_hmm_register(struct amdxdna_gem_obj *abo,
        u32 nr_pages;
        int ret;
 
-       if (!amdxdna_pasid_on(abo->client))
+       if (!amdxdna_pasid_on(abo->client)) {
+               /* Need to set uva for heap uva validation */
+               abo->mem.uva = addr;
                return 0;
+       }
 
        mapp = kzalloc_obj(*mapp);
        if (!mapp)