drm/amdgpu: Move read of snoop register from guest to host
authorMasha Grinman <Masha.Grinman@amd.com>
Thu, 3 Apr 2025 19:08:17 +0000 (14:08 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 11 Apr 2025 20:54:02 +0000 (16:54 -0400)
Guest is reading/writing to snoop register which is a security violation
We moved the code to the host driver
And also added a validation on the guest side to check if it's guest

Signed-off-by: Masha Grinman <Masha.Grinman@amd.com>
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mmhub_v1_8.c

index 4a43c9ab95a2b1759ec54993e08d1d2822f58915..76167fadb292be7344f1ed7c8853f64604e36f57 100644 (file)
@@ -239,6 +239,9 @@ static void mmhub_v1_8_init_snoop_override_regs(struct amdgpu_device *adev)
        uint32_t distance = regDAGB1_WRCLI_GPU_SNOOP_OVERRIDE -
                            regDAGB0_WRCLI_GPU_SNOOP_OVERRIDE;
 
+       if (amdgpu_sriov_vf(adev))
+               return;
+
        inst_mask = adev->aid_mask;
        for_each_inst(i, inst_mask) {
                for (j = 0; j < 5; j++) { /* DAGB instances */