Skip to content

Commit

Permalink
drm/nouveau: remove incorrect __user annotations
Browse files Browse the repository at this point in the history
Fix copy-paste error causing EXEC and VM_BIND syscalls data pointers
to carry incorrect __user annotations.

Fixes: b88baab ("drm/nouveau: implement new VM_BIND uAPI")
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230807163238.2091-4-dakr@redhat.com
  • Loading branch information
dakr committed Aug 8, 2023
1 parent 85b7d20 commit e39701e
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions drivers/gpu/drm/nouveau/nouveau_exec.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ nouveau_exec(struct nouveau_exec_job_args *args)

static int
nouveau_exec_ucopy(struct nouveau_exec_job_args *args,
struct drm_nouveau_exec __user *req)
struct drm_nouveau_exec *req)
{
struct drm_nouveau_sync **s;
u32 inc = req->wait_count;
Expand Down Expand Up @@ -352,15 +352,15 @@ nouveau_exec_ufree(struct nouveau_exec_job_args *args)

int
nouveau_exec_ioctl_exec(struct drm_device *dev,
void __user *data,
void *data,
struct drm_file *file_priv)
{
struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
struct nouveau_cli *cli = nouveau_cli(file_priv);
struct nouveau_abi16_chan *chan16;
struct nouveau_channel *chan = NULL;
struct nouveau_exec_job_args args = {};
struct drm_nouveau_exec __user *req = data;
struct drm_nouveau_exec *req = data;
int ret = 0;

if (unlikely(!abi16))
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/nouveau/nouveau_exec.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ struct nouveau_exec_job {
int nouveau_exec_job_init(struct nouveau_exec_job **job,
struct nouveau_exec_job_args *args);

int nouveau_exec_ioctl_exec(struct drm_device *dev, void __user *data,
int nouveau_exec_ioctl_exec(struct drm_device *dev, void *data,
struct drm_file *file_priv);

#endif
6 changes: 3 additions & 3 deletions drivers/gpu/drm/nouveau/nouveau_uvmm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1687,7 +1687,7 @@ nouveau_uvmm_vm_bind(struct nouveau_uvmm_bind_job_args *args)

static int
nouveau_uvmm_vm_bind_ucopy(struct nouveau_uvmm_bind_job_args *args,
struct drm_nouveau_vm_bind __user *req)
struct drm_nouveau_vm_bind *req)
{
struct drm_nouveau_sync **s;
u32 inc = req->wait_count;
Expand Down Expand Up @@ -1749,12 +1749,12 @@ nouveau_uvmm_vm_bind_ufree(struct nouveau_uvmm_bind_job_args *args)

int
nouveau_uvmm_ioctl_vm_bind(struct drm_device *dev,
void __user *data,
void *data,
struct drm_file *file_priv)
{
struct nouveau_cli *cli = nouveau_cli(file_priv);
struct nouveau_uvmm_bind_job_args args = {};
struct drm_nouveau_vm_bind __user *req = data;
struct drm_nouveau_vm_bind *req = data;
int ret = 0;

if (unlikely(!nouveau_cli_uvmm_locked(cli)))
Expand Down
4 changes: 2 additions & 2 deletions drivers/gpu/drm/nouveau/nouveau_uvmm.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,10 @@ void nouveau_uvmm_fini(struct nouveau_uvmm *uvmm);
void nouveau_uvmm_bo_map_all(struct nouveau_bo *nvbov, struct nouveau_mem *mem);
void nouveau_uvmm_bo_unmap_all(struct nouveau_bo *nvbo);

int nouveau_uvmm_ioctl_vm_init(struct drm_device *dev, void __user *data,
int nouveau_uvmm_ioctl_vm_init(struct drm_device *dev, void *data,
struct drm_file *file_priv);

int nouveau_uvmm_ioctl_vm_bind(struct drm_device *dev, void __user *data,
int nouveau_uvmm_ioctl_vm_bind(struct drm_device *dev, void *data,
struct drm_file *file_priv);

static inline void nouveau_uvmm_lock(struct nouveau_uvmm *uvmm)
Expand Down

0 comments on commit e39701e

Please sign in to comment.