Преглед изворни кода

[S390] cio: memory leak in cio processing

Allocated kernel memory for locks is not freed in case of subchannel found
to be invalid.

Signed-off-by: Michael Ernst <mernst@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Michael Ernst пре 17 година
родитељ
комит
808e488823
1 измењених фајлова са 5 додато и 2 уклоњено
  1. 5 2
      drivers/s390/cio/cio.c

+ 5 - 2
drivers/s390/cio/cio.c

@@ -577,8 +577,11 @@ cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid)
 	}
 
 	/* Initialization for io subchannels. */
-	if (!css_sch_is_valid(&sch->schib))
-		return -ENODEV;
+	if (!css_sch_is_valid(&sch->schib)) {
+		err = -ENODEV;
+		goto out;
+	}
+
 	/* Devno is valid. */
 	if (is_blacklisted (sch->schid.ssid, sch->schib.pmcw.dev)) {
 		/*