AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE is a flag that
specifies that gem memory contains sensitive information and
should be cleared  to prevent snooping.

It was meant to be settable in GEM_CREATE_IOCTL but wasn't.

Make a new define AMDGPU_GEM_CREATE_SETTABLE_MASK to
track which gem flags can be used with gem create, and add
wip on release to it.

Signed-off-by: David Francis <david.fran...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 10 +---------
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h | 11 +++++++++++
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index e3f65977eeee..aefae3a9e6f4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -442,15 +442,7 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void 
*data,
        int r;
 
        /* reject invalid gem flags */
-       if (flags & ~(AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
-                     AMDGPU_GEM_CREATE_NO_CPU_ACCESS |
-                     AMDGPU_GEM_CREATE_CPU_GTT_USWC |
-                     AMDGPU_GEM_CREATE_VRAM_CLEARED |
-                     AMDGPU_GEM_CREATE_VM_ALWAYS_VALID |
-                     AMDGPU_GEM_CREATE_EXPLICIT_SYNC |
-                     AMDGPU_GEM_CREATE_ENCRYPTED |
-                     AMDGPU_GEM_CREATE_GFX12_DCC |
-                     AMDGPU_GEM_CREATE_DISCARDABLE))
+       if (flags & ~AMDGPU_GEM_CREATE_SETTABLE_MASK)
                return -EINVAL;
 
        /* reject invalid gem domains */
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h
index b51e8f95ee86..948449e46e90 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h
@@ -71,4 +71,15 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
 int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data,
                                struct drm_file *filp);
 
+#define AMDGPU_GEM_CREATE_SETTABLE_MASK        
(AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED | \
+       AMDGPU_GEM_CREATE_NO_CPU_ACCESS | \
+       AMDGPU_GEM_CREATE_CPU_GTT_USWC | \
+       AMDGPU_GEM_CREATE_VRAM_CLEARED | \
+       AMDGPU_GEM_CREATE_VM_ALWAYS_VALID | \
+       AMDGPU_GEM_CREATE_EXPLICIT_SYNC | \
+       AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE | \
+       AMDGPU_GEM_CREATE_ENCRYPTED | \
+       AMDGPU_GEM_CREATE_GFX12_DCC | \
+       AMDGPU_GEM_CREATE_DISCARDABLE)
+
 #endif
-- 
2.34.1

Reply via email to