[S390] cio: memory leak in cio processing
authorMichael Ernst <mernst@de.ibm.com>
Sat, 26 Jan 2008 13:10:51 +0000 (14:10 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Sat, 26 Jan 2008 13:11:05 +0000 (14:11 +0100)
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>
drivers/s390/cio/cio.c

index f16c15c13f6e482deb5d2a5a38f6e9f7eb868c04..11f632f9db584084242f02433a071e64ef5a6e71 100644 (file)
@@ -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)) {
                /*