@@ -93,7 +93,7 @@ static int compat_drm_version(struct file *file, unsigned int cmd,
93
93
return - EFAULT ;
94
94
95
95
version = compat_alloc_user_space (sizeof (* version ));
96
- if (!access_ok ( VERIFY_WRITE , version , sizeof ( * version )) )
96
+ if (!version )
97
97
return - EFAULT ;
98
98
if (__put_user (v32 .name_len , & version -> name_len )
99
99
|| __put_user ((void __user * )(unsigned long )v32 .name ,
@@ -140,7 +140,7 @@ static int compat_drm_getunique(struct file *file, unsigned int cmd,
140
140
return - EFAULT ;
141
141
142
142
u = compat_alloc_user_space (sizeof (* u ));
143
- if (!access_ok ( VERIFY_WRITE , u , sizeof ( * u )) )
143
+ if (!u )
144
144
return - EFAULT ;
145
145
if (__put_user (uq32 .unique_len , & u -> unique_len )
146
146
|| __put_user ((void __user * )(unsigned long )uq32 .unique ,
@@ -168,7 +168,7 @@ static int compat_drm_setunique(struct file *file, unsigned int cmd,
168
168
return - EFAULT ;
169
169
170
170
u = compat_alloc_user_space (sizeof (* u ));
171
- if (!access_ok ( VERIFY_WRITE , u , sizeof ( * u )) )
171
+ if (!u )
172
172
return - EFAULT ;
173
173
if (__put_user (uq32 .unique_len , & u -> unique_len )
174
174
|| __put_user ((void __user * )(unsigned long )uq32 .unique ,
@@ -200,7 +200,7 @@ static int compat_drm_getmap(struct file *file, unsigned int cmd,
200
200
return - EFAULT ;
201
201
202
202
map = compat_alloc_user_space (sizeof (* map ));
203
- if (!access_ok ( VERIFY_WRITE , map , sizeof ( * map )) )
203
+ if (!map )
204
204
return - EFAULT ;
205
205
if (__put_user (idx , & map -> offset ))
206
206
return - EFAULT ;
@@ -237,7 +237,7 @@ static int compat_drm_addmap(struct file *file, unsigned int cmd,
237
237
return - EFAULT ;
238
238
239
239
map = compat_alloc_user_space (sizeof (* map ));
240
- if (!access_ok ( VERIFY_WRITE , map , sizeof ( * map )) )
240
+ if (!map )
241
241
return - EFAULT ;
242
242
if (__put_user (m32 .offset , & map -> offset )
243
243
|| __put_user (m32 .size , & map -> size )
@@ -277,7 +277,7 @@ static int compat_drm_rmmap(struct file *file, unsigned int cmd,
277
277
return - EFAULT ;
278
278
279
279
map = compat_alloc_user_space (sizeof (* map ));
280
- if (!access_ok ( VERIFY_WRITE , map , sizeof ( * map )) )
280
+ if (!map )
281
281
return - EFAULT ;
282
282
if (__put_user ((void * )(unsigned long )handle , & map -> handle ))
283
283
return - EFAULT ;
@@ -306,7 +306,7 @@ static int compat_drm_getclient(struct file *file, unsigned int cmd,
306
306
return - EFAULT ;
307
307
308
308
client = compat_alloc_user_space (sizeof (* client ));
309
- if (!access_ok ( VERIFY_WRITE , client , sizeof ( * client )) )
309
+ if (!client )
310
310
return - EFAULT ;
311
311
if (__put_user (idx , & client -> idx ))
312
312
return - EFAULT ;
@@ -345,7 +345,7 @@ static int compat_drm_getstats(struct file *file, unsigned int cmd,
345
345
int i , err ;
346
346
347
347
stats = compat_alloc_user_space (sizeof (* stats ));
348
- if (!access_ok ( VERIFY_WRITE , stats , sizeof ( * stats )) )
348
+ if (!stats )
349
349
return - EFAULT ;
350
350
351
351
err = drm_ioctl (file , DRM_IOCTL_GET_STATS , (unsigned long )stats );
@@ -382,8 +382,7 @@ static int compat_drm_addbufs(struct file *file, unsigned int cmd,
382
382
unsigned long agp_start ;
383
383
384
384
buf = compat_alloc_user_space (sizeof (* buf ));
385
- if (!access_ok (VERIFY_WRITE , buf , sizeof (* buf ))
386
- || !access_ok (VERIFY_WRITE , argp , sizeof (* argp )))
385
+ if (!buf || !access_ok (VERIFY_WRITE , argp , sizeof (* argp )))
387
386
return - EFAULT ;
388
387
389
388
if (__copy_in_user (buf , argp , offsetof(drm_buf_desc32_t , agp_start ))
@@ -414,7 +413,7 @@ static int compat_drm_markbufs(struct file *file, unsigned int cmd,
414
413
return - EFAULT ;
415
414
416
415
buf = compat_alloc_user_space (sizeof (* buf ));
417
- if (!access_ok ( VERIFY_WRITE , buf , sizeof ( * buf )) )
416
+ if (!buf )
418
417
return - EFAULT ;
419
418
420
419
if (__put_user (b32 .size , & buf -> size )
@@ -455,7 +454,7 @@ static int compat_drm_infobufs(struct file *file, unsigned int cmd,
455
454
456
455
nbytes = sizeof (* request ) + count * sizeof (struct drm_buf_desc );
457
456
request = compat_alloc_user_space (nbytes );
458
- if (!access_ok ( VERIFY_WRITE , request , nbytes ) )
457
+ if (!request )
459
458
return - EFAULT ;
460
459
list = (struct drm_buf_desc * ) (request + 1 );
461
460
@@ -516,7 +515,7 @@ static int compat_drm_mapbufs(struct file *file, unsigned int cmd,
516
515
return - EINVAL ;
517
516
nbytes = sizeof (* request ) + count * sizeof (struct drm_buf_pub );
518
517
request = compat_alloc_user_space (nbytes );
519
- if (!access_ok ( VERIFY_WRITE , request , nbytes ) )
518
+ if (!request )
520
519
return - EFAULT ;
521
520
list = (struct drm_buf_pub * ) (request + 1 );
522
521
@@ -563,7 +562,7 @@ static int compat_drm_freebufs(struct file *file, unsigned int cmd,
563
562
return - EFAULT ;
564
563
565
564
request = compat_alloc_user_space (sizeof (* request ));
566
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request )) )
565
+ if (!request )
567
566
return - EFAULT ;
568
567
if (__put_user (req32 .count , & request -> count )
569
568
|| __put_user ((int __user * )(unsigned long )req32 .list ,
@@ -589,7 +588,7 @@ static int compat_drm_setsareactx(struct file *file, unsigned int cmd,
589
588
return - EFAULT ;
590
589
591
590
request = compat_alloc_user_space (sizeof (* request ));
592
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request )) )
591
+ if (!request )
593
592
return - EFAULT ;
594
593
if (__put_user (req32 .ctx_id , & request -> ctx_id )
595
594
|| __put_user ((void * )(unsigned long )req32 .handle ,
@@ -613,7 +612,7 @@ static int compat_drm_getsareactx(struct file *file, unsigned int cmd,
613
612
return - EFAULT ;
614
613
615
614
request = compat_alloc_user_space (sizeof (* request ));
616
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request )) )
615
+ if (!request )
617
616
return - EFAULT ;
618
617
if (__put_user (ctx_id , & request -> ctx_id ))
619
618
return - EFAULT ;
@@ -646,7 +645,7 @@ static int compat_drm_resctx(struct file *file, unsigned int cmd,
646
645
return - EFAULT ;
647
646
648
647
res = compat_alloc_user_space (sizeof (* res ));
649
- if (!access_ok ( VERIFY_WRITE , res , sizeof ( * res )) )
648
+ if (!res )
650
649
return - EFAULT ;
651
650
if (__put_user (res32 .count , & res -> count )
652
651
|| __put_user ((struct drm_ctx __user * ) (unsigned long )res32 .contexts ,
@@ -689,7 +688,7 @@ static int compat_drm_dma(struct file *file, unsigned int cmd,
689
688
return - EFAULT ;
690
689
691
690
d = compat_alloc_user_space (sizeof (* d ));
692
- if (!access_ok ( VERIFY_WRITE , d , sizeof ( * d )) )
691
+ if (!d )
693
692
return - EFAULT ;
694
693
695
694
if (__put_user (d32 .context , & d -> context )
@@ -764,7 +763,7 @@ static int compat_drm_agp_info(struct file *file, unsigned int cmd,
764
763
int err ;
765
764
766
765
info = compat_alloc_user_space (sizeof (* info ));
767
- if (!access_ok ( VERIFY_WRITE , info , sizeof ( * info )) )
766
+ if (!info )
768
767
return - EFAULT ;
769
768
770
769
err = drm_ioctl (file , DRM_IOCTL_AGP_INFO , (unsigned long )info );
@@ -807,7 +806,7 @@ static int compat_drm_agp_alloc(struct file *file, unsigned int cmd,
807
806
return - EFAULT ;
808
807
809
808
request = compat_alloc_user_space (sizeof (* request ));
810
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request ))
809
+ if (!request
811
810
|| __put_user (req32 .size , & request -> size )
812
811
|| __put_user (req32 .type , & request -> type ))
813
812
return - EFAULT ;
@@ -834,7 +833,7 @@ static int compat_drm_agp_free(struct file *file, unsigned int cmd,
834
833
u32 handle ;
835
834
836
835
request = compat_alloc_user_space (sizeof (* request ));
837
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request ))
836
+ if (!request
838
837
|| get_user (handle , & argp -> handle )
839
838
|| __put_user (handle , & request -> handle ))
840
839
return - EFAULT ;
@@ -858,7 +857,7 @@ static int compat_drm_agp_bind(struct file *file, unsigned int cmd,
858
857
return - EFAULT ;
859
858
860
859
request = compat_alloc_user_space (sizeof (* request ));
861
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request ))
860
+ if (!request
862
861
|| __put_user (req32 .handle , & request -> handle )
863
862
|| __put_user (req32 .offset , & request -> offset ))
864
863
return - EFAULT ;
@@ -874,7 +873,7 @@ static int compat_drm_agp_unbind(struct file *file, unsigned int cmd,
874
873
u32 handle ;
875
874
876
875
request = compat_alloc_user_space (sizeof (* request ));
877
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request ))
876
+ if (!request
878
877
|| get_user (handle , & argp -> handle )
879
878
|| __put_user (handle , & request -> handle ))
880
879
return - EFAULT ;
@@ -897,8 +896,7 @@ static int compat_drm_sg_alloc(struct file *file, unsigned int cmd,
897
896
unsigned long x ;
898
897
899
898
request = compat_alloc_user_space (sizeof (* request ));
900
- if (!access_ok (VERIFY_WRITE , request , sizeof (* request ))
901
- || !access_ok (VERIFY_WRITE , argp , sizeof (* argp ))
899
+ if (!request || !access_ok (VERIFY_WRITE , argp , sizeof (* argp ))
902
900
|| __get_user (x , & argp -> size )
903
901
|| __put_user (x , & request -> size ))
904
902
return - EFAULT ;
@@ -923,8 +921,7 @@ static int compat_drm_sg_free(struct file *file, unsigned int cmd,
923
921
unsigned long x ;
924
922
925
923
request = compat_alloc_user_space (sizeof (* request ));
926
- if (!access_ok (VERIFY_WRITE , request , sizeof (* request ))
927
- || !access_ok (VERIFY_WRITE , argp , sizeof (* argp ))
924
+ if (!request || !access_ok (VERIFY_WRITE , argp , sizeof (* argp ))
928
925
|| __get_user (x , & argp -> handle )
929
926
|| __put_user (x << PAGE_SHIFT , & request -> handle ))
930
927
return - EFAULT ;
@@ -952,7 +949,7 @@ static int compat_drm_update_draw(struct file *file, unsigned int cmd,
952
949
return - EFAULT ;
953
950
954
951
request = compat_alloc_user_space (sizeof (* request ));
955
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request )) ||
952
+ if (!request ||
956
953
__put_user (update32 .handle , & request -> handle ) ||
957
954
__put_user (update32 .type , & request -> type ) ||
958
955
__put_user (update32 .num , & request -> num ) ||
@@ -994,7 +991,7 @@ static int compat_drm_wait_vblank(struct file *file, unsigned int cmd,
994
991
return - EFAULT ;
995
992
996
993
request = compat_alloc_user_space (sizeof (* request ));
997
- if (!access_ok ( VERIFY_WRITE , request , sizeof ( * request ))
994
+ if (!request
998
995
|| __put_user (req32 .request .type , & request -> request .type )
999
996
|| __put_user (req32 .request .sequence , & request -> request .sequence )
1000
997
|| __put_user (req32 .request .signal , & request -> request .signal ))
0 commit comments