Explorar o código

[S390] tape class return value handling.

Without this patch register_tape_dev() will always fail, but might
return a value that is not an error number. This will lead to accesses
to already freed memory areas...

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens %!s(int64=19) %!d(string=hai) anos
pai
achega
25a2001a28
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      drivers/s390/char/tape_class.c

+ 1 - 1
drivers/s390/char/tape_class.c

@@ -76,7 +76,7 @@ struct tape_class_device *register_tape_dev(
 				device,
 				"%s", tcd->device_name
 			);
-	rc = PTR_ERR(tcd->class_device);
+	rc = IS_ERR(tcd->class_device) ? PTR_ERR(tcd->class_device) : 0;
 	if (rc)
 		goto fail_with_cdev;
 	rc = sysfs_create_link(