@@ -32,30 +32,27 @@ static struct msm_gem_submit *submit_create(struct drm_device *dev,
32
32
uint32_t nr_cmds )
33
33
{
34
34
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 ]));
37
39
38
40
if (sz > SIZE_MAX )
39
- return NULL ;
41
+ return ERR_PTR ( - ENOMEM ) ;
40
42
41
- submit = kmalloc (sz , GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY );
43
+ submit = kzalloc (sz , GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY );
42
44
if (!submit )
43
- return NULL ;
45
+ return ERR_PTR ( - ENOMEM ) ;
44
46
45
47
kref_init (& submit -> ref );
46
48
submit -> dev = dev ;
47
49
submit -> aspace = queue -> ctx -> aspace ;
48
50
submit -> gpu = gpu ;
49
- submit -> fence = NULL ;
50
51
submit -> cmd = (void * )& submit -> bos [nr_bos ];
51
52
submit -> queue = queue ;
52
53
submit -> ring = gpu -> rb [queue -> prio ];
53
54
submit -> fault_dumped = false;
54
55
55
- /* initially, until copy_from_user() and bo lookup succeeds: */
56
- submit -> nr_bos = 0 ;
57
- submit -> nr_cmds = 0 ;
58
-
59
56
INIT_LIST_HEAD (& submit -> node );
60
57
INIT_LIST_HEAD (& submit -> bo_list );
61
58
@@ -799,8 +796,8 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
799
796
800
797
submit = submit_create (dev , gpu , queue , args -> nr_bos ,
801
798
args -> nr_cmds );
802
- if (! submit ) {
803
- ret = - ENOMEM ;
799
+ if (IS_ERR ( submit ) ) {
800
+ ret = PTR_ERR ( submit ) ;
804
801
goto out_unlock ;
805
802
}
806
803
0 commit comments