Quellcode durchsuchen

drm/radeon/kms: Fix oops after radeon_cs_parser_init() failure.

If radeon_cs_parser_init() fails, radeon_cs_ioctl() calls
radeon_cs_parser_fini() with the non-zero error value. The latter dereferenced
parser->ib which hasn't been initialized yet -> boom. Add a test for parser->ib
being non-NULL before dereferencing it.

Signed-off-by: Michel Dänzer <daenzer@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Michel Dänzer vor 15 Jahren
Ursprung
Commit
17aafccab4
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      drivers/gpu/drm/radeon/radeon_cs.c

+ 1 - 1
drivers/gpu/drm/radeon/radeon_cs.c

@@ -189,7 +189,7 @@ static void radeon_cs_parser_fini(struct radeon_cs_parser *parser, int error)
 {
 {
 	unsigned i;
 	unsigned i;
 
 
-	if (error) {
+	if (error && parser->ib) {
 		radeon_bo_list_unvalidate(&parser->validated,
 		radeon_bo_list_unvalidate(&parser->validated,
 						parser->ib->fence);
 						parser->ib->fence);
 	} else {
 	} else {