On Fri, Feb 14, 2020 at 7:17 PM Luben Tuikov <luben.tuikov@xxxxxxx> wrote: > > Add a AMDGPU_GEM_CREATE_MASK and use it to check > for valid/invalid GEM create flags coming in from > userspace. > > Fix a bug in checking whether TMZ is supported at > GEM create time. > > Signed-off-by: Luben Tuikov <luben.tuikov@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 11 ++--------- > include/uapi/drm/amdgpu_drm.h | 2 ++ > 2 files changed, 4 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > index b51a060c637d..74bb79e64fa3 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > @@ -221,21 +221,14 @@ 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)) > - I'd rather keep the list explicit so no one ends up forgetting to update the mask the next time new flags are added. Alex > + if (flags & ~AMDGPU_GEM_CREATE_MASK) > return -EINVAL; > > /* reject invalid gem domains */ > if (args->in.domains & ~AMDGPU_GEM_DOMAIN_MASK) > return -EINVAL; > > - if (amdgpu_is_tmz(adev) && (flags & AMDGPU_GEM_CREATE_ENCRYPTED)) { > + if (!amdgpu_is_tmz(adev) && flags & AMDGPU_GEM_CREATE_ENCRYPTED) { > DRM_ERROR("Cannot allocate secure buffer since TMZ is disabled\n"); > return -EINVAL; > } > diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h > index eaf94a421901..c8463cdf4448 100644 > --- a/include/uapi/drm/amdgpu_drm.h > +++ b/include/uapi/drm/amdgpu_drm.h > @@ -141,6 +141,8 @@ extern "C" { > */ > #define AMDGPU_GEM_CREATE_ENCRYPTED (1 << 10) > > +#define AMDGPU_GEM_CREATE_MASK ((1 << 11)-1) > + > struct drm_amdgpu_gem_create_in { > /** the requested memory size */ > __u64 bo_size; > -- > 2.25.0.232.gd8437c57fa > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx