Skip to content

Commit 79341eb

Browse files
committed
drm/msm: Return ERR_PTR() from submit_create()
In the next patch, we start having more than a single potential failure reason. Signed-off-by: Rob Clark <[email protected]> Acked-by: Christian König <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rob Clark <[email protected]>
1 parent a61acbb commit 79341eb

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

drivers/gpu/drm/msm/msm_gem_submit.c

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,30 +32,27 @@ static struct msm_gem_submit *submit_create(struct drm_device *dev,
3232
uint32_t nr_cmds)
3333
{
3434
struct msm_gem_submit *submit;
35-
uint64_t sz = struct_size(submit, bos, nr_bos) +
36-
((u64)nr_cmds * sizeof(submit->cmd[0]));
35+
uint64_t sz;
36+
37+
sz = struct_size(submit, bos, nr_bos) +
38+
((u64)nr_cmds * sizeof(submit->cmd[0]));
3739

3840
if (sz > SIZE_MAX)
39-
return NULL;
41+
return ERR_PTR(-ENOMEM);
4042

41-
submit = kmalloc(sz, GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY);
43+
submit = kzalloc(sz, GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY);
4244
if (!submit)
43-
return NULL;
45+
return ERR_PTR(-ENOMEM);
4446

4547
kref_init(&submit->ref);
4648
submit->dev = dev;
4749
submit->aspace = queue->ctx->aspace;
4850
submit->gpu = gpu;
49-
submit->fence = NULL;
5051
submit->cmd = (void *)&submit->bos[nr_bos];
5152
submit->queue = queue;
5253
submit->ring = gpu->rb[queue->prio];
5354
submit->fault_dumped = false;
5455

55-
/* initially, until copy_from_user() and bo lookup succeeds: */
56-
submit->nr_bos = 0;
57-
submit->nr_cmds = 0;
58-
5956
INIT_LIST_HEAD(&submit->node);
6057
INIT_LIST_HEAD(&submit->bo_list);
6158

@@ -799,8 +796,8 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
799796

800797
submit = submit_create(dev, gpu, queue, args->nr_bos,
801798
args->nr_cmds);
802-
if (!submit) {
803-
ret = -ENOMEM;
799+
if (IS_ERR(submit)) {
800+
ret = PTR_ERR(submit);
804801
goto out_unlock;
805802
}
806803

0 commit comments

Comments
 (0)